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