• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2020 Google LLC
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     https://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 // Generated by the protocol buffer compiler.  DO NOT EDIT!
17 // source: google/cloud/compute/v1/compute.proto
18 
19 package com.google.cloud.compute.v1;
20 
21 /**
22  *
23  *
24  * <pre>
25  * Represents a Cloud Router resource. For more information about Cloud Router, read the Cloud Router overview.
26  * </pre>
27  *
28  * Protobuf type {@code google.cloud.compute.v1.Router}
29  */
30 public final class Router extends com.google.protobuf.GeneratedMessageV3
31     implements
32     // @@protoc_insertion_point(message_implements:google.cloud.compute.v1.Router)
33     RouterOrBuilder {
34   private static final long serialVersionUID = 0L;
35   // Use Router.newBuilder() to construct.
Router(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)36   private Router(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
37     super(builder);
38   }
39 
Router()40   private Router() {
41     bgpPeers_ = java.util.Collections.emptyList();
42     creationTimestamp_ = "";
43     description_ = "";
44     interfaces_ = java.util.Collections.emptyList();
45     kind_ = "";
46     md5AuthenticationKeys_ = java.util.Collections.emptyList();
47     name_ = "";
48     nats_ = java.util.Collections.emptyList();
49     network_ = "";
50     region_ = "";
51     selfLink_ = "";
52   }
53 
54   @java.lang.Override
55   @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)56   protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
57     return new Router();
58   }
59 
60   @java.lang.Override
getUnknownFields()61   public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
62     return this.unknownFields;
63   }
64 
getDescriptor()65   public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
66     return com.google.cloud.compute.v1.Compute
67         .internal_static_google_cloud_compute_v1_Router_descriptor;
68   }
69 
70   @java.lang.Override
71   protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()72       internalGetFieldAccessorTable() {
73     return com.google.cloud.compute.v1.Compute
74         .internal_static_google_cloud_compute_v1_Router_fieldAccessorTable
75         .ensureFieldAccessorsInitialized(
76             com.google.cloud.compute.v1.Router.class,
77             com.google.cloud.compute.v1.Router.Builder.class);
78   }
79 
80   private int bitField0_;
81   public static final int BGP_FIELD_NUMBER = 97483;
82   private com.google.cloud.compute.v1.RouterBgp bgp_;
83   /**
84    *
85    *
86    * <pre>
87    * BGP information specific to this router.
88    * </pre>
89    *
90    * <code>optional .google.cloud.compute.v1.RouterBgp bgp = 97483;</code>
91    *
92    * @return Whether the bgp field is set.
93    */
94   @java.lang.Override
hasBgp()95   public boolean hasBgp() {
96     return ((bitField0_ & 0x00000001) != 0);
97   }
98   /**
99    *
100    *
101    * <pre>
102    * BGP information specific to this router.
103    * </pre>
104    *
105    * <code>optional .google.cloud.compute.v1.RouterBgp bgp = 97483;</code>
106    *
107    * @return The bgp.
108    */
109   @java.lang.Override
getBgp()110   public com.google.cloud.compute.v1.RouterBgp getBgp() {
111     return bgp_ == null ? com.google.cloud.compute.v1.RouterBgp.getDefaultInstance() : bgp_;
112   }
113   /**
114    *
115    *
116    * <pre>
117    * BGP information specific to this router.
118    * </pre>
119    *
120    * <code>optional .google.cloud.compute.v1.RouterBgp bgp = 97483;</code>
121    */
122   @java.lang.Override
getBgpOrBuilder()123   public com.google.cloud.compute.v1.RouterBgpOrBuilder getBgpOrBuilder() {
124     return bgp_ == null ? com.google.cloud.compute.v1.RouterBgp.getDefaultInstance() : bgp_;
125   }
126 
127   public static final int BGP_PEERS_FIELD_NUMBER = 452695773;
128 
129   @SuppressWarnings("serial")
130   private java.util.List<com.google.cloud.compute.v1.RouterBgpPeer> bgpPeers_;
131   /**
132    *
133    *
134    * <pre>
135    * BGP information that must be configured into the routing stack to establish BGP peering. This information must specify the peer ASN and either the interface name, IP address, or peer IP address. Please refer to RFC4273.
136    * </pre>
137    *
138    * <code>repeated .google.cloud.compute.v1.RouterBgpPeer bgp_peers = 452695773;</code>
139    */
140   @java.lang.Override
getBgpPeersList()141   public java.util.List<com.google.cloud.compute.v1.RouterBgpPeer> getBgpPeersList() {
142     return bgpPeers_;
143   }
144   /**
145    *
146    *
147    * <pre>
148    * BGP information that must be configured into the routing stack to establish BGP peering. This information must specify the peer ASN and either the interface name, IP address, or peer IP address. Please refer to RFC4273.
149    * </pre>
150    *
151    * <code>repeated .google.cloud.compute.v1.RouterBgpPeer bgp_peers = 452695773;</code>
152    */
153   @java.lang.Override
154   public java.util.List<? extends com.google.cloud.compute.v1.RouterBgpPeerOrBuilder>
getBgpPeersOrBuilderList()155       getBgpPeersOrBuilderList() {
156     return bgpPeers_;
157   }
158   /**
159    *
160    *
161    * <pre>
162    * BGP information that must be configured into the routing stack to establish BGP peering. This information must specify the peer ASN and either the interface name, IP address, or peer IP address. Please refer to RFC4273.
163    * </pre>
164    *
165    * <code>repeated .google.cloud.compute.v1.RouterBgpPeer bgp_peers = 452695773;</code>
166    */
167   @java.lang.Override
getBgpPeersCount()168   public int getBgpPeersCount() {
169     return bgpPeers_.size();
170   }
171   /**
172    *
173    *
174    * <pre>
175    * BGP information that must be configured into the routing stack to establish BGP peering. This information must specify the peer ASN and either the interface name, IP address, or peer IP address. Please refer to RFC4273.
176    * </pre>
177    *
178    * <code>repeated .google.cloud.compute.v1.RouterBgpPeer bgp_peers = 452695773;</code>
179    */
180   @java.lang.Override
getBgpPeers(int index)181   public com.google.cloud.compute.v1.RouterBgpPeer getBgpPeers(int index) {
182     return bgpPeers_.get(index);
183   }
184   /**
185    *
186    *
187    * <pre>
188    * BGP information that must be configured into the routing stack to establish BGP peering. This information must specify the peer ASN and either the interface name, IP address, or peer IP address. Please refer to RFC4273.
189    * </pre>
190    *
191    * <code>repeated .google.cloud.compute.v1.RouterBgpPeer bgp_peers = 452695773;</code>
192    */
193   @java.lang.Override
getBgpPeersOrBuilder(int index)194   public com.google.cloud.compute.v1.RouterBgpPeerOrBuilder getBgpPeersOrBuilder(int index) {
195     return bgpPeers_.get(index);
196   }
197 
198   public static final int CREATION_TIMESTAMP_FIELD_NUMBER = 30525366;
199 
200   @SuppressWarnings("serial")
201   private volatile java.lang.Object creationTimestamp_ = "";
202   /**
203    *
204    *
205    * <pre>
206    * [Output Only] Creation timestamp in RFC3339 text format.
207    * </pre>
208    *
209    * <code>optional string creation_timestamp = 30525366;</code>
210    *
211    * @return Whether the creationTimestamp field is set.
212    */
213   @java.lang.Override
hasCreationTimestamp()214   public boolean hasCreationTimestamp() {
215     return ((bitField0_ & 0x00000002) != 0);
216   }
217   /**
218    *
219    *
220    * <pre>
221    * [Output Only] Creation timestamp in RFC3339 text format.
222    * </pre>
223    *
224    * <code>optional string creation_timestamp = 30525366;</code>
225    *
226    * @return The creationTimestamp.
227    */
228   @java.lang.Override
getCreationTimestamp()229   public java.lang.String getCreationTimestamp() {
230     java.lang.Object ref = creationTimestamp_;
231     if (ref instanceof java.lang.String) {
232       return (java.lang.String) ref;
233     } else {
234       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
235       java.lang.String s = bs.toStringUtf8();
236       creationTimestamp_ = s;
237       return s;
238     }
239   }
240   /**
241    *
242    *
243    * <pre>
244    * [Output Only] Creation timestamp in RFC3339 text format.
245    * </pre>
246    *
247    * <code>optional string creation_timestamp = 30525366;</code>
248    *
249    * @return The bytes for creationTimestamp.
250    */
251   @java.lang.Override
getCreationTimestampBytes()252   public com.google.protobuf.ByteString getCreationTimestampBytes() {
253     java.lang.Object ref = creationTimestamp_;
254     if (ref instanceof java.lang.String) {
255       com.google.protobuf.ByteString b =
256           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
257       creationTimestamp_ = b;
258       return b;
259     } else {
260       return (com.google.protobuf.ByteString) ref;
261     }
262   }
263 
264   public static final int DESCRIPTION_FIELD_NUMBER = 422937596;
265 
266   @SuppressWarnings("serial")
267   private volatile java.lang.Object description_ = "";
268   /**
269    *
270    *
271    * <pre>
272    * An optional description of this resource. Provide this property when you create the resource.
273    * </pre>
274    *
275    * <code>optional string description = 422937596;</code>
276    *
277    * @return Whether the description field is set.
278    */
279   @java.lang.Override
hasDescription()280   public boolean hasDescription() {
281     return ((bitField0_ & 0x00000004) != 0);
282   }
283   /**
284    *
285    *
286    * <pre>
287    * An optional description of this resource. Provide this property when you create the resource.
288    * </pre>
289    *
290    * <code>optional string description = 422937596;</code>
291    *
292    * @return The description.
293    */
294   @java.lang.Override
getDescription()295   public java.lang.String getDescription() {
296     java.lang.Object ref = description_;
297     if (ref instanceof java.lang.String) {
298       return (java.lang.String) ref;
299     } else {
300       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
301       java.lang.String s = bs.toStringUtf8();
302       description_ = s;
303       return s;
304     }
305   }
306   /**
307    *
308    *
309    * <pre>
310    * An optional description of this resource. Provide this property when you create the resource.
311    * </pre>
312    *
313    * <code>optional string description = 422937596;</code>
314    *
315    * @return The bytes for description.
316    */
317   @java.lang.Override
getDescriptionBytes()318   public com.google.protobuf.ByteString getDescriptionBytes() {
319     java.lang.Object ref = description_;
320     if (ref instanceof java.lang.String) {
321       com.google.protobuf.ByteString b =
322           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
323       description_ = b;
324       return b;
325     } else {
326       return (com.google.protobuf.ByteString) ref;
327     }
328   }
329 
330   public static final int ENCRYPTED_INTERCONNECT_ROUTER_FIELD_NUMBER = 297996575;
331   private boolean encryptedInterconnectRouter_ = false;
332   /**
333    *
334    *
335    * <pre>
336    * Indicates if a router is dedicated for use with encrypted VLAN attachments (interconnectAttachments).
337    * </pre>
338    *
339    * <code>optional bool encrypted_interconnect_router = 297996575;</code>
340    *
341    * @return Whether the encryptedInterconnectRouter field is set.
342    */
343   @java.lang.Override
hasEncryptedInterconnectRouter()344   public boolean hasEncryptedInterconnectRouter() {
345     return ((bitField0_ & 0x00000008) != 0);
346   }
347   /**
348    *
349    *
350    * <pre>
351    * Indicates if a router is dedicated for use with encrypted VLAN attachments (interconnectAttachments).
352    * </pre>
353    *
354    * <code>optional bool encrypted_interconnect_router = 297996575;</code>
355    *
356    * @return The encryptedInterconnectRouter.
357    */
358   @java.lang.Override
getEncryptedInterconnectRouter()359   public boolean getEncryptedInterconnectRouter() {
360     return encryptedInterconnectRouter_;
361   }
362 
363   public static final int ID_FIELD_NUMBER = 3355;
364   private long id_ = 0L;
365   /**
366    *
367    *
368    * <pre>
369    * [Output Only] The unique identifier for the resource. This identifier is defined by the server.
370    * </pre>
371    *
372    * <code>optional uint64 id = 3355;</code>
373    *
374    * @return Whether the id field is set.
375    */
376   @java.lang.Override
hasId()377   public boolean hasId() {
378     return ((bitField0_ & 0x00000010) != 0);
379   }
380   /**
381    *
382    *
383    * <pre>
384    * [Output Only] The unique identifier for the resource. This identifier is defined by the server.
385    * </pre>
386    *
387    * <code>optional uint64 id = 3355;</code>
388    *
389    * @return The id.
390    */
391   @java.lang.Override
getId()392   public long getId() {
393     return id_;
394   }
395 
396   public static final int INTERFACES_FIELD_NUMBER = 12073562;
397 
398   @SuppressWarnings("serial")
399   private java.util.List<com.google.cloud.compute.v1.RouterInterface> interfaces_;
400   /**
401    *
402    *
403    * <pre>
404    * Router interfaces. Each interface requires either one linked resource, (for example, linkedVpnTunnel), or IP address and IP address range (for example, ipRange), or both.
405    * </pre>
406    *
407    * <code>repeated .google.cloud.compute.v1.RouterInterface interfaces = 12073562;</code>
408    */
409   @java.lang.Override
getInterfacesList()410   public java.util.List<com.google.cloud.compute.v1.RouterInterface> getInterfacesList() {
411     return interfaces_;
412   }
413   /**
414    *
415    *
416    * <pre>
417    * Router interfaces. Each interface requires either one linked resource, (for example, linkedVpnTunnel), or IP address and IP address range (for example, ipRange), or both.
418    * </pre>
419    *
420    * <code>repeated .google.cloud.compute.v1.RouterInterface interfaces = 12073562;</code>
421    */
422   @java.lang.Override
423   public java.util.List<? extends com.google.cloud.compute.v1.RouterInterfaceOrBuilder>
getInterfacesOrBuilderList()424       getInterfacesOrBuilderList() {
425     return interfaces_;
426   }
427   /**
428    *
429    *
430    * <pre>
431    * Router interfaces. Each interface requires either one linked resource, (for example, linkedVpnTunnel), or IP address and IP address range (for example, ipRange), or both.
432    * </pre>
433    *
434    * <code>repeated .google.cloud.compute.v1.RouterInterface interfaces = 12073562;</code>
435    */
436   @java.lang.Override
getInterfacesCount()437   public int getInterfacesCount() {
438     return interfaces_.size();
439   }
440   /**
441    *
442    *
443    * <pre>
444    * Router interfaces. Each interface requires either one linked resource, (for example, linkedVpnTunnel), or IP address and IP address range (for example, ipRange), or both.
445    * </pre>
446    *
447    * <code>repeated .google.cloud.compute.v1.RouterInterface interfaces = 12073562;</code>
448    */
449   @java.lang.Override
getInterfaces(int index)450   public com.google.cloud.compute.v1.RouterInterface getInterfaces(int index) {
451     return interfaces_.get(index);
452   }
453   /**
454    *
455    *
456    * <pre>
457    * Router interfaces. Each interface requires either one linked resource, (for example, linkedVpnTunnel), or IP address and IP address range (for example, ipRange), or both.
458    * </pre>
459    *
460    * <code>repeated .google.cloud.compute.v1.RouterInterface interfaces = 12073562;</code>
461    */
462   @java.lang.Override
getInterfacesOrBuilder(int index)463   public com.google.cloud.compute.v1.RouterInterfaceOrBuilder getInterfacesOrBuilder(int index) {
464     return interfaces_.get(index);
465   }
466 
467   public static final int KIND_FIELD_NUMBER = 3292052;
468 
469   @SuppressWarnings("serial")
470   private volatile java.lang.Object kind_ = "";
471   /**
472    *
473    *
474    * <pre>
475    * [Output Only] Type of resource. Always compute#router for routers.
476    * </pre>
477    *
478    * <code>optional string kind = 3292052;</code>
479    *
480    * @return Whether the kind field is set.
481    */
482   @java.lang.Override
hasKind()483   public boolean hasKind() {
484     return ((bitField0_ & 0x00000020) != 0);
485   }
486   /**
487    *
488    *
489    * <pre>
490    * [Output Only] Type of resource. Always compute#router for routers.
491    * </pre>
492    *
493    * <code>optional string kind = 3292052;</code>
494    *
495    * @return The kind.
496    */
497   @java.lang.Override
getKind()498   public java.lang.String getKind() {
499     java.lang.Object ref = kind_;
500     if (ref instanceof java.lang.String) {
501       return (java.lang.String) ref;
502     } else {
503       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
504       java.lang.String s = bs.toStringUtf8();
505       kind_ = s;
506       return s;
507     }
508   }
509   /**
510    *
511    *
512    * <pre>
513    * [Output Only] Type of resource. Always compute#router for routers.
514    * </pre>
515    *
516    * <code>optional string kind = 3292052;</code>
517    *
518    * @return The bytes for kind.
519    */
520   @java.lang.Override
getKindBytes()521   public com.google.protobuf.ByteString getKindBytes() {
522     java.lang.Object ref = kind_;
523     if (ref instanceof java.lang.String) {
524       com.google.protobuf.ByteString b =
525           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
526       kind_ = b;
527       return b;
528     } else {
529       return (com.google.protobuf.ByteString) ref;
530     }
531   }
532 
533   public static final int MD5_AUTHENTICATION_KEYS_FIELD_NUMBER = 71063322;
534 
535   @SuppressWarnings("serial")
536   private java.util.List<com.google.cloud.compute.v1.RouterMd5AuthenticationKey>
537       md5AuthenticationKeys_;
538   /**
539    *
540    *
541    * <pre>
542    * Keys used for MD5 authentication.
543    * </pre>
544    *
545    * <code>
546    * repeated .google.cloud.compute.v1.RouterMd5AuthenticationKey md5_authentication_keys = 71063322;
547    * </code>
548    */
549   @java.lang.Override
550   public java.util.List<com.google.cloud.compute.v1.RouterMd5AuthenticationKey>
getMd5AuthenticationKeysList()551       getMd5AuthenticationKeysList() {
552     return md5AuthenticationKeys_;
553   }
554   /**
555    *
556    *
557    * <pre>
558    * Keys used for MD5 authentication.
559    * </pre>
560    *
561    * <code>
562    * repeated .google.cloud.compute.v1.RouterMd5AuthenticationKey md5_authentication_keys = 71063322;
563    * </code>
564    */
565   @java.lang.Override
566   public java.util.List<? extends com.google.cloud.compute.v1.RouterMd5AuthenticationKeyOrBuilder>
getMd5AuthenticationKeysOrBuilderList()567       getMd5AuthenticationKeysOrBuilderList() {
568     return md5AuthenticationKeys_;
569   }
570   /**
571    *
572    *
573    * <pre>
574    * Keys used for MD5 authentication.
575    * </pre>
576    *
577    * <code>
578    * repeated .google.cloud.compute.v1.RouterMd5AuthenticationKey md5_authentication_keys = 71063322;
579    * </code>
580    */
581   @java.lang.Override
getMd5AuthenticationKeysCount()582   public int getMd5AuthenticationKeysCount() {
583     return md5AuthenticationKeys_.size();
584   }
585   /**
586    *
587    *
588    * <pre>
589    * Keys used for MD5 authentication.
590    * </pre>
591    *
592    * <code>
593    * repeated .google.cloud.compute.v1.RouterMd5AuthenticationKey md5_authentication_keys = 71063322;
594    * </code>
595    */
596   @java.lang.Override
getMd5AuthenticationKeys( int index)597   public com.google.cloud.compute.v1.RouterMd5AuthenticationKey getMd5AuthenticationKeys(
598       int index) {
599     return md5AuthenticationKeys_.get(index);
600   }
601   /**
602    *
603    *
604    * <pre>
605    * Keys used for MD5 authentication.
606    * </pre>
607    *
608    * <code>
609    * repeated .google.cloud.compute.v1.RouterMd5AuthenticationKey md5_authentication_keys = 71063322;
610    * </code>
611    */
612   @java.lang.Override
613   public com.google.cloud.compute.v1.RouterMd5AuthenticationKeyOrBuilder
getMd5AuthenticationKeysOrBuilder(int index)614       getMd5AuthenticationKeysOrBuilder(int index) {
615     return md5AuthenticationKeys_.get(index);
616   }
617 
618   public static final int NAME_FIELD_NUMBER = 3373707;
619 
620   @SuppressWarnings("serial")
621   private volatile java.lang.Object name_ = "";
622   /**
623    *
624    *
625    * <pre>
626    * 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])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
627    * </pre>
628    *
629    * <code>optional string name = 3373707;</code>
630    *
631    * @return Whether the name field is set.
632    */
633   @java.lang.Override
hasName()634   public boolean hasName() {
635     return ((bitField0_ & 0x00000040) != 0);
636   }
637   /**
638    *
639    *
640    * <pre>
641    * 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])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
642    * </pre>
643    *
644    * <code>optional string name = 3373707;</code>
645    *
646    * @return The name.
647    */
648   @java.lang.Override
getName()649   public java.lang.String getName() {
650     java.lang.Object ref = name_;
651     if (ref instanceof java.lang.String) {
652       return (java.lang.String) ref;
653     } else {
654       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
655       java.lang.String s = bs.toStringUtf8();
656       name_ = s;
657       return s;
658     }
659   }
660   /**
661    *
662    *
663    * <pre>
664    * 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])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
665    * </pre>
666    *
667    * <code>optional string name = 3373707;</code>
668    *
669    * @return The bytes for name.
670    */
671   @java.lang.Override
getNameBytes()672   public com.google.protobuf.ByteString getNameBytes() {
673     java.lang.Object ref = name_;
674     if (ref instanceof java.lang.String) {
675       com.google.protobuf.ByteString b =
676           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
677       name_ = b;
678       return b;
679     } else {
680       return (com.google.protobuf.ByteString) ref;
681     }
682   }
683 
684   public static final int NATS_FIELD_NUMBER = 3373938;
685 
686   @SuppressWarnings("serial")
687   private java.util.List<com.google.cloud.compute.v1.RouterNat> nats_;
688   /**
689    *
690    *
691    * <pre>
692    * A list of NAT services created in this router.
693    * </pre>
694    *
695    * <code>repeated .google.cloud.compute.v1.RouterNat nats = 3373938;</code>
696    */
697   @java.lang.Override
getNatsList()698   public java.util.List<com.google.cloud.compute.v1.RouterNat> getNatsList() {
699     return nats_;
700   }
701   /**
702    *
703    *
704    * <pre>
705    * A list of NAT services created in this router.
706    * </pre>
707    *
708    * <code>repeated .google.cloud.compute.v1.RouterNat nats = 3373938;</code>
709    */
710   @java.lang.Override
711   public java.util.List<? extends com.google.cloud.compute.v1.RouterNatOrBuilder>
getNatsOrBuilderList()712       getNatsOrBuilderList() {
713     return nats_;
714   }
715   /**
716    *
717    *
718    * <pre>
719    * A list of NAT services created in this router.
720    * </pre>
721    *
722    * <code>repeated .google.cloud.compute.v1.RouterNat nats = 3373938;</code>
723    */
724   @java.lang.Override
getNatsCount()725   public int getNatsCount() {
726     return nats_.size();
727   }
728   /**
729    *
730    *
731    * <pre>
732    * A list of NAT services created in this router.
733    * </pre>
734    *
735    * <code>repeated .google.cloud.compute.v1.RouterNat nats = 3373938;</code>
736    */
737   @java.lang.Override
getNats(int index)738   public com.google.cloud.compute.v1.RouterNat getNats(int index) {
739     return nats_.get(index);
740   }
741   /**
742    *
743    *
744    * <pre>
745    * A list of NAT services created in this router.
746    * </pre>
747    *
748    * <code>repeated .google.cloud.compute.v1.RouterNat nats = 3373938;</code>
749    */
750   @java.lang.Override
getNatsOrBuilder(int index)751   public com.google.cloud.compute.v1.RouterNatOrBuilder getNatsOrBuilder(int index) {
752     return nats_.get(index);
753   }
754 
755   public static final int NETWORK_FIELD_NUMBER = 232872494;
756 
757   @SuppressWarnings("serial")
758   private volatile java.lang.Object network_ = "";
759   /**
760    *
761    *
762    * <pre>
763    * URI of the network to which this router belongs.
764    * </pre>
765    *
766    * <code>optional string network = 232872494;</code>
767    *
768    * @return Whether the network field is set.
769    */
770   @java.lang.Override
hasNetwork()771   public boolean hasNetwork() {
772     return ((bitField0_ & 0x00000080) != 0);
773   }
774   /**
775    *
776    *
777    * <pre>
778    * URI of the network to which this router belongs.
779    * </pre>
780    *
781    * <code>optional string network = 232872494;</code>
782    *
783    * @return The network.
784    */
785   @java.lang.Override
getNetwork()786   public java.lang.String getNetwork() {
787     java.lang.Object ref = network_;
788     if (ref instanceof java.lang.String) {
789       return (java.lang.String) ref;
790     } else {
791       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
792       java.lang.String s = bs.toStringUtf8();
793       network_ = s;
794       return s;
795     }
796   }
797   /**
798    *
799    *
800    * <pre>
801    * URI of the network to which this router belongs.
802    * </pre>
803    *
804    * <code>optional string network = 232872494;</code>
805    *
806    * @return The bytes for network.
807    */
808   @java.lang.Override
getNetworkBytes()809   public com.google.protobuf.ByteString getNetworkBytes() {
810     java.lang.Object ref = network_;
811     if (ref instanceof java.lang.String) {
812       com.google.protobuf.ByteString b =
813           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
814       network_ = b;
815       return b;
816     } else {
817       return (com.google.protobuf.ByteString) ref;
818     }
819   }
820 
821   public static final int REGION_FIELD_NUMBER = 138946292;
822 
823   @SuppressWarnings("serial")
824   private volatile java.lang.Object region_ = "";
825   /**
826    *
827    *
828    * <pre>
829    * [Output Only] URI of the region where the router resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
830    * </pre>
831    *
832    * <code>optional string region = 138946292;</code>
833    *
834    * @return Whether the region field is set.
835    */
836   @java.lang.Override
hasRegion()837   public boolean hasRegion() {
838     return ((bitField0_ & 0x00000100) != 0);
839   }
840   /**
841    *
842    *
843    * <pre>
844    * [Output Only] URI of the region where the router resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
845    * </pre>
846    *
847    * <code>optional string region = 138946292;</code>
848    *
849    * @return The region.
850    */
851   @java.lang.Override
getRegion()852   public java.lang.String getRegion() {
853     java.lang.Object ref = region_;
854     if (ref instanceof java.lang.String) {
855       return (java.lang.String) ref;
856     } else {
857       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
858       java.lang.String s = bs.toStringUtf8();
859       region_ = s;
860       return s;
861     }
862   }
863   /**
864    *
865    *
866    * <pre>
867    * [Output Only] URI of the region where the router resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
868    * </pre>
869    *
870    * <code>optional string region = 138946292;</code>
871    *
872    * @return The bytes for region.
873    */
874   @java.lang.Override
getRegionBytes()875   public com.google.protobuf.ByteString getRegionBytes() {
876     java.lang.Object ref = region_;
877     if (ref instanceof java.lang.String) {
878       com.google.protobuf.ByteString b =
879           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
880       region_ = b;
881       return b;
882     } else {
883       return (com.google.protobuf.ByteString) ref;
884     }
885   }
886 
887   public static final int SELF_LINK_FIELD_NUMBER = 456214797;
888 
889   @SuppressWarnings("serial")
890   private volatile java.lang.Object selfLink_ = "";
891   /**
892    *
893    *
894    * <pre>
895    * [Output Only] Server-defined URL for the resource.
896    * </pre>
897    *
898    * <code>optional string self_link = 456214797;</code>
899    *
900    * @return Whether the selfLink field is set.
901    */
902   @java.lang.Override
hasSelfLink()903   public boolean hasSelfLink() {
904     return ((bitField0_ & 0x00000200) != 0);
905   }
906   /**
907    *
908    *
909    * <pre>
910    * [Output Only] Server-defined URL for the resource.
911    * </pre>
912    *
913    * <code>optional string self_link = 456214797;</code>
914    *
915    * @return The selfLink.
916    */
917   @java.lang.Override
getSelfLink()918   public java.lang.String getSelfLink() {
919     java.lang.Object ref = selfLink_;
920     if (ref instanceof java.lang.String) {
921       return (java.lang.String) ref;
922     } else {
923       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
924       java.lang.String s = bs.toStringUtf8();
925       selfLink_ = s;
926       return s;
927     }
928   }
929   /**
930    *
931    *
932    * <pre>
933    * [Output Only] Server-defined URL for the resource.
934    * </pre>
935    *
936    * <code>optional string self_link = 456214797;</code>
937    *
938    * @return The bytes for selfLink.
939    */
940   @java.lang.Override
getSelfLinkBytes()941   public com.google.protobuf.ByteString getSelfLinkBytes() {
942     java.lang.Object ref = selfLink_;
943     if (ref instanceof java.lang.String) {
944       com.google.protobuf.ByteString b =
945           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
946       selfLink_ = b;
947       return b;
948     } else {
949       return (com.google.protobuf.ByteString) ref;
950     }
951   }
952 
953   private byte memoizedIsInitialized = -1;
954 
955   @java.lang.Override
isInitialized()956   public final boolean isInitialized() {
957     byte isInitialized = memoizedIsInitialized;
958     if (isInitialized == 1) return true;
959     if (isInitialized == 0) return false;
960 
961     memoizedIsInitialized = 1;
962     return true;
963   }
964 
965   @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)966   public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
967     if (((bitField0_ & 0x00000010) != 0)) {
968       output.writeUInt64(3355, id_);
969     }
970     if (((bitField0_ & 0x00000001) != 0)) {
971       output.writeMessage(97483, getBgp());
972     }
973     if (((bitField0_ & 0x00000020) != 0)) {
974       com.google.protobuf.GeneratedMessageV3.writeString(output, 3292052, kind_);
975     }
976     if (((bitField0_ & 0x00000040) != 0)) {
977       com.google.protobuf.GeneratedMessageV3.writeString(output, 3373707, name_);
978     }
979     for (int i = 0; i < nats_.size(); i++) {
980       output.writeMessage(3373938, nats_.get(i));
981     }
982     for (int i = 0; i < interfaces_.size(); i++) {
983       output.writeMessage(12073562, interfaces_.get(i));
984     }
985     if (((bitField0_ & 0x00000002) != 0)) {
986       com.google.protobuf.GeneratedMessageV3.writeString(output, 30525366, creationTimestamp_);
987     }
988     for (int i = 0; i < md5AuthenticationKeys_.size(); i++) {
989       output.writeMessage(71063322, md5AuthenticationKeys_.get(i));
990     }
991     if (((bitField0_ & 0x00000100) != 0)) {
992       com.google.protobuf.GeneratedMessageV3.writeString(output, 138946292, region_);
993     }
994     if (((bitField0_ & 0x00000080) != 0)) {
995       com.google.protobuf.GeneratedMessageV3.writeString(output, 232872494, network_);
996     }
997     if (((bitField0_ & 0x00000008) != 0)) {
998       output.writeBool(297996575, encryptedInterconnectRouter_);
999     }
1000     if (((bitField0_ & 0x00000004) != 0)) {
1001       com.google.protobuf.GeneratedMessageV3.writeString(output, 422937596, description_);
1002     }
1003     for (int i = 0; i < bgpPeers_.size(); i++) {
1004       output.writeMessage(452695773, bgpPeers_.get(i));
1005     }
1006     if (((bitField0_ & 0x00000200) != 0)) {
1007       com.google.protobuf.GeneratedMessageV3.writeString(output, 456214797, selfLink_);
1008     }
1009     getUnknownFields().writeTo(output);
1010   }
1011 
1012   @java.lang.Override
getSerializedSize()1013   public int getSerializedSize() {
1014     int size = memoizedSize;
1015     if (size != -1) return size;
1016 
1017     size = 0;
1018     if (((bitField0_ & 0x00000010) != 0)) {
1019       size += com.google.protobuf.CodedOutputStream.computeUInt64Size(3355, id_);
1020     }
1021     if (((bitField0_ & 0x00000001) != 0)) {
1022       size += com.google.protobuf.CodedOutputStream.computeMessageSize(97483, getBgp());
1023     }
1024     if (((bitField0_ & 0x00000020) != 0)) {
1025       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3292052, kind_);
1026     }
1027     if (((bitField0_ & 0x00000040) != 0)) {
1028       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3373707, name_);
1029     }
1030     for (int i = 0; i < nats_.size(); i++) {
1031       size += com.google.protobuf.CodedOutputStream.computeMessageSize(3373938, nats_.get(i));
1032     }
1033     for (int i = 0; i < interfaces_.size(); i++) {
1034       size +=
1035           com.google.protobuf.CodedOutputStream.computeMessageSize(12073562, interfaces_.get(i));
1036     }
1037     if (((bitField0_ & 0x00000002) != 0)) {
1038       size +=
1039           com.google.protobuf.GeneratedMessageV3.computeStringSize(30525366, creationTimestamp_);
1040     }
1041     for (int i = 0; i < md5AuthenticationKeys_.size(); i++) {
1042       size +=
1043           com.google.protobuf.CodedOutputStream.computeMessageSize(
1044               71063322, md5AuthenticationKeys_.get(i));
1045     }
1046     if (((bitField0_ & 0x00000100) != 0)) {
1047       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(138946292, region_);
1048     }
1049     if (((bitField0_ & 0x00000080) != 0)) {
1050       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(232872494, network_);
1051     }
1052     if (((bitField0_ & 0x00000008) != 0)) {
1053       size +=
1054           com.google.protobuf.CodedOutputStream.computeBoolSize(
1055               297996575, encryptedInterconnectRouter_);
1056     }
1057     if (((bitField0_ & 0x00000004) != 0)) {
1058       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(422937596, description_);
1059     }
1060     for (int i = 0; i < bgpPeers_.size(); i++) {
1061       size += com.google.protobuf.CodedOutputStream.computeMessageSize(452695773, bgpPeers_.get(i));
1062     }
1063     if (((bitField0_ & 0x00000200) != 0)) {
1064       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(456214797, selfLink_);
1065     }
1066     size += getUnknownFields().getSerializedSize();
1067     memoizedSize = size;
1068     return size;
1069   }
1070 
1071   @java.lang.Override
equals(final java.lang.Object obj)1072   public boolean equals(final java.lang.Object obj) {
1073     if (obj == this) {
1074       return true;
1075     }
1076     if (!(obj instanceof com.google.cloud.compute.v1.Router)) {
1077       return super.equals(obj);
1078     }
1079     com.google.cloud.compute.v1.Router other = (com.google.cloud.compute.v1.Router) obj;
1080 
1081     if (hasBgp() != other.hasBgp()) return false;
1082     if (hasBgp()) {
1083       if (!getBgp().equals(other.getBgp())) return false;
1084     }
1085     if (!getBgpPeersList().equals(other.getBgpPeersList())) return false;
1086     if (hasCreationTimestamp() != other.hasCreationTimestamp()) return false;
1087     if (hasCreationTimestamp()) {
1088       if (!getCreationTimestamp().equals(other.getCreationTimestamp())) return false;
1089     }
1090     if (hasDescription() != other.hasDescription()) return false;
1091     if (hasDescription()) {
1092       if (!getDescription().equals(other.getDescription())) return false;
1093     }
1094     if (hasEncryptedInterconnectRouter() != other.hasEncryptedInterconnectRouter()) return false;
1095     if (hasEncryptedInterconnectRouter()) {
1096       if (getEncryptedInterconnectRouter() != other.getEncryptedInterconnectRouter()) return false;
1097     }
1098     if (hasId() != other.hasId()) return false;
1099     if (hasId()) {
1100       if (getId() != other.getId()) return false;
1101     }
1102     if (!getInterfacesList().equals(other.getInterfacesList())) return false;
1103     if (hasKind() != other.hasKind()) return false;
1104     if (hasKind()) {
1105       if (!getKind().equals(other.getKind())) return false;
1106     }
1107     if (!getMd5AuthenticationKeysList().equals(other.getMd5AuthenticationKeysList())) return false;
1108     if (hasName() != other.hasName()) return false;
1109     if (hasName()) {
1110       if (!getName().equals(other.getName())) return false;
1111     }
1112     if (!getNatsList().equals(other.getNatsList())) return false;
1113     if (hasNetwork() != other.hasNetwork()) return false;
1114     if (hasNetwork()) {
1115       if (!getNetwork().equals(other.getNetwork())) return false;
1116     }
1117     if (hasRegion() != other.hasRegion()) return false;
1118     if (hasRegion()) {
1119       if (!getRegion().equals(other.getRegion())) return false;
1120     }
1121     if (hasSelfLink() != other.hasSelfLink()) return false;
1122     if (hasSelfLink()) {
1123       if (!getSelfLink().equals(other.getSelfLink())) return false;
1124     }
1125     if (!getUnknownFields().equals(other.getUnknownFields())) return false;
1126     return true;
1127   }
1128 
1129   @java.lang.Override
hashCode()1130   public int hashCode() {
1131     if (memoizedHashCode != 0) {
1132       return memoizedHashCode;
1133     }
1134     int hash = 41;
1135     hash = (19 * hash) + getDescriptor().hashCode();
1136     if (hasBgp()) {
1137       hash = (37 * hash) + BGP_FIELD_NUMBER;
1138       hash = (53 * hash) + getBgp().hashCode();
1139     }
1140     if (getBgpPeersCount() > 0) {
1141       hash = (37 * hash) + BGP_PEERS_FIELD_NUMBER;
1142       hash = (53 * hash) + getBgpPeersList().hashCode();
1143     }
1144     if (hasCreationTimestamp()) {
1145       hash = (37 * hash) + CREATION_TIMESTAMP_FIELD_NUMBER;
1146       hash = (53 * hash) + getCreationTimestamp().hashCode();
1147     }
1148     if (hasDescription()) {
1149       hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER;
1150       hash = (53 * hash) + getDescription().hashCode();
1151     }
1152     if (hasEncryptedInterconnectRouter()) {
1153       hash = (37 * hash) + ENCRYPTED_INTERCONNECT_ROUTER_FIELD_NUMBER;
1154       hash =
1155           (53 * hash) + com.google.protobuf.Internal.hashBoolean(getEncryptedInterconnectRouter());
1156     }
1157     if (hasId()) {
1158       hash = (37 * hash) + ID_FIELD_NUMBER;
1159       hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getId());
1160     }
1161     if (getInterfacesCount() > 0) {
1162       hash = (37 * hash) + INTERFACES_FIELD_NUMBER;
1163       hash = (53 * hash) + getInterfacesList().hashCode();
1164     }
1165     if (hasKind()) {
1166       hash = (37 * hash) + KIND_FIELD_NUMBER;
1167       hash = (53 * hash) + getKind().hashCode();
1168     }
1169     if (getMd5AuthenticationKeysCount() > 0) {
1170       hash = (37 * hash) + MD5_AUTHENTICATION_KEYS_FIELD_NUMBER;
1171       hash = (53 * hash) + getMd5AuthenticationKeysList().hashCode();
1172     }
1173     if (hasName()) {
1174       hash = (37 * hash) + NAME_FIELD_NUMBER;
1175       hash = (53 * hash) + getName().hashCode();
1176     }
1177     if (getNatsCount() > 0) {
1178       hash = (37 * hash) + NATS_FIELD_NUMBER;
1179       hash = (53 * hash) + getNatsList().hashCode();
1180     }
1181     if (hasNetwork()) {
1182       hash = (37 * hash) + NETWORK_FIELD_NUMBER;
1183       hash = (53 * hash) + getNetwork().hashCode();
1184     }
1185     if (hasRegion()) {
1186       hash = (37 * hash) + REGION_FIELD_NUMBER;
1187       hash = (53 * hash) + getRegion().hashCode();
1188     }
1189     if (hasSelfLink()) {
1190       hash = (37 * hash) + SELF_LINK_FIELD_NUMBER;
1191       hash = (53 * hash) + getSelfLink().hashCode();
1192     }
1193     hash = (29 * hash) + getUnknownFields().hashCode();
1194     memoizedHashCode = hash;
1195     return hash;
1196   }
1197 
parseFrom(java.nio.ByteBuffer data)1198   public static com.google.cloud.compute.v1.Router parseFrom(java.nio.ByteBuffer data)
1199       throws com.google.protobuf.InvalidProtocolBufferException {
1200     return PARSER.parseFrom(data);
1201   }
1202 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1203   public static com.google.cloud.compute.v1.Router parseFrom(
1204       java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1205       throws com.google.protobuf.InvalidProtocolBufferException {
1206     return PARSER.parseFrom(data, extensionRegistry);
1207   }
1208 
parseFrom(com.google.protobuf.ByteString data)1209   public static com.google.cloud.compute.v1.Router parseFrom(com.google.protobuf.ByteString data)
1210       throws com.google.protobuf.InvalidProtocolBufferException {
1211     return PARSER.parseFrom(data);
1212   }
1213 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1214   public static com.google.cloud.compute.v1.Router parseFrom(
1215       com.google.protobuf.ByteString data,
1216       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1217       throws com.google.protobuf.InvalidProtocolBufferException {
1218     return PARSER.parseFrom(data, extensionRegistry);
1219   }
1220 
parseFrom(byte[] data)1221   public static com.google.cloud.compute.v1.Router parseFrom(byte[] data)
1222       throws com.google.protobuf.InvalidProtocolBufferException {
1223     return PARSER.parseFrom(data);
1224   }
1225 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1226   public static com.google.cloud.compute.v1.Router parseFrom(
1227       byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1228       throws com.google.protobuf.InvalidProtocolBufferException {
1229     return PARSER.parseFrom(data, extensionRegistry);
1230   }
1231 
parseFrom(java.io.InputStream input)1232   public static com.google.cloud.compute.v1.Router parseFrom(java.io.InputStream input)
1233       throws java.io.IOException {
1234     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
1235   }
1236 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1237   public static com.google.cloud.compute.v1.Router parseFrom(
1238       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1239       throws java.io.IOException {
1240     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
1241         PARSER, input, extensionRegistry);
1242   }
1243 
parseDelimitedFrom(java.io.InputStream input)1244   public static com.google.cloud.compute.v1.Router parseDelimitedFrom(java.io.InputStream input)
1245       throws java.io.IOException {
1246     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
1247   }
1248 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1249   public static com.google.cloud.compute.v1.Router parseDelimitedFrom(
1250       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1251       throws java.io.IOException {
1252     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
1253         PARSER, input, extensionRegistry);
1254   }
1255 
parseFrom( com.google.protobuf.CodedInputStream input)1256   public static com.google.cloud.compute.v1.Router parseFrom(
1257       com.google.protobuf.CodedInputStream input) throws java.io.IOException {
1258     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
1259   }
1260 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1261   public static com.google.cloud.compute.v1.Router parseFrom(
1262       com.google.protobuf.CodedInputStream input,
1263       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1264       throws java.io.IOException {
1265     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
1266         PARSER, input, extensionRegistry);
1267   }
1268 
1269   @java.lang.Override
newBuilderForType()1270   public Builder newBuilderForType() {
1271     return newBuilder();
1272   }
1273 
newBuilder()1274   public static Builder newBuilder() {
1275     return DEFAULT_INSTANCE.toBuilder();
1276   }
1277 
newBuilder(com.google.cloud.compute.v1.Router prototype)1278   public static Builder newBuilder(com.google.cloud.compute.v1.Router prototype) {
1279     return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
1280   }
1281 
1282   @java.lang.Override
toBuilder()1283   public Builder toBuilder() {
1284     return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
1285   }
1286 
1287   @java.lang.Override
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)1288   protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
1289     Builder builder = new Builder(parent);
1290     return builder;
1291   }
1292   /**
1293    *
1294    *
1295    * <pre>
1296    * Represents a Cloud Router resource. For more information about Cloud Router, read the Cloud Router overview.
1297    * </pre>
1298    *
1299    * Protobuf type {@code google.cloud.compute.v1.Router}
1300    */
1301   public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
1302       implements
1303       // @@protoc_insertion_point(builder_implements:google.cloud.compute.v1.Router)
1304       com.google.cloud.compute.v1.RouterOrBuilder {
getDescriptor()1305     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
1306       return com.google.cloud.compute.v1.Compute
1307           .internal_static_google_cloud_compute_v1_Router_descriptor;
1308     }
1309 
1310     @java.lang.Override
1311     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()1312         internalGetFieldAccessorTable() {
1313       return com.google.cloud.compute.v1.Compute
1314           .internal_static_google_cloud_compute_v1_Router_fieldAccessorTable
1315           .ensureFieldAccessorsInitialized(
1316               com.google.cloud.compute.v1.Router.class,
1317               com.google.cloud.compute.v1.Router.Builder.class);
1318     }
1319 
1320     // Construct using com.google.cloud.compute.v1.Router.newBuilder()
Builder()1321     private Builder() {
1322       maybeForceBuilderInitialization();
1323     }
1324 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)1325     private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
1326       super(parent);
1327       maybeForceBuilderInitialization();
1328     }
1329 
maybeForceBuilderInitialization()1330     private void maybeForceBuilderInitialization() {
1331       if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
1332         getBgpFieldBuilder();
1333         getBgpPeersFieldBuilder();
1334         getInterfacesFieldBuilder();
1335         getMd5AuthenticationKeysFieldBuilder();
1336         getNatsFieldBuilder();
1337       }
1338     }
1339 
1340     @java.lang.Override
clear()1341     public Builder clear() {
1342       super.clear();
1343       bitField0_ = 0;
1344       bgp_ = null;
1345       if (bgpBuilder_ != null) {
1346         bgpBuilder_.dispose();
1347         bgpBuilder_ = null;
1348       }
1349       if (bgpPeersBuilder_ == null) {
1350         bgpPeers_ = java.util.Collections.emptyList();
1351       } else {
1352         bgpPeers_ = null;
1353         bgpPeersBuilder_.clear();
1354       }
1355       bitField0_ = (bitField0_ & ~0x00000002);
1356       creationTimestamp_ = "";
1357       description_ = "";
1358       encryptedInterconnectRouter_ = false;
1359       id_ = 0L;
1360       if (interfacesBuilder_ == null) {
1361         interfaces_ = java.util.Collections.emptyList();
1362       } else {
1363         interfaces_ = null;
1364         interfacesBuilder_.clear();
1365       }
1366       bitField0_ = (bitField0_ & ~0x00000040);
1367       kind_ = "";
1368       if (md5AuthenticationKeysBuilder_ == null) {
1369         md5AuthenticationKeys_ = java.util.Collections.emptyList();
1370       } else {
1371         md5AuthenticationKeys_ = null;
1372         md5AuthenticationKeysBuilder_.clear();
1373       }
1374       bitField0_ = (bitField0_ & ~0x00000100);
1375       name_ = "";
1376       if (natsBuilder_ == null) {
1377         nats_ = java.util.Collections.emptyList();
1378       } else {
1379         nats_ = null;
1380         natsBuilder_.clear();
1381       }
1382       bitField0_ = (bitField0_ & ~0x00000400);
1383       network_ = "";
1384       region_ = "";
1385       selfLink_ = "";
1386       return this;
1387     }
1388 
1389     @java.lang.Override
getDescriptorForType()1390     public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
1391       return com.google.cloud.compute.v1.Compute
1392           .internal_static_google_cloud_compute_v1_Router_descriptor;
1393     }
1394 
1395     @java.lang.Override
getDefaultInstanceForType()1396     public com.google.cloud.compute.v1.Router getDefaultInstanceForType() {
1397       return com.google.cloud.compute.v1.Router.getDefaultInstance();
1398     }
1399 
1400     @java.lang.Override
build()1401     public com.google.cloud.compute.v1.Router build() {
1402       com.google.cloud.compute.v1.Router result = buildPartial();
1403       if (!result.isInitialized()) {
1404         throw newUninitializedMessageException(result);
1405       }
1406       return result;
1407     }
1408 
1409     @java.lang.Override
buildPartial()1410     public com.google.cloud.compute.v1.Router buildPartial() {
1411       com.google.cloud.compute.v1.Router result = new com.google.cloud.compute.v1.Router(this);
1412       buildPartialRepeatedFields(result);
1413       if (bitField0_ != 0) {
1414         buildPartial0(result);
1415       }
1416       onBuilt();
1417       return result;
1418     }
1419 
buildPartialRepeatedFields(com.google.cloud.compute.v1.Router result)1420     private void buildPartialRepeatedFields(com.google.cloud.compute.v1.Router result) {
1421       if (bgpPeersBuilder_ == null) {
1422         if (((bitField0_ & 0x00000002) != 0)) {
1423           bgpPeers_ = java.util.Collections.unmodifiableList(bgpPeers_);
1424           bitField0_ = (bitField0_ & ~0x00000002);
1425         }
1426         result.bgpPeers_ = bgpPeers_;
1427       } else {
1428         result.bgpPeers_ = bgpPeersBuilder_.build();
1429       }
1430       if (interfacesBuilder_ == null) {
1431         if (((bitField0_ & 0x00000040) != 0)) {
1432           interfaces_ = java.util.Collections.unmodifiableList(interfaces_);
1433           bitField0_ = (bitField0_ & ~0x00000040);
1434         }
1435         result.interfaces_ = interfaces_;
1436       } else {
1437         result.interfaces_ = interfacesBuilder_.build();
1438       }
1439       if (md5AuthenticationKeysBuilder_ == null) {
1440         if (((bitField0_ & 0x00000100) != 0)) {
1441           md5AuthenticationKeys_ = java.util.Collections.unmodifiableList(md5AuthenticationKeys_);
1442           bitField0_ = (bitField0_ & ~0x00000100);
1443         }
1444         result.md5AuthenticationKeys_ = md5AuthenticationKeys_;
1445       } else {
1446         result.md5AuthenticationKeys_ = md5AuthenticationKeysBuilder_.build();
1447       }
1448       if (natsBuilder_ == null) {
1449         if (((bitField0_ & 0x00000400) != 0)) {
1450           nats_ = java.util.Collections.unmodifiableList(nats_);
1451           bitField0_ = (bitField0_ & ~0x00000400);
1452         }
1453         result.nats_ = nats_;
1454       } else {
1455         result.nats_ = natsBuilder_.build();
1456       }
1457     }
1458 
buildPartial0(com.google.cloud.compute.v1.Router result)1459     private void buildPartial0(com.google.cloud.compute.v1.Router result) {
1460       int from_bitField0_ = bitField0_;
1461       int to_bitField0_ = 0;
1462       if (((from_bitField0_ & 0x00000001) != 0)) {
1463         result.bgp_ = bgpBuilder_ == null ? bgp_ : bgpBuilder_.build();
1464         to_bitField0_ |= 0x00000001;
1465       }
1466       if (((from_bitField0_ & 0x00000004) != 0)) {
1467         result.creationTimestamp_ = creationTimestamp_;
1468         to_bitField0_ |= 0x00000002;
1469       }
1470       if (((from_bitField0_ & 0x00000008) != 0)) {
1471         result.description_ = description_;
1472         to_bitField0_ |= 0x00000004;
1473       }
1474       if (((from_bitField0_ & 0x00000010) != 0)) {
1475         result.encryptedInterconnectRouter_ = encryptedInterconnectRouter_;
1476         to_bitField0_ |= 0x00000008;
1477       }
1478       if (((from_bitField0_ & 0x00000020) != 0)) {
1479         result.id_ = id_;
1480         to_bitField0_ |= 0x00000010;
1481       }
1482       if (((from_bitField0_ & 0x00000080) != 0)) {
1483         result.kind_ = kind_;
1484         to_bitField0_ |= 0x00000020;
1485       }
1486       if (((from_bitField0_ & 0x00000200) != 0)) {
1487         result.name_ = name_;
1488         to_bitField0_ |= 0x00000040;
1489       }
1490       if (((from_bitField0_ & 0x00000800) != 0)) {
1491         result.network_ = network_;
1492         to_bitField0_ |= 0x00000080;
1493       }
1494       if (((from_bitField0_ & 0x00001000) != 0)) {
1495         result.region_ = region_;
1496         to_bitField0_ |= 0x00000100;
1497       }
1498       if (((from_bitField0_ & 0x00002000) != 0)) {
1499         result.selfLink_ = selfLink_;
1500         to_bitField0_ |= 0x00000200;
1501       }
1502       result.bitField0_ |= to_bitField0_;
1503     }
1504 
1505     @java.lang.Override
clone()1506     public Builder clone() {
1507       return super.clone();
1508     }
1509 
1510     @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)1511     public Builder setField(
1512         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
1513       return super.setField(field, value);
1514     }
1515 
1516     @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)1517     public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
1518       return super.clearField(field);
1519     }
1520 
1521     @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)1522     public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
1523       return super.clearOneof(oneof);
1524     }
1525 
1526     @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)1527     public Builder setRepeatedField(
1528         com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
1529       return super.setRepeatedField(field, index, value);
1530     }
1531 
1532     @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)1533     public Builder addRepeatedField(
1534         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
1535       return super.addRepeatedField(field, value);
1536     }
1537 
1538     @java.lang.Override
mergeFrom(com.google.protobuf.Message other)1539     public Builder mergeFrom(com.google.protobuf.Message other) {
1540       if (other instanceof com.google.cloud.compute.v1.Router) {
1541         return mergeFrom((com.google.cloud.compute.v1.Router) other);
1542       } else {
1543         super.mergeFrom(other);
1544         return this;
1545       }
1546     }
1547 
mergeFrom(com.google.cloud.compute.v1.Router other)1548     public Builder mergeFrom(com.google.cloud.compute.v1.Router other) {
1549       if (other == com.google.cloud.compute.v1.Router.getDefaultInstance()) return this;
1550       if (other.hasBgp()) {
1551         mergeBgp(other.getBgp());
1552       }
1553       if (bgpPeersBuilder_ == null) {
1554         if (!other.bgpPeers_.isEmpty()) {
1555           if (bgpPeers_.isEmpty()) {
1556             bgpPeers_ = other.bgpPeers_;
1557             bitField0_ = (bitField0_ & ~0x00000002);
1558           } else {
1559             ensureBgpPeersIsMutable();
1560             bgpPeers_.addAll(other.bgpPeers_);
1561           }
1562           onChanged();
1563         }
1564       } else {
1565         if (!other.bgpPeers_.isEmpty()) {
1566           if (bgpPeersBuilder_.isEmpty()) {
1567             bgpPeersBuilder_.dispose();
1568             bgpPeersBuilder_ = null;
1569             bgpPeers_ = other.bgpPeers_;
1570             bitField0_ = (bitField0_ & ~0x00000002);
1571             bgpPeersBuilder_ =
1572                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
1573                     ? getBgpPeersFieldBuilder()
1574                     : null;
1575           } else {
1576             bgpPeersBuilder_.addAllMessages(other.bgpPeers_);
1577           }
1578         }
1579       }
1580       if (other.hasCreationTimestamp()) {
1581         creationTimestamp_ = other.creationTimestamp_;
1582         bitField0_ |= 0x00000004;
1583         onChanged();
1584       }
1585       if (other.hasDescription()) {
1586         description_ = other.description_;
1587         bitField0_ |= 0x00000008;
1588         onChanged();
1589       }
1590       if (other.hasEncryptedInterconnectRouter()) {
1591         setEncryptedInterconnectRouter(other.getEncryptedInterconnectRouter());
1592       }
1593       if (other.hasId()) {
1594         setId(other.getId());
1595       }
1596       if (interfacesBuilder_ == null) {
1597         if (!other.interfaces_.isEmpty()) {
1598           if (interfaces_.isEmpty()) {
1599             interfaces_ = other.interfaces_;
1600             bitField0_ = (bitField0_ & ~0x00000040);
1601           } else {
1602             ensureInterfacesIsMutable();
1603             interfaces_.addAll(other.interfaces_);
1604           }
1605           onChanged();
1606         }
1607       } else {
1608         if (!other.interfaces_.isEmpty()) {
1609           if (interfacesBuilder_.isEmpty()) {
1610             interfacesBuilder_.dispose();
1611             interfacesBuilder_ = null;
1612             interfaces_ = other.interfaces_;
1613             bitField0_ = (bitField0_ & ~0x00000040);
1614             interfacesBuilder_ =
1615                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
1616                     ? getInterfacesFieldBuilder()
1617                     : null;
1618           } else {
1619             interfacesBuilder_.addAllMessages(other.interfaces_);
1620           }
1621         }
1622       }
1623       if (other.hasKind()) {
1624         kind_ = other.kind_;
1625         bitField0_ |= 0x00000080;
1626         onChanged();
1627       }
1628       if (md5AuthenticationKeysBuilder_ == null) {
1629         if (!other.md5AuthenticationKeys_.isEmpty()) {
1630           if (md5AuthenticationKeys_.isEmpty()) {
1631             md5AuthenticationKeys_ = other.md5AuthenticationKeys_;
1632             bitField0_ = (bitField0_ & ~0x00000100);
1633           } else {
1634             ensureMd5AuthenticationKeysIsMutable();
1635             md5AuthenticationKeys_.addAll(other.md5AuthenticationKeys_);
1636           }
1637           onChanged();
1638         }
1639       } else {
1640         if (!other.md5AuthenticationKeys_.isEmpty()) {
1641           if (md5AuthenticationKeysBuilder_.isEmpty()) {
1642             md5AuthenticationKeysBuilder_.dispose();
1643             md5AuthenticationKeysBuilder_ = null;
1644             md5AuthenticationKeys_ = other.md5AuthenticationKeys_;
1645             bitField0_ = (bitField0_ & ~0x00000100);
1646             md5AuthenticationKeysBuilder_ =
1647                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
1648                     ? getMd5AuthenticationKeysFieldBuilder()
1649                     : null;
1650           } else {
1651             md5AuthenticationKeysBuilder_.addAllMessages(other.md5AuthenticationKeys_);
1652           }
1653         }
1654       }
1655       if (other.hasName()) {
1656         name_ = other.name_;
1657         bitField0_ |= 0x00000200;
1658         onChanged();
1659       }
1660       if (natsBuilder_ == null) {
1661         if (!other.nats_.isEmpty()) {
1662           if (nats_.isEmpty()) {
1663             nats_ = other.nats_;
1664             bitField0_ = (bitField0_ & ~0x00000400);
1665           } else {
1666             ensureNatsIsMutable();
1667             nats_.addAll(other.nats_);
1668           }
1669           onChanged();
1670         }
1671       } else {
1672         if (!other.nats_.isEmpty()) {
1673           if (natsBuilder_.isEmpty()) {
1674             natsBuilder_.dispose();
1675             natsBuilder_ = null;
1676             nats_ = other.nats_;
1677             bitField0_ = (bitField0_ & ~0x00000400);
1678             natsBuilder_ =
1679                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
1680                     ? getNatsFieldBuilder()
1681                     : null;
1682           } else {
1683             natsBuilder_.addAllMessages(other.nats_);
1684           }
1685         }
1686       }
1687       if (other.hasNetwork()) {
1688         network_ = other.network_;
1689         bitField0_ |= 0x00000800;
1690         onChanged();
1691       }
1692       if (other.hasRegion()) {
1693         region_ = other.region_;
1694         bitField0_ |= 0x00001000;
1695         onChanged();
1696       }
1697       if (other.hasSelfLink()) {
1698         selfLink_ = other.selfLink_;
1699         bitField0_ |= 0x00002000;
1700         onChanged();
1701       }
1702       this.mergeUnknownFields(other.getUnknownFields());
1703       onChanged();
1704       return this;
1705     }
1706 
1707     @java.lang.Override
isInitialized()1708     public final boolean isInitialized() {
1709       return true;
1710     }
1711 
1712     @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1713     public Builder mergeFrom(
1714         com.google.protobuf.CodedInputStream input,
1715         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1716         throws java.io.IOException {
1717       if (extensionRegistry == null) {
1718         throw new java.lang.NullPointerException();
1719       }
1720       try {
1721         boolean done = false;
1722         while (!done) {
1723           int tag = input.readTag();
1724           switch (tag) {
1725             case 0:
1726               done = true;
1727               break;
1728             case 26840:
1729               {
1730                 id_ = input.readUInt64();
1731                 bitField0_ |= 0x00000020;
1732                 break;
1733               } // case 26840
1734             case 779866:
1735               {
1736                 input.readMessage(getBgpFieldBuilder().getBuilder(), extensionRegistry);
1737                 bitField0_ |= 0x00000001;
1738                 break;
1739               } // case 779866
1740             case 26336418:
1741               {
1742                 kind_ = input.readStringRequireUtf8();
1743                 bitField0_ |= 0x00000080;
1744                 break;
1745               } // case 26336418
1746             case 26989658:
1747               {
1748                 name_ = input.readStringRequireUtf8();
1749                 bitField0_ |= 0x00000200;
1750                 break;
1751               } // case 26989658
1752             case 26991506:
1753               {
1754                 com.google.cloud.compute.v1.RouterNat m =
1755                     input.readMessage(
1756                         com.google.cloud.compute.v1.RouterNat.parser(), extensionRegistry);
1757                 if (natsBuilder_ == null) {
1758                   ensureNatsIsMutable();
1759                   nats_.add(m);
1760                 } else {
1761                   natsBuilder_.addMessage(m);
1762                 }
1763                 break;
1764               } // case 26991506
1765             case 96588498:
1766               {
1767                 com.google.cloud.compute.v1.RouterInterface m =
1768                     input.readMessage(
1769                         com.google.cloud.compute.v1.RouterInterface.parser(), extensionRegistry);
1770                 if (interfacesBuilder_ == null) {
1771                   ensureInterfacesIsMutable();
1772                   interfaces_.add(m);
1773                 } else {
1774                   interfacesBuilder_.addMessage(m);
1775                 }
1776                 break;
1777               } // case 96588498
1778             case 244202930:
1779               {
1780                 creationTimestamp_ = input.readStringRequireUtf8();
1781                 bitField0_ |= 0x00000004;
1782                 break;
1783               } // case 244202930
1784             case 568506578:
1785               {
1786                 com.google.cloud.compute.v1.RouterMd5AuthenticationKey m =
1787                     input.readMessage(
1788                         com.google.cloud.compute.v1.RouterMd5AuthenticationKey.parser(),
1789                         extensionRegistry);
1790                 if (md5AuthenticationKeysBuilder_ == null) {
1791                   ensureMd5AuthenticationKeysIsMutable();
1792                   md5AuthenticationKeys_.add(m);
1793                 } else {
1794                   md5AuthenticationKeysBuilder_.addMessage(m);
1795                 }
1796                 break;
1797               } // case 568506578
1798             case 1111570338:
1799               {
1800                 region_ = input.readStringRequireUtf8();
1801                 bitField0_ |= 0x00001000;
1802                 break;
1803               } // case 1111570338
1804             case 1862979954:
1805               {
1806                 network_ = input.readStringRequireUtf8();
1807                 bitField0_ |= 0x00000800;
1808                 break;
1809               } // case 1862979954
1810             case -1910994696:
1811               {
1812                 encryptedInterconnectRouter_ = input.readBool();
1813                 bitField0_ |= 0x00000010;
1814                 break;
1815               } // case -1910994696
1816             case -911466526:
1817               {
1818                 description_ = input.readStringRequireUtf8();
1819                 bitField0_ |= 0x00000008;
1820                 break;
1821               } // case -911466526
1822             case -673401110:
1823               {
1824                 com.google.cloud.compute.v1.RouterBgpPeer m =
1825                     input.readMessage(
1826                         com.google.cloud.compute.v1.RouterBgpPeer.parser(), extensionRegistry);
1827                 if (bgpPeersBuilder_ == null) {
1828                   ensureBgpPeersIsMutable();
1829                   bgpPeers_.add(m);
1830                 } else {
1831                   bgpPeersBuilder_.addMessage(m);
1832                 }
1833                 break;
1834               } // case -673401110
1835             case -645248918:
1836               {
1837                 selfLink_ = input.readStringRequireUtf8();
1838                 bitField0_ |= 0x00002000;
1839                 break;
1840               } // case -645248918
1841             default:
1842               {
1843                 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
1844                   done = true; // was an endgroup tag
1845                 }
1846                 break;
1847               } // default:
1848           } // switch (tag)
1849         } // while (!done)
1850       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1851         throw e.unwrapIOException();
1852       } finally {
1853         onChanged();
1854       } // finally
1855       return this;
1856     }
1857 
1858     private int bitField0_;
1859 
1860     private com.google.cloud.compute.v1.RouterBgp bgp_;
1861     private com.google.protobuf.SingleFieldBuilderV3<
1862             com.google.cloud.compute.v1.RouterBgp,
1863             com.google.cloud.compute.v1.RouterBgp.Builder,
1864             com.google.cloud.compute.v1.RouterBgpOrBuilder>
1865         bgpBuilder_;
1866     /**
1867      *
1868      *
1869      * <pre>
1870      * BGP information specific to this router.
1871      * </pre>
1872      *
1873      * <code>optional .google.cloud.compute.v1.RouterBgp bgp = 97483;</code>
1874      *
1875      * @return Whether the bgp field is set.
1876      */
hasBgp()1877     public boolean hasBgp() {
1878       return ((bitField0_ & 0x00000001) != 0);
1879     }
1880     /**
1881      *
1882      *
1883      * <pre>
1884      * BGP information specific to this router.
1885      * </pre>
1886      *
1887      * <code>optional .google.cloud.compute.v1.RouterBgp bgp = 97483;</code>
1888      *
1889      * @return The bgp.
1890      */
getBgp()1891     public com.google.cloud.compute.v1.RouterBgp getBgp() {
1892       if (bgpBuilder_ == null) {
1893         return bgp_ == null ? com.google.cloud.compute.v1.RouterBgp.getDefaultInstance() : bgp_;
1894       } else {
1895         return bgpBuilder_.getMessage();
1896       }
1897     }
1898     /**
1899      *
1900      *
1901      * <pre>
1902      * BGP information specific to this router.
1903      * </pre>
1904      *
1905      * <code>optional .google.cloud.compute.v1.RouterBgp bgp = 97483;</code>
1906      */
setBgp(com.google.cloud.compute.v1.RouterBgp value)1907     public Builder setBgp(com.google.cloud.compute.v1.RouterBgp value) {
1908       if (bgpBuilder_ == null) {
1909         if (value == null) {
1910           throw new NullPointerException();
1911         }
1912         bgp_ = value;
1913       } else {
1914         bgpBuilder_.setMessage(value);
1915       }
1916       bitField0_ |= 0x00000001;
1917       onChanged();
1918       return this;
1919     }
1920     /**
1921      *
1922      *
1923      * <pre>
1924      * BGP information specific to this router.
1925      * </pre>
1926      *
1927      * <code>optional .google.cloud.compute.v1.RouterBgp bgp = 97483;</code>
1928      */
setBgp(com.google.cloud.compute.v1.RouterBgp.Builder builderForValue)1929     public Builder setBgp(com.google.cloud.compute.v1.RouterBgp.Builder builderForValue) {
1930       if (bgpBuilder_ == null) {
1931         bgp_ = builderForValue.build();
1932       } else {
1933         bgpBuilder_.setMessage(builderForValue.build());
1934       }
1935       bitField0_ |= 0x00000001;
1936       onChanged();
1937       return this;
1938     }
1939     /**
1940      *
1941      *
1942      * <pre>
1943      * BGP information specific to this router.
1944      * </pre>
1945      *
1946      * <code>optional .google.cloud.compute.v1.RouterBgp bgp = 97483;</code>
1947      */
mergeBgp(com.google.cloud.compute.v1.RouterBgp value)1948     public Builder mergeBgp(com.google.cloud.compute.v1.RouterBgp value) {
1949       if (bgpBuilder_ == null) {
1950         if (((bitField0_ & 0x00000001) != 0)
1951             && bgp_ != null
1952             && bgp_ != com.google.cloud.compute.v1.RouterBgp.getDefaultInstance()) {
1953           getBgpBuilder().mergeFrom(value);
1954         } else {
1955           bgp_ = value;
1956         }
1957       } else {
1958         bgpBuilder_.mergeFrom(value);
1959       }
1960       bitField0_ |= 0x00000001;
1961       onChanged();
1962       return this;
1963     }
1964     /**
1965      *
1966      *
1967      * <pre>
1968      * BGP information specific to this router.
1969      * </pre>
1970      *
1971      * <code>optional .google.cloud.compute.v1.RouterBgp bgp = 97483;</code>
1972      */
clearBgp()1973     public Builder clearBgp() {
1974       bitField0_ = (bitField0_ & ~0x00000001);
1975       bgp_ = null;
1976       if (bgpBuilder_ != null) {
1977         bgpBuilder_.dispose();
1978         bgpBuilder_ = null;
1979       }
1980       onChanged();
1981       return this;
1982     }
1983     /**
1984      *
1985      *
1986      * <pre>
1987      * BGP information specific to this router.
1988      * </pre>
1989      *
1990      * <code>optional .google.cloud.compute.v1.RouterBgp bgp = 97483;</code>
1991      */
getBgpBuilder()1992     public com.google.cloud.compute.v1.RouterBgp.Builder getBgpBuilder() {
1993       bitField0_ |= 0x00000001;
1994       onChanged();
1995       return getBgpFieldBuilder().getBuilder();
1996     }
1997     /**
1998      *
1999      *
2000      * <pre>
2001      * BGP information specific to this router.
2002      * </pre>
2003      *
2004      * <code>optional .google.cloud.compute.v1.RouterBgp bgp = 97483;</code>
2005      */
getBgpOrBuilder()2006     public com.google.cloud.compute.v1.RouterBgpOrBuilder getBgpOrBuilder() {
2007       if (bgpBuilder_ != null) {
2008         return bgpBuilder_.getMessageOrBuilder();
2009       } else {
2010         return bgp_ == null ? com.google.cloud.compute.v1.RouterBgp.getDefaultInstance() : bgp_;
2011       }
2012     }
2013     /**
2014      *
2015      *
2016      * <pre>
2017      * BGP information specific to this router.
2018      * </pre>
2019      *
2020      * <code>optional .google.cloud.compute.v1.RouterBgp bgp = 97483;</code>
2021      */
2022     private com.google.protobuf.SingleFieldBuilderV3<
2023             com.google.cloud.compute.v1.RouterBgp,
2024             com.google.cloud.compute.v1.RouterBgp.Builder,
2025             com.google.cloud.compute.v1.RouterBgpOrBuilder>
getBgpFieldBuilder()2026         getBgpFieldBuilder() {
2027       if (bgpBuilder_ == null) {
2028         bgpBuilder_ =
2029             new com.google.protobuf.SingleFieldBuilderV3<
2030                 com.google.cloud.compute.v1.RouterBgp,
2031                 com.google.cloud.compute.v1.RouterBgp.Builder,
2032                 com.google.cloud.compute.v1.RouterBgpOrBuilder>(
2033                 getBgp(), getParentForChildren(), isClean());
2034         bgp_ = null;
2035       }
2036       return bgpBuilder_;
2037     }
2038 
2039     private java.util.List<com.google.cloud.compute.v1.RouterBgpPeer> bgpPeers_ =
2040         java.util.Collections.emptyList();
2041 
ensureBgpPeersIsMutable()2042     private void ensureBgpPeersIsMutable() {
2043       if (!((bitField0_ & 0x00000002) != 0)) {
2044         bgpPeers_ = new java.util.ArrayList<com.google.cloud.compute.v1.RouterBgpPeer>(bgpPeers_);
2045         bitField0_ |= 0x00000002;
2046       }
2047     }
2048 
2049     private com.google.protobuf.RepeatedFieldBuilderV3<
2050             com.google.cloud.compute.v1.RouterBgpPeer,
2051             com.google.cloud.compute.v1.RouterBgpPeer.Builder,
2052             com.google.cloud.compute.v1.RouterBgpPeerOrBuilder>
2053         bgpPeersBuilder_;
2054 
2055     /**
2056      *
2057      *
2058      * <pre>
2059      * BGP information that must be configured into the routing stack to establish BGP peering. This information must specify the peer ASN and either the interface name, IP address, or peer IP address. Please refer to RFC4273.
2060      * </pre>
2061      *
2062      * <code>repeated .google.cloud.compute.v1.RouterBgpPeer bgp_peers = 452695773;</code>
2063      */
getBgpPeersList()2064     public java.util.List<com.google.cloud.compute.v1.RouterBgpPeer> getBgpPeersList() {
2065       if (bgpPeersBuilder_ == null) {
2066         return java.util.Collections.unmodifiableList(bgpPeers_);
2067       } else {
2068         return bgpPeersBuilder_.getMessageList();
2069       }
2070     }
2071     /**
2072      *
2073      *
2074      * <pre>
2075      * BGP information that must be configured into the routing stack to establish BGP peering. This information must specify the peer ASN and either the interface name, IP address, or peer IP address. Please refer to RFC4273.
2076      * </pre>
2077      *
2078      * <code>repeated .google.cloud.compute.v1.RouterBgpPeer bgp_peers = 452695773;</code>
2079      */
getBgpPeersCount()2080     public int getBgpPeersCount() {
2081       if (bgpPeersBuilder_ == null) {
2082         return bgpPeers_.size();
2083       } else {
2084         return bgpPeersBuilder_.getCount();
2085       }
2086     }
2087     /**
2088      *
2089      *
2090      * <pre>
2091      * BGP information that must be configured into the routing stack to establish BGP peering. This information must specify the peer ASN and either the interface name, IP address, or peer IP address. Please refer to RFC4273.
2092      * </pre>
2093      *
2094      * <code>repeated .google.cloud.compute.v1.RouterBgpPeer bgp_peers = 452695773;</code>
2095      */
getBgpPeers(int index)2096     public com.google.cloud.compute.v1.RouterBgpPeer getBgpPeers(int index) {
2097       if (bgpPeersBuilder_ == null) {
2098         return bgpPeers_.get(index);
2099       } else {
2100         return bgpPeersBuilder_.getMessage(index);
2101       }
2102     }
2103     /**
2104      *
2105      *
2106      * <pre>
2107      * BGP information that must be configured into the routing stack to establish BGP peering. This information must specify the peer ASN and either the interface name, IP address, or peer IP address. Please refer to RFC4273.
2108      * </pre>
2109      *
2110      * <code>repeated .google.cloud.compute.v1.RouterBgpPeer bgp_peers = 452695773;</code>
2111      */
setBgpPeers(int index, com.google.cloud.compute.v1.RouterBgpPeer value)2112     public Builder setBgpPeers(int index, com.google.cloud.compute.v1.RouterBgpPeer value) {
2113       if (bgpPeersBuilder_ == null) {
2114         if (value == null) {
2115           throw new NullPointerException();
2116         }
2117         ensureBgpPeersIsMutable();
2118         bgpPeers_.set(index, value);
2119         onChanged();
2120       } else {
2121         bgpPeersBuilder_.setMessage(index, value);
2122       }
2123       return this;
2124     }
2125     /**
2126      *
2127      *
2128      * <pre>
2129      * BGP information that must be configured into the routing stack to establish BGP peering. This information must specify the peer ASN and either the interface name, IP address, or peer IP address. Please refer to RFC4273.
2130      * </pre>
2131      *
2132      * <code>repeated .google.cloud.compute.v1.RouterBgpPeer bgp_peers = 452695773;</code>
2133      */
setBgpPeers( int index, com.google.cloud.compute.v1.RouterBgpPeer.Builder builderForValue)2134     public Builder setBgpPeers(
2135         int index, com.google.cloud.compute.v1.RouterBgpPeer.Builder builderForValue) {
2136       if (bgpPeersBuilder_ == null) {
2137         ensureBgpPeersIsMutable();
2138         bgpPeers_.set(index, builderForValue.build());
2139         onChanged();
2140       } else {
2141         bgpPeersBuilder_.setMessage(index, builderForValue.build());
2142       }
2143       return this;
2144     }
2145     /**
2146      *
2147      *
2148      * <pre>
2149      * BGP information that must be configured into the routing stack to establish BGP peering. This information must specify the peer ASN and either the interface name, IP address, or peer IP address. Please refer to RFC4273.
2150      * </pre>
2151      *
2152      * <code>repeated .google.cloud.compute.v1.RouterBgpPeer bgp_peers = 452695773;</code>
2153      */
addBgpPeers(com.google.cloud.compute.v1.RouterBgpPeer value)2154     public Builder addBgpPeers(com.google.cloud.compute.v1.RouterBgpPeer value) {
2155       if (bgpPeersBuilder_ == null) {
2156         if (value == null) {
2157           throw new NullPointerException();
2158         }
2159         ensureBgpPeersIsMutable();
2160         bgpPeers_.add(value);
2161         onChanged();
2162       } else {
2163         bgpPeersBuilder_.addMessage(value);
2164       }
2165       return this;
2166     }
2167     /**
2168      *
2169      *
2170      * <pre>
2171      * BGP information that must be configured into the routing stack to establish BGP peering. This information must specify the peer ASN and either the interface name, IP address, or peer IP address. Please refer to RFC4273.
2172      * </pre>
2173      *
2174      * <code>repeated .google.cloud.compute.v1.RouterBgpPeer bgp_peers = 452695773;</code>
2175      */
addBgpPeers(int index, com.google.cloud.compute.v1.RouterBgpPeer value)2176     public Builder addBgpPeers(int index, com.google.cloud.compute.v1.RouterBgpPeer value) {
2177       if (bgpPeersBuilder_ == null) {
2178         if (value == null) {
2179           throw new NullPointerException();
2180         }
2181         ensureBgpPeersIsMutable();
2182         bgpPeers_.add(index, value);
2183         onChanged();
2184       } else {
2185         bgpPeersBuilder_.addMessage(index, value);
2186       }
2187       return this;
2188     }
2189     /**
2190      *
2191      *
2192      * <pre>
2193      * BGP information that must be configured into the routing stack to establish BGP peering. This information must specify the peer ASN and either the interface name, IP address, or peer IP address. Please refer to RFC4273.
2194      * </pre>
2195      *
2196      * <code>repeated .google.cloud.compute.v1.RouterBgpPeer bgp_peers = 452695773;</code>
2197      */
addBgpPeers(com.google.cloud.compute.v1.RouterBgpPeer.Builder builderForValue)2198     public Builder addBgpPeers(com.google.cloud.compute.v1.RouterBgpPeer.Builder builderForValue) {
2199       if (bgpPeersBuilder_ == null) {
2200         ensureBgpPeersIsMutable();
2201         bgpPeers_.add(builderForValue.build());
2202         onChanged();
2203       } else {
2204         bgpPeersBuilder_.addMessage(builderForValue.build());
2205       }
2206       return this;
2207     }
2208     /**
2209      *
2210      *
2211      * <pre>
2212      * BGP information that must be configured into the routing stack to establish BGP peering. This information must specify the peer ASN and either the interface name, IP address, or peer IP address. Please refer to RFC4273.
2213      * </pre>
2214      *
2215      * <code>repeated .google.cloud.compute.v1.RouterBgpPeer bgp_peers = 452695773;</code>
2216      */
addBgpPeers( int index, com.google.cloud.compute.v1.RouterBgpPeer.Builder builderForValue)2217     public Builder addBgpPeers(
2218         int index, com.google.cloud.compute.v1.RouterBgpPeer.Builder builderForValue) {
2219       if (bgpPeersBuilder_ == null) {
2220         ensureBgpPeersIsMutable();
2221         bgpPeers_.add(index, builderForValue.build());
2222         onChanged();
2223       } else {
2224         bgpPeersBuilder_.addMessage(index, builderForValue.build());
2225       }
2226       return this;
2227     }
2228     /**
2229      *
2230      *
2231      * <pre>
2232      * BGP information that must be configured into the routing stack to establish BGP peering. This information must specify the peer ASN and either the interface name, IP address, or peer IP address. Please refer to RFC4273.
2233      * </pre>
2234      *
2235      * <code>repeated .google.cloud.compute.v1.RouterBgpPeer bgp_peers = 452695773;</code>
2236      */
addAllBgpPeers( java.lang.Iterable<? extends com.google.cloud.compute.v1.RouterBgpPeer> values)2237     public Builder addAllBgpPeers(
2238         java.lang.Iterable<? extends com.google.cloud.compute.v1.RouterBgpPeer> values) {
2239       if (bgpPeersBuilder_ == null) {
2240         ensureBgpPeersIsMutable();
2241         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, bgpPeers_);
2242         onChanged();
2243       } else {
2244         bgpPeersBuilder_.addAllMessages(values);
2245       }
2246       return this;
2247     }
2248     /**
2249      *
2250      *
2251      * <pre>
2252      * BGP information that must be configured into the routing stack to establish BGP peering. This information must specify the peer ASN and either the interface name, IP address, or peer IP address. Please refer to RFC4273.
2253      * </pre>
2254      *
2255      * <code>repeated .google.cloud.compute.v1.RouterBgpPeer bgp_peers = 452695773;</code>
2256      */
clearBgpPeers()2257     public Builder clearBgpPeers() {
2258       if (bgpPeersBuilder_ == null) {
2259         bgpPeers_ = java.util.Collections.emptyList();
2260         bitField0_ = (bitField0_ & ~0x00000002);
2261         onChanged();
2262       } else {
2263         bgpPeersBuilder_.clear();
2264       }
2265       return this;
2266     }
2267     /**
2268      *
2269      *
2270      * <pre>
2271      * BGP information that must be configured into the routing stack to establish BGP peering. This information must specify the peer ASN and either the interface name, IP address, or peer IP address. Please refer to RFC4273.
2272      * </pre>
2273      *
2274      * <code>repeated .google.cloud.compute.v1.RouterBgpPeer bgp_peers = 452695773;</code>
2275      */
removeBgpPeers(int index)2276     public Builder removeBgpPeers(int index) {
2277       if (bgpPeersBuilder_ == null) {
2278         ensureBgpPeersIsMutable();
2279         bgpPeers_.remove(index);
2280         onChanged();
2281       } else {
2282         bgpPeersBuilder_.remove(index);
2283       }
2284       return this;
2285     }
2286     /**
2287      *
2288      *
2289      * <pre>
2290      * BGP information that must be configured into the routing stack to establish BGP peering. This information must specify the peer ASN and either the interface name, IP address, or peer IP address. Please refer to RFC4273.
2291      * </pre>
2292      *
2293      * <code>repeated .google.cloud.compute.v1.RouterBgpPeer bgp_peers = 452695773;</code>
2294      */
getBgpPeersBuilder(int index)2295     public com.google.cloud.compute.v1.RouterBgpPeer.Builder getBgpPeersBuilder(int index) {
2296       return getBgpPeersFieldBuilder().getBuilder(index);
2297     }
2298     /**
2299      *
2300      *
2301      * <pre>
2302      * BGP information that must be configured into the routing stack to establish BGP peering. This information must specify the peer ASN and either the interface name, IP address, or peer IP address. Please refer to RFC4273.
2303      * </pre>
2304      *
2305      * <code>repeated .google.cloud.compute.v1.RouterBgpPeer bgp_peers = 452695773;</code>
2306      */
getBgpPeersOrBuilder(int index)2307     public com.google.cloud.compute.v1.RouterBgpPeerOrBuilder getBgpPeersOrBuilder(int index) {
2308       if (bgpPeersBuilder_ == null) {
2309         return bgpPeers_.get(index);
2310       } else {
2311         return bgpPeersBuilder_.getMessageOrBuilder(index);
2312       }
2313     }
2314     /**
2315      *
2316      *
2317      * <pre>
2318      * BGP information that must be configured into the routing stack to establish BGP peering. This information must specify the peer ASN and either the interface name, IP address, or peer IP address. Please refer to RFC4273.
2319      * </pre>
2320      *
2321      * <code>repeated .google.cloud.compute.v1.RouterBgpPeer bgp_peers = 452695773;</code>
2322      */
2323     public java.util.List<? extends com.google.cloud.compute.v1.RouterBgpPeerOrBuilder>
getBgpPeersOrBuilderList()2324         getBgpPeersOrBuilderList() {
2325       if (bgpPeersBuilder_ != null) {
2326         return bgpPeersBuilder_.getMessageOrBuilderList();
2327       } else {
2328         return java.util.Collections.unmodifiableList(bgpPeers_);
2329       }
2330     }
2331     /**
2332      *
2333      *
2334      * <pre>
2335      * BGP information that must be configured into the routing stack to establish BGP peering. This information must specify the peer ASN and either the interface name, IP address, or peer IP address. Please refer to RFC4273.
2336      * </pre>
2337      *
2338      * <code>repeated .google.cloud.compute.v1.RouterBgpPeer bgp_peers = 452695773;</code>
2339      */
addBgpPeersBuilder()2340     public com.google.cloud.compute.v1.RouterBgpPeer.Builder addBgpPeersBuilder() {
2341       return getBgpPeersFieldBuilder()
2342           .addBuilder(com.google.cloud.compute.v1.RouterBgpPeer.getDefaultInstance());
2343     }
2344     /**
2345      *
2346      *
2347      * <pre>
2348      * BGP information that must be configured into the routing stack to establish BGP peering. This information must specify the peer ASN and either the interface name, IP address, or peer IP address. Please refer to RFC4273.
2349      * </pre>
2350      *
2351      * <code>repeated .google.cloud.compute.v1.RouterBgpPeer bgp_peers = 452695773;</code>
2352      */
addBgpPeersBuilder(int index)2353     public com.google.cloud.compute.v1.RouterBgpPeer.Builder addBgpPeersBuilder(int index) {
2354       return getBgpPeersFieldBuilder()
2355           .addBuilder(index, com.google.cloud.compute.v1.RouterBgpPeer.getDefaultInstance());
2356     }
2357     /**
2358      *
2359      *
2360      * <pre>
2361      * BGP information that must be configured into the routing stack to establish BGP peering. This information must specify the peer ASN and either the interface name, IP address, or peer IP address. Please refer to RFC4273.
2362      * </pre>
2363      *
2364      * <code>repeated .google.cloud.compute.v1.RouterBgpPeer bgp_peers = 452695773;</code>
2365      */
2366     public java.util.List<com.google.cloud.compute.v1.RouterBgpPeer.Builder>
getBgpPeersBuilderList()2367         getBgpPeersBuilderList() {
2368       return getBgpPeersFieldBuilder().getBuilderList();
2369     }
2370 
2371     private com.google.protobuf.RepeatedFieldBuilderV3<
2372             com.google.cloud.compute.v1.RouterBgpPeer,
2373             com.google.cloud.compute.v1.RouterBgpPeer.Builder,
2374             com.google.cloud.compute.v1.RouterBgpPeerOrBuilder>
getBgpPeersFieldBuilder()2375         getBgpPeersFieldBuilder() {
2376       if (bgpPeersBuilder_ == null) {
2377         bgpPeersBuilder_ =
2378             new com.google.protobuf.RepeatedFieldBuilderV3<
2379                 com.google.cloud.compute.v1.RouterBgpPeer,
2380                 com.google.cloud.compute.v1.RouterBgpPeer.Builder,
2381                 com.google.cloud.compute.v1.RouterBgpPeerOrBuilder>(
2382                 bgpPeers_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean());
2383         bgpPeers_ = null;
2384       }
2385       return bgpPeersBuilder_;
2386     }
2387 
2388     private java.lang.Object creationTimestamp_ = "";
2389     /**
2390      *
2391      *
2392      * <pre>
2393      * [Output Only] Creation timestamp in RFC3339 text format.
2394      * </pre>
2395      *
2396      * <code>optional string creation_timestamp = 30525366;</code>
2397      *
2398      * @return Whether the creationTimestamp field is set.
2399      */
hasCreationTimestamp()2400     public boolean hasCreationTimestamp() {
2401       return ((bitField0_ & 0x00000004) != 0);
2402     }
2403     /**
2404      *
2405      *
2406      * <pre>
2407      * [Output Only] Creation timestamp in RFC3339 text format.
2408      * </pre>
2409      *
2410      * <code>optional string creation_timestamp = 30525366;</code>
2411      *
2412      * @return The creationTimestamp.
2413      */
getCreationTimestamp()2414     public java.lang.String getCreationTimestamp() {
2415       java.lang.Object ref = creationTimestamp_;
2416       if (!(ref instanceof java.lang.String)) {
2417         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2418         java.lang.String s = bs.toStringUtf8();
2419         creationTimestamp_ = s;
2420         return s;
2421       } else {
2422         return (java.lang.String) ref;
2423       }
2424     }
2425     /**
2426      *
2427      *
2428      * <pre>
2429      * [Output Only] Creation timestamp in RFC3339 text format.
2430      * </pre>
2431      *
2432      * <code>optional string creation_timestamp = 30525366;</code>
2433      *
2434      * @return The bytes for creationTimestamp.
2435      */
getCreationTimestampBytes()2436     public com.google.protobuf.ByteString getCreationTimestampBytes() {
2437       java.lang.Object ref = creationTimestamp_;
2438       if (ref instanceof String) {
2439         com.google.protobuf.ByteString b =
2440             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2441         creationTimestamp_ = b;
2442         return b;
2443       } else {
2444         return (com.google.protobuf.ByteString) ref;
2445       }
2446     }
2447     /**
2448      *
2449      *
2450      * <pre>
2451      * [Output Only] Creation timestamp in RFC3339 text format.
2452      * </pre>
2453      *
2454      * <code>optional string creation_timestamp = 30525366;</code>
2455      *
2456      * @param value The creationTimestamp to set.
2457      * @return This builder for chaining.
2458      */
setCreationTimestamp(java.lang.String value)2459     public Builder setCreationTimestamp(java.lang.String value) {
2460       if (value == null) {
2461         throw new NullPointerException();
2462       }
2463       creationTimestamp_ = value;
2464       bitField0_ |= 0x00000004;
2465       onChanged();
2466       return this;
2467     }
2468     /**
2469      *
2470      *
2471      * <pre>
2472      * [Output Only] Creation timestamp in RFC3339 text format.
2473      * </pre>
2474      *
2475      * <code>optional string creation_timestamp = 30525366;</code>
2476      *
2477      * @return This builder for chaining.
2478      */
clearCreationTimestamp()2479     public Builder clearCreationTimestamp() {
2480       creationTimestamp_ = getDefaultInstance().getCreationTimestamp();
2481       bitField0_ = (bitField0_ & ~0x00000004);
2482       onChanged();
2483       return this;
2484     }
2485     /**
2486      *
2487      *
2488      * <pre>
2489      * [Output Only] Creation timestamp in RFC3339 text format.
2490      * </pre>
2491      *
2492      * <code>optional string creation_timestamp = 30525366;</code>
2493      *
2494      * @param value The bytes for creationTimestamp to set.
2495      * @return This builder for chaining.
2496      */
setCreationTimestampBytes(com.google.protobuf.ByteString value)2497     public Builder setCreationTimestampBytes(com.google.protobuf.ByteString value) {
2498       if (value == null) {
2499         throw new NullPointerException();
2500       }
2501       checkByteStringIsUtf8(value);
2502       creationTimestamp_ = value;
2503       bitField0_ |= 0x00000004;
2504       onChanged();
2505       return this;
2506     }
2507 
2508     private java.lang.Object description_ = "";
2509     /**
2510      *
2511      *
2512      * <pre>
2513      * An optional description of this resource. Provide this property when you create the resource.
2514      * </pre>
2515      *
2516      * <code>optional string description = 422937596;</code>
2517      *
2518      * @return Whether the description field is set.
2519      */
hasDescription()2520     public boolean hasDescription() {
2521       return ((bitField0_ & 0x00000008) != 0);
2522     }
2523     /**
2524      *
2525      *
2526      * <pre>
2527      * An optional description of this resource. Provide this property when you create the resource.
2528      * </pre>
2529      *
2530      * <code>optional string description = 422937596;</code>
2531      *
2532      * @return The description.
2533      */
getDescription()2534     public java.lang.String getDescription() {
2535       java.lang.Object ref = description_;
2536       if (!(ref instanceof java.lang.String)) {
2537         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2538         java.lang.String s = bs.toStringUtf8();
2539         description_ = s;
2540         return s;
2541       } else {
2542         return (java.lang.String) ref;
2543       }
2544     }
2545     /**
2546      *
2547      *
2548      * <pre>
2549      * An optional description of this resource. Provide this property when you create the resource.
2550      * </pre>
2551      *
2552      * <code>optional string description = 422937596;</code>
2553      *
2554      * @return The bytes for description.
2555      */
getDescriptionBytes()2556     public com.google.protobuf.ByteString getDescriptionBytes() {
2557       java.lang.Object ref = description_;
2558       if (ref instanceof String) {
2559         com.google.protobuf.ByteString b =
2560             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2561         description_ = b;
2562         return b;
2563       } else {
2564         return (com.google.protobuf.ByteString) ref;
2565       }
2566     }
2567     /**
2568      *
2569      *
2570      * <pre>
2571      * An optional description of this resource. Provide this property when you create the resource.
2572      * </pre>
2573      *
2574      * <code>optional string description = 422937596;</code>
2575      *
2576      * @param value The description to set.
2577      * @return This builder for chaining.
2578      */
setDescription(java.lang.String value)2579     public Builder setDescription(java.lang.String value) {
2580       if (value == null) {
2581         throw new NullPointerException();
2582       }
2583       description_ = value;
2584       bitField0_ |= 0x00000008;
2585       onChanged();
2586       return this;
2587     }
2588     /**
2589      *
2590      *
2591      * <pre>
2592      * An optional description of this resource. Provide this property when you create the resource.
2593      * </pre>
2594      *
2595      * <code>optional string description = 422937596;</code>
2596      *
2597      * @return This builder for chaining.
2598      */
clearDescription()2599     public Builder clearDescription() {
2600       description_ = getDefaultInstance().getDescription();
2601       bitField0_ = (bitField0_ & ~0x00000008);
2602       onChanged();
2603       return this;
2604     }
2605     /**
2606      *
2607      *
2608      * <pre>
2609      * An optional description of this resource. Provide this property when you create the resource.
2610      * </pre>
2611      *
2612      * <code>optional string description = 422937596;</code>
2613      *
2614      * @param value The bytes for description to set.
2615      * @return This builder for chaining.
2616      */
setDescriptionBytes(com.google.protobuf.ByteString value)2617     public Builder setDescriptionBytes(com.google.protobuf.ByteString value) {
2618       if (value == null) {
2619         throw new NullPointerException();
2620       }
2621       checkByteStringIsUtf8(value);
2622       description_ = value;
2623       bitField0_ |= 0x00000008;
2624       onChanged();
2625       return this;
2626     }
2627 
2628     private boolean encryptedInterconnectRouter_;
2629     /**
2630      *
2631      *
2632      * <pre>
2633      * Indicates if a router is dedicated for use with encrypted VLAN attachments (interconnectAttachments).
2634      * </pre>
2635      *
2636      * <code>optional bool encrypted_interconnect_router = 297996575;</code>
2637      *
2638      * @return Whether the encryptedInterconnectRouter field is set.
2639      */
2640     @java.lang.Override
hasEncryptedInterconnectRouter()2641     public boolean hasEncryptedInterconnectRouter() {
2642       return ((bitField0_ & 0x00000010) != 0);
2643     }
2644     /**
2645      *
2646      *
2647      * <pre>
2648      * Indicates if a router is dedicated for use with encrypted VLAN attachments (interconnectAttachments).
2649      * </pre>
2650      *
2651      * <code>optional bool encrypted_interconnect_router = 297996575;</code>
2652      *
2653      * @return The encryptedInterconnectRouter.
2654      */
2655     @java.lang.Override
getEncryptedInterconnectRouter()2656     public boolean getEncryptedInterconnectRouter() {
2657       return encryptedInterconnectRouter_;
2658     }
2659     /**
2660      *
2661      *
2662      * <pre>
2663      * Indicates if a router is dedicated for use with encrypted VLAN attachments (interconnectAttachments).
2664      * </pre>
2665      *
2666      * <code>optional bool encrypted_interconnect_router = 297996575;</code>
2667      *
2668      * @param value The encryptedInterconnectRouter to set.
2669      * @return This builder for chaining.
2670      */
setEncryptedInterconnectRouter(boolean value)2671     public Builder setEncryptedInterconnectRouter(boolean value) {
2672 
2673       encryptedInterconnectRouter_ = value;
2674       bitField0_ |= 0x00000010;
2675       onChanged();
2676       return this;
2677     }
2678     /**
2679      *
2680      *
2681      * <pre>
2682      * Indicates if a router is dedicated for use with encrypted VLAN attachments (interconnectAttachments).
2683      * </pre>
2684      *
2685      * <code>optional bool encrypted_interconnect_router = 297996575;</code>
2686      *
2687      * @return This builder for chaining.
2688      */
clearEncryptedInterconnectRouter()2689     public Builder clearEncryptedInterconnectRouter() {
2690       bitField0_ = (bitField0_ & ~0x00000010);
2691       encryptedInterconnectRouter_ = false;
2692       onChanged();
2693       return this;
2694     }
2695 
2696     private long id_;
2697     /**
2698      *
2699      *
2700      * <pre>
2701      * [Output Only] The unique identifier for the resource. This identifier is defined by the server.
2702      * </pre>
2703      *
2704      * <code>optional uint64 id = 3355;</code>
2705      *
2706      * @return Whether the id field is set.
2707      */
2708     @java.lang.Override
hasId()2709     public boolean hasId() {
2710       return ((bitField0_ & 0x00000020) != 0);
2711     }
2712     /**
2713      *
2714      *
2715      * <pre>
2716      * [Output Only] The unique identifier for the resource. This identifier is defined by the server.
2717      * </pre>
2718      *
2719      * <code>optional uint64 id = 3355;</code>
2720      *
2721      * @return The id.
2722      */
2723     @java.lang.Override
getId()2724     public long getId() {
2725       return id_;
2726     }
2727     /**
2728      *
2729      *
2730      * <pre>
2731      * [Output Only] The unique identifier for the resource. This identifier is defined by the server.
2732      * </pre>
2733      *
2734      * <code>optional uint64 id = 3355;</code>
2735      *
2736      * @param value The id to set.
2737      * @return This builder for chaining.
2738      */
setId(long value)2739     public Builder setId(long value) {
2740 
2741       id_ = value;
2742       bitField0_ |= 0x00000020;
2743       onChanged();
2744       return this;
2745     }
2746     /**
2747      *
2748      *
2749      * <pre>
2750      * [Output Only] The unique identifier for the resource. This identifier is defined by the server.
2751      * </pre>
2752      *
2753      * <code>optional uint64 id = 3355;</code>
2754      *
2755      * @return This builder for chaining.
2756      */
clearId()2757     public Builder clearId() {
2758       bitField0_ = (bitField0_ & ~0x00000020);
2759       id_ = 0L;
2760       onChanged();
2761       return this;
2762     }
2763 
2764     private java.util.List<com.google.cloud.compute.v1.RouterInterface> interfaces_ =
2765         java.util.Collections.emptyList();
2766 
ensureInterfacesIsMutable()2767     private void ensureInterfacesIsMutable() {
2768       if (!((bitField0_ & 0x00000040) != 0)) {
2769         interfaces_ =
2770             new java.util.ArrayList<com.google.cloud.compute.v1.RouterInterface>(interfaces_);
2771         bitField0_ |= 0x00000040;
2772       }
2773     }
2774 
2775     private com.google.protobuf.RepeatedFieldBuilderV3<
2776             com.google.cloud.compute.v1.RouterInterface,
2777             com.google.cloud.compute.v1.RouterInterface.Builder,
2778             com.google.cloud.compute.v1.RouterInterfaceOrBuilder>
2779         interfacesBuilder_;
2780 
2781     /**
2782      *
2783      *
2784      * <pre>
2785      * Router interfaces. Each interface requires either one linked resource, (for example, linkedVpnTunnel), or IP address and IP address range (for example, ipRange), or both.
2786      * </pre>
2787      *
2788      * <code>repeated .google.cloud.compute.v1.RouterInterface interfaces = 12073562;</code>
2789      */
getInterfacesList()2790     public java.util.List<com.google.cloud.compute.v1.RouterInterface> getInterfacesList() {
2791       if (interfacesBuilder_ == null) {
2792         return java.util.Collections.unmodifiableList(interfaces_);
2793       } else {
2794         return interfacesBuilder_.getMessageList();
2795       }
2796     }
2797     /**
2798      *
2799      *
2800      * <pre>
2801      * Router interfaces. Each interface requires either one linked resource, (for example, linkedVpnTunnel), or IP address and IP address range (for example, ipRange), or both.
2802      * </pre>
2803      *
2804      * <code>repeated .google.cloud.compute.v1.RouterInterface interfaces = 12073562;</code>
2805      */
getInterfacesCount()2806     public int getInterfacesCount() {
2807       if (interfacesBuilder_ == null) {
2808         return interfaces_.size();
2809       } else {
2810         return interfacesBuilder_.getCount();
2811       }
2812     }
2813     /**
2814      *
2815      *
2816      * <pre>
2817      * Router interfaces. Each interface requires either one linked resource, (for example, linkedVpnTunnel), or IP address and IP address range (for example, ipRange), or both.
2818      * </pre>
2819      *
2820      * <code>repeated .google.cloud.compute.v1.RouterInterface interfaces = 12073562;</code>
2821      */
getInterfaces(int index)2822     public com.google.cloud.compute.v1.RouterInterface getInterfaces(int index) {
2823       if (interfacesBuilder_ == null) {
2824         return interfaces_.get(index);
2825       } else {
2826         return interfacesBuilder_.getMessage(index);
2827       }
2828     }
2829     /**
2830      *
2831      *
2832      * <pre>
2833      * Router interfaces. Each interface requires either one linked resource, (for example, linkedVpnTunnel), or IP address and IP address range (for example, ipRange), or both.
2834      * </pre>
2835      *
2836      * <code>repeated .google.cloud.compute.v1.RouterInterface interfaces = 12073562;</code>
2837      */
setInterfaces(int index, com.google.cloud.compute.v1.RouterInterface value)2838     public Builder setInterfaces(int index, com.google.cloud.compute.v1.RouterInterface value) {
2839       if (interfacesBuilder_ == null) {
2840         if (value == null) {
2841           throw new NullPointerException();
2842         }
2843         ensureInterfacesIsMutable();
2844         interfaces_.set(index, value);
2845         onChanged();
2846       } else {
2847         interfacesBuilder_.setMessage(index, value);
2848       }
2849       return this;
2850     }
2851     /**
2852      *
2853      *
2854      * <pre>
2855      * Router interfaces. Each interface requires either one linked resource, (for example, linkedVpnTunnel), or IP address and IP address range (for example, ipRange), or both.
2856      * </pre>
2857      *
2858      * <code>repeated .google.cloud.compute.v1.RouterInterface interfaces = 12073562;</code>
2859      */
setInterfaces( int index, com.google.cloud.compute.v1.RouterInterface.Builder builderForValue)2860     public Builder setInterfaces(
2861         int index, com.google.cloud.compute.v1.RouterInterface.Builder builderForValue) {
2862       if (interfacesBuilder_ == null) {
2863         ensureInterfacesIsMutable();
2864         interfaces_.set(index, builderForValue.build());
2865         onChanged();
2866       } else {
2867         interfacesBuilder_.setMessage(index, builderForValue.build());
2868       }
2869       return this;
2870     }
2871     /**
2872      *
2873      *
2874      * <pre>
2875      * Router interfaces. Each interface requires either one linked resource, (for example, linkedVpnTunnel), or IP address and IP address range (for example, ipRange), or both.
2876      * </pre>
2877      *
2878      * <code>repeated .google.cloud.compute.v1.RouterInterface interfaces = 12073562;</code>
2879      */
addInterfaces(com.google.cloud.compute.v1.RouterInterface value)2880     public Builder addInterfaces(com.google.cloud.compute.v1.RouterInterface value) {
2881       if (interfacesBuilder_ == null) {
2882         if (value == null) {
2883           throw new NullPointerException();
2884         }
2885         ensureInterfacesIsMutable();
2886         interfaces_.add(value);
2887         onChanged();
2888       } else {
2889         interfacesBuilder_.addMessage(value);
2890       }
2891       return this;
2892     }
2893     /**
2894      *
2895      *
2896      * <pre>
2897      * Router interfaces. Each interface requires either one linked resource, (for example, linkedVpnTunnel), or IP address and IP address range (for example, ipRange), or both.
2898      * </pre>
2899      *
2900      * <code>repeated .google.cloud.compute.v1.RouterInterface interfaces = 12073562;</code>
2901      */
addInterfaces(int index, com.google.cloud.compute.v1.RouterInterface value)2902     public Builder addInterfaces(int index, com.google.cloud.compute.v1.RouterInterface value) {
2903       if (interfacesBuilder_ == null) {
2904         if (value == null) {
2905           throw new NullPointerException();
2906         }
2907         ensureInterfacesIsMutable();
2908         interfaces_.add(index, value);
2909         onChanged();
2910       } else {
2911         interfacesBuilder_.addMessage(index, value);
2912       }
2913       return this;
2914     }
2915     /**
2916      *
2917      *
2918      * <pre>
2919      * Router interfaces. Each interface requires either one linked resource, (for example, linkedVpnTunnel), or IP address and IP address range (for example, ipRange), or both.
2920      * </pre>
2921      *
2922      * <code>repeated .google.cloud.compute.v1.RouterInterface interfaces = 12073562;</code>
2923      */
addInterfaces( com.google.cloud.compute.v1.RouterInterface.Builder builderForValue)2924     public Builder addInterfaces(
2925         com.google.cloud.compute.v1.RouterInterface.Builder builderForValue) {
2926       if (interfacesBuilder_ == null) {
2927         ensureInterfacesIsMutable();
2928         interfaces_.add(builderForValue.build());
2929         onChanged();
2930       } else {
2931         interfacesBuilder_.addMessage(builderForValue.build());
2932       }
2933       return this;
2934     }
2935     /**
2936      *
2937      *
2938      * <pre>
2939      * Router interfaces. Each interface requires either one linked resource, (for example, linkedVpnTunnel), or IP address and IP address range (for example, ipRange), or both.
2940      * </pre>
2941      *
2942      * <code>repeated .google.cloud.compute.v1.RouterInterface interfaces = 12073562;</code>
2943      */
addInterfaces( int index, com.google.cloud.compute.v1.RouterInterface.Builder builderForValue)2944     public Builder addInterfaces(
2945         int index, com.google.cloud.compute.v1.RouterInterface.Builder builderForValue) {
2946       if (interfacesBuilder_ == null) {
2947         ensureInterfacesIsMutable();
2948         interfaces_.add(index, builderForValue.build());
2949         onChanged();
2950       } else {
2951         interfacesBuilder_.addMessage(index, builderForValue.build());
2952       }
2953       return this;
2954     }
2955     /**
2956      *
2957      *
2958      * <pre>
2959      * Router interfaces. Each interface requires either one linked resource, (for example, linkedVpnTunnel), or IP address and IP address range (for example, ipRange), or both.
2960      * </pre>
2961      *
2962      * <code>repeated .google.cloud.compute.v1.RouterInterface interfaces = 12073562;</code>
2963      */
addAllInterfaces( java.lang.Iterable<? extends com.google.cloud.compute.v1.RouterInterface> values)2964     public Builder addAllInterfaces(
2965         java.lang.Iterable<? extends com.google.cloud.compute.v1.RouterInterface> values) {
2966       if (interfacesBuilder_ == null) {
2967         ensureInterfacesIsMutable();
2968         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, interfaces_);
2969         onChanged();
2970       } else {
2971         interfacesBuilder_.addAllMessages(values);
2972       }
2973       return this;
2974     }
2975     /**
2976      *
2977      *
2978      * <pre>
2979      * Router interfaces. Each interface requires either one linked resource, (for example, linkedVpnTunnel), or IP address and IP address range (for example, ipRange), or both.
2980      * </pre>
2981      *
2982      * <code>repeated .google.cloud.compute.v1.RouterInterface interfaces = 12073562;</code>
2983      */
clearInterfaces()2984     public Builder clearInterfaces() {
2985       if (interfacesBuilder_ == null) {
2986         interfaces_ = java.util.Collections.emptyList();
2987         bitField0_ = (bitField0_ & ~0x00000040);
2988         onChanged();
2989       } else {
2990         interfacesBuilder_.clear();
2991       }
2992       return this;
2993     }
2994     /**
2995      *
2996      *
2997      * <pre>
2998      * Router interfaces. Each interface requires either one linked resource, (for example, linkedVpnTunnel), or IP address and IP address range (for example, ipRange), or both.
2999      * </pre>
3000      *
3001      * <code>repeated .google.cloud.compute.v1.RouterInterface interfaces = 12073562;</code>
3002      */
removeInterfaces(int index)3003     public Builder removeInterfaces(int index) {
3004       if (interfacesBuilder_ == null) {
3005         ensureInterfacesIsMutable();
3006         interfaces_.remove(index);
3007         onChanged();
3008       } else {
3009         interfacesBuilder_.remove(index);
3010       }
3011       return this;
3012     }
3013     /**
3014      *
3015      *
3016      * <pre>
3017      * Router interfaces. Each interface requires either one linked resource, (for example, linkedVpnTunnel), or IP address and IP address range (for example, ipRange), or both.
3018      * </pre>
3019      *
3020      * <code>repeated .google.cloud.compute.v1.RouterInterface interfaces = 12073562;</code>
3021      */
getInterfacesBuilder(int index)3022     public com.google.cloud.compute.v1.RouterInterface.Builder getInterfacesBuilder(int index) {
3023       return getInterfacesFieldBuilder().getBuilder(index);
3024     }
3025     /**
3026      *
3027      *
3028      * <pre>
3029      * Router interfaces. Each interface requires either one linked resource, (for example, linkedVpnTunnel), or IP address and IP address range (for example, ipRange), or both.
3030      * </pre>
3031      *
3032      * <code>repeated .google.cloud.compute.v1.RouterInterface interfaces = 12073562;</code>
3033      */
getInterfacesOrBuilder(int index)3034     public com.google.cloud.compute.v1.RouterInterfaceOrBuilder getInterfacesOrBuilder(int index) {
3035       if (interfacesBuilder_ == null) {
3036         return interfaces_.get(index);
3037       } else {
3038         return interfacesBuilder_.getMessageOrBuilder(index);
3039       }
3040     }
3041     /**
3042      *
3043      *
3044      * <pre>
3045      * Router interfaces. Each interface requires either one linked resource, (for example, linkedVpnTunnel), or IP address and IP address range (for example, ipRange), or both.
3046      * </pre>
3047      *
3048      * <code>repeated .google.cloud.compute.v1.RouterInterface interfaces = 12073562;</code>
3049      */
3050     public java.util.List<? extends com.google.cloud.compute.v1.RouterInterfaceOrBuilder>
getInterfacesOrBuilderList()3051         getInterfacesOrBuilderList() {
3052       if (interfacesBuilder_ != null) {
3053         return interfacesBuilder_.getMessageOrBuilderList();
3054       } else {
3055         return java.util.Collections.unmodifiableList(interfaces_);
3056       }
3057     }
3058     /**
3059      *
3060      *
3061      * <pre>
3062      * Router interfaces. Each interface requires either one linked resource, (for example, linkedVpnTunnel), or IP address and IP address range (for example, ipRange), or both.
3063      * </pre>
3064      *
3065      * <code>repeated .google.cloud.compute.v1.RouterInterface interfaces = 12073562;</code>
3066      */
addInterfacesBuilder()3067     public com.google.cloud.compute.v1.RouterInterface.Builder addInterfacesBuilder() {
3068       return getInterfacesFieldBuilder()
3069           .addBuilder(com.google.cloud.compute.v1.RouterInterface.getDefaultInstance());
3070     }
3071     /**
3072      *
3073      *
3074      * <pre>
3075      * Router interfaces. Each interface requires either one linked resource, (for example, linkedVpnTunnel), or IP address and IP address range (for example, ipRange), or both.
3076      * </pre>
3077      *
3078      * <code>repeated .google.cloud.compute.v1.RouterInterface interfaces = 12073562;</code>
3079      */
addInterfacesBuilder(int index)3080     public com.google.cloud.compute.v1.RouterInterface.Builder addInterfacesBuilder(int index) {
3081       return getInterfacesFieldBuilder()
3082           .addBuilder(index, com.google.cloud.compute.v1.RouterInterface.getDefaultInstance());
3083     }
3084     /**
3085      *
3086      *
3087      * <pre>
3088      * Router interfaces. Each interface requires either one linked resource, (for example, linkedVpnTunnel), or IP address and IP address range (for example, ipRange), or both.
3089      * </pre>
3090      *
3091      * <code>repeated .google.cloud.compute.v1.RouterInterface interfaces = 12073562;</code>
3092      */
3093     public java.util.List<com.google.cloud.compute.v1.RouterInterface.Builder>
getInterfacesBuilderList()3094         getInterfacesBuilderList() {
3095       return getInterfacesFieldBuilder().getBuilderList();
3096     }
3097 
3098     private com.google.protobuf.RepeatedFieldBuilderV3<
3099             com.google.cloud.compute.v1.RouterInterface,
3100             com.google.cloud.compute.v1.RouterInterface.Builder,
3101             com.google.cloud.compute.v1.RouterInterfaceOrBuilder>
getInterfacesFieldBuilder()3102         getInterfacesFieldBuilder() {
3103       if (interfacesBuilder_ == null) {
3104         interfacesBuilder_ =
3105             new com.google.protobuf.RepeatedFieldBuilderV3<
3106                 com.google.cloud.compute.v1.RouterInterface,
3107                 com.google.cloud.compute.v1.RouterInterface.Builder,
3108                 com.google.cloud.compute.v1.RouterInterfaceOrBuilder>(
3109                 interfaces_, ((bitField0_ & 0x00000040) != 0), getParentForChildren(), isClean());
3110         interfaces_ = null;
3111       }
3112       return interfacesBuilder_;
3113     }
3114 
3115     private java.lang.Object kind_ = "";
3116     /**
3117      *
3118      *
3119      * <pre>
3120      * [Output Only] Type of resource. Always compute#router for routers.
3121      * </pre>
3122      *
3123      * <code>optional string kind = 3292052;</code>
3124      *
3125      * @return Whether the kind field is set.
3126      */
hasKind()3127     public boolean hasKind() {
3128       return ((bitField0_ & 0x00000080) != 0);
3129     }
3130     /**
3131      *
3132      *
3133      * <pre>
3134      * [Output Only] Type of resource. Always compute#router for routers.
3135      * </pre>
3136      *
3137      * <code>optional string kind = 3292052;</code>
3138      *
3139      * @return The kind.
3140      */
getKind()3141     public java.lang.String getKind() {
3142       java.lang.Object ref = kind_;
3143       if (!(ref instanceof java.lang.String)) {
3144         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
3145         java.lang.String s = bs.toStringUtf8();
3146         kind_ = s;
3147         return s;
3148       } else {
3149         return (java.lang.String) ref;
3150       }
3151     }
3152     /**
3153      *
3154      *
3155      * <pre>
3156      * [Output Only] Type of resource. Always compute#router for routers.
3157      * </pre>
3158      *
3159      * <code>optional string kind = 3292052;</code>
3160      *
3161      * @return The bytes for kind.
3162      */
getKindBytes()3163     public com.google.protobuf.ByteString getKindBytes() {
3164       java.lang.Object ref = kind_;
3165       if (ref instanceof String) {
3166         com.google.protobuf.ByteString b =
3167             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
3168         kind_ = b;
3169         return b;
3170       } else {
3171         return (com.google.protobuf.ByteString) ref;
3172       }
3173     }
3174     /**
3175      *
3176      *
3177      * <pre>
3178      * [Output Only] Type of resource. Always compute#router for routers.
3179      * </pre>
3180      *
3181      * <code>optional string kind = 3292052;</code>
3182      *
3183      * @param value The kind to set.
3184      * @return This builder for chaining.
3185      */
setKind(java.lang.String value)3186     public Builder setKind(java.lang.String value) {
3187       if (value == null) {
3188         throw new NullPointerException();
3189       }
3190       kind_ = value;
3191       bitField0_ |= 0x00000080;
3192       onChanged();
3193       return this;
3194     }
3195     /**
3196      *
3197      *
3198      * <pre>
3199      * [Output Only] Type of resource. Always compute#router for routers.
3200      * </pre>
3201      *
3202      * <code>optional string kind = 3292052;</code>
3203      *
3204      * @return This builder for chaining.
3205      */
clearKind()3206     public Builder clearKind() {
3207       kind_ = getDefaultInstance().getKind();
3208       bitField0_ = (bitField0_ & ~0x00000080);
3209       onChanged();
3210       return this;
3211     }
3212     /**
3213      *
3214      *
3215      * <pre>
3216      * [Output Only] Type of resource. Always compute#router for routers.
3217      * </pre>
3218      *
3219      * <code>optional string kind = 3292052;</code>
3220      *
3221      * @param value The bytes for kind to set.
3222      * @return This builder for chaining.
3223      */
setKindBytes(com.google.protobuf.ByteString value)3224     public Builder setKindBytes(com.google.protobuf.ByteString value) {
3225       if (value == null) {
3226         throw new NullPointerException();
3227       }
3228       checkByteStringIsUtf8(value);
3229       kind_ = value;
3230       bitField0_ |= 0x00000080;
3231       onChanged();
3232       return this;
3233     }
3234 
3235     private java.util.List<com.google.cloud.compute.v1.RouterMd5AuthenticationKey>
3236         md5AuthenticationKeys_ = java.util.Collections.emptyList();
3237 
ensureMd5AuthenticationKeysIsMutable()3238     private void ensureMd5AuthenticationKeysIsMutable() {
3239       if (!((bitField0_ & 0x00000100) != 0)) {
3240         md5AuthenticationKeys_ =
3241             new java.util.ArrayList<com.google.cloud.compute.v1.RouterMd5AuthenticationKey>(
3242                 md5AuthenticationKeys_);
3243         bitField0_ |= 0x00000100;
3244       }
3245     }
3246 
3247     private com.google.protobuf.RepeatedFieldBuilderV3<
3248             com.google.cloud.compute.v1.RouterMd5AuthenticationKey,
3249             com.google.cloud.compute.v1.RouterMd5AuthenticationKey.Builder,
3250             com.google.cloud.compute.v1.RouterMd5AuthenticationKeyOrBuilder>
3251         md5AuthenticationKeysBuilder_;
3252 
3253     /**
3254      *
3255      *
3256      * <pre>
3257      * Keys used for MD5 authentication.
3258      * </pre>
3259      *
3260      * <code>
3261      * repeated .google.cloud.compute.v1.RouterMd5AuthenticationKey md5_authentication_keys = 71063322;
3262      * </code>
3263      */
3264     public java.util.List<com.google.cloud.compute.v1.RouterMd5AuthenticationKey>
getMd5AuthenticationKeysList()3265         getMd5AuthenticationKeysList() {
3266       if (md5AuthenticationKeysBuilder_ == null) {
3267         return java.util.Collections.unmodifiableList(md5AuthenticationKeys_);
3268       } else {
3269         return md5AuthenticationKeysBuilder_.getMessageList();
3270       }
3271     }
3272     /**
3273      *
3274      *
3275      * <pre>
3276      * Keys used for MD5 authentication.
3277      * </pre>
3278      *
3279      * <code>
3280      * repeated .google.cloud.compute.v1.RouterMd5AuthenticationKey md5_authentication_keys = 71063322;
3281      * </code>
3282      */
getMd5AuthenticationKeysCount()3283     public int getMd5AuthenticationKeysCount() {
3284       if (md5AuthenticationKeysBuilder_ == null) {
3285         return md5AuthenticationKeys_.size();
3286       } else {
3287         return md5AuthenticationKeysBuilder_.getCount();
3288       }
3289     }
3290     /**
3291      *
3292      *
3293      * <pre>
3294      * Keys used for MD5 authentication.
3295      * </pre>
3296      *
3297      * <code>
3298      * repeated .google.cloud.compute.v1.RouterMd5AuthenticationKey md5_authentication_keys = 71063322;
3299      * </code>
3300      */
getMd5AuthenticationKeys( int index)3301     public com.google.cloud.compute.v1.RouterMd5AuthenticationKey getMd5AuthenticationKeys(
3302         int index) {
3303       if (md5AuthenticationKeysBuilder_ == null) {
3304         return md5AuthenticationKeys_.get(index);
3305       } else {
3306         return md5AuthenticationKeysBuilder_.getMessage(index);
3307       }
3308     }
3309     /**
3310      *
3311      *
3312      * <pre>
3313      * Keys used for MD5 authentication.
3314      * </pre>
3315      *
3316      * <code>
3317      * repeated .google.cloud.compute.v1.RouterMd5AuthenticationKey md5_authentication_keys = 71063322;
3318      * </code>
3319      */
setMd5AuthenticationKeys( int index, com.google.cloud.compute.v1.RouterMd5AuthenticationKey value)3320     public Builder setMd5AuthenticationKeys(
3321         int index, com.google.cloud.compute.v1.RouterMd5AuthenticationKey value) {
3322       if (md5AuthenticationKeysBuilder_ == null) {
3323         if (value == null) {
3324           throw new NullPointerException();
3325         }
3326         ensureMd5AuthenticationKeysIsMutable();
3327         md5AuthenticationKeys_.set(index, value);
3328         onChanged();
3329       } else {
3330         md5AuthenticationKeysBuilder_.setMessage(index, value);
3331       }
3332       return this;
3333     }
3334     /**
3335      *
3336      *
3337      * <pre>
3338      * Keys used for MD5 authentication.
3339      * </pre>
3340      *
3341      * <code>
3342      * repeated .google.cloud.compute.v1.RouterMd5AuthenticationKey md5_authentication_keys = 71063322;
3343      * </code>
3344      */
setMd5AuthenticationKeys( int index, com.google.cloud.compute.v1.RouterMd5AuthenticationKey.Builder builderForValue)3345     public Builder setMd5AuthenticationKeys(
3346         int index, com.google.cloud.compute.v1.RouterMd5AuthenticationKey.Builder builderForValue) {
3347       if (md5AuthenticationKeysBuilder_ == null) {
3348         ensureMd5AuthenticationKeysIsMutable();
3349         md5AuthenticationKeys_.set(index, builderForValue.build());
3350         onChanged();
3351       } else {
3352         md5AuthenticationKeysBuilder_.setMessage(index, builderForValue.build());
3353       }
3354       return this;
3355     }
3356     /**
3357      *
3358      *
3359      * <pre>
3360      * Keys used for MD5 authentication.
3361      * </pre>
3362      *
3363      * <code>
3364      * repeated .google.cloud.compute.v1.RouterMd5AuthenticationKey md5_authentication_keys = 71063322;
3365      * </code>
3366      */
addMd5AuthenticationKeys( com.google.cloud.compute.v1.RouterMd5AuthenticationKey value)3367     public Builder addMd5AuthenticationKeys(
3368         com.google.cloud.compute.v1.RouterMd5AuthenticationKey value) {
3369       if (md5AuthenticationKeysBuilder_ == null) {
3370         if (value == null) {
3371           throw new NullPointerException();
3372         }
3373         ensureMd5AuthenticationKeysIsMutable();
3374         md5AuthenticationKeys_.add(value);
3375         onChanged();
3376       } else {
3377         md5AuthenticationKeysBuilder_.addMessage(value);
3378       }
3379       return this;
3380     }
3381     /**
3382      *
3383      *
3384      * <pre>
3385      * Keys used for MD5 authentication.
3386      * </pre>
3387      *
3388      * <code>
3389      * repeated .google.cloud.compute.v1.RouterMd5AuthenticationKey md5_authentication_keys = 71063322;
3390      * </code>
3391      */
addMd5AuthenticationKeys( int index, com.google.cloud.compute.v1.RouterMd5AuthenticationKey value)3392     public Builder addMd5AuthenticationKeys(
3393         int index, com.google.cloud.compute.v1.RouterMd5AuthenticationKey value) {
3394       if (md5AuthenticationKeysBuilder_ == null) {
3395         if (value == null) {
3396           throw new NullPointerException();
3397         }
3398         ensureMd5AuthenticationKeysIsMutable();
3399         md5AuthenticationKeys_.add(index, value);
3400         onChanged();
3401       } else {
3402         md5AuthenticationKeysBuilder_.addMessage(index, value);
3403       }
3404       return this;
3405     }
3406     /**
3407      *
3408      *
3409      * <pre>
3410      * Keys used for MD5 authentication.
3411      * </pre>
3412      *
3413      * <code>
3414      * repeated .google.cloud.compute.v1.RouterMd5AuthenticationKey md5_authentication_keys = 71063322;
3415      * </code>
3416      */
addMd5AuthenticationKeys( com.google.cloud.compute.v1.RouterMd5AuthenticationKey.Builder builderForValue)3417     public Builder addMd5AuthenticationKeys(
3418         com.google.cloud.compute.v1.RouterMd5AuthenticationKey.Builder builderForValue) {
3419       if (md5AuthenticationKeysBuilder_ == null) {
3420         ensureMd5AuthenticationKeysIsMutable();
3421         md5AuthenticationKeys_.add(builderForValue.build());
3422         onChanged();
3423       } else {
3424         md5AuthenticationKeysBuilder_.addMessage(builderForValue.build());
3425       }
3426       return this;
3427     }
3428     /**
3429      *
3430      *
3431      * <pre>
3432      * Keys used for MD5 authentication.
3433      * </pre>
3434      *
3435      * <code>
3436      * repeated .google.cloud.compute.v1.RouterMd5AuthenticationKey md5_authentication_keys = 71063322;
3437      * </code>
3438      */
addMd5AuthenticationKeys( int index, com.google.cloud.compute.v1.RouterMd5AuthenticationKey.Builder builderForValue)3439     public Builder addMd5AuthenticationKeys(
3440         int index, com.google.cloud.compute.v1.RouterMd5AuthenticationKey.Builder builderForValue) {
3441       if (md5AuthenticationKeysBuilder_ == null) {
3442         ensureMd5AuthenticationKeysIsMutable();
3443         md5AuthenticationKeys_.add(index, builderForValue.build());
3444         onChanged();
3445       } else {
3446         md5AuthenticationKeysBuilder_.addMessage(index, builderForValue.build());
3447       }
3448       return this;
3449     }
3450     /**
3451      *
3452      *
3453      * <pre>
3454      * Keys used for MD5 authentication.
3455      * </pre>
3456      *
3457      * <code>
3458      * repeated .google.cloud.compute.v1.RouterMd5AuthenticationKey md5_authentication_keys = 71063322;
3459      * </code>
3460      */
addAllMd5AuthenticationKeys( java.lang.Iterable<? extends com.google.cloud.compute.v1.RouterMd5AuthenticationKey> values)3461     public Builder addAllMd5AuthenticationKeys(
3462         java.lang.Iterable<? extends com.google.cloud.compute.v1.RouterMd5AuthenticationKey>
3463             values) {
3464       if (md5AuthenticationKeysBuilder_ == null) {
3465         ensureMd5AuthenticationKeysIsMutable();
3466         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, md5AuthenticationKeys_);
3467         onChanged();
3468       } else {
3469         md5AuthenticationKeysBuilder_.addAllMessages(values);
3470       }
3471       return this;
3472     }
3473     /**
3474      *
3475      *
3476      * <pre>
3477      * Keys used for MD5 authentication.
3478      * </pre>
3479      *
3480      * <code>
3481      * repeated .google.cloud.compute.v1.RouterMd5AuthenticationKey md5_authentication_keys = 71063322;
3482      * </code>
3483      */
clearMd5AuthenticationKeys()3484     public Builder clearMd5AuthenticationKeys() {
3485       if (md5AuthenticationKeysBuilder_ == null) {
3486         md5AuthenticationKeys_ = java.util.Collections.emptyList();
3487         bitField0_ = (bitField0_ & ~0x00000100);
3488         onChanged();
3489       } else {
3490         md5AuthenticationKeysBuilder_.clear();
3491       }
3492       return this;
3493     }
3494     /**
3495      *
3496      *
3497      * <pre>
3498      * Keys used for MD5 authentication.
3499      * </pre>
3500      *
3501      * <code>
3502      * repeated .google.cloud.compute.v1.RouterMd5AuthenticationKey md5_authentication_keys = 71063322;
3503      * </code>
3504      */
removeMd5AuthenticationKeys(int index)3505     public Builder removeMd5AuthenticationKeys(int index) {
3506       if (md5AuthenticationKeysBuilder_ == null) {
3507         ensureMd5AuthenticationKeysIsMutable();
3508         md5AuthenticationKeys_.remove(index);
3509         onChanged();
3510       } else {
3511         md5AuthenticationKeysBuilder_.remove(index);
3512       }
3513       return this;
3514     }
3515     /**
3516      *
3517      *
3518      * <pre>
3519      * Keys used for MD5 authentication.
3520      * </pre>
3521      *
3522      * <code>
3523      * repeated .google.cloud.compute.v1.RouterMd5AuthenticationKey md5_authentication_keys = 71063322;
3524      * </code>
3525      */
3526     public com.google.cloud.compute.v1.RouterMd5AuthenticationKey.Builder
getMd5AuthenticationKeysBuilder(int index)3527         getMd5AuthenticationKeysBuilder(int index) {
3528       return getMd5AuthenticationKeysFieldBuilder().getBuilder(index);
3529     }
3530     /**
3531      *
3532      *
3533      * <pre>
3534      * Keys used for MD5 authentication.
3535      * </pre>
3536      *
3537      * <code>
3538      * repeated .google.cloud.compute.v1.RouterMd5AuthenticationKey md5_authentication_keys = 71063322;
3539      * </code>
3540      */
3541     public com.google.cloud.compute.v1.RouterMd5AuthenticationKeyOrBuilder
getMd5AuthenticationKeysOrBuilder(int index)3542         getMd5AuthenticationKeysOrBuilder(int index) {
3543       if (md5AuthenticationKeysBuilder_ == null) {
3544         return md5AuthenticationKeys_.get(index);
3545       } else {
3546         return md5AuthenticationKeysBuilder_.getMessageOrBuilder(index);
3547       }
3548     }
3549     /**
3550      *
3551      *
3552      * <pre>
3553      * Keys used for MD5 authentication.
3554      * </pre>
3555      *
3556      * <code>
3557      * repeated .google.cloud.compute.v1.RouterMd5AuthenticationKey md5_authentication_keys = 71063322;
3558      * </code>
3559      */
3560     public java.util.List<? extends com.google.cloud.compute.v1.RouterMd5AuthenticationKeyOrBuilder>
getMd5AuthenticationKeysOrBuilderList()3561         getMd5AuthenticationKeysOrBuilderList() {
3562       if (md5AuthenticationKeysBuilder_ != null) {
3563         return md5AuthenticationKeysBuilder_.getMessageOrBuilderList();
3564       } else {
3565         return java.util.Collections.unmodifiableList(md5AuthenticationKeys_);
3566       }
3567     }
3568     /**
3569      *
3570      *
3571      * <pre>
3572      * Keys used for MD5 authentication.
3573      * </pre>
3574      *
3575      * <code>
3576      * repeated .google.cloud.compute.v1.RouterMd5AuthenticationKey md5_authentication_keys = 71063322;
3577      * </code>
3578      */
3579     public com.google.cloud.compute.v1.RouterMd5AuthenticationKey.Builder
addMd5AuthenticationKeysBuilder()3580         addMd5AuthenticationKeysBuilder() {
3581       return getMd5AuthenticationKeysFieldBuilder()
3582           .addBuilder(com.google.cloud.compute.v1.RouterMd5AuthenticationKey.getDefaultInstance());
3583     }
3584     /**
3585      *
3586      *
3587      * <pre>
3588      * Keys used for MD5 authentication.
3589      * </pre>
3590      *
3591      * <code>
3592      * repeated .google.cloud.compute.v1.RouterMd5AuthenticationKey md5_authentication_keys = 71063322;
3593      * </code>
3594      */
3595     public com.google.cloud.compute.v1.RouterMd5AuthenticationKey.Builder
addMd5AuthenticationKeysBuilder(int index)3596         addMd5AuthenticationKeysBuilder(int index) {
3597       return getMd5AuthenticationKeysFieldBuilder()
3598           .addBuilder(
3599               index, com.google.cloud.compute.v1.RouterMd5AuthenticationKey.getDefaultInstance());
3600     }
3601     /**
3602      *
3603      *
3604      * <pre>
3605      * Keys used for MD5 authentication.
3606      * </pre>
3607      *
3608      * <code>
3609      * repeated .google.cloud.compute.v1.RouterMd5AuthenticationKey md5_authentication_keys = 71063322;
3610      * </code>
3611      */
3612     public java.util.List<com.google.cloud.compute.v1.RouterMd5AuthenticationKey.Builder>
getMd5AuthenticationKeysBuilderList()3613         getMd5AuthenticationKeysBuilderList() {
3614       return getMd5AuthenticationKeysFieldBuilder().getBuilderList();
3615     }
3616 
3617     private com.google.protobuf.RepeatedFieldBuilderV3<
3618             com.google.cloud.compute.v1.RouterMd5AuthenticationKey,
3619             com.google.cloud.compute.v1.RouterMd5AuthenticationKey.Builder,
3620             com.google.cloud.compute.v1.RouterMd5AuthenticationKeyOrBuilder>
getMd5AuthenticationKeysFieldBuilder()3621         getMd5AuthenticationKeysFieldBuilder() {
3622       if (md5AuthenticationKeysBuilder_ == null) {
3623         md5AuthenticationKeysBuilder_ =
3624             new com.google.protobuf.RepeatedFieldBuilderV3<
3625                 com.google.cloud.compute.v1.RouterMd5AuthenticationKey,
3626                 com.google.cloud.compute.v1.RouterMd5AuthenticationKey.Builder,
3627                 com.google.cloud.compute.v1.RouterMd5AuthenticationKeyOrBuilder>(
3628                 md5AuthenticationKeys_,
3629                 ((bitField0_ & 0x00000100) != 0),
3630                 getParentForChildren(),
3631                 isClean());
3632         md5AuthenticationKeys_ = null;
3633       }
3634       return md5AuthenticationKeysBuilder_;
3635     }
3636 
3637     private java.lang.Object name_ = "";
3638     /**
3639      *
3640      *
3641      * <pre>
3642      * 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])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
3643      * </pre>
3644      *
3645      * <code>optional string name = 3373707;</code>
3646      *
3647      * @return Whether the name field is set.
3648      */
hasName()3649     public boolean hasName() {
3650       return ((bitField0_ & 0x00000200) != 0);
3651     }
3652     /**
3653      *
3654      *
3655      * <pre>
3656      * 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])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
3657      * </pre>
3658      *
3659      * <code>optional string name = 3373707;</code>
3660      *
3661      * @return The name.
3662      */
getName()3663     public java.lang.String getName() {
3664       java.lang.Object ref = name_;
3665       if (!(ref instanceof java.lang.String)) {
3666         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
3667         java.lang.String s = bs.toStringUtf8();
3668         name_ = s;
3669         return s;
3670       } else {
3671         return (java.lang.String) ref;
3672       }
3673     }
3674     /**
3675      *
3676      *
3677      * <pre>
3678      * 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])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
3679      * </pre>
3680      *
3681      * <code>optional string name = 3373707;</code>
3682      *
3683      * @return The bytes for name.
3684      */
getNameBytes()3685     public com.google.protobuf.ByteString getNameBytes() {
3686       java.lang.Object ref = name_;
3687       if (ref instanceof String) {
3688         com.google.protobuf.ByteString b =
3689             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
3690         name_ = b;
3691         return b;
3692       } else {
3693         return (com.google.protobuf.ByteString) ref;
3694       }
3695     }
3696     /**
3697      *
3698      *
3699      * <pre>
3700      * 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])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
3701      * </pre>
3702      *
3703      * <code>optional string name = 3373707;</code>
3704      *
3705      * @param value The name to set.
3706      * @return This builder for chaining.
3707      */
setName(java.lang.String value)3708     public Builder setName(java.lang.String value) {
3709       if (value == null) {
3710         throw new NullPointerException();
3711       }
3712       name_ = value;
3713       bitField0_ |= 0x00000200;
3714       onChanged();
3715       return this;
3716     }
3717     /**
3718      *
3719      *
3720      * <pre>
3721      * 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])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
3722      * </pre>
3723      *
3724      * <code>optional string name = 3373707;</code>
3725      *
3726      * @return This builder for chaining.
3727      */
clearName()3728     public Builder clearName() {
3729       name_ = getDefaultInstance().getName();
3730       bitField0_ = (bitField0_ & ~0x00000200);
3731       onChanged();
3732       return this;
3733     }
3734     /**
3735      *
3736      *
3737      * <pre>
3738      * 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])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
3739      * </pre>
3740      *
3741      * <code>optional string name = 3373707;</code>
3742      *
3743      * @param value The bytes for name to set.
3744      * @return This builder for chaining.
3745      */
setNameBytes(com.google.protobuf.ByteString value)3746     public Builder setNameBytes(com.google.protobuf.ByteString value) {
3747       if (value == null) {
3748         throw new NullPointerException();
3749       }
3750       checkByteStringIsUtf8(value);
3751       name_ = value;
3752       bitField0_ |= 0x00000200;
3753       onChanged();
3754       return this;
3755     }
3756 
3757     private java.util.List<com.google.cloud.compute.v1.RouterNat> nats_ =
3758         java.util.Collections.emptyList();
3759 
ensureNatsIsMutable()3760     private void ensureNatsIsMutable() {
3761       if (!((bitField0_ & 0x00000400) != 0)) {
3762         nats_ = new java.util.ArrayList<com.google.cloud.compute.v1.RouterNat>(nats_);
3763         bitField0_ |= 0x00000400;
3764       }
3765     }
3766 
3767     private com.google.protobuf.RepeatedFieldBuilderV3<
3768             com.google.cloud.compute.v1.RouterNat,
3769             com.google.cloud.compute.v1.RouterNat.Builder,
3770             com.google.cloud.compute.v1.RouterNatOrBuilder>
3771         natsBuilder_;
3772 
3773     /**
3774      *
3775      *
3776      * <pre>
3777      * A list of NAT services created in this router.
3778      * </pre>
3779      *
3780      * <code>repeated .google.cloud.compute.v1.RouterNat nats = 3373938;</code>
3781      */
getNatsList()3782     public java.util.List<com.google.cloud.compute.v1.RouterNat> getNatsList() {
3783       if (natsBuilder_ == null) {
3784         return java.util.Collections.unmodifiableList(nats_);
3785       } else {
3786         return natsBuilder_.getMessageList();
3787       }
3788     }
3789     /**
3790      *
3791      *
3792      * <pre>
3793      * A list of NAT services created in this router.
3794      * </pre>
3795      *
3796      * <code>repeated .google.cloud.compute.v1.RouterNat nats = 3373938;</code>
3797      */
getNatsCount()3798     public int getNatsCount() {
3799       if (natsBuilder_ == null) {
3800         return nats_.size();
3801       } else {
3802         return natsBuilder_.getCount();
3803       }
3804     }
3805     /**
3806      *
3807      *
3808      * <pre>
3809      * A list of NAT services created in this router.
3810      * </pre>
3811      *
3812      * <code>repeated .google.cloud.compute.v1.RouterNat nats = 3373938;</code>
3813      */
getNats(int index)3814     public com.google.cloud.compute.v1.RouterNat getNats(int index) {
3815       if (natsBuilder_ == null) {
3816         return nats_.get(index);
3817       } else {
3818         return natsBuilder_.getMessage(index);
3819       }
3820     }
3821     /**
3822      *
3823      *
3824      * <pre>
3825      * A list of NAT services created in this router.
3826      * </pre>
3827      *
3828      * <code>repeated .google.cloud.compute.v1.RouterNat nats = 3373938;</code>
3829      */
setNats(int index, com.google.cloud.compute.v1.RouterNat value)3830     public Builder setNats(int index, com.google.cloud.compute.v1.RouterNat value) {
3831       if (natsBuilder_ == null) {
3832         if (value == null) {
3833           throw new NullPointerException();
3834         }
3835         ensureNatsIsMutable();
3836         nats_.set(index, value);
3837         onChanged();
3838       } else {
3839         natsBuilder_.setMessage(index, value);
3840       }
3841       return this;
3842     }
3843     /**
3844      *
3845      *
3846      * <pre>
3847      * A list of NAT services created in this router.
3848      * </pre>
3849      *
3850      * <code>repeated .google.cloud.compute.v1.RouterNat nats = 3373938;</code>
3851      */
setNats( int index, com.google.cloud.compute.v1.RouterNat.Builder builderForValue)3852     public Builder setNats(
3853         int index, com.google.cloud.compute.v1.RouterNat.Builder builderForValue) {
3854       if (natsBuilder_ == null) {
3855         ensureNatsIsMutable();
3856         nats_.set(index, builderForValue.build());
3857         onChanged();
3858       } else {
3859         natsBuilder_.setMessage(index, builderForValue.build());
3860       }
3861       return this;
3862     }
3863     /**
3864      *
3865      *
3866      * <pre>
3867      * A list of NAT services created in this router.
3868      * </pre>
3869      *
3870      * <code>repeated .google.cloud.compute.v1.RouterNat nats = 3373938;</code>
3871      */
addNats(com.google.cloud.compute.v1.RouterNat value)3872     public Builder addNats(com.google.cloud.compute.v1.RouterNat value) {
3873       if (natsBuilder_ == null) {
3874         if (value == null) {
3875           throw new NullPointerException();
3876         }
3877         ensureNatsIsMutable();
3878         nats_.add(value);
3879         onChanged();
3880       } else {
3881         natsBuilder_.addMessage(value);
3882       }
3883       return this;
3884     }
3885     /**
3886      *
3887      *
3888      * <pre>
3889      * A list of NAT services created in this router.
3890      * </pre>
3891      *
3892      * <code>repeated .google.cloud.compute.v1.RouterNat nats = 3373938;</code>
3893      */
addNats(int index, com.google.cloud.compute.v1.RouterNat value)3894     public Builder addNats(int index, com.google.cloud.compute.v1.RouterNat value) {
3895       if (natsBuilder_ == null) {
3896         if (value == null) {
3897           throw new NullPointerException();
3898         }
3899         ensureNatsIsMutable();
3900         nats_.add(index, value);
3901         onChanged();
3902       } else {
3903         natsBuilder_.addMessage(index, value);
3904       }
3905       return this;
3906     }
3907     /**
3908      *
3909      *
3910      * <pre>
3911      * A list of NAT services created in this router.
3912      * </pre>
3913      *
3914      * <code>repeated .google.cloud.compute.v1.RouterNat nats = 3373938;</code>
3915      */
addNats(com.google.cloud.compute.v1.RouterNat.Builder builderForValue)3916     public Builder addNats(com.google.cloud.compute.v1.RouterNat.Builder builderForValue) {
3917       if (natsBuilder_ == null) {
3918         ensureNatsIsMutable();
3919         nats_.add(builderForValue.build());
3920         onChanged();
3921       } else {
3922         natsBuilder_.addMessage(builderForValue.build());
3923       }
3924       return this;
3925     }
3926     /**
3927      *
3928      *
3929      * <pre>
3930      * A list of NAT services created in this router.
3931      * </pre>
3932      *
3933      * <code>repeated .google.cloud.compute.v1.RouterNat nats = 3373938;</code>
3934      */
addNats( int index, com.google.cloud.compute.v1.RouterNat.Builder builderForValue)3935     public Builder addNats(
3936         int index, com.google.cloud.compute.v1.RouterNat.Builder builderForValue) {
3937       if (natsBuilder_ == null) {
3938         ensureNatsIsMutable();
3939         nats_.add(index, builderForValue.build());
3940         onChanged();
3941       } else {
3942         natsBuilder_.addMessage(index, builderForValue.build());
3943       }
3944       return this;
3945     }
3946     /**
3947      *
3948      *
3949      * <pre>
3950      * A list of NAT services created in this router.
3951      * </pre>
3952      *
3953      * <code>repeated .google.cloud.compute.v1.RouterNat nats = 3373938;</code>
3954      */
addAllNats( java.lang.Iterable<? extends com.google.cloud.compute.v1.RouterNat> values)3955     public Builder addAllNats(
3956         java.lang.Iterable<? extends com.google.cloud.compute.v1.RouterNat> values) {
3957       if (natsBuilder_ == null) {
3958         ensureNatsIsMutable();
3959         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, nats_);
3960         onChanged();
3961       } else {
3962         natsBuilder_.addAllMessages(values);
3963       }
3964       return this;
3965     }
3966     /**
3967      *
3968      *
3969      * <pre>
3970      * A list of NAT services created in this router.
3971      * </pre>
3972      *
3973      * <code>repeated .google.cloud.compute.v1.RouterNat nats = 3373938;</code>
3974      */
clearNats()3975     public Builder clearNats() {
3976       if (natsBuilder_ == null) {
3977         nats_ = java.util.Collections.emptyList();
3978         bitField0_ = (bitField0_ & ~0x00000400);
3979         onChanged();
3980       } else {
3981         natsBuilder_.clear();
3982       }
3983       return this;
3984     }
3985     /**
3986      *
3987      *
3988      * <pre>
3989      * A list of NAT services created in this router.
3990      * </pre>
3991      *
3992      * <code>repeated .google.cloud.compute.v1.RouterNat nats = 3373938;</code>
3993      */
removeNats(int index)3994     public Builder removeNats(int index) {
3995       if (natsBuilder_ == null) {
3996         ensureNatsIsMutable();
3997         nats_.remove(index);
3998         onChanged();
3999       } else {
4000         natsBuilder_.remove(index);
4001       }
4002       return this;
4003     }
4004     /**
4005      *
4006      *
4007      * <pre>
4008      * A list of NAT services created in this router.
4009      * </pre>
4010      *
4011      * <code>repeated .google.cloud.compute.v1.RouterNat nats = 3373938;</code>
4012      */
getNatsBuilder(int index)4013     public com.google.cloud.compute.v1.RouterNat.Builder getNatsBuilder(int index) {
4014       return getNatsFieldBuilder().getBuilder(index);
4015     }
4016     /**
4017      *
4018      *
4019      * <pre>
4020      * A list of NAT services created in this router.
4021      * </pre>
4022      *
4023      * <code>repeated .google.cloud.compute.v1.RouterNat nats = 3373938;</code>
4024      */
getNatsOrBuilder(int index)4025     public com.google.cloud.compute.v1.RouterNatOrBuilder getNatsOrBuilder(int index) {
4026       if (natsBuilder_ == null) {
4027         return nats_.get(index);
4028       } else {
4029         return natsBuilder_.getMessageOrBuilder(index);
4030       }
4031     }
4032     /**
4033      *
4034      *
4035      * <pre>
4036      * A list of NAT services created in this router.
4037      * </pre>
4038      *
4039      * <code>repeated .google.cloud.compute.v1.RouterNat nats = 3373938;</code>
4040      */
4041     public java.util.List<? extends com.google.cloud.compute.v1.RouterNatOrBuilder>
getNatsOrBuilderList()4042         getNatsOrBuilderList() {
4043       if (natsBuilder_ != null) {
4044         return natsBuilder_.getMessageOrBuilderList();
4045       } else {
4046         return java.util.Collections.unmodifiableList(nats_);
4047       }
4048     }
4049     /**
4050      *
4051      *
4052      * <pre>
4053      * A list of NAT services created in this router.
4054      * </pre>
4055      *
4056      * <code>repeated .google.cloud.compute.v1.RouterNat nats = 3373938;</code>
4057      */
addNatsBuilder()4058     public com.google.cloud.compute.v1.RouterNat.Builder addNatsBuilder() {
4059       return getNatsFieldBuilder()
4060           .addBuilder(com.google.cloud.compute.v1.RouterNat.getDefaultInstance());
4061     }
4062     /**
4063      *
4064      *
4065      * <pre>
4066      * A list of NAT services created in this router.
4067      * </pre>
4068      *
4069      * <code>repeated .google.cloud.compute.v1.RouterNat nats = 3373938;</code>
4070      */
addNatsBuilder(int index)4071     public com.google.cloud.compute.v1.RouterNat.Builder addNatsBuilder(int index) {
4072       return getNatsFieldBuilder()
4073           .addBuilder(index, com.google.cloud.compute.v1.RouterNat.getDefaultInstance());
4074     }
4075     /**
4076      *
4077      *
4078      * <pre>
4079      * A list of NAT services created in this router.
4080      * </pre>
4081      *
4082      * <code>repeated .google.cloud.compute.v1.RouterNat nats = 3373938;</code>
4083      */
getNatsBuilderList()4084     public java.util.List<com.google.cloud.compute.v1.RouterNat.Builder> getNatsBuilderList() {
4085       return getNatsFieldBuilder().getBuilderList();
4086     }
4087 
4088     private com.google.protobuf.RepeatedFieldBuilderV3<
4089             com.google.cloud.compute.v1.RouterNat,
4090             com.google.cloud.compute.v1.RouterNat.Builder,
4091             com.google.cloud.compute.v1.RouterNatOrBuilder>
getNatsFieldBuilder()4092         getNatsFieldBuilder() {
4093       if (natsBuilder_ == null) {
4094         natsBuilder_ =
4095             new com.google.protobuf.RepeatedFieldBuilderV3<
4096                 com.google.cloud.compute.v1.RouterNat,
4097                 com.google.cloud.compute.v1.RouterNat.Builder,
4098                 com.google.cloud.compute.v1.RouterNatOrBuilder>(
4099                 nats_, ((bitField0_ & 0x00000400) != 0), getParentForChildren(), isClean());
4100         nats_ = null;
4101       }
4102       return natsBuilder_;
4103     }
4104 
4105     private java.lang.Object network_ = "";
4106     /**
4107      *
4108      *
4109      * <pre>
4110      * URI of the network to which this router belongs.
4111      * </pre>
4112      *
4113      * <code>optional string network = 232872494;</code>
4114      *
4115      * @return Whether the network field is set.
4116      */
hasNetwork()4117     public boolean hasNetwork() {
4118       return ((bitField0_ & 0x00000800) != 0);
4119     }
4120     /**
4121      *
4122      *
4123      * <pre>
4124      * URI of the network to which this router belongs.
4125      * </pre>
4126      *
4127      * <code>optional string network = 232872494;</code>
4128      *
4129      * @return The network.
4130      */
getNetwork()4131     public java.lang.String getNetwork() {
4132       java.lang.Object ref = network_;
4133       if (!(ref instanceof java.lang.String)) {
4134         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4135         java.lang.String s = bs.toStringUtf8();
4136         network_ = s;
4137         return s;
4138       } else {
4139         return (java.lang.String) ref;
4140       }
4141     }
4142     /**
4143      *
4144      *
4145      * <pre>
4146      * URI of the network to which this router belongs.
4147      * </pre>
4148      *
4149      * <code>optional string network = 232872494;</code>
4150      *
4151      * @return The bytes for network.
4152      */
getNetworkBytes()4153     public com.google.protobuf.ByteString getNetworkBytes() {
4154       java.lang.Object ref = network_;
4155       if (ref instanceof String) {
4156         com.google.protobuf.ByteString b =
4157             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4158         network_ = b;
4159         return b;
4160       } else {
4161         return (com.google.protobuf.ByteString) ref;
4162       }
4163     }
4164     /**
4165      *
4166      *
4167      * <pre>
4168      * URI of the network to which this router belongs.
4169      * </pre>
4170      *
4171      * <code>optional string network = 232872494;</code>
4172      *
4173      * @param value The network to set.
4174      * @return This builder for chaining.
4175      */
setNetwork(java.lang.String value)4176     public Builder setNetwork(java.lang.String value) {
4177       if (value == null) {
4178         throw new NullPointerException();
4179       }
4180       network_ = value;
4181       bitField0_ |= 0x00000800;
4182       onChanged();
4183       return this;
4184     }
4185     /**
4186      *
4187      *
4188      * <pre>
4189      * URI of the network to which this router belongs.
4190      * </pre>
4191      *
4192      * <code>optional string network = 232872494;</code>
4193      *
4194      * @return This builder for chaining.
4195      */
clearNetwork()4196     public Builder clearNetwork() {
4197       network_ = getDefaultInstance().getNetwork();
4198       bitField0_ = (bitField0_ & ~0x00000800);
4199       onChanged();
4200       return this;
4201     }
4202     /**
4203      *
4204      *
4205      * <pre>
4206      * URI of the network to which this router belongs.
4207      * </pre>
4208      *
4209      * <code>optional string network = 232872494;</code>
4210      *
4211      * @param value The bytes for network to set.
4212      * @return This builder for chaining.
4213      */
setNetworkBytes(com.google.protobuf.ByteString value)4214     public Builder setNetworkBytes(com.google.protobuf.ByteString value) {
4215       if (value == null) {
4216         throw new NullPointerException();
4217       }
4218       checkByteStringIsUtf8(value);
4219       network_ = value;
4220       bitField0_ |= 0x00000800;
4221       onChanged();
4222       return this;
4223     }
4224 
4225     private java.lang.Object region_ = "";
4226     /**
4227      *
4228      *
4229      * <pre>
4230      * [Output Only] URI of the region where the router resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
4231      * </pre>
4232      *
4233      * <code>optional string region = 138946292;</code>
4234      *
4235      * @return Whether the region field is set.
4236      */
hasRegion()4237     public boolean hasRegion() {
4238       return ((bitField0_ & 0x00001000) != 0);
4239     }
4240     /**
4241      *
4242      *
4243      * <pre>
4244      * [Output Only] URI of the region where the router resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
4245      * </pre>
4246      *
4247      * <code>optional string region = 138946292;</code>
4248      *
4249      * @return The region.
4250      */
getRegion()4251     public java.lang.String getRegion() {
4252       java.lang.Object ref = region_;
4253       if (!(ref instanceof java.lang.String)) {
4254         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4255         java.lang.String s = bs.toStringUtf8();
4256         region_ = s;
4257         return s;
4258       } else {
4259         return (java.lang.String) ref;
4260       }
4261     }
4262     /**
4263      *
4264      *
4265      * <pre>
4266      * [Output Only] URI of the region where the router resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
4267      * </pre>
4268      *
4269      * <code>optional string region = 138946292;</code>
4270      *
4271      * @return The bytes for region.
4272      */
getRegionBytes()4273     public com.google.protobuf.ByteString getRegionBytes() {
4274       java.lang.Object ref = region_;
4275       if (ref instanceof String) {
4276         com.google.protobuf.ByteString b =
4277             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4278         region_ = b;
4279         return b;
4280       } else {
4281         return (com.google.protobuf.ByteString) ref;
4282       }
4283     }
4284     /**
4285      *
4286      *
4287      * <pre>
4288      * [Output Only] URI of the region where the router resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
4289      * </pre>
4290      *
4291      * <code>optional string region = 138946292;</code>
4292      *
4293      * @param value The region to set.
4294      * @return This builder for chaining.
4295      */
setRegion(java.lang.String value)4296     public Builder setRegion(java.lang.String value) {
4297       if (value == null) {
4298         throw new NullPointerException();
4299       }
4300       region_ = value;
4301       bitField0_ |= 0x00001000;
4302       onChanged();
4303       return this;
4304     }
4305     /**
4306      *
4307      *
4308      * <pre>
4309      * [Output Only] URI of the region where the router resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
4310      * </pre>
4311      *
4312      * <code>optional string region = 138946292;</code>
4313      *
4314      * @return This builder for chaining.
4315      */
clearRegion()4316     public Builder clearRegion() {
4317       region_ = getDefaultInstance().getRegion();
4318       bitField0_ = (bitField0_ & ~0x00001000);
4319       onChanged();
4320       return this;
4321     }
4322     /**
4323      *
4324      *
4325      * <pre>
4326      * [Output Only] URI of the region where the router resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
4327      * </pre>
4328      *
4329      * <code>optional string region = 138946292;</code>
4330      *
4331      * @param value The bytes for region to set.
4332      * @return This builder for chaining.
4333      */
setRegionBytes(com.google.protobuf.ByteString value)4334     public Builder setRegionBytes(com.google.protobuf.ByteString value) {
4335       if (value == null) {
4336         throw new NullPointerException();
4337       }
4338       checkByteStringIsUtf8(value);
4339       region_ = value;
4340       bitField0_ |= 0x00001000;
4341       onChanged();
4342       return this;
4343     }
4344 
4345     private java.lang.Object selfLink_ = "";
4346     /**
4347      *
4348      *
4349      * <pre>
4350      * [Output Only] Server-defined URL for the resource.
4351      * </pre>
4352      *
4353      * <code>optional string self_link = 456214797;</code>
4354      *
4355      * @return Whether the selfLink field is set.
4356      */
hasSelfLink()4357     public boolean hasSelfLink() {
4358       return ((bitField0_ & 0x00002000) != 0);
4359     }
4360     /**
4361      *
4362      *
4363      * <pre>
4364      * [Output Only] Server-defined URL for the resource.
4365      * </pre>
4366      *
4367      * <code>optional string self_link = 456214797;</code>
4368      *
4369      * @return The selfLink.
4370      */
getSelfLink()4371     public java.lang.String getSelfLink() {
4372       java.lang.Object ref = selfLink_;
4373       if (!(ref instanceof java.lang.String)) {
4374         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4375         java.lang.String s = bs.toStringUtf8();
4376         selfLink_ = s;
4377         return s;
4378       } else {
4379         return (java.lang.String) ref;
4380       }
4381     }
4382     /**
4383      *
4384      *
4385      * <pre>
4386      * [Output Only] Server-defined URL for the resource.
4387      * </pre>
4388      *
4389      * <code>optional string self_link = 456214797;</code>
4390      *
4391      * @return The bytes for selfLink.
4392      */
getSelfLinkBytes()4393     public com.google.protobuf.ByteString getSelfLinkBytes() {
4394       java.lang.Object ref = selfLink_;
4395       if (ref instanceof String) {
4396         com.google.protobuf.ByteString b =
4397             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4398         selfLink_ = b;
4399         return b;
4400       } else {
4401         return (com.google.protobuf.ByteString) ref;
4402       }
4403     }
4404     /**
4405      *
4406      *
4407      * <pre>
4408      * [Output Only] Server-defined URL for the resource.
4409      * </pre>
4410      *
4411      * <code>optional string self_link = 456214797;</code>
4412      *
4413      * @param value The selfLink to set.
4414      * @return This builder for chaining.
4415      */
setSelfLink(java.lang.String value)4416     public Builder setSelfLink(java.lang.String value) {
4417       if (value == null) {
4418         throw new NullPointerException();
4419       }
4420       selfLink_ = value;
4421       bitField0_ |= 0x00002000;
4422       onChanged();
4423       return this;
4424     }
4425     /**
4426      *
4427      *
4428      * <pre>
4429      * [Output Only] Server-defined URL for the resource.
4430      * </pre>
4431      *
4432      * <code>optional string self_link = 456214797;</code>
4433      *
4434      * @return This builder for chaining.
4435      */
clearSelfLink()4436     public Builder clearSelfLink() {
4437       selfLink_ = getDefaultInstance().getSelfLink();
4438       bitField0_ = (bitField0_ & ~0x00002000);
4439       onChanged();
4440       return this;
4441     }
4442     /**
4443      *
4444      *
4445      * <pre>
4446      * [Output Only] Server-defined URL for the resource.
4447      * </pre>
4448      *
4449      * <code>optional string self_link = 456214797;</code>
4450      *
4451      * @param value The bytes for selfLink to set.
4452      * @return This builder for chaining.
4453      */
setSelfLinkBytes(com.google.protobuf.ByteString value)4454     public Builder setSelfLinkBytes(com.google.protobuf.ByteString value) {
4455       if (value == null) {
4456         throw new NullPointerException();
4457       }
4458       checkByteStringIsUtf8(value);
4459       selfLink_ = value;
4460       bitField0_ |= 0x00002000;
4461       onChanged();
4462       return this;
4463     }
4464 
4465     @java.lang.Override
setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)4466     public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
4467       return super.setUnknownFields(unknownFields);
4468     }
4469 
4470     @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)4471     public final Builder mergeUnknownFields(
4472         final com.google.protobuf.UnknownFieldSet unknownFields) {
4473       return super.mergeUnknownFields(unknownFields);
4474     }
4475 
4476     // @@protoc_insertion_point(builder_scope:google.cloud.compute.v1.Router)
4477   }
4478 
4479   // @@protoc_insertion_point(class_scope:google.cloud.compute.v1.Router)
4480   private static final com.google.cloud.compute.v1.Router DEFAULT_INSTANCE;
4481 
4482   static {
4483     DEFAULT_INSTANCE = new com.google.cloud.compute.v1.Router();
4484   }
4485 
getDefaultInstance()4486   public static com.google.cloud.compute.v1.Router getDefaultInstance() {
4487     return DEFAULT_INSTANCE;
4488   }
4489 
4490   private static final com.google.protobuf.Parser<Router> PARSER =
4491       new com.google.protobuf.AbstractParser<Router>() {
4492         @java.lang.Override
4493         public Router parsePartialFrom(
4494             com.google.protobuf.CodedInputStream input,
4495             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4496             throws com.google.protobuf.InvalidProtocolBufferException {
4497           Builder builder = newBuilder();
4498           try {
4499             builder.mergeFrom(input, extensionRegistry);
4500           } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4501             throw e.setUnfinishedMessage(builder.buildPartial());
4502           } catch (com.google.protobuf.UninitializedMessageException e) {
4503             throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
4504           } catch (java.io.IOException e) {
4505             throw new com.google.protobuf.InvalidProtocolBufferException(e)
4506                 .setUnfinishedMessage(builder.buildPartial());
4507           }
4508           return builder.buildPartial();
4509         }
4510       };
4511 
parser()4512   public static com.google.protobuf.Parser<Router> parser() {
4513     return PARSER;
4514   }
4515 
4516   @java.lang.Override
getParserForType()4517   public com.google.protobuf.Parser<Router> getParserForType() {
4518     return PARSER;
4519   }
4520 
4521   @java.lang.Override
getDefaultInstanceForType()4522   public com.google.cloud.compute.v1.Router getDefaultInstanceForType() {
4523     return DEFAULT_INSTANCE;
4524   }
4525 }
4526