• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2020 Google LLC
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     https://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 // Generated by the protocol buffer compiler.  DO NOT EDIT!
17 // source: google/cloud/compute/v1/compute.proto
18 
19 package com.google.cloud.compute.v1;
20 
21 /**
22  *
23  *
24  * <pre>
25  * Represents an Interconnect Attachment (VLAN) resource. You can use Interconnect attachments (VLANS) to connect your Virtual Private Cloud networks to your on-premises networks through an Interconnect. For more information, read Creating VLAN Attachments.
26  * </pre>
27  *
28  * Protobuf type {@code google.cloud.compute.v1.InterconnectAttachment}
29  */
30 public final class InterconnectAttachment extends com.google.protobuf.GeneratedMessageV3
31     implements
32     // @@protoc_insertion_point(message_implements:google.cloud.compute.v1.InterconnectAttachment)
33     InterconnectAttachmentOrBuilder {
34   private static final long serialVersionUID = 0L;
35   // Use InterconnectAttachment.newBuilder() to construct.
InterconnectAttachment(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)36   private InterconnectAttachment(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
37     super(builder);
38   }
39 
InterconnectAttachment()40   private InterconnectAttachment() {
41     bandwidth_ = "";
42     candidateIpv6Subnets_ = com.google.protobuf.LazyStringArrayList.EMPTY;
43     candidateSubnets_ = com.google.protobuf.LazyStringArrayList.EMPTY;
44     cloudRouterIpAddress_ = "";
45     cloudRouterIpv6Address_ = "";
46     cloudRouterIpv6InterfaceId_ = "";
47     creationTimestamp_ = "";
48     customerRouterIpAddress_ = "";
49     customerRouterIpv6Address_ = "";
50     customerRouterIpv6InterfaceId_ = "";
51     description_ = "";
52     edgeAvailabilityDomain_ = "";
53     encryption_ = "";
54     googleReferenceId_ = "";
55     interconnect_ = "";
56     ipsecInternalAddresses_ = com.google.protobuf.LazyStringArrayList.EMPTY;
57     kind_ = "";
58     name_ = "";
59     operationalStatus_ = "";
60     pairingKey_ = "";
61     region_ = "";
62     router_ = "";
63     selfLink_ = "";
64     stackType_ = "";
65     state_ = "";
66     type_ = "";
67   }
68 
69   @java.lang.Override
70   @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)71   protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
72     return new InterconnectAttachment();
73   }
74 
75   @java.lang.Override
getUnknownFields()76   public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
77     return this.unknownFields;
78   }
79 
getDescriptor()80   public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
81     return com.google.cloud.compute.v1.Compute
82         .internal_static_google_cloud_compute_v1_InterconnectAttachment_descriptor;
83   }
84 
85   @java.lang.Override
86   protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()87       internalGetFieldAccessorTable() {
88     return com.google.cloud.compute.v1.Compute
89         .internal_static_google_cloud_compute_v1_InterconnectAttachment_fieldAccessorTable
90         .ensureFieldAccessorsInitialized(
91             com.google.cloud.compute.v1.InterconnectAttachment.class,
92             com.google.cloud.compute.v1.InterconnectAttachment.Builder.class);
93   }
94 
95   /**
96    *
97    *
98    * <pre>
99    * Provisioned bandwidth capacity for the interconnect attachment. For attachments of type DEDICATED, the user can set the bandwidth. For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth. Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED, and can take one of the following values: - BPS_50M: 50 Mbit/s - BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s - BPS_300M: 300 Mbit/s - BPS_400M: 400 Mbit/s - BPS_500M: 500 Mbit/s - BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s - BPS_5G: 5 Gbit/s - BPS_10G: 10 Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/s
100    * </pre>
101    *
102    * Protobuf enum {@code google.cloud.compute.v1.InterconnectAttachment.Bandwidth}
103    */
104   public enum Bandwidth implements com.google.protobuf.ProtocolMessageEnum {
105     /**
106      *
107      *
108      * <pre>
109      * A value indicating that the enum field is not set.
110      * </pre>
111      *
112      * <code>UNDEFINED_BANDWIDTH = 0;</code>
113      */
114     UNDEFINED_BANDWIDTH(0),
115     /**
116      *
117      *
118      * <pre>
119      * 100 Mbit/s
120      * </pre>
121      *
122      * <code>BPS_100M = 49547958;</code>
123      */
124     BPS_100M(49547958),
125     /**
126      *
127      *
128      * <pre>
129      * 10 Gbit/s
130      * </pre>
131      *
132      * <code>BPS_10G = 278693006;</code>
133      */
134     BPS_10G(278693006),
135     /**
136      *
137      *
138      * <pre>
139      * 1 Gbit/s
140      * </pre>
141      *
142      * <code>BPS_1G = 355358448;</code>
143      */
144     BPS_1G(355358448),
145     /**
146      *
147      *
148      * <pre>
149      * 200 Mbit/s
150      * </pre>
151      *
152      * <code>BPS_200M = 49577749;</code>
153      */
154     BPS_200M(49577749),
155     /**
156      *
157      *
158      * <pre>
159      * 20 Gbit/s
160      * </pre>
161      *
162      * <code>BPS_20G = 278693967;</code>
163      */
164     BPS_20G(278693967),
165     /**
166      *
167      *
168      * <pre>
169      * 2 Gbit/s
170      * </pre>
171      *
172      * <code>BPS_2G = 355358479;</code>
173      */
174     BPS_2G(355358479),
175     /**
176      *
177      *
178      * <pre>
179      * 300 Mbit/s
180      * </pre>
181      *
182      * <code>BPS_300M = 49607540;</code>
183      */
184     BPS_300M(49607540),
185     /**
186      *
187      *
188      * <pre>
189      * 400 Mbit/s
190      * </pre>
191      *
192      * <code>BPS_400M = 49637331;</code>
193      */
194     BPS_400M(49637331),
195     /**
196      *
197      *
198      * <pre>
199      * 500 Mbit/s
200      * </pre>
201      *
202      * <code>BPS_500M = 49667122;</code>
203      */
204     BPS_500M(49667122),
205     /**
206      *
207      *
208      * <pre>
209      * 50 Gbit/s
210      * </pre>
211      *
212      * <code>BPS_50G = 278696850;</code>
213      */
214     BPS_50G(278696850),
215     /**
216      *
217      *
218      * <pre>
219      * 50 Mbit/s
220      * </pre>
221      *
222      * <code>BPS_50M = 278696856;</code>
223      */
224     BPS_50M(278696856),
225     /**
226      *
227      *
228      * <pre>
229      * 5 Gbit/s
230      * </pre>
231      *
232      * <code>BPS_5G = 355358572;</code>
233      */
234     BPS_5G(355358572),
235     UNRECOGNIZED(-1),
236     ;
237 
238     /**
239      *
240      *
241      * <pre>
242      * A value indicating that the enum field is not set.
243      * </pre>
244      *
245      * <code>UNDEFINED_BANDWIDTH = 0;</code>
246      */
247     public static final int UNDEFINED_BANDWIDTH_VALUE = 0;
248     /**
249      *
250      *
251      * <pre>
252      * 100 Mbit/s
253      * </pre>
254      *
255      * <code>BPS_100M = 49547958;</code>
256      */
257     public static final int BPS_100M_VALUE = 49547958;
258     /**
259      *
260      *
261      * <pre>
262      * 10 Gbit/s
263      * </pre>
264      *
265      * <code>BPS_10G = 278693006;</code>
266      */
267     public static final int BPS_10G_VALUE = 278693006;
268     /**
269      *
270      *
271      * <pre>
272      * 1 Gbit/s
273      * </pre>
274      *
275      * <code>BPS_1G = 355358448;</code>
276      */
277     public static final int BPS_1G_VALUE = 355358448;
278     /**
279      *
280      *
281      * <pre>
282      * 200 Mbit/s
283      * </pre>
284      *
285      * <code>BPS_200M = 49577749;</code>
286      */
287     public static final int BPS_200M_VALUE = 49577749;
288     /**
289      *
290      *
291      * <pre>
292      * 20 Gbit/s
293      * </pre>
294      *
295      * <code>BPS_20G = 278693967;</code>
296      */
297     public static final int BPS_20G_VALUE = 278693967;
298     /**
299      *
300      *
301      * <pre>
302      * 2 Gbit/s
303      * </pre>
304      *
305      * <code>BPS_2G = 355358479;</code>
306      */
307     public static final int BPS_2G_VALUE = 355358479;
308     /**
309      *
310      *
311      * <pre>
312      * 300 Mbit/s
313      * </pre>
314      *
315      * <code>BPS_300M = 49607540;</code>
316      */
317     public static final int BPS_300M_VALUE = 49607540;
318     /**
319      *
320      *
321      * <pre>
322      * 400 Mbit/s
323      * </pre>
324      *
325      * <code>BPS_400M = 49637331;</code>
326      */
327     public static final int BPS_400M_VALUE = 49637331;
328     /**
329      *
330      *
331      * <pre>
332      * 500 Mbit/s
333      * </pre>
334      *
335      * <code>BPS_500M = 49667122;</code>
336      */
337     public static final int BPS_500M_VALUE = 49667122;
338     /**
339      *
340      *
341      * <pre>
342      * 50 Gbit/s
343      * </pre>
344      *
345      * <code>BPS_50G = 278696850;</code>
346      */
347     public static final int BPS_50G_VALUE = 278696850;
348     /**
349      *
350      *
351      * <pre>
352      * 50 Mbit/s
353      * </pre>
354      *
355      * <code>BPS_50M = 278696856;</code>
356      */
357     public static final int BPS_50M_VALUE = 278696856;
358     /**
359      *
360      *
361      * <pre>
362      * 5 Gbit/s
363      * </pre>
364      *
365      * <code>BPS_5G = 355358572;</code>
366      */
367     public static final int BPS_5G_VALUE = 355358572;
368 
getNumber()369     public final int getNumber() {
370       if (this == UNRECOGNIZED) {
371         throw new java.lang.IllegalArgumentException(
372             "Can't get the number of an unknown enum value.");
373       }
374       return value;
375     }
376 
377     /**
378      * @param value The numeric wire value of the corresponding enum entry.
379      * @return The enum associated with the given numeric wire value.
380      * @deprecated Use {@link #forNumber(int)} instead.
381      */
382     @java.lang.Deprecated
valueOf(int value)383     public static Bandwidth valueOf(int value) {
384       return forNumber(value);
385     }
386 
387     /**
388      * @param value The numeric wire value of the corresponding enum entry.
389      * @return The enum associated with the given numeric wire value.
390      */
forNumber(int value)391     public static Bandwidth forNumber(int value) {
392       switch (value) {
393         case 0:
394           return UNDEFINED_BANDWIDTH;
395         case 49547958:
396           return BPS_100M;
397         case 278693006:
398           return BPS_10G;
399         case 355358448:
400           return BPS_1G;
401         case 49577749:
402           return BPS_200M;
403         case 278693967:
404           return BPS_20G;
405         case 355358479:
406           return BPS_2G;
407         case 49607540:
408           return BPS_300M;
409         case 49637331:
410           return BPS_400M;
411         case 49667122:
412           return BPS_500M;
413         case 278696850:
414           return BPS_50G;
415         case 278696856:
416           return BPS_50M;
417         case 355358572:
418           return BPS_5G;
419         default:
420           return null;
421       }
422     }
423 
internalGetValueMap()424     public static com.google.protobuf.Internal.EnumLiteMap<Bandwidth> internalGetValueMap() {
425       return internalValueMap;
426     }
427 
428     private static final com.google.protobuf.Internal.EnumLiteMap<Bandwidth> internalValueMap =
429         new com.google.protobuf.Internal.EnumLiteMap<Bandwidth>() {
430           public Bandwidth findValueByNumber(int number) {
431             return Bandwidth.forNumber(number);
432           }
433         };
434 
getValueDescriptor()435     public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
436       if (this == UNRECOGNIZED) {
437         throw new java.lang.IllegalStateException(
438             "Can't get the descriptor of an unrecognized enum value.");
439       }
440       return getDescriptor().getValues().get(ordinal());
441     }
442 
getDescriptorForType()443     public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
444       return getDescriptor();
445     }
446 
getDescriptor()447     public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
448       return com.google.cloud.compute.v1.InterconnectAttachment.getDescriptor()
449           .getEnumTypes()
450           .get(0);
451     }
452 
453     private static final Bandwidth[] VALUES = values();
454 
valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)455     public static Bandwidth valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
456       if (desc.getType() != getDescriptor()) {
457         throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
458       }
459       if (desc.getIndex() == -1) {
460         return UNRECOGNIZED;
461       }
462       return VALUES[desc.getIndex()];
463     }
464 
465     private final int value;
466 
Bandwidth(int value)467     private Bandwidth(int value) {
468       this.value = value;
469     }
470 
471     // @@protoc_insertion_point(enum_scope:google.cloud.compute.v1.InterconnectAttachment.Bandwidth)
472   }
473 
474   /**
475    *
476    *
477    * <pre>
478    * Desired availability domain for the attachment. Only available for type PARTNER, at creation time, and can take one of the following values: - AVAILABILITY_DOMAIN_ANY - AVAILABILITY_DOMAIN_1 - AVAILABILITY_DOMAIN_2 For improved reliability, customers should configure a pair of attachments, one per availability domain. The selected availability domain will be provided to the Partner via the pairing key, so that the provisioned circuit will lie in the specified domain. If not specified, the value will default to AVAILABILITY_DOMAIN_ANY.
479    * </pre>
480    *
481    * Protobuf enum {@code google.cloud.compute.v1.InterconnectAttachment.EdgeAvailabilityDomain}
482    */
483   public enum EdgeAvailabilityDomain implements com.google.protobuf.ProtocolMessageEnum {
484     /**
485      *
486      *
487      * <pre>
488      * A value indicating that the enum field is not set.
489      * </pre>
490      *
491      * <code>UNDEFINED_EDGE_AVAILABILITY_DOMAIN = 0;</code>
492      */
493     UNDEFINED_EDGE_AVAILABILITY_DOMAIN(0),
494     /** <code>AVAILABILITY_DOMAIN_1 = 349552090;</code> */
495     AVAILABILITY_DOMAIN_1(349552090),
496     /** <code>AVAILABILITY_DOMAIN_2 = 349552091;</code> */
497     AVAILABILITY_DOMAIN_2(349552091),
498     /** <code>AVAILABILITY_DOMAIN_ANY = 375256373;</code> */
499     AVAILABILITY_DOMAIN_ANY(375256373),
500     UNRECOGNIZED(-1),
501     ;
502 
503     /**
504      *
505      *
506      * <pre>
507      * A value indicating that the enum field is not set.
508      * </pre>
509      *
510      * <code>UNDEFINED_EDGE_AVAILABILITY_DOMAIN = 0;</code>
511      */
512     public static final int UNDEFINED_EDGE_AVAILABILITY_DOMAIN_VALUE = 0;
513     /** <code>AVAILABILITY_DOMAIN_1 = 349552090;</code> */
514     public static final int AVAILABILITY_DOMAIN_1_VALUE = 349552090;
515     /** <code>AVAILABILITY_DOMAIN_2 = 349552091;</code> */
516     public static final int AVAILABILITY_DOMAIN_2_VALUE = 349552091;
517     /** <code>AVAILABILITY_DOMAIN_ANY = 375256373;</code> */
518     public static final int AVAILABILITY_DOMAIN_ANY_VALUE = 375256373;
519 
getNumber()520     public final int getNumber() {
521       if (this == UNRECOGNIZED) {
522         throw new java.lang.IllegalArgumentException(
523             "Can't get the number of an unknown enum value.");
524       }
525       return value;
526     }
527 
528     /**
529      * @param value The numeric wire value of the corresponding enum entry.
530      * @return The enum associated with the given numeric wire value.
531      * @deprecated Use {@link #forNumber(int)} instead.
532      */
533     @java.lang.Deprecated
valueOf(int value)534     public static EdgeAvailabilityDomain valueOf(int value) {
535       return forNumber(value);
536     }
537 
538     /**
539      * @param value The numeric wire value of the corresponding enum entry.
540      * @return The enum associated with the given numeric wire value.
541      */
forNumber(int value)542     public static EdgeAvailabilityDomain forNumber(int value) {
543       switch (value) {
544         case 0:
545           return UNDEFINED_EDGE_AVAILABILITY_DOMAIN;
546         case 349552090:
547           return AVAILABILITY_DOMAIN_1;
548         case 349552091:
549           return AVAILABILITY_DOMAIN_2;
550         case 375256373:
551           return AVAILABILITY_DOMAIN_ANY;
552         default:
553           return null;
554       }
555     }
556 
557     public static com.google.protobuf.Internal.EnumLiteMap<EdgeAvailabilityDomain>
internalGetValueMap()558         internalGetValueMap() {
559       return internalValueMap;
560     }
561 
562     private static final com.google.protobuf.Internal.EnumLiteMap<EdgeAvailabilityDomain>
563         internalValueMap =
564             new com.google.protobuf.Internal.EnumLiteMap<EdgeAvailabilityDomain>() {
565               public EdgeAvailabilityDomain findValueByNumber(int number) {
566                 return EdgeAvailabilityDomain.forNumber(number);
567               }
568             };
569 
getValueDescriptor()570     public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
571       if (this == UNRECOGNIZED) {
572         throw new java.lang.IllegalStateException(
573             "Can't get the descriptor of an unrecognized enum value.");
574       }
575       return getDescriptor().getValues().get(ordinal());
576     }
577 
getDescriptorForType()578     public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
579       return getDescriptor();
580     }
581 
getDescriptor()582     public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
583       return com.google.cloud.compute.v1.InterconnectAttachment.getDescriptor()
584           .getEnumTypes()
585           .get(1);
586     }
587 
588     private static final EdgeAvailabilityDomain[] VALUES = values();
589 
valueOf( com.google.protobuf.Descriptors.EnumValueDescriptor desc)590     public static EdgeAvailabilityDomain valueOf(
591         com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
592       if (desc.getType() != getDescriptor()) {
593         throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
594       }
595       if (desc.getIndex() == -1) {
596         return UNRECOGNIZED;
597       }
598       return VALUES[desc.getIndex()];
599     }
600 
601     private final int value;
602 
EdgeAvailabilityDomain(int value)603     private EdgeAvailabilityDomain(int value) {
604       this.value = value;
605     }
606 
607     // @@protoc_insertion_point(enum_scope:google.cloud.compute.v1.InterconnectAttachment.EdgeAvailabilityDomain)
608   }
609 
610   /**
611    *
612    *
613    * <pre>
614    * Indicates the user-supplied encryption option of this VLAN attachment (interconnectAttachment). Can only be specified at attachment creation for PARTNER or DEDICATED attachments. Possible values are: - NONE - This is the default value, which means that the VLAN attachment carries unencrypted traffic. VMs are able to send traffic to, or receive traffic from, such a VLAN attachment. - IPSEC - The VLAN attachment carries only encrypted traffic that is encrypted by an IPsec device, such as an HA VPN gateway or third-party IPsec VPN. VMs cannot directly send traffic to, or receive traffic from, such a VLAN attachment. To use *HA VPN over Cloud Interconnect*, the VLAN attachment must be created with this option.
615    * </pre>
616    *
617    * Protobuf enum {@code google.cloud.compute.v1.InterconnectAttachment.Encryption}
618    */
619   public enum Encryption implements com.google.protobuf.ProtocolMessageEnum {
620     /**
621      *
622      *
623      * <pre>
624      * A value indicating that the enum field is not set.
625      * </pre>
626      *
627      * <code>UNDEFINED_ENCRYPTION = 0;</code>
628      */
629     UNDEFINED_ENCRYPTION(0),
630     /**
631      *
632      *
633      * <pre>
634      * The interconnect attachment will carry only encrypted traffic that is encrypted by an IPsec device such as HA VPN gateway; VMs cannot directly send traffic to or receive traffic from such an interconnect attachment. To use HA VPN over Cloud Interconnect, the interconnect attachment must be created with this option.
635      * </pre>
636      *
637      * <code>IPSEC = 69882282;</code>
638      */
639     IPSEC(69882282),
640     /**
641      *
642      *
643      * <pre>
644      * This is the default value, which means the Interconnect Attachment will carry unencrypted traffic. VMs will be able to send traffic to or receive traffic from such interconnect attachment.
645      * </pre>
646      *
647      * <code>NONE = 2402104;</code>
648      */
649     NONE(2402104),
650     UNRECOGNIZED(-1),
651     ;
652 
653     /**
654      *
655      *
656      * <pre>
657      * A value indicating that the enum field is not set.
658      * </pre>
659      *
660      * <code>UNDEFINED_ENCRYPTION = 0;</code>
661      */
662     public static final int UNDEFINED_ENCRYPTION_VALUE = 0;
663     /**
664      *
665      *
666      * <pre>
667      * The interconnect attachment will carry only encrypted traffic that is encrypted by an IPsec device such as HA VPN gateway; VMs cannot directly send traffic to or receive traffic from such an interconnect attachment. To use HA VPN over Cloud Interconnect, the interconnect attachment must be created with this option.
668      * </pre>
669      *
670      * <code>IPSEC = 69882282;</code>
671      */
672     public static final int IPSEC_VALUE = 69882282;
673     /**
674      *
675      *
676      * <pre>
677      * This is the default value, which means the Interconnect Attachment will carry unencrypted traffic. VMs will be able to send traffic to or receive traffic from such interconnect attachment.
678      * </pre>
679      *
680      * <code>NONE = 2402104;</code>
681      */
682     public static final int NONE_VALUE = 2402104;
683 
getNumber()684     public final int getNumber() {
685       if (this == UNRECOGNIZED) {
686         throw new java.lang.IllegalArgumentException(
687             "Can't get the number of an unknown enum value.");
688       }
689       return value;
690     }
691 
692     /**
693      * @param value The numeric wire value of the corresponding enum entry.
694      * @return The enum associated with the given numeric wire value.
695      * @deprecated Use {@link #forNumber(int)} instead.
696      */
697     @java.lang.Deprecated
valueOf(int value)698     public static Encryption valueOf(int value) {
699       return forNumber(value);
700     }
701 
702     /**
703      * @param value The numeric wire value of the corresponding enum entry.
704      * @return The enum associated with the given numeric wire value.
705      */
forNumber(int value)706     public static Encryption forNumber(int value) {
707       switch (value) {
708         case 0:
709           return UNDEFINED_ENCRYPTION;
710         case 69882282:
711           return IPSEC;
712         case 2402104:
713           return NONE;
714         default:
715           return null;
716       }
717     }
718 
internalGetValueMap()719     public static com.google.protobuf.Internal.EnumLiteMap<Encryption> internalGetValueMap() {
720       return internalValueMap;
721     }
722 
723     private static final com.google.protobuf.Internal.EnumLiteMap<Encryption> internalValueMap =
724         new com.google.protobuf.Internal.EnumLiteMap<Encryption>() {
725           public Encryption findValueByNumber(int number) {
726             return Encryption.forNumber(number);
727           }
728         };
729 
getValueDescriptor()730     public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
731       if (this == UNRECOGNIZED) {
732         throw new java.lang.IllegalStateException(
733             "Can't get the descriptor of an unrecognized enum value.");
734       }
735       return getDescriptor().getValues().get(ordinal());
736     }
737 
getDescriptorForType()738     public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
739       return getDescriptor();
740     }
741 
getDescriptor()742     public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
743       return com.google.cloud.compute.v1.InterconnectAttachment.getDescriptor()
744           .getEnumTypes()
745           .get(2);
746     }
747 
748     private static final Encryption[] VALUES = values();
749 
valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)750     public static Encryption valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
751       if (desc.getType() != getDescriptor()) {
752         throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
753       }
754       if (desc.getIndex() == -1) {
755         return UNRECOGNIZED;
756       }
757       return VALUES[desc.getIndex()];
758     }
759 
760     private final int value;
761 
Encryption(int value)762     private Encryption(int value) {
763       this.value = value;
764     }
765 
766     // @@protoc_insertion_point(enum_scope:google.cloud.compute.v1.InterconnectAttachment.Encryption)
767   }
768 
769   /**
770    *
771    *
772    * <pre>
773    * [Output Only] The current status of whether or not this interconnect attachment is functional, which can take one of the following values: - OS_ACTIVE: The attachment has been turned up and is ready to use. - OS_UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete.
774    * </pre>
775    *
776    * Protobuf enum {@code google.cloud.compute.v1.InterconnectAttachment.OperationalStatus}
777    */
778   public enum OperationalStatus implements com.google.protobuf.ProtocolMessageEnum {
779     /**
780      *
781      *
782      * <pre>
783      * A value indicating that the enum field is not set.
784      * </pre>
785      *
786      * <code>UNDEFINED_OPERATIONAL_STATUS = 0;</code>
787      */
788     UNDEFINED_OPERATIONAL_STATUS(0),
789     /**
790      *
791      *
792      * <pre>
793      * Indicates that attachment has been turned up and is ready to use.
794      * </pre>
795      *
796      * <code>OS_ACTIVE = 55721409;</code>
797      */
798     OS_ACTIVE(55721409),
799     /**
800      *
801      *
802      * <pre>
803      * Indicates that attachment is not ready to use yet, because turnup is not complete.
804      * </pre>
805      *
806      * <code>OS_UNPROVISIONED = 239771840;</code>
807      */
808     OS_UNPROVISIONED(239771840),
809     UNRECOGNIZED(-1),
810     ;
811 
812     /**
813      *
814      *
815      * <pre>
816      * A value indicating that the enum field is not set.
817      * </pre>
818      *
819      * <code>UNDEFINED_OPERATIONAL_STATUS = 0;</code>
820      */
821     public static final int UNDEFINED_OPERATIONAL_STATUS_VALUE = 0;
822     /**
823      *
824      *
825      * <pre>
826      * Indicates that attachment has been turned up and is ready to use.
827      * </pre>
828      *
829      * <code>OS_ACTIVE = 55721409;</code>
830      */
831     public static final int OS_ACTIVE_VALUE = 55721409;
832     /**
833      *
834      *
835      * <pre>
836      * Indicates that attachment is not ready to use yet, because turnup is not complete.
837      * </pre>
838      *
839      * <code>OS_UNPROVISIONED = 239771840;</code>
840      */
841     public static final int OS_UNPROVISIONED_VALUE = 239771840;
842 
getNumber()843     public final int getNumber() {
844       if (this == UNRECOGNIZED) {
845         throw new java.lang.IllegalArgumentException(
846             "Can't get the number of an unknown enum value.");
847       }
848       return value;
849     }
850 
851     /**
852      * @param value The numeric wire value of the corresponding enum entry.
853      * @return The enum associated with the given numeric wire value.
854      * @deprecated Use {@link #forNumber(int)} instead.
855      */
856     @java.lang.Deprecated
valueOf(int value)857     public static OperationalStatus valueOf(int value) {
858       return forNumber(value);
859     }
860 
861     /**
862      * @param value The numeric wire value of the corresponding enum entry.
863      * @return The enum associated with the given numeric wire value.
864      */
forNumber(int value)865     public static OperationalStatus forNumber(int value) {
866       switch (value) {
867         case 0:
868           return UNDEFINED_OPERATIONAL_STATUS;
869         case 55721409:
870           return OS_ACTIVE;
871         case 239771840:
872           return OS_UNPROVISIONED;
873         default:
874           return null;
875       }
876     }
877 
878     public static com.google.protobuf.Internal.EnumLiteMap<OperationalStatus>
internalGetValueMap()879         internalGetValueMap() {
880       return internalValueMap;
881     }
882 
883     private static final com.google.protobuf.Internal.EnumLiteMap<OperationalStatus>
884         internalValueMap =
885             new com.google.protobuf.Internal.EnumLiteMap<OperationalStatus>() {
886               public OperationalStatus findValueByNumber(int number) {
887                 return OperationalStatus.forNumber(number);
888               }
889             };
890 
getValueDescriptor()891     public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
892       if (this == UNRECOGNIZED) {
893         throw new java.lang.IllegalStateException(
894             "Can't get the descriptor of an unrecognized enum value.");
895       }
896       return getDescriptor().getValues().get(ordinal());
897     }
898 
getDescriptorForType()899     public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
900       return getDescriptor();
901     }
902 
getDescriptor()903     public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
904       return com.google.cloud.compute.v1.InterconnectAttachment.getDescriptor()
905           .getEnumTypes()
906           .get(3);
907     }
908 
909     private static final OperationalStatus[] VALUES = values();
910 
valueOf( com.google.protobuf.Descriptors.EnumValueDescriptor desc)911     public static OperationalStatus valueOf(
912         com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
913       if (desc.getType() != getDescriptor()) {
914         throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
915       }
916       if (desc.getIndex() == -1) {
917         return UNRECOGNIZED;
918       }
919       return VALUES[desc.getIndex()];
920     }
921 
922     private final int value;
923 
OperationalStatus(int value)924     private OperationalStatus(int value) {
925       this.value = value;
926     }
927 
928     // @@protoc_insertion_point(enum_scope:google.cloud.compute.v1.InterconnectAttachment.OperationalStatus)
929   }
930 
931   /**
932    *
933    *
934    * <pre>
935    * The stack type for this interconnect attachment to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used. This field can be both set at interconnect attachments creation and update interconnect attachment operations.
936    * </pre>
937    *
938    * Protobuf enum {@code google.cloud.compute.v1.InterconnectAttachment.StackType}
939    */
940   public enum StackType implements com.google.protobuf.ProtocolMessageEnum {
941     /**
942      *
943      *
944      * <pre>
945      * A value indicating that the enum field is not set.
946      * </pre>
947      *
948      * <code>UNDEFINED_STACK_TYPE = 0;</code>
949      */
950     UNDEFINED_STACK_TYPE(0),
951     /**
952      *
953      *
954      * <pre>
955      * The interconnect attachment can have both IPv4 and IPv6 addresses.
956      * </pre>
957      *
958      * <code>IPV4_IPV6 = 22197249;</code>
959      */
960     IPV4_IPV6(22197249),
961     /**
962      *
963      *
964      * <pre>
965      * The interconnect attachment will only be assigned IPv4 addresses.
966      * </pre>
967      *
968      * <code>IPV4_ONLY = 22373798;</code>
969      */
970     IPV4_ONLY(22373798),
971     UNRECOGNIZED(-1),
972     ;
973 
974     /**
975      *
976      *
977      * <pre>
978      * A value indicating that the enum field is not set.
979      * </pre>
980      *
981      * <code>UNDEFINED_STACK_TYPE = 0;</code>
982      */
983     public static final int UNDEFINED_STACK_TYPE_VALUE = 0;
984     /**
985      *
986      *
987      * <pre>
988      * The interconnect attachment can have both IPv4 and IPv6 addresses.
989      * </pre>
990      *
991      * <code>IPV4_IPV6 = 22197249;</code>
992      */
993     public static final int IPV4_IPV6_VALUE = 22197249;
994     /**
995      *
996      *
997      * <pre>
998      * The interconnect attachment will only be assigned IPv4 addresses.
999      * </pre>
1000      *
1001      * <code>IPV4_ONLY = 22373798;</code>
1002      */
1003     public static final int IPV4_ONLY_VALUE = 22373798;
1004 
getNumber()1005     public final int getNumber() {
1006       if (this == UNRECOGNIZED) {
1007         throw new java.lang.IllegalArgumentException(
1008             "Can't get the number of an unknown enum value.");
1009       }
1010       return value;
1011     }
1012 
1013     /**
1014      * @param value The numeric wire value of the corresponding enum entry.
1015      * @return The enum associated with the given numeric wire value.
1016      * @deprecated Use {@link #forNumber(int)} instead.
1017      */
1018     @java.lang.Deprecated
valueOf(int value)1019     public static StackType valueOf(int value) {
1020       return forNumber(value);
1021     }
1022 
1023     /**
1024      * @param value The numeric wire value of the corresponding enum entry.
1025      * @return The enum associated with the given numeric wire value.
1026      */
forNumber(int value)1027     public static StackType forNumber(int value) {
1028       switch (value) {
1029         case 0:
1030           return UNDEFINED_STACK_TYPE;
1031         case 22197249:
1032           return IPV4_IPV6;
1033         case 22373798:
1034           return IPV4_ONLY;
1035         default:
1036           return null;
1037       }
1038     }
1039 
internalGetValueMap()1040     public static com.google.protobuf.Internal.EnumLiteMap<StackType> internalGetValueMap() {
1041       return internalValueMap;
1042     }
1043 
1044     private static final com.google.protobuf.Internal.EnumLiteMap<StackType> internalValueMap =
1045         new com.google.protobuf.Internal.EnumLiteMap<StackType>() {
1046           public StackType findValueByNumber(int number) {
1047             return StackType.forNumber(number);
1048           }
1049         };
1050 
getValueDescriptor()1051     public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
1052       if (this == UNRECOGNIZED) {
1053         throw new java.lang.IllegalStateException(
1054             "Can't get the descriptor of an unrecognized enum value.");
1055       }
1056       return getDescriptor().getValues().get(ordinal());
1057     }
1058 
getDescriptorForType()1059     public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
1060       return getDescriptor();
1061     }
1062 
getDescriptor()1063     public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
1064       return com.google.cloud.compute.v1.InterconnectAttachment.getDescriptor()
1065           .getEnumTypes()
1066           .get(4);
1067     }
1068 
1069     private static final StackType[] VALUES = values();
1070 
valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)1071     public static StackType valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1072       if (desc.getType() != getDescriptor()) {
1073         throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
1074       }
1075       if (desc.getIndex() == -1) {
1076         return UNRECOGNIZED;
1077       }
1078       return VALUES[desc.getIndex()];
1079     }
1080 
1081     private final int value;
1082 
StackType(int value)1083     private StackType(int value) {
1084       this.value = value;
1085     }
1086 
1087     // @@protoc_insertion_point(enum_scope:google.cloud.compute.v1.InterconnectAttachment.StackType)
1088   }
1089 
1090   /**
1091    *
1092    *
1093    * <pre>
1094    * [Output Only] The current state of this attachment's functionality. Enum values ACTIVE and UNPROVISIONED are shared by DEDICATED/PRIVATE, PARTNER, and PARTNER_PROVIDER interconnect attachments, while enum values PENDING_PARTNER, PARTNER_REQUEST_RECEIVED, and PENDING_CUSTOMER are used for only PARTNER and PARTNER_PROVIDER interconnect attachments. This state can take one of the following values: - ACTIVE: The attachment has been turned up and is ready to use. - UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete. - PENDING_PARTNER: A newly-created PARTNER attachment that has not yet been configured on the Partner side. - PARTNER_REQUEST_RECEIVED: A PARTNER attachment is in the process of provisioning after a PARTNER_PROVIDER attachment was created that references it. - PENDING_CUSTOMER: A PARTNER or PARTNER_PROVIDER attachment that is waiting for a customer to activate it. - DEFUNCT: The attachment was deleted externally and is no longer functional. This could be because the associated Interconnect was removed, or because the other side of a Partner attachment was deleted.
1095    * </pre>
1096    *
1097    * Protobuf enum {@code google.cloud.compute.v1.InterconnectAttachment.State}
1098    */
1099   public enum State implements com.google.protobuf.ProtocolMessageEnum {
1100     /**
1101      *
1102      *
1103      * <pre>
1104      * A value indicating that the enum field is not set.
1105      * </pre>
1106      *
1107      * <code>UNDEFINED_STATE = 0;</code>
1108      */
1109     UNDEFINED_STATE(0),
1110     /**
1111      *
1112      *
1113      * <pre>
1114      * Indicates that attachment has been turned up and is ready to use.
1115      * </pre>
1116      *
1117      * <code>ACTIVE = 314733318;</code>
1118      */
1119     ACTIVE(314733318),
1120     /**
1121      *
1122      *
1123      * <pre>
1124      * The attachment was deleted externally and is no longer functional. This could be because the associated Interconnect was wiped out, or because the other side of a Partner attachment was deleted.
1125      * </pre>
1126      *
1127      * <code>DEFUNCT = 115891759;</code>
1128      */
1129     DEFUNCT(115891759),
1130     /**
1131      *
1132      *
1133      * <pre>
1134      * A PARTNER attachment is in the process of provisioning after a PARTNER_PROVIDER attachment was created that references it.
1135      * </pre>
1136      *
1137      * <code>PARTNER_REQUEST_RECEIVED = 513587304;</code>
1138      */
1139     PARTNER_REQUEST_RECEIVED(513587304),
1140     /**
1141      *
1142      *
1143      * <pre>
1144      * PARTNER or PARTNER_PROVIDER attachment that is waiting for the customer to activate.
1145      * </pre>
1146      *
1147      * <code>PENDING_CUSTOMER = 167494054;</code>
1148      */
1149     PENDING_CUSTOMER(167494054),
1150     /**
1151      *
1152      *
1153      * <pre>
1154      * A newly created PARTNER attachment that has not yet been configured on the Partner side.
1155      * </pre>
1156      *
1157      * <code>PENDING_PARTNER = 387890656;</code>
1158      */
1159     PENDING_PARTNER(387890656),
1160     /** <code>STATE_UNSPECIFIED = 470755401;</code> */
1161     STATE_UNSPECIFIED(470755401),
1162     /**
1163      *
1164      *
1165      * <pre>
1166      * Indicates that attachment is not ready to use yet, because turnup is not complete.
1167      * </pre>
1168      *
1169      * <code>UNPROVISIONED = 517333979;</code>
1170      */
1171     UNPROVISIONED(517333979),
1172     UNRECOGNIZED(-1),
1173     ;
1174 
1175     /**
1176      *
1177      *
1178      * <pre>
1179      * A value indicating that the enum field is not set.
1180      * </pre>
1181      *
1182      * <code>UNDEFINED_STATE = 0;</code>
1183      */
1184     public static final int UNDEFINED_STATE_VALUE = 0;
1185     /**
1186      *
1187      *
1188      * <pre>
1189      * Indicates that attachment has been turned up and is ready to use.
1190      * </pre>
1191      *
1192      * <code>ACTIVE = 314733318;</code>
1193      */
1194     public static final int ACTIVE_VALUE = 314733318;
1195     /**
1196      *
1197      *
1198      * <pre>
1199      * The attachment was deleted externally and is no longer functional. This could be because the associated Interconnect was wiped out, or because the other side of a Partner attachment was deleted.
1200      * </pre>
1201      *
1202      * <code>DEFUNCT = 115891759;</code>
1203      */
1204     public static final int DEFUNCT_VALUE = 115891759;
1205     /**
1206      *
1207      *
1208      * <pre>
1209      * A PARTNER attachment is in the process of provisioning after a PARTNER_PROVIDER attachment was created that references it.
1210      * </pre>
1211      *
1212      * <code>PARTNER_REQUEST_RECEIVED = 513587304;</code>
1213      */
1214     public static final int PARTNER_REQUEST_RECEIVED_VALUE = 513587304;
1215     /**
1216      *
1217      *
1218      * <pre>
1219      * PARTNER or PARTNER_PROVIDER attachment that is waiting for the customer to activate.
1220      * </pre>
1221      *
1222      * <code>PENDING_CUSTOMER = 167494054;</code>
1223      */
1224     public static final int PENDING_CUSTOMER_VALUE = 167494054;
1225     /**
1226      *
1227      *
1228      * <pre>
1229      * A newly created PARTNER attachment that has not yet been configured on the Partner side.
1230      * </pre>
1231      *
1232      * <code>PENDING_PARTNER = 387890656;</code>
1233      */
1234     public static final int PENDING_PARTNER_VALUE = 387890656;
1235     /** <code>STATE_UNSPECIFIED = 470755401;</code> */
1236     public static final int STATE_UNSPECIFIED_VALUE = 470755401;
1237     /**
1238      *
1239      *
1240      * <pre>
1241      * Indicates that attachment is not ready to use yet, because turnup is not complete.
1242      * </pre>
1243      *
1244      * <code>UNPROVISIONED = 517333979;</code>
1245      */
1246     public static final int UNPROVISIONED_VALUE = 517333979;
1247 
getNumber()1248     public final int getNumber() {
1249       if (this == UNRECOGNIZED) {
1250         throw new java.lang.IllegalArgumentException(
1251             "Can't get the number of an unknown enum value.");
1252       }
1253       return value;
1254     }
1255 
1256     /**
1257      * @param value The numeric wire value of the corresponding enum entry.
1258      * @return The enum associated with the given numeric wire value.
1259      * @deprecated Use {@link #forNumber(int)} instead.
1260      */
1261     @java.lang.Deprecated
valueOf(int value)1262     public static State valueOf(int value) {
1263       return forNumber(value);
1264     }
1265 
1266     /**
1267      * @param value The numeric wire value of the corresponding enum entry.
1268      * @return The enum associated with the given numeric wire value.
1269      */
forNumber(int value)1270     public static State forNumber(int value) {
1271       switch (value) {
1272         case 0:
1273           return UNDEFINED_STATE;
1274         case 314733318:
1275           return ACTIVE;
1276         case 115891759:
1277           return DEFUNCT;
1278         case 513587304:
1279           return PARTNER_REQUEST_RECEIVED;
1280         case 167494054:
1281           return PENDING_CUSTOMER;
1282         case 387890656:
1283           return PENDING_PARTNER;
1284         case 470755401:
1285           return STATE_UNSPECIFIED;
1286         case 517333979:
1287           return UNPROVISIONED;
1288         default:
1289           return null;
1290       }
1291     }
1292 
internalGetValueMap()1293     public static com.google.protobuf.Internal.EnumLiteMap<State> internalGetValueMap() {
1294       return internalValueMap;
1295     }
1296 
1297     private static final com.google.protobuf.Internal.EnumLiteMap<State> internalValueMap =
1298         new com.google.protobuf.Internal.EnumLiteMap<State>() {
1299           public State findValueByNumber(int number) {
1300             return State.forNumber(number);
1301           }
1302         };
1303 
getValueDescriptor()1304     public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
1305       if (this == UNRECOGNIZED) {
1306         throw new java.lang.IllegalStateException(
1307             "Can't get the descriptor of an unrecognized enum value.");
1308       }
1309       return getDescriptor().getValues().get(ordinal());
1310     }
1311 
getDescriptorForType()1312     public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
1313       return getDescriptor();
1314     }
1315 
getDescriptor()1316     public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
1317       return com.google.cloud.compute.v1.InterconnectAttachment.getDescriptor()
1318           .getEnumTypes()
1319           .get(5);
1320     }
1321 
1322     private static final State[] VALUES = values();
1323 
valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)1324     public static State valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1325       if (desc.getType() != getDescriptor()) {
1326         throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
1327       }
1328       if (desc.getIndex() == -1) {
1329         return UNRECOGNIZED;
1330       }
1331       return VALUES[desc.getIndex()];
1332     }
1333 
1334     private final int value;
1335 
State(int value)1336     private State(int value) {
1337       this.value = value;
1338     }
1339 
1340     // @@protoc_insertion_point(enum_scope:google.cloud.compute.v1.InterconnectAttachment.State)
1341   }
1342 
1343   /**
1344    *
1345    *
1346    * <pre>
1347    * The type of interconnect attachment this is, which can take one of the following values: - DEDICATED: an attachment to a Dedicated Interconnect. - PARTNER: an attachment to a Partner Interconnect, created by the customer. - PARTNER_PROVIDER: an attachment to a Partner Interconnect, created by the partner.
1348    * </pre>
1349    *
1350    * Protobuf enum {@code google.cloud.compute.v1.InterconnectAttachment.Type}
1351    */
1352   public enum Type implements com.google.protobuf.ProtocolMessageEnum {
1353     /**
1354      *
1355      *
1356      * <pre>
1357      * A value indicating that the enum field is not set.
1358      * </pre>
1359      *
1360      * <code>UNDEFINED_TYPE = 0;</code>
1361      */
1362     UNDEFINED_TYPE(0),
1363     /**
1364      *
1365      *
1366      * <pre>
1367      * Attachment to a dedicated interconnect.
1368      * </pre>
1369      *
1370      * <code>DEDICATED = 258411983;</code>
1371      */
1372     DEDICATED(258411983),
1373     /**
1374      *
1375      *
1376      * <pre>
1377      * Attachment to a partner interconnect, created by the customer.
1378      * </pre>
1379      *
1380      * <code>PARTNER = 461924520;</code>
1381      */
1382     PARTNER(461924520),
1383     /**
1384      *
1385      *
1386      * <pre>
1387      * Attachment to a partner interconnect, created by the partner.
1388      * </pre>
1389      *
1390      * <code>PARTNER_PROVIDER = 483261352;</code>
1391      */
1392     PARTNER_PROVIDER(483261352),
1393     UNRECOGNIZED(-1),
1394     ;
1395 
1396     /**
1397      *
1398      *
1399      * <pre>
1400      * A value indicating that the enum field is not set.
1401      * </pre>
1402      *
1403      * <code>UNDEFINED_TYPE = 0;</code>
1404      */
1405     public static final int UNDEFINED_TYPE_VALUE = 0;
1406     /**
1407      *
1408      *
1409      * <pre>
1410      * Attachment to a dedicated interconnect.
1411      * </pre>
1412      *
1413      * <code>DEDICATED = 258411983;</code>
1414      */
1415     public static final int DEDICATED_VALUE = 258411983;
1416     /**
1417      *
1418      *
1419      * <pre>
1420      * Attachment to a partner interconnect, created by the customer.
1421      * </pre>
1422      *
1423      * <code>PARTNER = 461924520;</code>
1424      */
1425     public static final int PARTNER_VALUE = 461924520;
1426     /**
1427      *
1428      *
1429      * <pre>
1430      * Attachment to a partner interconnect, created by the partner.
1431      * </pre>
1432      *
1433      * <code>PARTNER_PROVIDER = 483261352;</code>
1434      */
1435     public static final int PARTNER_PROVIDER_VALUE = 483261352;
1436 
getNumber()1437     public final int getNumber() {
1438       if (this == UNRECOGNIZED) {
1439         throw new java.lang.IllegalArgumentException(
1440             "Can't get the number of an unknown enum value.");
1441       }
1442       return value;
1443     }
1444 
1445     /**
1446      * @param value The numeric wire value of the corresponding enum entry.
1447      * @return The enum associated with the given numeric wire value.
1448      * @deprecated Use {@link #forNumber(int)} instead.
1449      */
1450     @java.lang.Deprecated
valueOf(int value)1451     public static Type valueOf(int value) {
1452       return forNumber(value);
1453     }
1454 
1455     /**
1456      * @param value The numeric wire value of the corresponding enum entry.
1457      * @return The enum associated with the given numeric wire value.
1458      */
forNumber(int value)1459     public static Type forNumber(int value) {
1460       switch (value) {
1461         case 0:
1462           return UNDEFINED_TYPE;
1463         case 258411983:
1464           return DEDICATED;
1465         case 461924520:
1466           return PARTNER;
1467         case 483261352:
1468           return PARTNER_PROVIDER;
1469         default:
1470           return null;
1471       }
1472     }
1473 
internalGetValueMap()1474     public static com.google.protobuf.Internal.EnumLiteMap<Type> internalGetValueMap() {
1475       return internalValueMap;
1476     }
1477 
1478     private static final com.google.protobuf.Internal.EnumLiteMap<Type> internalValueMap =
1479         new com.google.protobuf.Internal.EnumLiteMap<Type>() {
1480           public Type findValueByNumber(int number) {
1481             return Type.forNumber(number);
1482           }
1483         };
1484 
getValueDescriptor()1485     public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
1486       if (this == UNRECOGNIZED) {
1487         throw new java.lang.IllegalStateException(
1488             "Can't get the descriptor of an unrecognized enum value.");
1489       }
1490       return getDescriptor().getValues().get(ordinal());
1491     }
1492 
getDescriptorForType()1493     public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
1494       return getDescriptor();
1495     }
1496 
getDescriptor()1497     public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
1498       return com.google.cloud.compute.v1.InterconnectAttachment.getDescriptor()
1499           .getEnumTypes()
1500           .get(6);
1501     }
1502 
1503     private static final Type[] VALUES = values();
1504 
valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)1505     public static Type valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1506       if (desc.getType() != getDescriptor()) {
1507         throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
1508       }
1509       if (desc.getIndex() == -1) {
1510         return UNRECOGNIZED;
1511       }
1512       return VALUES[desc.getIndex()];
1513     }
1514 
1515     private final int value;
1516 
Type(int value)1517     private Type(int value) {
1518       this.value = value;
1519     }
1520 
1521     // @@protoc_insertion_point(enum_scope:google.cloud.compute.v1.InterconnectAttachment.Type)
1522   }
1523 
1524   private int bitField0_;
1525   public static final int ADMIN_ENABLED_FIELD_NUMBER = 445675089;
1526   private boolean adminEnabled_ = false;
1527   /**
1528    *
1529    *
1530    * <pre>
1531    * Determines whether this Attachment will carry packets. Not present for PARTNER_PROVIDER.
1532    * </pre>
1533    *
1534    * <code>optional bool admin_enabled = 445675089;</code>
1535    *
1536    * @return Whether the adminEnabled field is set.
1537    */
1538   @java.lang.Override
hasAdminEnabled()1539   public boolean hasAdminEnabled() {
1540     return ((bitField0_ & 0x00000001) != 0);
1541   }
1542   /**
1543    *
1544    *
1545    * <pre>
1546    * Determines whether this Attachment will carry packets. Not present for PARTNER_PROVIDER.
1547    * </pre>
1548    *
1549    * <code>optional bool admin_enabled = 445675089;</code>
1550    *
1551    * @return The adminEnabled.
1552    */
1553   @java.lang.Override
getAdminEnabled()1554   public boolean getAdminEnabled() {
1555     return adminEnabled_;
1556   }
1557 
1558   public static final int BANDWIDTH_FIELD_NUMBER = 181715121;
1559 
1560   @SuppressWarnings("serial")
1561   private volatile java.lang.Object bandwidth_ = "";
1562   /**
1563    *
1564    *
1565    * <pre>
1566    * Provisioned bandwidth capacity for the interconnect attachment. For attachments of type DEDICATED, the user can set the bandwidth. For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth. Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED, and can take one of the following values: - BPS_50M: 50 Mbit/s - BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s - BPS_300M: 300 Mbit/s - BPS_400M: 400 Mbit/s - BPS_500M: 500 Mbit/s - BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s - BPS_5G: 5 Gbit/s - BPS_10G: 10 Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/s
1567    * Check the Bandwidth enum for the list of possible values.
1568    * </pre>
1569    *
1570    * <code>optional string bandwidth = 181715121;</code>
1571    *
1572    * @return Whether the bandwidth field is set.
1573    */
1574   @java.lang.Override
hasBandwidth()1575   public boolean hasBandwidth() {
1576     return ((bitField0_ & 0x00000002) != 0);
1577   }
1578   /**
1579    *
1580    *
1581    * <pre>
1582    * Provisioned bandwidth capacity for the interconnect attachment. For attachments of type DEDICATED, the user can set the bandwidth. For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth. Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED, and can take one of the following values: - BPS_50M: 50 Mbit/s - BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s - BPS_300M: 300 Mbit/s - BPS_400M: 400 Mbit/s - BPS_500M: 500 Mbit/s - BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s - BPS_5G: 5 Gbit/s - BPS_10G: 10 Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/s
1583    * Check the Bandwidth enum for the list of possible values.
1584    * </pre>
1585    *
1586    * <code>optional string bandwidth = 181715121;</code>
1587    *
1588    * @return The bandwidth.
1589    */
1590   @java.lang.Override
getBandwidth()1591   public java.lang.String getBandwidth() {
1592     java.lang.Object ref = bandwidth_;
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       bandwidth_ = s;
1599       return s;
1600     }
1601   }
1602   /**
1603    *
1604    *
1605    * <pre>
1606    * Provisioned bandwidth capacity for the interconnect attachment. For attachments of type DEDICATED, the user can set the bandwidth. For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth. Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED, and can take one of the following values: - BPS_50M: 50 Mbit/s - BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s - BPS_300M: 300 Mbit/s - BPS_400M: 400 Mbit/s - BPS_500M: 500 Mbit/s - BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s - BPS_5G: 5 Gbit/s - BPS_10G: 10 Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/s
1607    * Check the Bandwidth enum for the list of possible values.
1608    * </pre>
1609    *
1610    * <code>optional string bandwidth = 181715121;</code>
1611    *
1612    * @return The bytes for bandwidth.
1613    */
1614   @java.lang.Override
getBandwidthBytes()1615   public com.google.protobuf.ByteString getBandwidthBytes() {
1616     java.lang.Object ref = bandwidth_;
1617     if (ref instanceof java.lang.String) {
1618       com.google.protobuf.ByteString b =
1619           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1620       bandwidth_ = b;
1621       return b;
1622     } else {
1623       return (com.google.protobuf.ByteString) ref;
1624     }
1625   }
1626 
1627   public static final int CANDIDATE_IPV6_SUBNETS_FIELD_NUMBER = 70682522;
1628 
1629   @SuppressWarnings("serial")
1630   private com.google.protobuf.LazyStringList candidateIpv6Subnets_;
1631   /**
1632    *
1633    *
1634    * <pre>
1635    * This field is not available.
1636    * </pre>
1637    *
1638    * <code>repeated string candidate_ipv6_subnets = 70682522;</code>
1639    *
1640    * @return A list containing the candidateIpv6Subnets.
1641    */
getCandidateIpv6SubnetsList()1642   public com.google.protobuf.ProtocolStringList getCandidateIpv6SubnetsList() {
1643     return candidateIpv6Subnets_;
1644   }
1645   /**
1646    *
1647    *
1648    * <pre>
1649    * This field is not available.
1650    * </pre>
1651    *
1652    * <code>repeated string candidate_ipv6_subnets = 70682522;</code>
1653    *
1654    * @return The count of candidateIpv6Subnets.
1655    */
getCandidateIpv6SubnetsCount()1656   public int getCandidateIpv6SubnetsCount() {
1657     return candidateIpv6Subnets_.size();
1658   }
1659   /**
1660    *
1661    *
1662    * <pre>
1663    * This field is not available.
1664    * </pre>
1665    *
1666    * <code>repeated string candidate_ipv6_subnets = 70682522;</code>
1667    *
1668    * @param index The index of the element to return.
1669    * @return The candidateIpv6Subnets at the given index.
1670    */
getCandidateIpv6Subnets(int index)1671   public java.lang.String getCandidateIpv6Subnets(int index) {
1672     return candidateIpv6Subnets_.get(index);
1673   }
1674   /**
1675    *
1676    *
1677    * <pre>
1678    * This field is not available.
1679    * </pre>
1680    *
1681    * <code>repeated string candidate_ipv6_subnets = 70682522;</code>
1682    *
1683    * @param index The index of the value to return.
1684    * @return The bytes of the candidateIpv6Subnets at the given index.
1685    */
getCandidateIpv6SubnetsBytes(int index)1686   public com.google.protobuf.ByteString getCandidateIpv6SubnetsBytes(int index) {
1687     return candidateIpv6Subnets_.getByteString(index);
1688   }
1689 
1690   public static final int CANDIDATE_SUBNETS_FIELD_NUMBER = 237842938;
1691 
1692   @SuppressWarnings("serial")
1693   private com.google.protobuf.LazyStringList candidateSubnets_;
1694   /**
1695    *
1696    *
1697    * <pre>
1698    * Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and customerRouterIpAddress for this attachment. All prefixes must be within link-local address space (169.254.0.0/16) and must be /29 or shorter (/28, /27, etc). Google will attempt to select an unused /29 from the supplied candidate prefix(es). The request will fail if all possible /29s are in use on Google's edge. If not supplied, Google will randomly select an unused /29 from all of link-local space.
1699    * </pre>
1700    *
1701    * <code>repeated string candidate_subnets = 237842938;</code>
1702    *
1703    * @return A list containing the candidateSubnets.
1704    */
getCandidateSubnetsList()1705   public com.google.protobuf.ProtocolStringList getCandidateSubnetsList() {
1706     return candidateSubnets_;
1707   }
1708   /**
1709    *
1710    *
1711    * <pre>
1712    * Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and customerRouterIpAddress for this attachment. All prefixes must be within link-local address space (169.254.0.0/16) and must be /29 or shorter (/28, /27, etc). Google will attempt to select an unused /29 from the supplied candidate prefix(es). The request will fail if all possible /29s are in use on Google's edge. If not supplied, Google will randomly select an unused /29 from all of link-local space.
1713    * </pre>
1714    *
1715    * <code>repeated string candidate_subnets = 237842938;</code>
1716    *
1717    * @return The count of candidateSubnets.
1718    */
getCandidateSubnetsCount()1719   public int getCandidateSubnetsCount() {
1720     return candidateSubnets_.size();
1721   }
1722   /**
1723    *
1724    *
1725    * <pre>
1726    * Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and customerRouterIpAddress for this attachment. All prefixes must be within link-local address space (169.254.0.0/16) and must be /29 or shorter (/28, /27, etc). Google will attempt to select an unused /29 from the supplied candidate prefix(es). The request will fail if all possible /29s are in use on Google's edge. If not supplied, Google will randomly select an unused /29 from all of link-local space.
1727    * </pre>
1728    *
1729    * <code>repeated string candidate_subnets = 237842938;</code>
1730    *
1731    * @param index The index of the element to return.
1732    * @return The candidateSubnets at the given index.
1733    */
getCandidateSubnets(int index)1734   public java.lang.String getCandidateSubnets(int index) {
1735     return candidateSubnets_.get(index);
1736   }
1737   /**
1738    *
1739    *
1740    * <pre>
1741    * Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and customerRouterIpAddress for this attachment. All prefixes must be within link-local address space (169.254.0.0/16) and must be /29 or shorter (/28, /27, etc). Google will attempt to select an unused /29 from the supplied candidate prefix(es). The request will fail if all possible /29s are in use on Google's edge. If not supplied, Google will randomly select an unused /29 from all of link-local space.
1742    * </pre>
1743    *
1744    * <code>repeated string candidate_subnets = 237842938;</code>
1745    *
1746    * @param index The index of the value to return.
1747    * @return The bytes of the candidateSubnets at the given index.
1748    */
getCandidateSubnetsBytes(int index)1749   public com.google.protobuf.ByteString getCandidateSubnetsBytes(int index) {
1750     return candidateSubnets_.getByteString(index);
1751   }
1752 
1753   public static final int CLOUD_ROUTER_IP_ADDRESS_FIELD_NUMBER = 287392776;
1754 
1755   @SuppressWarnings("serial")
1756   private volatile java.lang.Object cloudRouterIpAddress_ = "";
1757   /**
1758    *
1759    *
1760    * <pre>
1761    * [Output Only] IPv4 address + prefix length to be configured on Cloud Router Interface for this interconnect attachment.
1762    * </pre>
1763    *
1764    * <code>optional string cloud_router_ip_address = 287392776;</code>
1765    *
1766    * @return Whether the cloudRouterIpAddress field is set.
1767    */
1768   @java.lang.Override
hasCloudRouterIpAddress()1769   public boolean hasCloudRouterIpAddress() {
1770     return ((bitField0_ & 0x00000004) != 0);
1771   }
1772   /**
1773    *
1774    *
1775    * <pre>
1776    * [Output Only] IPv4 address + prefix length to be configured on Cloud Router Interface for this interconnect attachment.
1777    * </pre>
1778    *
1779    * <code>optional string cloud_router_ip_address = 287392776;</code>
1780    *
1781    * @return The cloudRouterIpAddress.
1782    */
1783   @java.lang.Override
getCloudRouterIpAddress()1784   public java.lang.String getCloudRouterIpAddress() {
1785     java.lang.Object ref = cloudRouterIpAddress_;
1786     if (ref instanceof java.lang.String) {
1787       return (java.lang.String) ref;
1788     } else {
1789       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1790       java.lang.String s = bs.toStringUtf8();
1791       cloudRouterIpAddress_ = s;
1792       return s;
1793     }
1794   }
1795   /**
1796    *
1797    *
1798    * <pre>
1799    * [Output Only] IPv4 address + prefix length to be configured on Cloud Router Interface for this interconnect attachment.
1800    * </pre>
1801    *
1802    * <code>optional string cloud_router_ip_address = 287392776;</code>
1803    *
1804    * @return The bytes for cloudRouterIpAddress.
1805    */
1806   @java.lang.Override
getCloudRouterIpAddressBytes()1807   public com.google.protobuf.ByteString getCloudRouterIpAddressBytes() {
1808     java.lang.Object ref = cloudRouterIpAddress_;
1809     if (ref instanceof java.lang.String) {
1810       com.google.protobuf.ByteString b =
1811           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1812       cloudRouterIpAddress_ = b;
1813       return b;
1814     } else {
1815       return (com.google.protobuf.ByteString) ref;
1816     }
1817   }
1818 
1819   public static final int CLOUD_ROUTER_IPV6_ADDRESS_FIELD_NUMBER = 451922376;
1820 
1821   @SuppressWarnings("serial")
1822   private volatile java.lang.Object cloudRouterIpv6Address_ = "";
1823   /**
1824    *
1825    *
1826    * <pre>
1827    * [Output Only] IPv6 address + prefix length to be configured on Cloud Router Interface for this interconnect attachment.
1828    * </pre>
1829    *
1830    * <code>optional string cloud_router_ipv6_address = 451922376;</code>
1831    *
1832    * @return Whether the cloudRouterIpv6Address field is set.
1833    */
1834   @java.lang.Override
hasCloudRouterIpv6Address()1835   public boolean hasCloudRouterIpv6Address() {
1836     return ((bitField0_ & 0x00000008) != 0);
1837   }
1838   /**
1839    *
1840    *
1841    * <pre>
1842    * [Output Only] IPv6 address + prefix length to be configured on Cloud Router Interface for this interconnect attachment.
1843    * </pre>
1844    *
1845    * <code>optional string cloud_router_ipv6_address = 451922376;</code>
1846    *
1847    * @return The cloudRouterIpv6Address.
1848    */
1849   @java.lang.Override
getCloudRouterIpv6Address()1850   public java.lang.String getCloudRouterIpv6Address() {
1851     java.lang.Object ref = cloudRouterIpv6Address_;
1852     if (ref instanceof java.lang.String) {
1853       return (java.lang.String) ref;
1854     } else {
1855       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1856       java.lang.String s = bs.toStringUtf8();
1857       cloudRouterIpv6Address_ = s;
1858       return s;
1859     }
1860   }
1861   /**
1862    *
1863    *
1864    * <pre>
1865    * [Output Only] IPv6 address + prefix length to be configured on Cloud Router Interface for this interconnect attachment.
1866    * </pre>
1867    *
1868    * <code>optional string cloud_router_ipv6_address = 451922376;</code>
1869    *
1870    * @return The bytes for cloudRouterIpv6Address.
1871    */
1872   @java.lang.Override
getCloudRouterIpv6AddressBytes()1873   public com.google.protobuf.ByteString getCloudRouterIpv6AddressBytes() {
1874     java.lang.Object ref = cloudRouterIpv6Address_;
1875     if (ref instanceof java.lang.String) {
1876       com.google.protobuf.ByteString b =
1877           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1878       cloudRouterIpv6Address_ = b;
1879       return b;
1880     } else {
1881       return (com.google.protobuf.ByteString) ref;
1882     }
1883   }
1884 
1885   public static final int CLOUD_ROUTER_IPV6_INTERFACE_ID_FIELD_NUMBER = 521282701;
1886 
1887   @SuppressWarnings("serial")
1888   private volatile java.lang.Object cloudRouterIpv6InterfaceId_ = "";
1889   /**
1890    *
1891    *
1892    * <pre>
1893    * This field is not available.
1894    * </pre>
1895    *
1896    * <code>optional string cloud_router_ipv6_interface_id = 521282701;</code>
1897    *
1898    * @return Whether the cloudRouterIpv6InterfaceId field is set.
1899    */
1900   @java.lang.Override
hasCloudRouterIpv6InterfaceId()1901   public boolean hasCloudRouterIpv6InterfaceId() {
1902     return ((bitField0_ & 0x00000010) != 0);
1903   }
1904   /**
1905    *
1906    *
1907    * <pre>
1908    * This field is not available.
1909    * </pre>
1910    *
1911    * <code>optional string cloud_router_ipv6_interface_id = 521282701;</code>
1912    *
1913    * @return The cloudRouterIpv6InterfaceId.
1914    */
1915   @java.lang.Override
getCloudRouterIpv6InterfaceId()1916   public java.lang.String getCloudRouterIpv6InterfaceId() {
1917     java.lang.Object ref = cloudRouterIpv6InterfaceId_;
1918     if (ref instanceof java.lang.String) {
1919       return (java.lang.String) ref;
1920     } else {
1921       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1922       java.lang.String s = bs.toStringUtf8();
1923       cloudRouterIpv6InterfaceId_ = s;
1924       return s;
1925     }
1926   }
1927   /**
1928    *
1929    *
1930    * <pre>
1931    * This field is not available.
1932    * </pre>
1933    *
1934    * <code>optional string cloud_router_ipv6_interface_id = 521282701;</code>
1935    *
1936    * @return The bytes for cloudRouterIpv6InterfaceId.
1937    */
1938   @java.lang.Override
getCloudRouterIpv6InterfaceIdBytes()1939   public com.google.protobuf.ByteString getCloudRouterIpv6InterfaceIdBytes() {
1940     java.lang.Object ref = cloudRouterIpv6InterfaceId_;
1941     if (ref instanceof java.lang.String) {
1942       com.google.protobuf.ByteString b =
1943           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1944       cloudRouterIpv6InterfaceId_ = b;
1945       return b;
1946     } else {
1947       return (com.google.protobuf.ByteString) ref;
1948     }
1949   }
1950 
1951   public static final int CREATION_TIMESTAMP_FIELD_NUMBER = 30525366;
1952 
1953   @SuppressWarnings("serial")
1954   private volatile java.lang.Object creationTimestamp_ = "";
1955   /**
1956    *
1957    *
1958    * <pre>
1959    * [Output Only] Creation timestamp in RFC3339 text format.
1960    * </pre>
1961    *
1962    * <code>optional string creation_timestamp = 30525366;</code>
1963    *
1964    * @return Whether the creationTimestamp field is set.
1965    */
1966   @java.lang.Override
hasCreationTimestamp()1967   public boolean hasCreationTimestamp() {
1968     return ((bitField0_ & 0x00000020) != 0);
1969   }
1970   /**
1971    *
1972    *
1973    * <pre>
1974    * [Output Only] Creation timestamp in RFC3339 text format.
1975    * </pre>
1976    *
1977    * <code>optional string creation_timestamp = 30525366;</code>
1978    *
1979    * @return The creationTimestamp.
1980    */
1981   @java.lang.Override
getCreationTimestamp()1982   public java.lang.String getCreationTimestamp() {
1983     java.lang.Object ref = creationTimestamp_;
1984     if (ref instanceof java.lang.String) {
1985       return (java.lang.String) ref;
1986     } else {
1987       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1988       java.lang.String s = bs.toStringUtf8();
1989       creationTimestamp_ = s;
1990       return s;
1991     }
1992   }
1993   /**
1994    *
1995    *
1996    * <pre>
1997    * [Output Only] Creation timestamp in RFC3339 text format.
1998    * </pre>
1999    *
2000    * <code>optional string creation_timestamp = 30525366;</code>
2001    *
2002    * @return The bytes for creationTimestamp.
2003    */
2004   @java.lang.Override
getCreationTimestampBytes()2005   public com.google.protobuf.ByteString getCreationTimestampBytes() {
2006     java.lang.Object ref = creationTimestamp_;
2007     if (ref instanceof java.lang.String) {
2008       com.google.protobuf.ByteString b =
2009           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2010       creationTimestamp_ = b;
2011       return b;
2012     } else {
2013       return (com.google.protobuf.ByteString) ref;
2014     }
2015   }
2016 
2017   public static final int CUSTOMER_ROUTER_IP_ADDRESS_FIELD_NUMBER = 332475761;
2018 
2019   @SuppressWarnings("serial")
2020   private volatile java.lang.Object customerRouterIpAddress_ = "";
2021   /**
2022    *
2023    *
2024    * <pre>
2025    * [Output Only] IPv4 address + prefix length to be configured on the customer router subinterface for this interconnect attachment.
2026    * </pre>
2027    *
2028    * <code>optional string customer_router_ip_address = 332475761;</code>
2029    *
2030    * @return Whether the customerRouterIpAddress field is set.
2031    */
2032   @java.lang.Override
hasCustomerRouterIpAddress()2033   public boolean hasCustomerRouterIpAddress() {
2034     return ((bitField0_ & 0x00000040) != 0);
2035   }
2036   /**
2037    *
2038    *
2039    * <pre>
2040    * [Output Only] IPv4 address + prefix length to be configured on the customer router subinterface for this interconnect attachment.
2041    * </pre>
2042    *
2043    * <code>optional string customer_router_ip_address = 332475761;</code>
2044    *
2045    * @return The customerRouterIpAddress.
2046    */
2047   @java.lang.Override
getCustomerRouterIpAddress()2048   public java.lang.String getCustomerRouterIpAddress() {
2049     java.lang.Object ref = customerRouterIpAddress_;
2050     if (ref instanceof java.lang.String) {
2051       return (java.lang.String) ref;
2052     } else {
2053       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2054       java.lang.String s = bs.toStringUtf8();
2055       customerRouterIpAddress_ = s;
2056       return s;
2057     }
2058   }
2059   /**
2060    *
2061    *
2062    * <pre>
2063    * [Output Only] IPv4 address + prefix length to be configured on the customer router subinterface for this interconnect attachment.
2064    * </pre>
2065    *
2066    * <code>optional string customer_router_ip_address = 332475761;</code>
2067    *
2068    * @return The bytes for customerRouterIpAddress.
2069    */
2070   @java.lang.Override
getCustomerRouterIpAddressBytes()2071   public com.google.protobuf.ByteString getCustomerRouterIpAddressBytes() {
2072     java.lang.Object ref = customerRouterIpAddress_;
2073     if (ref instanceof java.lang.String) {
2074       com.google.protobuf.ByteString b =
2075           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2076       customerRouterIpAddress_ = b;
2077       return b;
2078     } else {
2079       return (com.google.protobuf.ByteString) ref;
2080     }
2081   }
2082 
2083   public static final int CUSTOMER_ROUTER_IPV6_ADDRESS_FIELD_NUMBER = 290127089;
2084 
2085   @SuppressWarnings("serial")
2086   private volatile java.lang.Object customerRouterIpv6Address_ = "";
2087   /**
2088    *
2089    *
2090    * <pre>
2091    * [Output Only] IPv6 address + prefix length to be configured on the customer router subinterface for this interconnect attachment.
2092    * </pre>
2093    *
2094    * <code>optional string customer_router_ipv6_address = 290127089;</code>
2095    *
2096    * @return Whether the customerRouterIpv6Address field is set.
2097    */
2098   @java.lang.Override
hasCustomerRouterIpv6Address()2099   public boolean hasCustomerRouterIpv6Address() {
2100     return ((bitField0_ & 0x00000080) != 0);
2101   }
2102   /**
2103    *
2104    *
2105    * <pre>
2106    * [Output Only] IPv6 address + prefix length to be configured on the customer router subinterface for this interconnect attachment.
2107    * </pre>
2108    *
2109    * <code>optional string customer_router_ipv6_address = 290127089;</code>
2110    *
2111    * @return The customerRouterIpv6Address.
2112    */
2113   @java.lang.Override
getCustomerRouterIpv6Address()2114   public java.lang.String getCustomerRouterIpv6Address() {
2115     java.lang.Object ref = customerRouterIpv6Address_;
2116     if (ref instanceof java.lang.String) {
2117       return (java.lang.String) ref;
2118     } else {
2119       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2120       java.lang.String s = bs.toStringUtf8();
2121       customerRouterIpv6Address_ = s;
2122       return s;
2123     }
2124   }
2125   /**
2126    *
2127    *
2128    * <pre>
2129    * [Output Only] IPv6 address + prefix length to be configured on the customer router subinterface for this interconnect attachment.
2130    * </pre>
2131    *
2132    * <code>optional string customer_router_ipv6_address = 290127089;</code>
2133    *
2134    * @return The bytes for customerRouterIpv6Address.
2135    */
2136   @java.lang.Override
getCustomerRouterIpv6AddressBytes()2137   public com.google.protobuf.ByteString getCustomerRouterIpv6AddressBytes() {
2138     java.lang.Object ref = customerRouterIpv6Address_;
2139     if (ref instanceof java.lang.String) {
2140       com.google.protobuf.ByteString b =
2141           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2142       customerRouterIpv6Address_ = b;
2143       return b;
2144     } else {
2145       return (com.google.protobuf.ByteString) ref;
2146     }
2147   }
2148 
2149   public static final int CUSTOMER_ROUTER_IPV6_INTERFACE_ID_FIELD_NUMBER = 380994308;
2150 
2151   @SuppressWarnings("serial")
2152   private volatile java.lang.Object customerRouterIpv6InterfaceId_ = "";
2153   /**
2154    *
2155    *
2156    * <pre>
2157    * This field is not available.
2158    * </pre>
2159    *
2160    * <code>optional string customer_router_ipv6_interface_id = 380994308;</code>
2161    *
2162    * @return Whether the customerRouterIpv6InterfaceId field is set.
2163    */
2164   @java.lang.Override
hasCustomerRouterIpv6InterfaceId()2165   public boolean hasCustomerRouterIpv6InterfaceId() {
2166     return ((bitField0_ & 0x00000100) != 0);
2167   }
2168   /**
2169    *
2170    *
2171    * <pre>
2172    * This field is not available.
2173    * </pre>
2174    *
2175    * <code>optional string customer_router_ipv6_interface_id = 380994308;</code>
2176    *
2177    * @return The customerRouterIpv6InterfaceId.
2178    */
2179   @java.lang.Override
getCustomerRouterIpv6InterfaceId()2180   public java.lang.String getCustomerRouterIpv6InterfaceId() {
2181     java.lang.Object ref = customerRouterIpv6InterfaceId_;
2182     if (ref instanceof java.lang.String) {
2183       return (java.lang.String) ref;
2184     } else {
2185       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2186       java.lang.String s = bs.toStringUtf8();
2187       customerRouterIpv6InterfaceId_ = s;
2188       return s;
2189     }
2190   }
2191   /**
2192    *
2193    *
2194    * <pre>
2195    * This field is not available.
2196    * </pre>
2197    *
2198    * <code>optional string customer_router_ipv6_interface_id = 380994308;</code>
2199    *
2200    * @return The bytes for customerRouterIpv6InterfaceId.
2201    */
2202   @java.lang.Override
getCustomerRouterIpv6InterfaceIdBytes()2203   public com.google.protobuf.ByteString getCustomerRouterIpv6InterfaceIdBytes() {
2204     java.lang.Object ref = customerRouterIpv6InterfaceId_;
2205     if (ref instanceof java.lang.String) {
2206       com.google.protobuf.ByteString b =
2207           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2208       customerRouterIpv6InterfaceId_ = b;
2209       return b;
2210     } else {
2211       return (com.google.protobuf.ByteString) ref;
2212     }
2213   }
2214 
2215   public static final int DATAPLANE_VERSION_FIELD_NUMBER = 34920075;
2216   private int dataplaneVersion_ = 0;
2217   /**
2218    *
2219    *
2220    * <pre>
2221    * [Output Only] Dataplane version for this InterconnectAttachment. This field is only present for Dataplane version 2 and higher. Absence of this field in the API output indicates that the Dataplane is version 1.
2222    * </pre>
2223    *
2224    * <code>optional int32 dataplane_version = 34920075;</code>
2225    *
2226    * @return Whether the dataplaneVersion field is set.
2227    */
2228   @java.lang.Override
hasDataplaneVersion()2229   public boolean hasDataplaneVersion() {
2230     return ((bitField0_ & 0x00000200) != 0);
2231   }
2232   /**
2233    *
2234    *
2235    * <pre>
2236    * [Output Only] Dataplane version for this InterconnectAttachment. This field is only present for Dataplane version 2 and higher. Absence of this field in the API output indicates that the Dataplane is version 1.
2237    * </pre>
2238    *
2239    * <code>optional int32 dataplane_version = 34920075;</code>
2240    *
2241    * @return The dataplaneVersion.
2242    */
2243   @java.lang.Override
getDataplaneVersion()2244   public int getDataplaneVersion() {
2245     return dataplaneVersion_;
2246   }
2247 
2248   public static final int DESCRIPTION_FIELD_NUMBER = 422937596;
2249 
2250   @SuppressWarnings("serial")
2251   private volatile java.lang.Object description_ = "";
2252   /**
2253    *
2254    *
2255    * <pre>
2256    * An optional description of this resource.
2257    * </pre>
2258    *
2259    * <code>optional string description = 422937596;</code>
2260    *
2261    * @return Whether the description field is set.
2262    */
2263   @java.lang.Override
hasDescription()2264   public boolean hasDescription() {
2265     return ((bitField0_ & 0x00000400) != 0);
2266   }
2267   /**
2268    *
2269    *
2270    * <pre>
2271    * An optional description of this resource.
2272    * </pre>
2273    *
2274    * <code>optional string description = 422937596;</code>
2275    *
2276    * @return The description.
2277    */
2278   @java.lang.Override
getDescription()2279   public java.lang.String getDescription() {
2280     java.lang.Object ref = description_;
2281     if (ref instanceof java.lang.String) {
2282       return (java.lang.String) ref;
2283     } else {
2284       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2285       java.lang.String s = bs.toStringUtf8();
2286       description_ = s;
2287       return s;
2288     }
2289   }
2290   /**
2291    *
2292    *
2293    * <pre>
2294    * An optional description of this resource.
2295    * </pre>
2296    *
2297    * <code>optional string description = 422937596;</code>
2298    *
2299    * @return The bytes for description.
2300    */
2301   @java.lang.Override
getDescriptionBytes()2302   public com.google.protobuf.ByteString getDescriptionBytes() {
2303     java.lang.Object ref = description_;
2304     if (ref instanceof java.lang.String) {
2305       com.google.protobuf.ByteString b =
2306           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2307       description_ = b;
2308       return b;
2309     } else {
2310       return (com.google.protobuf.ByteString) ref;
2311     }
2312   }
2313 
2314   public static final int EDGE_AVAILABILITY_DOMAIN_FIELD_NUMBER = 71289510;
2315 
2316   @SuppressWarnings("serial")
2317   private volatile java.lang.Object edgeAvailabilityDomain_ = "";
2318   /**
2319    *
2320    *
2321    * <pre>
2322    * Desired availability domain for the attachment. Only available for type PARTNER, at creation time, and can take one of the following values: - AVAILABILITY_DOMAIN_ANY - AVAILABILITY_DOMAIN_1 - AVAILABILITY_DOMAIN_2 For improved reliability, customers should configure a pair of attachments, one per availability domain. The selected availability domain will be provided to the Partner via the pairing key, so that the provisioned circuit will lie in the specified domain. If not specified, the value will default to AVAILABILITY_DOMAIN_ANY.
2323    * Check the EdgeAvailabilityDomain enum for the list of possible values.
2324    * </pre>
2325    *
2326    * <code>optional string edge_availability_domain = 71289510;</code>
2327    *
2328    * @return Whether the edgeAvailabilityDomain field is set.
2329    */
2330   @java.lang.Override
hasEdgeAvailabilityDomain()2331   public boolean hasEdgeAvailabilityDomain() {
2332     return ((bitField0_ & 0x00000800) != 0);
2333   }
2334   /**
2335    *
2336    *
2337    * <pre>
2338    * Desired availability domain for the attachment. Only available for type PARTNER, at creation time, and can take one of the following values: - AVAILABILITY_DOMAIN_ANY - AVAILABILITY_DOMAIN_1 - AVAILABILITY_DOMAIN_2 For improved reliability, customers should configure a pair of attachments, one per availability domain. The selected availability domain will be provided to the Partner via the pairing key, so that the provisioned circuit will lie in the specified domain. If not specified, the value will default to AVAILABILITY_DOMAIN_ANY.
2339    * Check the EdgeAvailabilityDomain enum for the list of possible values.
2340    * </pre>
2341    *
2342    * <code>optional string edge_availability_domain = 71289510;</code>
2343    *
2344    * @return The edgeAvailabilityDomain.
2345    */
2346   @java.lang.Override
getEdgeAvailabilityDomain()2347   public java.lang.String getEdgeAvailabilityDomain() {
2348     java.lang.Object ref = edgeAvailabilityDomain_;
2349     if (ref instanceof java.lang.String) {
2350       return (java.lang.String) ref;
2351     } else {
2352       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2353       java.lang.String s = bs.toStringUtf8();
2354       edgeAvailabilityDomain_ = s;
2355       return s;
2356     }
2357   }
2358   /**
2359    *
2360    *
2361    * <pre>
2362    * Desired availability domain for the attachment. Only available for type PARTNER, at creation time, and can take one of the following values: - AVAILABILITY_DOMAIN_ANY - AVAILABILITY_DOMAIN_1 - AVAILABILITY_DOMAIN_2 For improved reliability, customers should configure a pair of attachments, one per availability domain. The selected availability domain will be provided to the Partner via the pairing key, so that the provisioned circuit will lie in the specified domain. If not specified, the value will default to AVAILABILITY_DOMAIN_ANY.
2363    * Check the EdgeAvailabilityDomain enum for the list of possible values.
2364    * </pre>
2365    *
2366    * <code>optional string edge_availability_domain = 71289510;</code>
2367    *
2368    * @return The bytes for edgeAvailabilityDomain.
2369    */
2370   @java.lang.Override
getEdgeAvailabilityDomainBytes()2371   public com.google.protobuf.ByteString getEdgeAvailabilityDomainBytes() {
2372     java.lang.Object ref = edgeAvailabilityDomain_;
2373     if (ref instanceof java.lang.String) {
2374       com.google.protobuf.ByteString b =
2375           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2376       edgeAvailabilityDomain_ = b;
2377       return b;
2378     } else {
2379       return (com.google.protobuf.ByteString) ref;
2380     }
2381   }
2382 
2383   public static final int ENCRYPTION_FIELD_NUMBER = 97980291;
2384 
2385   @SuppressWarnings("serial")
2386   private volatile java.lang.Object encryption_ = "";
2387   /**
2388    *
2389    *
2390    * <pre>
2391    * Indicates the user-supplied encryption option of this VLAN attachment (interconnectAttachment). Can only be specified at attachment creation for PARTNER or DEDICATED attachments. Possible values are: - NONE - This is the default value, which means that the VLAN attachment carries unencrypted traffic. VMs are able to send traffic to, or receive traffic from, such a VLAN attachment. - IPSEC - The VLAN attachment carries only encrypted traffic that is encrypted by an IPsec device, such as an HA VPN gateway or third-party IPsec VPN. VMs cannot directly send traffic to, or receive traffic from, such a VLAN attachment. To use *HA VPN over Cloud Interconnect*, the VLAN attachment must be created with this option.
2392    * Check the Encryption enum for the list of possible values.
2393    * </pre>
2394    *
2395    * <code>optional string encryption = 97980291;</code>
2396    *
2397    * @return Whether the encryption field is set.
2398    */
2399   @java.lang.Override
hasEncryption()2400   public boolean hasEncryption() {
2401     return ((bitField0_ & 0x00001000) != 0);
2402   }
2403   /**
2404    *
2405    *
2406    * <pre>
2407    * Indicates the user-supplied encryption option of this VLAN attachment (interconnectAttachment). Can only be specified at attachment creation for PARTNER or DEDICATED attachments. Possible values are: - NONE - This is the default value, which means that the VLAN attachment carries unencrypted traffic. VMs are able to send traffic to, or receive traffic from, such a VLAN attachment. - IPSEC - The VLAN attachment carries only encrypted traffic that is encrypted by an IPsec device, such as an HA VPN gateway or third-party IPsec VPN. VMs cannot directly send traffic to, or receive traffic from, such a VLAN attachment. To use *HA VPN over Cloud Interconnect*, the VLAN attachment must be created with this option.
2408    * Check the Encryption enum for the list of possible values.
2409    * </pre>
2410    *
2411    * <code>optional string encryption = 97980291;</code>
2412    *
2413    * @return The encryption.
2414    */
2415   @java.lang.Override
getEncryption()2416   public java.lang.String getEncryption() {
2417     java.lang.Object ref = encryption_;
2418     if (ref instanceof java.lang.String) {
2419       return (java.lang.String) ref;
2420     } else {
2421       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2422       java.lang.String s = bs.toStringUtf8();
2423       encryption_ = s;
2424       return s;
2425     }
2426   }
2427   /**
2428    *
2429    *
2430    * <pre>
2431    * Indicates the user-supplied encryption option of this VLAN attachment (interconnectAttachment). Can only be specified at attachment creation for PARTNER or DEDICATED attachments. Possible values are: - NONE - This is the default value, which means that the VLAN attachment carries unencrypted traffic. VMs are able to send traffic to, or receive traffic from, such a VLAN attachment. - IPSEC - The VLAN attachment carries only encrypted traffic that is encrypted by an IPsec device, such as an HA VPN gateway or third-party IPsec VPN. VMs cannot directly send traffic to, or receive traffic from, such a VLAN attachment. To use *HA VPN over Cloud Interconnect*, the VLAN attachment must be created with this option.
2432    * Check the Encryption enum for the list of possible values.
2433    * </pre>
2434    *
2435    * <code>optional string encryption = 97980291;</code>
2436    *
2437    * @return The bytes for encryption.
2438    */
2439   @java.lang.Override
getEncryptionBytes()2440   public com.google.protobuf.ByteString getEncryptionBytes() {
2441     java.lang.Object ref = encryption_;
2442     if (ref instanceof java.lang.String) {
2443       com.google.protobuf.ByteString b =
2444           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2445       encryption_ = b;
2446       return b;
2447     } else {
2448       return (com.google.protobuf.ByteString) ref;
2449     }
2450   }
2451 
2452   public static final int GOOGLE_REFERENCE_ID_FIELD_NUMBER = 534944469;
2453 
2454   @SuppressWarnings("serial")
2455   private volatile java.lang.Object googleReferenceId_ = "";
2456   /**
2457    *
2458    *
2459    * <pre>
2460    * [Output Only] Google reference ID, to be used when raising support tickets with Google or otherwise to debug backend connectivity issues. [Deprecated] This field is not used.
2461    * </pre>
2462    *
2463    * <code>optional string google_reference_id = 534944469;</code>
2464    *
2465    * @return Whether the googleReferenceId field is set.
2466    */
2467   @java.lang.Override
hasGoogleReferenceId()2468   public boolean hasGoogleReferenceId() {
2469     return ((bitField0_ & 0x00002000) != 0);
2470   }
2471   /**
2472    *
2473    *
2474    * <pre>
2475    * [Output Only] Google reference ID, to be used when raising support tickets with Google or otherwise to debug backend connectivity issues. [Deprecated] This field is not used.
2476    * </pre>
2477    *
2478    * <code>optional string google_reference_id = 534944469;</code>
2479    *
2480    * @return The googleReferenceId.
2481    */
2482   @java.lang.Override
getGoogleReferenceId()2483   public java.lang.String getGoogleReferenceId() {
2484     java.lang.Object ref = googleReferenceId_;
2485     if (ref instanceof java.lang.String) {
2486       return (java.lang.String) ref;
2487     } else {
2488       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2489       java.lang.String s = bs.toStringUtf8();
2490       googleReferenceId_ = s;
2491       return s;
2492     }
2493   }
2494   /**
2495    *
2496    *
2497    * <pre>
2498    * [Output Only] Google reference ID, to be used when raising support tickets with Google or otherwise to debug backend connectivity issues. [Deprecated] This field is not used.
2499    * </pre>
2500    *
2501    * <code>optional string google_reference_id = 534944469;</code>
2502    *
2503    * @return The bytes for googleReferenceId.
2504    */
2505   @java.lang.Override
getGoogleReferenceIdBytes()2506   public com.google.protobuf.ByteString getGoogleReferenceIdBytes() {
2507     java.lang.Object ref = googleReferenceId_;
2508     if (ref instanceof java.lang.String) {
2509       com.google.protobuf.ByteString b =
2510           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2511       googleReferenceId_ = b;
2512       return b;
2513     } else {
2514       return (com.google.protobuf.ByteString) ref;
2515     }
2516   }
2517 
2518   public static final int ID_FIELD_NUMBER = 3355;
2519   private long id_ = 0L;
2520   /**
2521    *
2522    *
2523    * <pre>
2524    * [Output Only] The unique identifier for the resource. This identifier is defined by the server.
2525    * </pre>
2526    *
2527    * <code>optional uint64 id = 3355;</code>
2528    *
2529    * @return Whether the id field is set.
2530    */
2531   @java.lang.Override
hasId()2532   public boolean hasId() {
2533     return ((bitField0_ & 0x00004000) != 0);
2534   }
2535   /**
2536    *
2537    *
2538    * <pre>
2539    * [Output Only] The unique identifier for the resource. This identifier is defined by the server.
2540    * </pre>
2541    *
2542    * <code>optional uint64 id = 3355;</code>
2543    *
2544    * @return The id.
2545    */
2546   @java.lang.Override
getId()2547   public long getId() {
2548     return id_;
2549   }
2550 
2551   public static final int INTERCONNECT_FIELD_NUMBER = 224601230;
2552 
2553   @SuppressWarnings("serial")
2554   private volatile java.lang.Object interconnect_ = "";
2555   /**
2556    *
2557    *
2558    * <pre>
2559    * URL of the underlying Interconnect object that this attachment's traffic will traverse through.
2560    * </pre>
2561    *
2562    * <code>optional string interconnect = 224601230;</code>
2563    *
2564    * @return Whether the interconnect field is set.
2565    */
2566   @java.lang.Override
hasInterconnect()2567   public boolean hasInterconnect() {
2568     return ((bitField0_ & 0x00008000) != 0);
2569   }
2570   /**
2571    *
2572    *
2573    * <pre>
2574    * URL of the underlying Interconnect object that this attachment's traffic will traverse through.
2575    * </pre>
2576    *
2577    * <code>optional string interconnect = 224601230;</code>
2578    *
2579    * @return The interconnect.
2580    */
2581   @java.lang.Override
getInterconnect()2582   public java.lang.String getInterconnect() {
2583     java.lang.Object ref = interconnect_;
2584     if (ref instanceof java.lang.String) {
2585       return (java.lang.String) ref;
2586     } else {
2587       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2588       java.lang.String s = bs.toStringUtf8();
2589       interconnect_ = s;
2590       return s;
2591     }
2592   }
2593   /**
2594    *
2595    *
2596    * <pre>
2597    * URL of the underlying Interconnect object that this attachment's traffic will traverse through.
2598    * </pre>
2599    *
2600    * <code>optional string interconnect = 224601230;</code>
2601    *
2602    * @return The bytes for interconnect.
2603    */
2604   @java.lang.Override
getInterconnectBytes()2605   public com.google.protobuf.ByteString getInterconnectBytes() {
2606     java.lang.Object ref = interconnect_;
2607     if (ref instanceof java.lang.String) {
2608       com.google.protobuf.ByteString b =
2609           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2610       interconnect_ = b;
2611       return b;
2612     } else {
2613       return (com.google.protobuf.ByteString) ref;
2614     }
2615   }
2616 
2617   public static final int IPSEC_INTERNAL_ADDRESSES_FIELD_NUMBER = 407648565;
2618 
2619   @SuppressWarnings("serial")
2620   private com.google.protobuf.LazyStringList ipsecInternalAddresses_;
2621   /**
2622    *
2623    *
2624    * <pre>
2625    * A list of URLs of addresses that have been reserved for the VLAN attachment. Used only for the VLAN attachment that has the encryption option as IPSEC. The addresses must be regional internal IP address ranges. When creating an HA VPN gateway over the VLAN attachment, if the attachment is configured to use a regional internal IP address, then the VPN gateway's IP address is allocated from the IP address range specified here. For example, if the HA VPN gateway's interface 0 is paired to this VLAN attachment, then a regional internal IP address for the VPN gateway interface 0 will be allocated from the IP address specified for this VLAN attachment. If this field is not specified when creating the VLAN attachment, then later on when creating an HA VPN gateway on this VLAN attachment, the HA VPN gateway's IP address is allocated from the regional external IP address pool. Not currently available publicly.
2626    * </pre>
2627    *
2628    * <code>repeated string ipsec_internal_addresses = 407648565;</code>
2629    *
2630    * @return A list containing the ipsecInternalAddresses.
2631    */
getIpsecInternalAddressesList()2632   public com.google.protobuf.ProtocolStringList getIpsecInternalAddressesList() {
2633     return ipsecInternalAddresses_;
2634   }
2635   /**
2636    *
2637    *
2638    * <pre>
2639    * A list of URLs of addresses that have been reserved for the VLAN attachment. Used only for the VLAN attachment that has the encryption option as IPSEC. The addresses must be regional internal IP address ranges. When creating an HA VPN gateway over the VLAN attachment, if the attachment is configured to use a regional internal IP address, then the VPN gateway's IP address is allocated from the IP address range specified here. For example, if the HA VPN gateway's interface 0 is paired to this VLAN attachment, then a regional internal IP address for the VPN gateway interface 0 will be allocated from the IP address specified for this VLAN attachment. If this field is not specified when creating the VLAN attachment, then later on when creating an HA VPN gateway on this VLAN attachment, the HA VPN gateway's IP address is allocated from the regional external IP address pool. Not currently available publicly.
2640    * </pre>
2641    *
2642    * <code>repeated string ipsec_internal_addresses = 407648565;</code>
2643    *
2644    * @return The count of ipsecInternalAddresses.
2645    */
getIpsecInternalAddressesCount()2646   public int getIpsecInternalAddressesCount() {
2647     return ipsecInternalAddresses_.size();
2648   }
2649   /**
2650    *
2651    *
2652    * <pre>
2653    * A list of URLs of addresses that have been reserved for the VLAN attachment. Used only for the VLAN attachment that has the encryption option as IPSEC. The addresses must be regional internal IP address ranges. When creating an HA VPN gateway over the VLAN attachment, if the attachment is configured to use a regional internal IP address, then the VPN gateway's IP address is allocated from the IP address range specified here. For example, if the HA VPN gateway's interface 0 is paired to this VLAN attachment, then a regional internal IP address for the VPN gateway interface 0 will be allocated from the IP address specified for this VLAN attachment. If this field is not specified when creating the VLAN attachment, then later on when creating an HA VPN gateway on this VLAN attachment, the HA VPN gateway's IP address is allocated from the regional external IP address pool. Not currently available publicly.
2654    * </pre>
2655    *
2656    * <code>repeated string ipsec_internal_addresses = 407648565;</code>
2657    *
2658    * @param index The index of the element to return.
2659    * @return The ipsecInternalAddresses at the given index.
2660    */
getIpsecInternalAddresses(int index)2661   public java.lang.String getIpsecInternalAddresses(int index) {
2662     return ipsecInternalAddresses_.get(index);
2663   }
2664   /**
2665    *
2666    *
2667    * <pre>
2668    * A list of URLs of addresses that have been reserved for the VLAN attachment. Used only for the VLAN attachment that has the encryption option as IPSEC. The addresses must be regional internal IP address ranges. When creating an HA VPN gateway over the VLAN attachment, if the attachment is configured to use a regional internal IP address, then the VPN gateway's IP address is allocated from the IP address range specified here. For example, if the HA VPN gateway's interface 0 is paired to this VLAN attachment, then a regional internal IP address for the VPN gateway interface 0 will be allocated from the IP address specified for this VLAN attachment. If this field is not specified when creating the VLAN attachment, then later on when creating an HA VPN gateway on this VLAN attachment, the HA VPN gateway's IP address is allocated from the regional external IP address pool. Not currently available publicly.
2669    * </pre>
2670    *
2671    * <code>repeated string ipsec_internal_addresses = 407648565;</code>
2672    *
2673    * @param index The index of the value to return.
2674    * @return The bytes of the ipsecInternalAddresses at the given index.
2675    */
getIpsecInternalAddressesBytes(int index)2676   public com.google.protobuf.ByteString getIpsecInternalAddressesBytes(int index) {
2677     return ipsecInternalAddresses_.getByteString(index);
2678   }
2679 
2680   public static final int KIND_FIELD_NUMBER = 3292052;
2681 
2682   @SuppressWarnings("serial")
2683   private volatile java.lang.Object kind_ = "";
2684   /**
2685    *
2686    *
2687    * <pre>
2688    * [Output Only] Type of the resource. Always compute#interconnectAttachment for interconnect attachments.
2689    * </pre>
2690    *
2691    * <code>optional string kind = 3292052;</code>
2692    *
2693    * @return Whether the kind field is set.
2694    */
2695   @java.lang.Override
hasKind()2696   public boolean hasKind() {
2697     return ((bitField0_ & 0x00010000) != 0);
2698   }
2699   /**
2700    *
2701    *
2702    * <pre>
2703    * [Output Only] Type of the resource. Always compute#interconnectAttachment for interconnect attachments.
2704    * </pre>
2705    *
2706    * <code>optional string kind = 3292052;</code>
2707    *
2708    * @return The kind.
2709    */
2710   @java.lang.Override
getKind()2711   public java.lang.String getKind() {
2712     java.lang.Object ref = kind_;
2713     if (ref instanceof java.lang.String) {
2714       return (java.lang.String) ref;
2715     } else {
2716       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2717       java.lang.String s = bs.toStringUtf8();
2718       kind_ = s;
2719       return s;
2720     }
2721   }
2722   /**
2723    *
2724    *
2725    * <pre>
2726    * [Output Only] Type of the resource. Always compute#interconnectAttachment for interconnect attachments.
2727    * </pre>
2728    *
2729    * <code>optional string kind = 3292052;</code>
2730    *
2731    * @return The bytes for kind.
2732    */
2733   @java.lang.Override
getKindBytes()2734   public com.google.protobuf.ByteString getKindBytes() {
2735     java.lang.Object ref = kind_;
2736     if (ref instanceof java.lang.String) {
2737       com.google.protobuf.ByteString b =
2738           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2739       kind_ = b;
2740       return b;
2741     } else {
2742       return (com.google.protobuf.ByteString) ref;
2743     }
2744   }
2745 
2746   public static final int MTU_FIELD_NUMBER = 108462;
2747   private int mtu_ = 0;
2748   /**
2749    *
2750    *
2751    * <pre>
2752    * Maximum Transmission Unit (MTU), in bytes, of packets passing through this interconnect attachment. Only 1440 and 1500 are allowed. If not specified, the value will default to 1440.
2753    * </pre>
2754    *
2755    * <code>optional int32 mtu = 108462;</code>
2756    *
2757    * @return Whether the mtu field is set.
2758    */
2759   @java.lang.Override
hasMtu()2760   public boolean hasMtu() {
2761     return ((bitField0_ & 0x00020000) != 0);
2762   }
2763   /**
2764    *
2765    *
2766    * <pre>
2767    * Maximum Transmission Unit (MTU), in bytes, of packets passing through this interconnect attachment. Only 1440 and 1500 are allowed. If not specified, the value will default to 1440.
2768    * </pre>
2769    *
2770    * <code>optional int32 mtu = 108462;</code>
2771    *
2772    * @return The mtu.
2773    */
2774   @java.lang.Override
getMtu()2775   public int getMtu() {
2776     return mtu_;
2777   }
2778 
2779   public static final int NAME_FIELD_NUMBER = 3373707;
2780 
2781   @SuppressWarnings("serial")
2782   private volatile java.lang.Object name_ = "";
2783   /**
2784    *
2785    *
2786    * <pre>
2787    * Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
2788    * </pre>
2789    *
2790    * <code>optional string name = 3373707;</code>
2791    *
2792    * @return Whether the name field is set.
2793    */
2794   @java.lang.Override
hasName()2795   public boolean hasName() {
2796     return ((bitField0_ & 0x00040000) != 0);
2797   }
2798   /**
2799    *
2800    *
2801    * <pre>
2802    * Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
2803    * </pre>
2804    *
2805    * <code>optional string name = 3373707;</code>
2806    *
2807    * @return The name.
2808    */
2809   @java.lang.Override
getName()2810   public java.lang.String getName() {
2811     java.lang.Object ref = name_;
2812     if (ref instanceof java.lang.String) {
2813       return (java.lang.String) ref;
2814     } else {
2815       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2816       java.lang.String s = bs.toStringUtf8();
2817       name_ = s;
2818       return s;
2819     }
2820   }
2821   /**
2822    *
2823    *
2824    * <pre>
2825    * Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
2826    * </pre>
2827    *
2828    * <code>optional string name = 3373707;</code>
2829    *
2830    * @return The bytes for name.
2831    */
2832   @java.lang.Override
getNameBytes()2833   public com.google.protobuf.ByteString getNameBytes() {
2834     java.lang.Object ref = name_;
2835     if (ref instanceof java.lang.String) {
2836       com.google.protobuf.ByteString b =
2837           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2838       name_ = b;
2839       return b;
2840     } else {
2841       return (com.google.protobuf.ByteString) ref;
2842     }
2843   }
2844 
2845   public static final int OPERATIONAL_STATUS_FIELD_NUMBER = 201070847;
2846 
2847   @SuppressWarnings("serial")
2848   private volatile java.lang.Object operationalStatus_ = "";
2849   /**
2850    *
2851    *
2852    * <pre>
2853    * [Output Only] The current status of whether or not this interconnect attachment is functional, which can take one of the following values: - OS_ACTIVE: The attachment has been turned up and is ready to use. - OS_UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete.
2854    * Check the OperationalStatus enum for the list of possible values.
2855    * </pre>
2856    *
2857    * <code>optional string operational_status = 201070847;</code>
2858    *
2859    * @return Whether the operationalStatus field is set.
2860    */
2861   @java.lang.Override
hasOperationalStatus()2862   public boolean hasOperationalStatus() {
2863     return ((bitField0_ & 0x00080000) != 0);
2864   }
2865   /**
2866    *
2867    *
2868    * <pre>
2869    * [Output Only] The current status of whether or not this interconnect attachment is functional, which can take one of the following values: - OS_ACTIVE: The attachment has been turned up and is ready to use. - OS_UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete.
2870    * Check the OperationalStatus enum for the list of possible values.
2871    * </pre>
2872    *
2873    * <code>optional string operational_status = 201070847;</code>
2874    *
2875    * @return The operationalStatus.
2876    */
2877   @java.lang.Override
getOperationalStatus()2878   public java.lang.String getOperationalStatus() {
2879     java.lang.Object ref = operationalStatus_;
2880     if (ref instanceof java.lang.String) {
2881       return (java.lang.String) ref;
2882     } else {
2883       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2884       java.lang.String s = bs.toStringUtf8();
2885       operationalStatus_ = s;
2886       return s;
2887     }
2888   }
2889   /**
2890    *
2891    *
2892    * <pre>
2893    * [Output Only] The current status of whether or not this interconnect attachment is functional, which can take one of the following values: - OS_ACTIVE: The attachment has been turned up and is ready to use. - OS_UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete.
2894    * Check the OperationalStatus enum for the list of possible values.
2895    * </pre>
2896    *
2897    * <code>optional string operational_status = 201070847;</code>
2898    *
2899    * @return The bytes for operationalStatus.
2900    */
2901   @java.lang.Override
getOperationalStatusBytes()2902   public com.google.protobuf.ByteString getOperationalStatusBytes() {
2903     java.lang.Object ref = operationalStatus_;
2904     if (ref instanceof java.lang.String) {
2905       com.google.protobuf.ByteString b =
2906           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2907       operationalStatus_ = b;
2908       return b;
2909     } else {
2910       return (com.google.protobuf.ByteString) ref;
2911     }
2912   }
2913 
2914   public static final int PAIRING_KEY_FIELD_NUMBER = 439695464;
2915 
2916   @SuppressWarnings("serial")
2917   private volatile java.lang.Object pairingKey_ = "";
2918   /**
2919    *
2920    *
2921    * <pre>
2922    * [Output only for type PARTNER. Input only for PARTNER_PROVIDER. Not present for DEDICATED]. The opaque identifier of an PARTNER attachment used to initiate provisioning with a selected partner. Of the form "XXXXX/region/domain"
2923    * </pre>
2924    *
2925    * <code>optional string pairing_key = 439695464;</code>
2926    *
2927    * @return Whether the pairingKey field is set.
2928    */
2929   @java.lang.Override
hasPairingKey()2930   public boolean hasPairingKey() {
2931     return ((bitField0_ & 0x00100000) != 0);
2932   }
2933   /**
2934    *
2935    *
2936    * <pre>
2937    * [Output only for type PARTNER. Input only for PARTNER_PROVIDER. Not present for DEDICATED]. The opaque identifier of an PARTNER attachment used to initiate provisioning with a selected partner. Of the form "XXXXX/region/domain"
2938    * </pre>
2939    *
2940    * <code>optional string pairing_key = 439695464;</code>
2941    *
2942    * @return The pairingKey.
2943    */
2944   @java.lang.Override
getPairingKey()2945   public java.lang.String getPairingKey() {
2946     java.lang.Object ref = pairingKey_;
2947     if (ref instanceof java.lang.String) {
2948       return (java.lang.String) ref;
2949     } else {
2950       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2951       java.lang.String s = bs.toStringUtf8();
2952       pairingKey_ = s;
2953       return s;
2954     }
2955   }
2956   /**
2957    *
2958    *
2959    * <pre>
2960    * [Output only for type PARTNER. Input only for PARTNER_PROVIDER. Not present for DEDICATED]. The opaque identifier of an PARTNER attachment used to initiate provisioning with a selected partner. Of the form "XXXXX/region/domain"
2961    * </pre>
2962    *
2963    * <code>optional string pairing_key = 439695464;</code>
2964    *
2965    * @return The bytes for pairingKey.
2966    */
2967   @java.lang.Override
getPairingKeyBytes()2968   public com.google.protobuf.ByteString getPairingKeyBytes() {
2969     java.lang.Object ref = pairingKey_;
2970     if (ref instanceof java.lang.String) {
2971       com.google.protobuf.ByteString b =
2972           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2973       pairingKey_ = b;
2974       return b;
2975     } else {
2976       return (com.google.protobuf.ByteString) ref;
2977     }
2978   }
2979 
2980   public static final int PARTNER_ASN_FIELD_NUMBER = 438166149;
2981   private long partnerAsn_ = 0L;
2982   /**
2983    *
2984    *
2985    * <pre>
2986    * Optional BGP ASN for the router supplied by a Layer 3 Partner if they configured BGP on behalf of the customer. Output only for PARTNER type, input only for PARTNER_PROVIDER, not available for DEDICATED.
2987    * </pre>
2988    *
2989    * <code>optional int64 partner_asn = 438166149;</code>
2990    *
2991    * @return Whether the partnerAsn field is set.
2992    */
2993   @java.lang.Override
hasPartnerAsn()2994   public boolean hasPartnerAsn() {
2995     return ((bitField0_ & 0x00200000) != 0);
2996   }
2997   /**
2998    *
2999    *
3000    * <pre>
3001    * Optional BGP ASN for the router supplied by a Layer 3 Partner if they configured BGP on behalf of the customer. Output only for PARTNER type, input only for PARTNER_PROVIDER, not available for DEDICATED.
3002    * </pre>
3003    *
3004    * <code>optional int64 partner_asn = 438166149;</code>
3005    *
3006    * @return The partnerAsn.
3007    */
3008   @java.lang.Override
getPartnerAsn()3009   public long getPartnerAsn() {
3010     return partnerAsn_;
3011   }
3012 
3013   public static final int PARTNER_METADATA_FIELD_NUMBER = 65908934;
3014   private com.google.cloud.compute.v1.InterconnectAttachmentPartnerMetadata partnerMetadata_;
3015   /**
3016    *
3017    *
3018    * <pre>
3019    * Informational metadata about Partner attachments from Partners to display to customers. Output only for for PARTNER type, mutable for PARTNER_PROVIDER, not available for DEDICATED.
3020    * </pre>
3021    *
3022    * <code>
3023    * optional .google.cloud.compute.v1.InterconnectAttachmentPartnerMetadata partner_metadata = 65908934;
3024    * </code>
3025    *
3026    * @return Whether the partnerMetadata field is set.
3027    */
3028   @java.lang.Override
hasPartnerMetadata()3029   public boolean hasPartnerMetadata() {
3030     return ((bitField0_ & 0x00400000) != 0);
3031   }
3032   /**
3033    *
3034    *
3035    * <pre>
3036    * Informational metadata about Partner attachments from Partners to display to customers. Output only for for PARTNER type, mutable for PARTNER_PROVIDER, not available for DEDICATED.
3037    * </pre>
3038    *
3039    * <code>
3040    * optional .google.cloud.compute.v1.InterconnectAttachmentPartnerMetadata partner_metadata = 65908934;
3041    * </code>
3042    *
3043    * @return The partnerMetadata.
3044    */
3045   @java.lang.Override
getPartnerMetadata()3046   public com.google.cloud.compute.v1.InterconnectAttachmentPartnerMetadata getPartnerMetadata() {
3047     return partnerMetadata_ == null
3048         ? com.google.cloud.compute.v1.InterconnectAttachmentPartnerMetadata.getDefaultInstance()
3049         : partnerMetadata_;
3050   }
3051   /**
3052    *
3053    *
3054    * <pre>
3055    * Informational metadata about Partner attachments from Partners to display to customers. Output only for for PARTNER type, mutable for PARTNER_PROVIDER, not available for DEDICATED.
3056    * </pre>
3057    *
3058    * <code>
3059    * optional .google.cloud.compute.v1.InterconnectAttachmentPartnerMetadata partner_metadata = 65908934;
3060    * </code>
3061    */
3062   @java.lang.Override
3063   public com.google.cloud.compute.v1.InterconnectAttachmentPartnerMetadataOrBuilder
getPartnerMetadataOrBuilder()3064       getPartnerMetadataOrBuilder() {
3065     return partnerMetadata_ == null
3066         ? com.google.cloud.compute.v1.InterconnectAttachmentPartnerMetadata.getDefaultInstance()
3067         : partnerMetadata_;
3068   }
3069 
3070   public static final int PRIVATE_INTERCONNECT_INFO_FIELD_NUMBER = 237270531;
3071   private com.google.cloud.compute.v1.InterconnectAttachmentPrivateInfo privateInterconnectInfo_;
3072   /**
3073    *
3074    *
3075    * <pre>
3076    * [Output Only] Information specific to an InterconnectAttachment. This property is populated if the interconnect that this is attached to is of type DEDICATED.
3077    * </pre>
3078    *
3079    * <code>
3080    * optional .google.cloud.compute.v1.InterconnectAttachmentPrivateInfo private_interconnect_info = 237270531;
3081    * </code>
3082    *
3083    * @return Whether the privateInterconnectInfo field is set.
3084    */
3085   @java.lang.Override
hasPrivateInterconnectInfo()3086   public boolean hasPrivateInterconnectInfo() {
3087     return ((bitField0_ & 0x00800000) != 0);
3088   }
3089   /**
3090    *
3091    *
3092    * <pre>
3093    * [Output Only] Information specific to an InterconnectAttachment. This property is populated if the interconnect that this is attached to is of type DEDICATED.
3094    * </pre>
3095    *
3096    * <code>
3097    * optional .google.cloud.compute.v1.InterconnectAttachmentPrivateInfo private_interconnect_info = 237270531;
3098    * </code>
3099    *
3100    * @return The privateInterconnectInfo.
3101    */
3102   @java.lang.Override
3103   public com.google.cloud.compute.v1.InterconnectAttachmentPrivateInfo
getPrivateInterconnectInfo()3104       getPrivateInterconnectInfo() {
3105     return privateInterconnectInfo_ == null
3106         ? com.google.cloud.compute.v1.InterconnectAttachmentPrivateInfo.getDefaultInstance()
3107         : privateInterconnectInfo_;
3108   }
3109   /**
3110    *
3111    *
3112    * <pre>
3113    * [Output Only] Information specific to an InterconnectAttachment. This property is populated if the interconnect that this is attached to is of type DEDICATED.
3114    * </pre>
3115    *
3116    * <code>
3117    * optional .google.cloud.compute.v1.InterconnectAttachmentPrivateInfo private_interconnect_info = 237270531;
3118    * </code>
3119    */
3120   @java.lang.Override
3121   public com.google.cloud.compute.v1.InterconnectAttachmentPrivateInfoOrBuilder
getPrivateInterconnectInfoOrBuilder()3122       getPrivateInterconnectInfoOrBuilder() {
3123     return privateInterconnectInfo_ == null
3124         ? com.google.cloud.compute.v1.InterconnectAttachmentPrivateInfo.getDefaultInstance()
3125         : privateInterconnectInfo_;
3126   }
3127 
3128   public static final int REGION_FIELD_NUMBER = 138946292;
3129 
3130   @SuppressWarnings("serial")
3131   private volatile java.lang.Object region_ = "";
3132   /**
3133    *
3134    *
3135    * <pre>
3136    * [Output Only] URL of the region where the regional interconnect attachment resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
3137    * </pre>
3138    *
3139    * <code>optional string region = 138946292;</code>
3140    *
3141    * @return Whether the region field is set.
3142    */
3143   @java.lang.Override
hasRegion()3144   public boolean hasRegion() {
3145     return ((bitField0_ & 0x01000000) != 0);
3146   }
3147   /**
3148    *
3149    *
3150    * <pre>
3151    * [Output Only] URL of the region where the regional interconnect attachment resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
3152    * </pre>
3153    *
3154    * <code>optional string region = 138946292;</code>
3155    *
3156    * @return The region.
3157    */
3158   @java.lang.Override
getRegion()3159   public java.lang.String getRegion() {
3160     java.lang.Object ref = region_;
3161     if (ref instanceof java.lang.String) {
3162       return (java.lang.String) ref;
3163     } else {
3164       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
3165       java.lang.String s = bs.toStringUtf8();
3166       region_ = s;
3167       return s;
3168     }
3169   }
3170   /**
3171    *
3172    *
3173    * <pre>
3174    * [Output Only] URL of the region where the regional interconnect attachment resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
3175    * </pre>
3176    *
3177    * <code>optional string region = 138946292;</code>
3178    *
3179    * @return The bytes for region.
3180    */
3181   @java.lang.Override
getRegionBytes()3182   public com.google.protobuf.ByteString getRegionBytes() {
3183     java.lang.Object ref = region_;
3184     if (ref instanceof java.lang.String) {
3185       com.google.protobuf.ByteString b =
3186           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
3187       region_ = b;
3188       return b;
3189     } else {
3190       return (com.google.protobuf.ByteString) ref;
3191     }
3192   }
3193 
3194   public static final int ROUTER_FIELD_NUMBER = 148608841;
3195 
3196   @SuppressWarnings("serial")
3197   private volatile java.lang.Object router_ = "";
3198   /**
3199    *
3200    *
3201    * <pre>
3202    * URL of the Cloud Router to be used for dynamic routing. This router must be in the same region as this InterconnectAttachment. The InterconnectAttachment will automatically connect the Interconnect to the network &amp; region within which the Cloud Router is configured.
3203    * </pre>
3204    *
3205    * <code>optional string router = 148608841;</code>
3206    *
3207    * @return Whether the router field is set.
3208    */
3209   @java.lang.Override
hasRouter()3210   public boolean hasRouter() {
3211     return ((bitField0_ & 0x02000000) != 0);
3212   }
3213   /**
3214    *
3215    *
3216    * <pre>
3217    * URL of the Cloud Router to be used for dynamic routing. This router must be in the same region as this InterconnectAttachment. The InterconnectAttachment will automatically connect the Interconnect to the network &amp; region within which the Cloud Router is configured.
3218    * </pre>
3219    *
3220    * <code>optional string router = 148608841;</code>
3221    *
3222    * @return The router.
3223    */
3224   @java.lang.Override
getRouter()3225   public java.lang.String getRouter() {
3226     java.lang.Object ref = router_;
3227     if (ref instanceof java.lang.String) {
3228       return (java.lang.String) ref;
3229     } else {
3230       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
3231       java.lang.String s = bs.toStringUtf8();
3232       router_ = s;
3233       return s;
3234     }
3235   }
3236   /**
3237    *
3238    *
3239    * <pre>
3240    * URL of the Cloud Router to be used for dynamic routing. This router must be in the same region as this InterconnectAttachment. The InterconnectAttachment will automatically connect the Interconnect to the network &amp; region within which the Cloud Router is configured.
3241    * </pre>
3242    *
3243    * <code>optional string router = 148608841;</code>
3244    *
3245    * @return The bytes for router.
3246    */
3247   @java.lang.Override
getRouterBytes()3248   public com.google.protobuf.ByteString getRouterBytes() {
3249     java.lang.Object ref = router_;
3250     if (ref instanceof java.lang.String) {
3251       com.google.protobuf.ByteString b =
3252           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
3253       router_ = b;
3254       return b;
3255     } else {
3256       return (com.google.protobuf.ByteString) ref;
3257     }
3258   }
3259 
3260   public static final int SATISFIES_PZS_FIELD_NUMBER = 480964267;
3261   private boolean satisfiesPzs_ = false;
3262   /**
3263    *
3264    *
3265    * <pre>
3266    * [Output Only] Reserved for future use.
3267    * </pre>
3268    *
3269    * <code>optional bool satisfies_pzs = 480964267;</code>
3270    *
3271    * @return Whether the satisfiesPzs field is set.
3272    */
3273   @java.lang.Override
hasSatisfiesPzs()3274   public boolean hasSatisfiesPzs() {
3275     return ((bitField0_ & 0x04000000) != 0);
3276   }
3277   /**
3278    *
3279    *
3280    * <pre>
3281    * [Output Only] Reserved for future use.
3282    * </pre>
3283    *
3284    * <code>optional bool satisfies_pzs = 480964267;</code>
3285    *
3286    * @return The satisfiesPzs.
3287    */
3288   @java.lang.Override
getSatisfiesPzs()3289   public boolean getSatisfiesPzs() {
3290     return satisfiesPzs_;
3291   }
3292 
3293   public static final int SELF_LINK_FIELD_NUMBER = 456214797;
3294 
3295   @SuppressWarnings("serial")
3296   private volatile java.lang.Object selfLink_ = "";
3297   /**
3298    *
3299    *
3300    * <pre>
3301    * [Output Only] Server-defined URL for the resource.
3302    * </pre>
3303    *
3304    * <code>optional string self_link = 456214797;</code>
3305    *
3306    * @return Whether the selfLink field is set.
3307    */
3308   @java.lang.Override
hasSelfLink()3309   public boolean hasSelfLink() {
3310     return ((bitField0_ & 0x08000000) != 0);
3311   }
3312   /**
3313    *
3314    *
3315    * <pre>
3316    * [Output Only] Server-defined URL for the resource.
3317    * </pre>
3318    *
3319    * <code>optional string self_link = 456214797;</code>
3320    *
3321    * @return The selfLink.
3322    */
3323   @java.lang.Override
getSelfLink()3324   public java.lang.String getSelfLink() {
3325     java.lang.Object ref = selfLink_;
3326     if (ref instanceof java.lang.String) {
3327       return (java.lang.String) ref;
3328     } else {
3329       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
3330       java.lang.String s = bs.toStringUtf8();
3331       selfLink_ = s;
3332       return s;
3333     }
3334   }
3335   /**
3336    *
3337    *
3338    * <pre>
3339    * [Output Only] Server-defined URL for the resource.
3340    * </pre>
3341    *
3342    * <code>optional string self_link = 456214797;</code>
3343    *
3344    * @return The bytes for selfLink.
3345    */
3346   @java.lang.Override
getSelfLinkBytes()3347   public com.google.protobuf.ByteString getSelfLinkBytes() {
3348     java.lang.Object ref = selfLink_;
3349     if (ref instanceof java.lang.String) {
3350       com.google.protobuf.ByteString b =
3351           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
3352       selfLink_ = b;
3353       return b;
3354     } else {
3355       return (com.google.protobuf.ByteString) ref;
3356     }
3357   }
3358 
3359   public static final int STACK_TYPE_FIELD_NUMBER = 425908881;
3360 
3361   @SuppressWarnings("serial")
3362   private volatile java.lang.Object stackType_ = "";
3363   /**
3364    *
3365    *
3366    * <pre>
3367    * The stack type for this interconnect attachment to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used. This field can be both set at interconnect attachments creation and update interconnect attachment operations.
3368    * Check the StackType enum for the list of possible values.
3369    * </pre>
3370    *
3371    * <code>optional string stack_type = 425908881;</code>
3372    *
3373    * @return Whether the stackType field is set.
3374    */
3375   @java.lang.Override
hasStackType()3376   public boolean hasStackType() {
3377     return ((bitField0_ & 0x10000000) != 0);
3378   }
3379   /**
3380    *
3381    *
3382    * <pre>
3383    * The stack type for this interconnect attachment to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used. This field can be both set at interconnect attachments creation and update interconnect attachment operations.
3384    * Check the StackType enum for the list of possible values.
3385    * </pre>
3386    *
3387    * <code>optional string stack_type = 425908881;</code>
3388    *
3389    * @return The stackType.
3390    */
3391   @java.lang.Override
getStackType()3392   public java.lang.String getStackType() {
3393     java.lang.Object ref = stackType_;
3394     if (ref instanceof java.lang.String) {
3395       return (java.lang.String) ref;
3396     } else {
3397       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
3398       java.lang.String s = bs.toStringUtf8();
3399       stackType_ = s;
3400       return s;
3401     }
3402   }
3403   /**
3404    *
3405    *
3406    * <pre>
3407    * The stack type for this interconnect attachment to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used. This field can be both set at interconnect attachments creation and update interconnect attachment operations.
3408    * Check the StackType enum for the list of possible values.
3409    * </pre>
3410    *
3411    * <code>optional string stack_type = 425908881;</code>
3412    *
3413    * @return The bytes for stackType.
3414    */
3415   @java.lang.Override
getStackTypeBytes()3416   public com.google.protobuf.ByteString getStackTypeBytes() {
3417     java.lang.Object ref = stackType_;
3418     if (ref instanceof java.lang.String) {
3419       com.google.protobuf.ByteString b =
3420           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
3421       stackType_ = b;
3422       return b;
3423     } else {
3424       return (com.google.protobuf.ByteString) ref;
3425     }
3426   }
3427 
3428   public static final int STATE_FIELD_NUMBER = 109757585;
3429 
3430   @SuppressWarnings("serial")
3431   private volatile java.lang.Object state_ = "";
3432   /**
3433    *
3434    *
3435    * <pre>
3436    * [Output Only] The current state of this attachment's functionality. Enum values ACTIVE and UNPROVISIONED are shared by DEDICATED/PRIVATE, PARTNER, and PARTNER_PROVIDER interconnect attachments, while enum values PENDING_PARTNER, PARTNER_REQUEST_RECEIVED, and PENDING_CUSTOMER are used for only PARTNER and PARTNER_PROVIDER interconnect attachments. This state can take one of the following values: - ACTIVE: The attachment has been turned up and is ready to use. - UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete. - PENDING_PARTNER: A newly-created PARTNER attachment that has not yet been configured on the Partner side. - PARTNER_REQUEST_RECEIVED: A PARTNER attachment is in the process of provisioning after a PARTNER_PROVIDER attachment was created that references it. - PENDING_CUSTOMER: A PARTNER or PARTNER_PROVIDER attachment that is waiting for a customer to activate it. - DEFUNCT: The attachment was deleted externally and is no longer functional. This could be because the associated Interconnect was removed, or because the other side of a Partner attachment was deleted.
3437    * Check the State enum for the list of possible values.
3438    * </pre>
3439    *
3440    * <code>optional string state = 109757585;</code>
3441    *
3442    * @return Whether the state field is set.
3443    */
3444   @java.lang.Override
hasState()3445   public boolean hasState() {
3446     return ((bitField0_ & 0x20000000) != 0);
3447   }
3448   /**
3449    *
3450    *
3451    * <pre>
3452    * [Output Only] The current state of this attachment's functionality. Enum values ACTIVE and UNPROVISIONED are shared by DEDICATED/PRIVATE, PARTNER, and PARTNER_PROVIDER interconnect attachments, while enum values PENDING_PARTNER, PARTNER_REQUEST_RECEIVED, and PENDING_CUSTOMER are used for only PARTNER and PARTNER_PROVIDER interconnect attachments. This state can take one of the following values: - ACTIVE: The attachment has been turned up and is ready to use. - UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete. - PENDING_PARTNER: A newly-created PARTNER attachment that has not yet been configured on the Partner side. - PARTNER_REQUEST_RECEIVED: A PARTNER attachment is in the process of provisioning after a PARTNER_PROVIDER attachment was created that references it. - PENDING_CUSTOMER: A PARTNER or PARTNER_PROVIDER attachment that is waiting for a customer to activate it. - DEFUNCT: The attachment was deleted externally and is no longer functional. This could be because the associated Interconnect was removed, or because the other side of a Partner attachment was deleted.
3453    * Check the State enum for the list of possible values.
3454    * </pre>
3455    *
3456    * <code>optional string state = 109757585;</code>
3457    *
3458    * @return The state.
3459    */
3460   @java.lang.Override
getState()3461   public java.lang.String getState() {
3462     java.lang.Object ref = state_;
3463     if (ref instanceof java.lang.String) {
3464       return (java.lang.String) ref;
3465     } else {
3466       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
3467       java.lang.String s = bs.toStringUtf8();
3468       state_ = s;
3469       return s;
3470     }
3471   }
3472   /**
3473    *
3474    *
3475    * <pre>
3476    * [Output Only] The current state of this attachment's functionality. Enum values ACTIVE and UNPROVISIONED are shared by DEDICATED/PRIVATE, PARTNER, and PARTNER_PROVIDER interconnect attachments, while enum values PENDING_PARTNER, PARTNER_REQUEST_RECEIVED, and PENDING_CUSTOMER are used for only PARTNER and PARTNER_PROVIDER interconnect attachments. This state can take one of the following values: - ACTIVE: The attachment has been turned up and is ready to use. - UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete. - PENDING_PARTNER: A newly-created PARTNER attachment that has not yet been configured on the Partner side. - PARTNER_REQUEST_RECEIVED: A PARTNER attachment is in the process of provisioning after a PARTNER_PROVIDER attachment was created that references it. - PENDING_CUSTOMER: A PARTNER or PARTNER_PROVIDER attachment that is waiting for a customer to activate it. - DEFUNCT: The attachment was deleted externally and is no longer functional. This could be because the associated Interconnect was removed, or because the other side of a Partner attachment was deleted.
3477    * Check the State enum for the list of possible values.
3478    * </pre>
3479    *
3480    * <code>optional string state = 109757585;</code>
3481    *
3482    * @return The bytes for state.
3483    */
3484   @java.lang.Override
getStateBytes()3485   public com.google.protobuf.ByteString getStateBytes() {
3486     java.lang.Object ref = state_;
3487     if (ref instanceof java.lang.String) {
3488       com.google.protobuf.ByteString b =
3489           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
3490       state_ = b;
3491       return b;
3492     } else {
3493       return (com.google.protobuf.ByteString) ref;
3494     }
3495   }
3496 
3497   public static final int TYPE_FIELD_NUMBER = 3575610;
3498 
3499   @SuppressWarnings("serial")
3500   private volatile java.lang.Object type_ = "";
3501   /**
3502    *
3503    *
3504    * <pre>
3505    * The type of interconnect attachment this is, which can take one of the following values: - DEDICATED: an attachment to a Dedicated Interconnect. - PARTNER: an attachment to a Partner Interconnect, created by the customer. - PARTNER_PROVIDER: an attachment to a Partner Interconnect, created by the partner.
3506    * Check the Type enum for the list of possible values.
3507    * </pre>
3508    *
3509    * <code>optional string type = 3575610;</code>
3510    *
3511    * @return Whether the type field is set.
3512    */
3513   @java.lang.Override
hasType()3514   public boolean hasType() {
3515     return ((bitField0_ & 0x40000000) != 0);
3516   }
3517   /**
3518    *
3519    *
3520    * <pre>
3521    * The type of interconnect attachment this is, which can take one of the following values: - DEDICATED: an attachment to a Dedicated Interconnect. - PARTNER: an attachment to a Partner Interconnect, created by the customer. - PARTNER_PROVIDER: an attachment to a Partner Interconnect, created by the partner.
3522    * Check the Type enum for the list of possible values.
3523    * </pre>
3524    *
3525    * <code>optional string type = 3575610;</code>
3526    *
3527    * @return The type.
3528    */
3529   @java.lang.Override
getType()3530   public java.lang.String getType() {
3531     java.lang.Object ref = type_;
3532     if (ref instanceof java.lang.String) {
3533       return (java.lang.String) ref;
3534     } else {
3535       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
3536       java.lang.String s = bs.toStringUtf8();
3537       type_ = s;
3538       return s;
3539     }
3540   }
3541   /**
3542    *
3543    *
3544    * <pre>
3545    * The type of interconnect attachment this is, which can take one of the following values: - DEDICATED: an attachment to a Dedicated Interconnect. - PARTNER: an attachment to a Partner Interconnect, created by the customer. - PARTNER_PROVIDER: an attachment to a Partner Interconnect, created by the partner.
3546    * Check the Type enum for the list of possible values.
3547    * </pre>
3548    *
3549    * <code>optional string type = 3575610;</code>
3550    *
3551    * @return The bytes for type.
3552    */
3553   @java.lang.Override
getTypeBytes()3554   public com.google.protobuf.ByteString getTypeBytes() {
3555     java.lang.Object ref = type_;
3556     if (ref instanceof java.lang.String) {
3557       com.google.protobuf.ByteString b =
3558           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
3559       type_ = b;
3560       return b;
3561     } else {
3562       return (com.google.protobuf.ByteString) ref;
3563     }
3564   }
3565 
3566   public static final int VLAN_TAG8021Q_FIELD_NUMBER = 119927836;
3567   private int vlanTag8021Q_ = 0;
3568   /**
3569    *
3570    *
3571    * <pre>
3572    * The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4093. Only specified at creation time.
3573    * </pre>
3574    *
3575    * <code>optional int32 vlan_tag8021q = 119927836;</code>
3576    *
3577    * @return Whether the vlanTag8021q field is set.
3578    */
3579   @java.lang.Override
hasVlanTag8021Q()3580   public boolean hasVlanTag8021Q() {
3581     return ((bitField0_ & 0x80000000) != 0);
3582   }
3583   /**
3584    *
3585    *
3586    * <pre>
3587    * The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4093. Only specified at creation time.
3588    * </pre>
3589    *
3590    * <code>optional int32 vlan_tag8021q = 119927836;</code>
3591    *
3592    * @return The vlanTag8021q.
3593    */
3594   @java.lang.Override
getVlanTag8021Q()3595   public int getVlanTag8021Q() {
3596     return vlanTag8021Q_;
3597   }
3598 
3599   private byte memoizedIsInitialized = -1;
3600 
3601   @java.lang.Override
isInitialized()3602   public final boolean isInitialized() {
3603     byte isInitialized = memoizedIsInitialized;
3604     if (isInitialized == 1) return true;
3605     if (isInitialized == 0) return false;
3606 
3607     memoizedIsInitialized = 1;
3608     return true;
3609   }
3610 
3611   @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)3612   public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
3613     if (((bitField0_ & 0x00004000) != 0)) {
3614       output.writeUInt64(3355, id_);
3615     }
3616     if (((bitField0_ & 0x00020000) != 0)) {
3617       output.writeInt32(108462, mtu_);
3618     }
3619     if (((bitField0_ & 0x00010000) != 0)) {
3620       com.google.protobuf.GeneratedMessageV3.writeString(output, 3292052, kind_);
3621     }
3622     if (((bitField0_ & 0x00040000) != 0)) {
3623       com.google.protobuf.GeneratedMessageV3.writeString(output, 3373707, name_);
3624     }
3625     if (((bitField0_ & 0x40000000) != 0)) {
3626       com.google.protobuf.GeneratedMessageV3.writeString(output, 3575610, type_);
3627     }
3628     if (((bitField0_ & 0x00000020) != 0)) {
3629       com.google.protobuf.GeneratedMessageV3.writeString(output, 30525366, creationTimestamp_);
3630     }
3631     if (((bitField0_ & 0x00000200) != 0)) {
3632       output.writeInt32(34920075, dataplaneVersion_);
3633     }
3634     if (((bitField0_ & 0x00400000) != 0)) {
3635       output.writeMessage(65908934, getPartnerMetadata());
3636     }
3637     for (int i = 0; i < candidateIpv6Subnets_.size(); i++) {
3638       com.google.protobuf.GeneratedMessageV3.writeString(
3639           output, 70682522, candidateIpv6Subnets_.getRaw(i));
3640     }
3641     if (((bitField0_ & 0x00000800) != 0)) {
3642       com.google.protobuf.GeneratedMessageV3.writeString(output, 71289510, edgeAvailabilityDomain_);
3643     }
3644     if (((bitField0_ & 0x00001000) != 0)) {
3645       com.google.protobuf.GeneratedMessageV3.writeString(output, 97980291, encryption_);
3646     }
3647     if (((bitField0_ & 0x20000000) != 0)) {
3648       com.google.protobuf.GeneratedMessageV3.writeString(output, 109757585, state_);
3649     }
3650     if (((bitField0_ & 0x80000000) != 0)) {
3651       output.writeInt32(119927836, vlanTag8021Q_);
3652     }
3653     if (((bitField0_ & 0x01000000) != 0)) {
3654       com.google.protobuf.GeneratedMessageV3.writeString(output, 138946292, region_);
3655     }
3656     if (((bitField0_ & 0x02000000) != 0)) {
3657       com.google.protobuf.GeneratedMessageV3.writeString(output, 148608841, router_);
3658     }
3659     if (((bitField0_ & 0x00000002) != 0)) {
3660       com.google.protobuf.GeneratedMessageV3.writeString(output, 181715121, bandwidth_);
3661     }
3662     if (((bitField0_ & 0x00080000) != 0)) {
3663       com.google.protobuf.GeneratedMessageV3.writeString(output, 201070847, operationalStatus_);
3664     }
3665     if (((bitField0_ & 0x00008000) != 0)) {
3666       com.google.protobuf.GeneratedMessageV3.writeString(output, 224601230, interconnect_);
3667     }
3668     if (((bitField0_ & 0x00800000) != 0)) {
3669       output.writeMessage(237270531, getPrivateInterconnectInfo());
3670     }
3671     for (int i = 0; i < candidateSubnets_.size(); i++) {
3672       com.google.protobuf.GeneratedMessageV3.writeString(
3673           output, 237842938, candidateSubnets_.getRaw(i));
3674     }
3675     if (((bitField0_ & 0x00000004) != 0)) {
3676       com.google.protobuf.GeneratedMessageV3.writeString(output, 287392776, cloudRouterIpAddress_);
3677     }
3678     if (((bitField0_ & 0x00000080) != 0)) {
3679       com.google.protobuf.GeneratedMessageV3.writeString(
3680           output, 290127089, customerRouterIpv6Address_);
3681     }
3682     if (((bitField0_ & 0x00000040) != 0)) {
3683       com.google.protobuf.GeneratedMessageV3.writeString(
3684           output, 332475761, customerRouterIpAddress_);
3685     }
3686     if (((bitField0_ & 0x00000100) != 0)) {
3687       com.google.protobuf.GeneratedMessageV3.writeString(
3688           output, 380994308, customerRouterIpv6InterfaceId_);
3689     }
3690     for (int i = 0; i < ipsecInternalAddresses_.size(); i++) {
3691       com.google.protobuf.GeneratedMessageV3.writeString(
3692           output, 407648565, ipsecInternalAddresses_.getRaw(i));
3693     }
3694     if (((bitField0_ & 0x00000400) != 0)) {
3695       com.google.protobuf.GeneratedMessageV3.writeString(output, 422937596, description_);
3696     }
3697     if (((bitField0_ & 0x10000000) != 0)) {
3698       com.google.protobuf.GeneratedMessageV3.writeString(output, 425908881, stackType_);
3699     }
3700     if (((bitField0_ & 0x00200000) != 0)) {
3701       output.writeInt64(438166149, partnerAsn_);
3702     }
3703     if (((bitField0_ & 0x00100000) != 0)) {
3704       com.google.protobuf.GeneratedMessageV3.writeString(output, 439695464, pairingKey_);
3705     }
3706     if (((bitField0_ & 0x00000001) != 0)) {
3707       output.writeBool(445675089, adminEnabled_);
3708     }
3709     if (((bitField0_ & 0x00000008) != 0)) {
3710       com.google.protobuf.GeneratedMessageV3.writeString(
3711           output, 451922376, cloudRouterIpv6Address_);
3712     }
3713     if (((bitField0_ & 0x08000000) != 0)) {
3714       com.google.protobuf.GeneratedMessageV3.writeString(output, 456214797, selfLink_);
3715     }
3716     if (((bitField0_ & 0x04000000) != 0)) {
3717       output.writeBool(480964267, satisfiesPzs_);
3718     }
3719     if (((bitField0_ & 0x00000010) != 0)) {
3720       com.google.protobuf.GeneratedMessageV3.writeString(
3721           output, 521282701, cloudRouterIpv6InterfaceId_);
3722     }
3723     if (((bitField0_ & 0x00002000) != 0)) {
3724       com.google.protobuf.GeneratedMessageV3.writeString(output, 534944469, googleReferenceId_);
3725     }
3726     getUnknownFields().writeTo(output);
3727   }
3728 
3729   @java.lang.Override
getSerializedSize()3730   public int getSerializedSize() {
3731     int size = memoizedSize;
3732     if (size != -1) return size;
3733 
3734     size = 0;
3735     if (((bitField0_ & 0x00004000) != 0)) {
3736       size += com.google.protobuf.CodedOutputStream.computeUInt64Size(3355, id_);
3737     }
3738     if (((bitField0_ & 0x00020000) != 0)) {
3739       size += com.google.protobuf.CodedOutputStream.computeInt32Size(108462, mtu_);
3740     }
3741     if (((bitField0_ & 0x00010000) != 0)) {
3742       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3292052, kind_);
3743     }
3744     if (((bitField0_ & 0x00040000) != 0)) {
3745       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3373707, name_);
3746     }
3747     if (((bitField0_ & 0x40000000) != 0)) {
3748       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3575610, type_);
3749     }
3750     if (((bitField0_ & 0x00000020) != 0)) {
3751       size +=
3752           com.google.protobuf.GeneratedMessageV3.computeStringSize(30525366, creationTimestamp_);
3753     }
3754     if (((bitField0_ & 0x00000200) != 0)) {
3755       size += com.google.protobuf.CodedOutputStream.computeInt32Size(34920075, dataplaneVersion_);
3756     }
3757     if (((bitField0_ & 0x00400000) != 0)) {
3758       size +=
3759           com.google.protobuf.CodedOutputStream.computeMessageSize(65908934, getPartnerMetadata());
3760     }
3761     {
3762       int dataSize = 0;
3763       for (int i = 0; i < candidateIpv6Subnets_.size(); i++) {
3764         dataSize += computeStringSizeNoTag(candidateIpv6Subnets_.getRaw(i));
3765       }
3766       size += dataSize;
3767       size += 5 * getCandidateIpv6SubnetsList().size();
3768     }
3769     if (((bitField0_ & 0x00000800) != 0)) {
3770       size +=
3771           com.google.protobuf.GeneratedMessageV3.computeStringSize(
3772               71289510, edgeAvailabilityDomain_);
3773     }
3774     if (((bitField0_ & 0x00001000) != 0)) {
3775       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(97980291, encryption_);
3776     }
3777     if (((bitField0_ & 0x20000000) != 0)) {
3778       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(109757585, state_);
3779     }
3780     if (((bitField0_ & 0x80000000) != 0)) {
3781       size += com.google.protobuf.CodedOutputStream.computeInt32Size(119927836, vlanTag8021Q_);
3782     }
3783     if (((bitField0_ & 0x01000000) != 0)) {
3784       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(138946292, region_);
3785     }
3786     if (((bitField0_ & 0x02000000) != 0)) {
3787       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(148608841, router_);
3788     }
3789     if (((bitField0_ & 0x00000002) != 0)) {
3790       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(181715121, bandwidth_);
3791     }
3792     if (((bitField0_ & 0x00080000) != 0)) {
3793       size +=
3794           com.google.protobuf.GeneratedMessageV3.computeStringSize(201070847, operationalStatus_);
3795     }
3796     if (((bitField0_ & 0x00008000) != 0)) {
3797       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(224601230, interconnect_);
3798     }
3799     if (((bitField0_ & 0x00800000) != 0)) {
3800       size +=
3801           com.google.protobuf.CodedOutputStream.computeMessageSize(
3802               237270531, getPrivateInterconnectInfo());
3803     }
3804     {
3805       int dataSize = 0;
3806       for (int i = 0; i < candidateSubnets_.size(); i++) {
3807         dataSize += computeStringSizeNoTag(candidateSubnets_.getRaw(i));
3808       }
3809       size += dataSize;
3810       size += 5 * getCandidateSubnetsList().size();
3811     }
3812     if (((bitField0_ & 0x00000004) != 0)) {
3813       size +=
3814           com.google.protobuf.GeneratedMessageV3.computeStringSize(
3815               287392776, cloudRouterIpAddress_);
3816     }
3817     if (((bitField0_ & 0x00000080) != 0)) {
3818       size +=
3819           com.google.protobuf.GeneratedMessageV3.computeStringSize(
3820               290127089, customerRouterIpv6Address_);
3821     }
3822     if (((bitField0_ & 0x00000040) != 0)) {
3823       size +=
3824           com.google.protobuf.GeneratedMessageV3.computeStringSize(
3825               332475761, customerRouterIpAddress_);
3826     }
3827     if (((bitField0_ & 0x00000100) != 0)) {
3828       size +=
3829           com.google.protobuf.GeneratedMessageV3.computeStringSize(
3830               380994308, customerRouterIpv6InterfaceId_);
3831     }
3832     {
3833       int dataSize = 0;
3834       for (int i = 0; i < ipsecInternalAddresses_.size(); i++) {
3835         dataSize += computeStringSizeNoTag(ipsecInternalAddresses_.getRaw(i));
3836       }
3837       size += dataSize;
3838       size += 5 * getIpsecInternalAddressesList().size();
3839     }
3840     if (((bitField0_ & 0x00000400) != 0)) {
3841       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(422937596, description_);
3842     }
3843     if (((bitField0_ & 0x10000000) != 0)) {
3844       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(425908881, stackType_);
3845     }
3846     if (((bitField0_ & 0x00200000) != 0)) {
3847       size += com.google.protobuf.CodedOutputStream.computeInt64Size(438166149, partnerAsn_);
3848     }
3849     if (((bitField0_ & 0x00100000) != 0)) {
3850       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(439695464, pairingKey_);
3851     }
3852     if (((bitField0_ & 0x00000001) != 0)) {
3853       size += com.google.protobuf.CodedOutputStream.computeBoolSize(445675089, adminEnabled_);
3854     }
3855     if (((bitField0_ & 0x00000008) != 0)) {
3856       size +=
3857           com.google.protobuf.GeneratedMessageV3.computeStringSize(
3858               451922376, cloudRouterIpv6Address_);
3859     }
3860     if (((bitField0_ & 0x08000000) != 0)) {
3861       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(456214797, selfLink_);
3862     }
3863     if (((bitField0_ & 0x04000000) != 0)) {
3864       size += com.google.protobuf.CodedOutputStream.computeBoolSize(480964267, satisfiesPzs_);
3865     }
3866     if (((bitField0_ & 0x00000010) != 0)) {
3867       size +=
3868           com.google.protobuf.GeneratedMessageV3.computeStringSize(
3869               521282701, cloudRouterIpv6InterfaceId_);
3870     }
3871     if (((bitField0_ & 0x00002000) != 0)) {
3872       size +=
3873           com.google.protobuf.GeneratedMessageV3.computeStringSize(534944469, googleReferenceId_);
3874     }
3875     size += getUnknownFields().getSerializedSize();
3876     memoizedSize = size;
3877     return size;
3878   }
3879 
3880   @java.lang.Override
equals(final java.lang.Object obj)3881   public boolean equals(final java.lang.Object obj) {
3882     if (obj == this) {
3883       return true;
3884     }
3885     if (!(obj instanceof com.google.cloud.compute.v1.InterconnectAttachment)) {
3886       return super.equals(obj);
3887     }
3888     com.google.cloud.compute.v1.InterconnectAttachment other =
3889         (com.google.cloud.compute.v1.InterconnectAttachment) obj;
3890 
3891     if (hasAdminEnabled() != other.hasAdminEnabled()) return false;
3892     if (hasAdminEnabled()) {
3893       if (getAdminEnabled() != other.getAdminEnabled()) return false;
3894     }
3895     if (hasBandwidth() != other.hasBandwidth()) return false;
3896     if (hasBandwidth()) {
3897       if (!getBandwidth().equals(other.getBandwidth())) return false;
3898     }
3899     if (!getCandidateIpv6SubnetsList().equals(other.getCandidateIpv6SubnetsList())) return false;
3900     if (!getCandidateSubnetsList().equals(other.getCandidateSubnetsList())) return false;
3901     if (hasCloudRouterIpAddress() != other.hasCloudRouterIpAddress()) return false;
3902     if (hasCloudRouterIpAddress()) {
3903       if (!getCloudRouterIpAddress().equals(other.getCloudRouterIpAddress())) return false;
3904     }
3905     if (hasCloudRouterIpv6Address() != other.hasCloudRouterIpv6Address()) return false;
3906     if (hasCloudRouterIpv6Address()) {
3907       if (!getCloudRouterIpv6Address().equals(other.getCloudRouterIpv6Address())) return false;
3908     }
3909     if (hasCloudRouterIpv6InterfaceId() != other.hasCloudRouterIpv6InterfaceId()) return false;
3910     if (hasCloudRouterIpv6InterfaceId()) {
3911       if (!getCloudRouterIpv6InterfaceId().equals(other.getCloudRouterIpv6InterfaceId()))
3912         return false;
3913     }
3914     if (hasCreationTimestamp() != other.hasCreationTimestamp()) return false;
3915     if (hasCreationTimestamp()) {
3916       if (!getCreationTimestamp().equals(other.getCreationTimestamp())) return false;
3917     }
3918     if (hasCustomerRouterIpAddress() != other.hasCustomerRouterIpAddress()) return false;
3919     if (hasCustomerRouterIpAddress()) {
3920       if (!getCustomerRouterIpAddress().equals(other.getCustomerRouterIpAddress())) return false;
3921     }
3922     if (hasCustomerRouterIpv6Address() != other.hasCustomerRouterIpv6Address()) return false;
3923     if (hasCustomerRouterIpv6Address()) {
3924       if (!getCustomerRouterIpv6Address().equals(other.getCustomerRouterIpv6Address()))
3925         return false;
3926     }
3927     if (hasCustomerRouterIpv6InterfaceId() != other.hasCustomerRouterIpv6InterfaceId())
3928       return false;
3929     if (hasCustomerRouterIpv6InterfaceId()) {
3930       if (!getCustomerRouterIpv6InterfaceId().equals(other.getCustomerRouterIpv6InterfaceId()))
3931         return false;
3932     }
3933     if (hasDataplaneVersion() != other.hasDataplaneVersion()) return false;
3934     if (hasDataplaneVersion()) {
3935       if (getDataplaneVersion() != other.getDataplaneVersion()) return false;
3936     }
3937     if (hasDescription() != other.hasDescription()) return false;
3938     if (hasDescription()) {
3939       if (!getDescription().equals(other.getDescription())) return false;
3940     }
3941     if (hasEdgeAvailabilityDomain() != other.hasEdgeAvailabilityDomain()) return false;
3942     if (hasEdgeAvailabilityDomain()) {
3943       if (!getEdgeAvailabilityDomain().equals(other.getEdgeAvailabilityDomain())) return false;
3944     }
3945     if (hasEncryption() != other.hasEncryption()) return false;
3946     if (hasEncryption()) {
3947       if (!getEncryption().equals(other.getEncryption())) return false;
3948     }
3949     if (hasGoogleReferenceId() != other.hasGoogleReferenceId()) return false;
3950     if (hasGoogleReferenceId()) {
3951       if (!getGoogleReferenceId().equals(other.getGoogleReferenceId())) return false;
3952     }
3953     if (hasId() != other.hasId()) return false;
3954     if (hasId()) {
3955       if (getId() != other.getId()) return false;
3956     }
3957     if (hasInterconnect() != other.hasInterconnect()) return false;
3958     if (hasInterconnect()) {
3959       if (!getInterconnect().equals(other.getInterconnect())) return false;
3960     }
3961     if (!getIpsecInternalAddressesList().equals(other.getIpsecInternalAddressesList()))
3962       return false;
3963     if (hasKind() != other.hasKind()) return false;
3964     if (hasKind()) {
3965       if (!getKind().equals(other.getKind())) return false;
3966     }
3967     if (hasMtu() != other.hasMtu()) return false;
3968     if (hasMtu()) {
3969       if (getMtu() != other.getMtu()) return false;
3970     }
3971     if (hasName() != other.hasName()) return false;
3972     if (hasName()) {
3973       if (!getName().equals(other.getName())) return false;
3974     }
3975     if (hasOperationalStatus() != other.hasOperationalStatus()) return false;
3976     if (hasOperationalStatus()) {
3977       if (!getOperationalStatus().equals(other.getOperationalStatus())) return false;
3978     }
3979     if (hasPairingKey() != other.hasPairingKey()) return false;
3980     if (hasPairingKey()) {
3981       if (!getPairingKey().equals(other.getPairingKey())) return false;
3982     }
3983     if (hasPartnerAsn() != other.hasPartnerAsn()) return false;
3984     if (hasPartnerAsn()) {
3985       if (getPartnerAsn() != other.getPartnerAsn()) return false;
3986     }
3987     if (hasPartnerMetadata() != other.hasPartnerMetadata()) return false;
3988     if (hasPartnerMetadata()) {
3989       if (!getPartnerMetadata().equals(other.getPartnerMetadata())) return false;
3990     }
3991     if (hasPrivateInterconnectInfo() != other.hasPrivateInterconnectInfo()) return false;
3992     if (hasPrivateInterconnectInfo()) {
3993       if (!getPrivateInterconnectInfo().equals(other.getPrivateInterconnectInfo())) return false;
3994     }
3995     if (hasRegion() != other.hasRegion()) return false;
3996     if (hasRegion()) {
3997       if (!getRegion().equals(other.getRegion())) return false;
3998     }
3999     if (hasRouter() != other.hasRouter()) return false;
4000     if (hasRouter()) {
4001       if (!getRouter().equals(other.getRouter())) return false;
4002     }
4003     if (hasSatisfiesPzs() != other.hasSatisfiesPzs()) return false;
4004     if (hasSatisfiesPzs()) {
4005       if (getSatisfiesPzs() != other.getSatisfiesPzs()) return false;
4006     }
4007     if (hasSelfLink() != other.hasSelfLink()) return false;
4008     if (hasSelfLink()) {
4009       if (!getSelfLink().equals(other.getSelfLink())) return false;
4010     }
4011     if (hasStackType() != other.hasStackType()) return false;
4012     if (hasStackType()) {
4013       if (!getStackType().equals(other.getStackType())) return false;
4014     }
4015     if (hasState() != other.hasState()) return false;
4016     if (hasState()) {
4017       if (!getState().equals(other.getState())) return false;
4018     }
4019     if (hasType() != other.hasType()) return false;
4020     if (hasType()) {
4021       if (!getType().equals(other.getType())) return false;
4022     }
4023     if (hasVlanTag8021Q() != other.hasVlanTag8021Q()) return false;
4024     if (hasVlanTag8021Q()) {
4025       if (getVlanTag8021Q() != other.getVlanTag8021Q()) return false;
4026     }
4027     if (!getUnknownFields().equals(other.getUnknownFields())) return false;
4028     return true;
4029   }
4030 
4031   @java.lang.Override
hashCode()4032   public int hashCode() {
4033     if (memoizedHashCode != 0) {
4034       return memoizedHashCode;
4035     }
4036     int hash = 41;
4037     hash = (19 * hash) + getDescriptor().hashCode();
4038     if (hasAdminEnabled()) {
4039       hash = (37 * hash) + ADMIN_ENABLED_FIELD_NUMBER;
4040       hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getAdminEnabled());
4041     }
4042     if (hasBandwidth()) {
4043       hash = (37 * hash) + BANDWIDTH_FIELD_NUMBER;
4044       hash = (53 * hash) + getBandwidth().hashCode();
4045     }
4046     if (getCandidateIpv6SubnetsCount() > 0) {
4047       hash = (37 * hash) + CANDIDATE_IPV6_SUBNETS_FIELD_NUMBER;
4048       hash = (53 * hash) + getCandidateIpv6SubnetsList().hashCode();
4049     }
4050     if (getCandidateSubnetsCount() > 0) {
4051       hash = (37 * hash) + CANDIDATE_SUBNETS_FIELD_NUMBER;
4052       hash = (53 * hash) + getCandidateSubnetsList().hashCode();
4053     }
4054     if (hasCloudRouterIpAddress()) {
4055       hash = (37 * hash) + CLOUD_ROUTER_IP_ADDRESS_FIELD_NUMBER;
4056       hash = (53 * hash) + getCloudRouterIpAddress().hashCode();
4057     }
4058     if (hasCloudRouterIpv6Address()) {
4059       hash = (37 * hash) + CLOUD_ROUTER_IPV6_ADDRESS_FIELD_NUMBER;
4060       hash = (53 * hash) + getCloudRouterIpv6Address().hashCode();
4061     }
4062     if (hasCloudRouterIpv6InterfaceId()) {
4063       hash = (37 * hash) + CLOUD_ROUTER_IPV6_INTERFACE_ID_FIELD_NUMBER;
4064       hash = (53 * hash) + getCloudRouterIpv6InterfaceId().hashCode();
4065     }
4066     if (hasCreationTimestamp()) {
4067       hash = (37 * hash) + CREATION_TIMESTAMP_FIELD_NUMBER;
4068       hash = (53 * hash) + getCreationTimestamp().hashCode();
4069     }
4070     if (hasCustomerRouterIpAddress()) {
4071       hash = (37 * hash) + CUSTOMER_ROUTER_IP_ADDRESS_FIELD_NUMBER;
4072       hash = (53 * hash) + getCustomerRouterIpAddress().hashCode();
4073     }
4074     if (hasCustomerRouterIpv6Address()) {
4075       hash = (37 * hash) + CUSTOMER_ROUTER_IPV6_ADDRESS_FIELD_NUMBER;
4076       hash = (53 * hash) + getCustomerRouterIpv6Address().hashCode();
4077     }
4078     if (hasCustomerRouterIpv6InterfaceId()) {
4079       hash = (37 * hash) + CUSTOMER_ROUTER_IPV6_INTERFACE_ID_FIELD_NUMBER;
4080       hash = (53 * hash) + getCustomerRouterIpv6InterfaceId().hashCode();
4081     }
4082     if (hasDataplaneVersion()) {
4083       hash = (37 * hash) + DATAPLANE_VERSION_FIELD_NUMBER;
4084       hash = (53 * hash) + getDataplaneVersion();
4085     }
4086     if (hasDescription()) {
4087       hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER;
4088       hash = (53 * hash) + getDescription().hashCode();
4089     }
4090     if (hasEdgeAvailabilityDomain()) {
4091       hash = (37 * hash) + EDGE_AVAILABILITY_DOMAIN_FIELD_NUMBER;
4092       hash = (53 * hash) + getEdgeAvailabilityDomain().hashCode();
4093     }
4094     if (hasEncryption()) {
4095       hash = (37 * hash) + ENCRYPTION_FIELD_NUMBER;
4096       hash = (53 * hash) + getEncryption().hashCode();
4097     }
4098     if (hasGoogleReferenceId()) {
4099       hash = (37 * hash) + GOOGLE_REFERENCE_ID_FIELD_NUMBER;
4100       hash = (53 * hash) + getGoogleReferenceId().hashCode();
4101     }
4102     if (hasId()) {
4103       hash = (37 * hash) + ID_FIELD_NUMBER;
4104       hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getId());
4105     }
4106     if (hasInterconnect()) {
4107       hash = (37 * hash) + INTERCONNECT_FIELD_NUMBER;
4108       hash = (53 * hash) + getInterconnect().hashCode();
4109     }
4110     if (getIpsecInternalAddressesCount() > 0) {
4111       hash = (37 * hash) + IPSEC_INTERNAL_ADDRESSES_FIELD_NUMBER;
4112       hash = (53 * hash) + getIpsecInternalAddressesList().hashCode();
4113     }
4114     if (hasKind()) {
4115       hash = (37 * hash) + KIND_FIELD_NUMBER;
4116       hash = (53 * hash) + getKind().hashCode();
4117     }
4118     if (hasMtu()) {
4119       hash = (37 * hash) + MTU_FIELD_NUMBER;
4120       hash = (53 * hash) + getMtu();
4121     }
4122     if (hasName()) {
4123       hash = (37 * hash) + NAME_FIELD_NUMBER;
4124       hash = (53 * hash) + getName().hashCode();
4125     }
4126     if (hasOperationalStatus()) {
4127       hash = (37 * hash) + OPERATIONAL_STATUS_FIELD_NUMBER;
4128       hash = (53 * hash) + getOperationalStatus().hashCode();
4129     }
4130     if (hasPairingKey()) {
4131       hash = (37 * hash) + PAIRING_KEY_FIELD_NUMBER;
4132       hash = (53 * hash) + getPairingKey().hashCode();
4133     }
4134     if (hasPartnerAsn()) {
4135       hash = (37 * hash) + PARTNER_ASN_FIELD_NUMBER;
4136       hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getPartnerAsn());
4137     }
4138     if (hasPartnerMetadata()) {
4139       hash = (37 * hash) + PARTNER_METADATA_FIELD_NUMBER;
4140       hash = (53 * hash) + getPartnerMetadata().hashCode();
4141     }
4142     if (hasPrivateInterconnectInfo()) {
4143       hash = (37 * hash) + PRIVATE_INTERCONNECT_INFO_FIELD_NUMBER;
4144       hash = (53 * hash) + getPrivateInterconnectInfo().hashCode();
4145     }
4146     if (hasRegion()) {
4147       hash = (37 * hash) + REGION_FIELD_NUMBER;
4148       hash = (53 * hash) + getRegion().hashCode();
4149     }
4150     if (hasRouter()) {
4151       hash = (37 * hash) + ROUTER_FIELD_NUMBER;
4152       hash = (53 * hash) + getRouter().hashCode();
4153     }
4154     if (hasSatisfiesPzs()) {
4155       hash = (37 * hash) + SATISFIES_PZS_FIELD_NUMBER;
4156       hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getSatisfiesPzs());
4157     }
4158     if (hasSelfLink()) {
4159       hash = (37 * hash) + SELF_LINK_FIELD_NUMBER;
4160       hash = (53 * hash) + getSelfLink().hashCode();
4161     }
4162     if (hasStackType()) {
4163       hash = (37 * hash) + STACK_TYPE_FIELD_NUMBER;
4164       hash = (53 * hash) + getStackType().hashCode();
4165     }
4166     if (hasState()) {
4167       hash = (37 * hash) + STATE_FIELD_NUMBER;
4168       hash = (53 * hash) + getState().hashCode();
4169     }
4170     if (hasType()) {
4171       hash = (37 * hash) + TYPE_FIELD_NUMBER;
4172       hash = (53 * hash) + getType().hashCode();
4173     }
4174     if (hasVlanTag8021Q()) {
4175       hash = (37 * hash) + VLAN_TAG8021Q_FIELD_NUMBER;
4176       hash = (53 * hash) + getVlanTag8021Q();
4177     }
4178     hash = (29 * hash) + getUnknownFields().hashCode();
4179     memoizedHashCode = hash;
4180     return hash;
4181   }
4182 
parseFrom( java.nio.ByteBuffer data)4183   public static com.google.cloud.compute.v1.InterconnectAttachment parseFrom(
4184       java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
4185     return PARSER.parseFrom(data);
4186   }
4187 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)4188   public static com.google.cloud.compute.v1.InterconnectAttachment parseFrom(
4189       java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4190       throws com.google.protobuf.InvalidProtocolBufferException {
4191     return PARSER.parseFrom(data, extensionRegistry);
4192   }
4193 
parseFrom( com.google.protobuf.ByteString data)4194   public static com.google.cloud.compute.v1.InterconnectAttachment parseFrom(
4195       com.google.protobuf.ByteString data)
4196       throws com.google.protobuf.InvalidProtocolBufferException {
4197     return PARSER.parseFrom(data);
4198   }
4199 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)4200   public static com.google.cloud.compute.v1.InterconnectAttachment parseFrom(
4201       com.google.protobuf.ByteString data,
4202       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4203       throws com.google.protobuf.InvalidProtocolBufferException {
4204     return PARSER.parseFrom(data, extensionRegistry);
4205   }
4206 
parseFrom(byte[] data)4207   public static com.google.cloud.compute.v1.InterconnectAttachment parseFrom(byte[] data)
4208       throws com.google.protobuf.InvalidProtocolBufferException {
4209     return PARSER.parseFrom(data);
4210   }
4211 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)4212   public static com.google.cloud.compute.v1.InterconnectAttachment parseFrom(
4213       byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4214       throws com.google.protobuf.InvalidProtocolBufferException {
4215     return PARSER.parseFrom(data, extensionRegistry);
4216   }
4217 
parseFrom( java.io.InputStream input)4218   public static com.google.cloud.compute.v1.InterconnectAttachment parseFrom(
4219       java.io.InputStream input) throws java.io.IOException {
4220     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
4221   }
4222 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)4223   public static com.google.cloud.compute.v1.InterconnectAttachment parseFrom(
4224       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4225       throws java.io.IOException {
4226     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
4227         PARSER, input, extensionRegistry);
4228   }
4229 
parseDelimitedFrom( java.io.InputStream input)4230   public static com.google.cloud.compute.v1.InterconnectAttachment parseDelimitedFrom(
4231       java.io.InputStream input) throws java.io.IOException {
4232     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
4233   }
4234 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)4235   public static com.google.cloud.compute.v1.InterconnectAttachment parseDelimitedFrom(
4236       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4237       throws java.io.IOException {
4238     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
4239         PARSER, input, extensionRegistry);
4240   }
4241 
parseFrom( com.google.protobuf.CodedInputStream input)4242   public static com.google.cloud.compute.v1.InterconnectAttachment parseFrom(
4243       com.google.protobuf.CodedInputStream input) throws java.io.IOException {
4244     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
4245   }
4246 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)4247   public static com.google.cloud.compute.v1.InterconnectAttachment parseFrom(
4248       com.google.protobuf.CodedInputStream input,
4249       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4250       throws java.io.IOException {
4251     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
4252         PARSER, input, extensionRegistry);
4253   }
4254 
4255   @java.lang.Override
newBuilderForType()4256   public Builder newBuilderForType() {
4257     return newBuilder();
4258   }
4259 
newBuilder()4260   public static Builder newBuilder() {
4261     return DEFAULT_INSTANCE.toBuilder();
4262   }
4263 
newBuilder(com.google.cloud.compute.v1.InterconnectAttachment prototype)4264   public static Builder newBuilder(com.google.cloud.compute.v1.InterconnectAttachment prototype) {
4265     return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
4266   }
4267 
4268   @java.lang.Override
toBuilder()4269   public Builder toBuilder() {
4270     return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
4271   }
4272 
4273   @java.lang.Override
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)4274   protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
4275     Builder builder = new Builder(parent);
4276     return builder;
4277   }
4278   /**
4279    *
4280    *
4281    * <pre>
4282    * Represents an Interconnect Attachment (VLAN) resource. You can use Interconnect attachments (VLANS) to connect your Virtual Private Cloud networks to your on-premises networks through an Interconnect. For more information, read Creating VLAN Attachments.
4283    * </pre>
4284    *
4285    * Protobuf type {@code google.cloud.compute.v1.InterconnectAttachment}
4286    */
4287   public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
4288       implements
4289       // @@protoc_insertion_point(builder_implements:google.cloud.compute.v1.InterconnectAttachment)
4290       com.google.cloud.compute.v1.InterconnectAttachmentOrBuilder {
getDescriptor()4291     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
4292       return com.google.cloud.compute.v1.Compute
4293           .internal_static_google_cloud_compute_v1_InterconnectAttachment_descriptor;
4294     }
4295 
4296     @java.lang.Override
4297     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()4298         internalGetFieldAccessorTable() {
4299       return com.google.cloud.compute.v1.Compute
4300           .internal_static_google_cloud_compute_v1_InterconnectAttachment_fieldAccessorTable
4301           .ensureFieldAccessorsInitialized(
4302               com.google.cloud.compute.v1.InterconnectAttachment.class,
4303               com.google.cloud.compute.v1.InterconnectAttachment.Builder.class);
4304     }
4305 
4306     // Construct using com.google.cloud.compute.v1.InterconnectAttachment.newBuilder()
Builder()4307     private Builder() {
4308       maybeForceBuilderInitialization();
4309     }
4310 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)4311     private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
4312       super(parent);
4313       maybeForceBuilderInitialization();
4314     }
4315 
maybeForceBuilderInitialization()4316     private void maybeForceBuilderInitialization() {
4317       if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
4318         getPartnerMetadataFieldBuilder();
4319         getPrivateInterconnectInfoFieldBuilder();
4320       }
4321     }
4322 
4323     @java.lang.Override
clear()4324     public Builder clear() {
4325       super.clear();
4326       bitField0_ = 0;
4327       bitField1_ = 0;
4328       adminEnabled_ = false;
4329       bandwidth_ = "";
4330       candidateIpv6Subnets_ = com.google.protobuf.LazyStringArrayList.EMPTY;
4331       bitField0_ = (bitField0_ & ~0x00000004);
4332       candidateSubnets_ = com.google.protobuf.LazyStringArrayList.EMPTY;
4333       bitField0_ = (bitField0_ & ~0x00000008);
4334       cloudRouterIpAddress_ = "";
4335       cloudRouterIpv6Address_ = "";
4336       cloudRouterIpv6InterfaceId_ = "";
4337       creationTimestamp_ = "";
4338       customerRouterIpAddress_ = "";
4339       customerRouterIpv6Address_ = "";
4340       customerRouterIpv6InterfaceId_ = "";
4341       dataplaneVersion_ = 0;
4342       description_ = "";
4343       edgeAvailabilityDomain_ = "";
4344       encryption_ = "";
4345       googleReferenceId_ = "";
4346       id_ = 0L;
4347       interconnect_ = "";
4348       ipsecInternalAddresses_ = com.google.protobuf.LazyStringArrayList.EMPTY;
4349       bitField0_ = (bitField0_ & ~0x00040000);
4350       kind_ = "";
4351       mtu_ = 0;
4352       name_ = "";
4353       operationalStatus_ = "";
4354       pairingKey_ = "";
4355       partnerAsn_ = 0L;
4356       partnerMetadata_ = null;
4357       if (partnerMetadataBuilder_ != null) {
4358         partnerMetadataBuilder_.dispose();
4359         partnerMetadataBuilder_ = null;
4360       }
4361       privateInterconnectInfo_ = null;
4362       if (privateInterconnectInfoBuilder_ != null) {
4363         privateInterconnectInfoBuilder_.dispose();
4364         privateInterconnectInfoBuilder_ = null;
4365       }
4366       region_ = "";
4367       router_ = "";
4368       satisfiesPzs_ = false;
4369       selfLink_ = "";
4370       stackType_ = "";
4371       state_ = "";
4372       type_ = "";
4373       vlanTag8021Q_ = 0;
4374       return this;
4375     }
4376 
4377     @java.lang.Override
getDescriptorForType()4378     public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
4379       return com.google.cloud.compute.v1.Compute
4380           .internal_static_google_cloud_compute_v1_InterconnectAttachment_descriptor;
4381     }
4382 
4383     @java.lang.Override
getDefaultInstanceForType()4384     public com.google.cloud.compute.v1.InterconnectAttachment getDefaultInstanceForType() {
4385       return com.google.cloud.compute.v1.InterconnectAttachment.getDefaultInstance();
4386     }
4387 
4388     @java.lang.Override
build()4389     public com.google.cloud.compute.v1.InterconnectAttachment build() {
4390       com.google.cloud.compute.v1.InterconnectAttachment result = buildPartial();
4391       if (!result.isInitialized()) {
4392         throw newUninitializedMessageException(result);
4393       }
4394       return result;
4395     }
4396 
4397     @java.lang.Override
buildPartial()4398     public com.google.cloud.compute.v1.InterconnectAttachment buildPartial() {
4399       com.google.cloud.compute.v1.InterconnectAttachment result =
4400           new com.google.cloud.compute.v1.InterconnectAttachment(this);
4401       buildPartialRepeatedFields(result);
4402       if (bitField0_ != 0) {
4403         buildPartial0(result);
4404       }
4405       if (bitField1_ != 0) {
4406         buildPartial1(result);
4407       }
4408       onBuilt();
4409       return result;
4410     }
4411 
buildPartialRepeatedFields( com.google.cloud.compute.v1.InterconnectAttachment result)4412     private void buildPartialRepeatedFields(
4413         com.google.cloud.compute.v1.InterconnectAttachment result) {
4414       if (((bitField0_ & 0x00000004) != 0)) {
4415         candidateIpv6Subnets_ = candidateIpv6Subnets_.getUnmodifiableView();
4416         bitField0_ = (bitField0_ & ~0x00000004);
4417       }
4418       result.candidateIpv6Subnets_ = candidateIpv6Subnets_;
4419       if (((bitField0_ & 0x00000008) != 0)) {
4420         candidateSubnets_ = candidateSubnets_.getUnmodifiableView();
4421         bitField0_ = (bitField0_ & ~0x00000008);
4422       }
4423       result.candidateSubnets_ = candidateSubnets_;
4424       if (((bitField0_ & 0x00040000) != 0)) {
4425         ipsecInternalAddresses_ = ipsecInternalAddresses_.getUnmodifiableView();
4426         bitField0_ = (bitField0_ & ~0x00040000);
4427       }
4428       result.ipsecInternalAddresses_ = ipsecInternalAddresses_;
4429     }
4430 
buildPartial0(com.google.cloud.compute.v1.InterconnectAttachment result)4431     private void buildPartial0(com.google.cloud.compute.v1.InterconnectAttachment result) {
4432       int from_bitField0_ = bitField0_;
4433       int to_bitField0_ = 0;
4434       if (((from_bitField0_ & 0x00000001) != 0)) {
4435         result.adminEnabled_ = adminEnabled_;
4436         to_bitField0_ |= 0x00000001;
4437       }
4438       if (((from_bitField0_ & 0x00000002) != 0)) {
4439         result.bandwidth_ = bandwidth_;
4440         to_bitField0_ |= 0x00000002;
4441       }
4442       if (((from_bitField0_ & 0x00000010) != 0)) {
4443         result.cloudRouterIpAddress_ = cloudRouterIpAddress_;
4444         to_bitField0_ |= 0x00000004;
4445       }
4446       if (((from_bitField0_ & 0x00000020) != 0)) {
4447         result.cloudRouterIpv6Address_ = cloudRouterIpv6Address_;
4448         to_bitField0_ |= 0x00000008;
4449       }
4450       if (((from_bitField0_ & 0x00000040) != 0)) {
4451         result.cloudRouterIpv6InterfaceId_ = cloudRouterIpv6InterfaceId_;
4452         to_bitField0_ |= 0x00000010;
4453       }
4454       if (((from_bitField0_ & 0x00000080) != 0)) {
4455         result.creationTimestamp_ = creationTimestamp_;
4456         to_bitField0_ |= 0x00000020;
4457       }
4458       if (((from_bitField0_ & 0x00000100) != 0)) {
4459         result.customerRouterIpAddress_ = customerRouterIpAddress_;
4460         to_bitField0_ |= 0x00000040;
4461       }
4462       if (((from_bitField0_ & 0x00000200) != 0)) {
4463         result.customerRouterIpv6Address_ = customerRouterIpv6Address_;
4464         to_bitField0_ |= 0x00000080;
4465       }
4466       if (((from_bitField0_ & 0x00000400) != 0)) {
4467         result.customerRouterIpv6InterfaceId_ = customerRouterIpv6InterfaceId_;
4468         to_bitField0_ |= 0x00000100;
4469       }
4470       if (((from_bitField0_ & 0x00000800) != 0)) {
4471         result.dataplaneVersion_ = dataplaneVersion_;
4472         to_bitField0_ |= 0x00000200;
4473       }
4474       if (((from_bitField0_ & 0x00001000) != 0)) {
4475         result.description_ = description_;
4476         to_bitField0_ |= 0x00000400;
4477       }
4478       if (((from_bitField0_ & 0x00002000) != 0)) {
4479         result.edgeAvailabilityDomain_ = edgeAvailabilityDomain_;
4480         to_bitField0_ |= 0x00000800;
4481       }
4482       if (((from_bitField0_ & 0x00004000) != 0)) {
4483         result.encryption_ = encryption_;
4484         to_bitField0_ |= 0x00001000;
4485       }
4486       if (((from_bitField0_ & 0x00008000) != 0)) {
4487         result.googleReferenceId_ = googleReferenceId_;
4488         to_bitField0_ |= 0x00002000;
4489       }
4490       if (((from_bitField0_ & 0x00010000) != 0)) {
4491         result.id_ = id_;
4492         to_bitField0_ |= 0x00004000;
4493       }
4494       if (((from_bitField0_ & 0x00020000) != 0)) {
4495         result.interconnect_ = interconnect_;
4496         to_bitField0_ |= 0x00008000;
4497       }
4498       if (((from_bitField0_ & 0x00080000) != 0)) {
4499         result.kind_ = kind_;
4500         to_bitField0_ |= 0x00010000;
4501       }
4502       if (((from_bitField0_ & 0x00100000) != 0)) {
4503         result.mtu_ = mtu_;
4504         to_bitField0_ |= 0x00020000;
4505       }
4506       if (((from_bitField0_ & 0x00200000) != 0)) {
4507         result.name_ = name_;
4508         to_bitField0_ |= 0x00040000;
4509       }
4510       if (((from_bitField0_ & 0x00400000) != 0)) {
4511         result.operationalStatus_ = operationalStatus_;
4512         to_bitField0_ |= 0x00080000;
4513       }
4514       if (((from_bitField0_ & 0x00800000) != 0)) {
4515         result.pairingKey_ = pairingKey_;
4516         to_bitField0_ |= 0x00100000;
4517       }
4518       if (((from_bitField0_ & 0x01000000) != 0)) {
4519         result.partnerAsn_ = partnerAsn_;
4520         to_bitField0_ |= 0x00200000;
4521       }
4522       if (((from_bitField0_ & 0x02000000) != 0)) {
4523         result.partnerMetadata_ =
4524             partnerMetadataBuilder_ == null ? partnerMetadata_ : partnerMetadataBuilder_.build();
4525         to_bitField0_ |= 0x00400000;
4526       }
4527       if (((from_bitField0_ & 0x04000000) != 0)) {
4528         result.privateInterconnectInfo_ =
4529             privateInterconnectInfoBuilder_ == null
4530                 ? privateInterconnectInfo_
4531                 : privateInterconnectInfoBuilder_.build();
4532         to_bitField0_ |= 0x00800000;
4533       }
4534       if (((from_bitField0_ & 0x08000000) != 0)) {
4535         result.region_ = region_;
4536         to_bitField0_ |= 0x01000000;
4537       }
4538       if (((from_bitField0_ & 0x10000000) != 0)) {
4539         result.router_ = router_;
4540         to_bitField0_ |= 0x02000000;
4541       }
4542       if (((from_bitField0_ & 0x20000000) != 0)) {
4543         result.satisfiesPzs_ = satisfiesPzs_;
4544         to_bitField0_ |= 0x04000000;
4545       }
4546       if (((from_bitField0_ & 0x40000000) != 0)) {
4547         result.selfLink_ = selfLink_;
4548         to_bitField0_ |= 0x08000000;
4549       }
4550       if (((from_bitField0_ & 0x80000000) != 0)) {
4551         result.stackType_ = stackType_;
4552         to_bitField0_ |= 0x10000000;
4553       }
4554       result.bitField0_ |= to_bitField0_;
4555     }
4556 
buildPartial1(com.google.cloud.compute.v1.InterconnectAttachment result)4557     private void buildPartial1(com.google.cloud.compute.v1.InterconnectAttachment result) {
4558       int from_bitField1_ = bitField1_;
4559       int to_bitField0_ = 0;
4560       if (((from_bitField1_ & 0x00000001) != 0)) {
4561         result.state_ = state_;
4562         to_bitField0_ |= 0x20000000;
4563       }
4564       if (((from_bitField1_ & 0x00000002) != 0)) {
4565         result.type_ = type_;
4566         to_bitField0_ |= 0x40000000;
4567       }
4568       if (((from_bitField1_ & 0x00000004) != 0)) {
4569         result.vlanTag8021Q_ = vlanTag8021Q_;
4570         to_bitField0_ |= 0x80000000;
4571       }
4572       result.bitField0_ |= to_bitField0_;
4573     }
4574 
4575     @java.lang.Override
clone()4576     public Builder clone() {
4577       return super.clone();
4578     }
4579 
4580     @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)4581     public Builder setField(
4582         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
4583       return super.setField(field, value);
4584     }
4585 
4586     @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)4587     public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
4588       return super.clearField(field);
4589     }
4590 
4591     @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)4592     public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
4593       return super.clearOneof(oneof);
4594     }
4595 
4596     @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)4597     public Builder setRepeatedField(
4598         com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
4599       return super.setRepeatedField(field, index, value);
4600     }
4601 
4602     @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)4603     public Builder addRepeatedField(
4604         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
4605       return super.addRepeatedField(field, value);
4606     }
4607 
4608     @java.lang.Override
mergeFrom(com.google.protobuf.Message other)4609     public Builder mergeFrom(com.google.protobuf.Message other) {
4610       if (other instanceof com.google.cloud.compute.v1.InterconnectAttachment) {
4611         return mergeFrom((com.google.cloud.compute.v1.InterconnectAttachment) other);
4612       } else {
4613         super.mergeFrom(other);
4614         return this;
4615       }
4616     }
4617 
mergeFrom(com.google.cloud.compute.v1.InterconnectAttachment other)4618     public Builder mergeFrom(com.google.cloud.compute.v1.InterconnectAttachment other) {
4619       if (other == com.google.cloud.compute.v1.InterconnectAttachment.getDefaultInstance())
4620         return this;
4621       if (other.hasAdminEnabled()) {
4622         setAdminEnabled(other.getAdminEnabled());
4623       }
4624       if (other.hasBandwidth()) {
4625         bandwidth_ = other.bandwidth_;
4626         bitField0_ |= 0x00000002;
4627         onChanged();
4628       }
4629       if (!other.candidateIpv6Subnets_.isEmpty()) {
4630         if (candidateIpv6Subnets_.isEmpty()) {
4631           candidateIpv6Subnets_ = other.candidateIpv6Subnets_;
4632           bitField0_ = (bitField0_ & ~0x00000004);
4633         } else {
4634           ensureCandidateIpv6SubnetsIsMutable();
4635           candidateIpv6Subnets_.addAll(other.candidateIpv6Subnets_);
4636         }
4637         onChanged();
4638       }
4639       if (!other.candidateSubnets_.isEmpty()) {
4640         if (candidateSubnets_.isEmpty()) {
4641           candidateSubnets_ = other.candidateSubnets_;
4642           bitField0_ = (bitField0_ & ~0x00000008);
4643         } else {
4644           ensureCandidateSubnetsIsMutable();
4645           candidateSubnets_.addAll(other.candidateSubnets_);
4646         }
4647         onChanged();
4648       }
4649       if (other.hasCloudRouterIpAddress()) {
4650         cloudRouterIpAddress_ = other.cloudRouterIpAddress_;
4651         bitField0_ |= 0x00000010;
4652         onChanged();
4653       }
4654       if (other.hasCloudRouterIpv6Address()) {
4655         cloudRouterIpv6Address_ = other.cloudRouterIpv6Address_;
4656         bitField0_ |= 0x00000020;
4657         onChanged();
4658       }
4659       if (other.hasCloudRouterIpv6InterfaceId()) {
4660         cloudRouterIpv6InterfaceId_ = other.cloudRouterIpv6InterfaceId_;
4661         bitField0_ |= 0x00000040;
4662         onChanged();
4663       }
4664       if (other.hasCreationTimestamp()) {
4665         creationTimestamp_ = other.creationTimestamp_;
4666         bitField0_ |= 0x00000080;
4667         onChanged();
4668       }
4669       if (other.hasCustomerRouterIpAddress()) {
4670         customerRouterIpAddress_ = other.customerRouterIpAddress_;
4671         bitField0_ |= 0x00000100;
4672         onChanged();
4673       }
4674       if (other.hasCustomerRouterIpv6Address()) {
4675         customerRouterIpv6Address_ = other.customerRouterIpv6Address_;
4676         bitField0_ |= 0x00000200;
4677         onChanged();
4678       }
4679       if (other.hasCustomerRouterIpv6InterfaceId()) {
4680         customerRouterIpv6InterfaceId_ = other.customerRouterIpv6InterfaceId_;
4681         bitField0_ |= 0x00000400;
4682         onChanged();
4683       }
4684       if (other.hasDataplaneVersion()) {
4685         setDataplaneVersion(other.getDataplaneVersion());
4686       }
4687       if (other.hasDescription()) {
4688         description_ = other.description_;
4689         bitField0_ |= 0x00001000;
4690         onChanged();
4691       }
4692       if (other.hasEdgeAvailabilityDomain()) {
4693         edgeAvailabilityDomain_ = other.edgeAvailabilityDomain_;
4694         bitField0_ |= 0x00002000;
4695         onChanged();
4696       }
4697       if (other.hasEncryption()) {
4698         encryption_ = other.encryption_;
4699         bitField0_ |= 0x00004000;
4700         onChanged();
4701       }
4702       if (other.hasGoogleReferenceId()) {
4703         googleReferenceId_ = other.googleReferenceId_;
4704         bitField0_ |= 0x00008000;
4705         onChanged();
4706       }
4707       if (other.hasId()) {
4708         setId(other.getId());
4709       }
4710       if (other.hasInterconnect()) {
4711         interconnect_ = other.interconnect_;
4712         bitField0_ |= 0x00020000;
4713         onChanged();
4714       }
4715       if (!other.ipsecInternalAddresses_.isEmpty()) {
4716         if (ipsecInternalAddresses_.isEmpty()) {
4717           ipsecInternalAddresses_ = other.ipsecInternalAddresses_;
4718           bitField0_ = (bitField0_ & ~0x00040000);
4719         } else {
4720           ensureIpsecInternalAddressesIsMutable();
4721           ipsecInternalAddresses_.addAll(other.ipsecInternalAddresses_);
4722         }
4723         onChanged();
4724       }
4725       if (other.hasKind()) {
4726         kind_ = other.kind_;
4727         bitField0_ |= 0x00080000;
4728         onChanged();
4729       }
4730       if (other.hasMtu()) {
4731         setMtu(other.getMtu());
4732       }
4733       if (other.hasName()) {
4734         name_ = other.name_;
4735         bitField0_ |= 0x00200000;
4736         onChanged();
4737       }
4738       if (other.hasOperationalStatus()) {
4739         operationalStatus_ = other.operationalStatus_;
4740         bitField0_ |= 0x00400000;
4741         onChanged();
4742       }
4743       if (other.hasPairingKey()) {
4744         pairingKey_ = other.pairingKey_;
4745         bitField0_ |= 0x00800000;
4746         onChanged();
4747       }
4748       if (other.hasPartnerAsn()) {
4749         setPartnerAsn(other.getPartnerAsn());
4750       }
4751       if (other.hasPartnerMetadata()) {
4752         mergePartnerMetadata(other.getPartnerMetadata());
4753       }
4754       if (other.hasPrivateInterconnectInfo()) {
4755         mergePrivateInterconnectInfo(other.getPrivateInterconnectInfo());
4756       }
4757       if (other.hasRegion()) {
4758         region_ = other.region_;
4759         bitField0_ |= 0x08000000;
4760         onChanged();
4761       }
4762       if (other.hasRouter()) {
4763         router_ = other.router_;
4764         bitField0_ |= 0x10000000;
4765         onChanged();
4766       }
4767       if (other.hasSatisfiesPzs()) {
4768         setSatisfiesPzs(other.getSatisfiesPzs());
4769       }
4770       if (other.hasSelfLink()) {
4771         selfLink_ = other.selfLink_;
4772         bitField0_ |= 0x40000000;
4773         onChanged();
4774       }
4775       if (other.hasStackType()) {
4776         stackType_ = other.stackType_;
4777         bitField0_ |= 0x80000000;
4778         onChanged();
4779       }
4780       if (other.hasState()) {
4781         state_ = other.state_;
4782         bitField1_ |= 0x00000001;
4783         onChanged();
4784       }
4785       if (other.hasType()) {
4786         type_ = other.type_;
4787         bitField1_ |= 0x00000002;
4788         onChanged();
4789       }
4790       if (other.hasVlanTag8021Q()) {
4791         setVlanTag8021Q(other.getVlanTag8021Q());
4792       }
4793       this.mergeUnknownFields(other.getUnknownFields());
4794       onChanged();
4795       return this;
4796     }
4797 
4798     @java.lang.Override
isInitialized()4799     public final boolean isInitialized() {
4800       return true;
4801     }
4802 
4803     @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)4804     public Builder mergeFrom(
4805         com.google.protobuf.CodedInputStream input,
4806         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4807         throws java.io.IOException {
4808       if (extensionRegistry == null) {
4809         throw new java.lang.NullPointerException();
4810       }
4811       try {
4812         boolean done = false;
4813         while (!done) {
4814           int tag = input.readTag();
4815           switch (tag) {
4816             case 0:
4817               done = true;
4818               break;
4819             case 26840:
4820               {
4821                 id_ = input.readUInt64();
4822                 bitField0_ |= 0x00010000;
4823                 break;
4824               } // case 26840
4825             case 867696:
4826               {
4827                 mtu_ = input.readInt32();
4828                 bitField0_ |= 0x00100000;
4829                 break;
4830               } // case 867696
4831             case 26336418:
4832               {
4833                 kind_ = input.readStringRequireUtf8();
4834                 bitField0_ |= 0x00080000;
4835                 break;
4836               } // case 26336418
4837             case 26989658:
4838               {
4839                 name_ = input.readStringRequireUtf8();
4840                 bitField0_ |= 0x00200000;
4841                 break;
4842               } // case 26989658
4843             case 28604882:
4844               {
4845                 type_ = input.readStringRequireUtf8();
4846                 bitField1_ |= 0x00000002;
4847                 break;
4848               } // case 28604882
4849             case 244202930:
4850               {
4851                 creationTimestamp_ = input.readStringRequireUtf8();
4852                 bitField0_ |= 0x00000080;
4853                 break;
4854               } // case 244202930
4855             case 279360600:
4856               {
4857                 dataplaneVersion_ = input.readInt32();
4858                 bitField0_ |= 0x00000800;
4859                 break;
4860               } // case 279360600
4861             case 527271474:
4862               {
4863                 input.readMessage(getPartnerMetadataFieldBuilder().getBuilder(), extensionRegistry);
4864                 bitField0_ |= 0x02000000;
4865                 break;
4866               } // case 527271474
4867             case 565460178:
4868               {
4869                 java.lang.String s = input.readStringRequireUtf8();
4870                 ensureCandidateIpv6SubnetsIsMutable();
4871                 candidateIpv6Subnets_.add(s);
4872                 break;
4873               } // case 565460178
4874             case 570316082:
4875               {
4876                 edgeAvailabilityDomain_ = input.readStringRequireUtf8();
4877                 bitField0_ |= 0x00002000;
4878                 break;
4879               } // case 570316082
4880             case 783842330:
4881               {
4882                 encryption_ = input.readStringRequireUtf8();
4883                 bitField0_ |= 0x00004000;
4884                 break;
4885               } // case 783842330
4886             case 878060682:
4887               {
4888                 state_ = input.readStringRequireUtf8();
4889                 bitField1_ |= 0x00000001;
4890                 break;
4891               } // case 878060682
4892             case 959422688:
4893               {
4894                 vlanTag8021Q_ = input.readInt32();
4895                 bitField1_ |= 0x00000004;
4896                 break;
4897               } // case 959422688
4898             case 1111570338:
4899               {
4900                 region_ = input.readStringRequireUtf8();
4901                 bitField0_ |= 0x08000000;
4902                 break;
4903               } // case 1111570338
4904             case 1188870730:
4905               {
4906                 router_ = input.readStringRequireUtf8();
4907                 bitField0_ |= 0x10000000;
4908                 break;
4909               } // case 1188870730
4910             case 1453720970:
4911               {
4912                 bandwidth_ = input.readStringRequireUtf8();
4913                 bitField0_ |= 0x00000002;
4914                 break;
4915               } // case 1453720970
4916             case 1608566778:
4917               {
4918                 operationalStatus_ = input.readStringRequireUtf8();
4919                 bitField0_ |= 0x00400000;
4920                 break;
4921               } // case 1608566778
4922             case 1796809842:
4923               {
4924                 interconnect_ = input.readStringRequireUtf8();
4925                 bitField0_ |= 0x00020000;
4926                 break;
4927               } // case 1796809842
4928             case 1898164250:
4929               {
4930                 input.readMessage(
4931                     getPrivateInterconnectInfoFieldBuilder().getBuilder(), extensionRegistry);
4932                 bitField0_ |= 0x04000000;
4933                 break;
4934               } // case 1898164250
4935             case 1902743506:
4936               {
4937                 java.lang.String s = input.readStringRequireUtf8();
4938                 ensureCandidateSubnetsIsMutable();
4939                 candidateSubnets_.add(s);
4940                 break;
4941               } // case 1902743506
4942             case -1995825086:
4943               {
4944                 cloudRouterIpAddress_ = input.readStringRequireUtf8();
4945                 bitField0_ |= 0x00000010;
4946                 break;
4947               } // case -1995825086
4948             case -1973950582:
4949               {
4950                 customerRouterIpv6Address_ = input.readStringRequireUtf8();
4951                 bitField0_ |= 0x00000200;
4952                 break;
4953               } // case -1973950582
4954             case -1635161206:
4955               {
4956                 customerRouterIpAddress_ = input.readStringRequireUtf8();
4957                 bitField0_ |= 0x00000100;
4958                 break;
4959               } // case -1635161206
4960             case -1247012830:
4961               {
4962                 customerRouterIpv6InterfaceId_ = input.readStringRequireUtf8();
4963                 bitField0_ |= 0x00000400;
4964                 break;
4965               } // case -1247012830
4966             case -1033778774:
4967               {
4968                 java.lang.String s = input.readStringRequireUtf8();
4969                 ensureIpsecInternalAddressesIsMutable();
4970                 ipsecInternalAddresses_.add(s);
4971                 break;
4972               } // case -1033778774
4973             case -911466526:
4974               {
4975                 description_ = input.readStringRequireUtf8();
4976                 bitField0_ |= 0x00001000;
4977                 break;
4978               } // case -911466526
4979             case -887696246:
4980               {
4981                 stackType_ = input.readStringRequireUtf8();
4982                 bitField0_ |= 0x80000000;
4983                 break;
4984               } // case -887696246
4985             case -789638104:
4986               {
4987                 partnerAsn_ = input.readInt64();
4988                 bitField0_ |= 0x01000000;
4989                 break;
4990               } // case -789638104
4991             case -777403582:
4992               {
4993                 pairingKey_ = input.readStringRequireUtf8();
4994                 bitField0_ |= 0x00800000;
4995                 break;
4996               } // case -777403582
4997             case -729566584:
4998               {
4999                 adminEnabled_ = input.readBool();
5000                 bitField0_ |= 0x00000001;
5001                 break;
5002               } // case -729566584
5003             case -679588286:
5004               {
5005                 cloudRouterIpv6Address_ = input.readStringRequireUtf8();
5006                 bitField0_ |= 0x00000020;
5007                 break;
5008               } // case -679588286
5009             case -645248918:
5010               {
5011                 selfLink_ = input.readStringRequireUtf8();
5012                 bitField0_ |= 0x40000000;
5013                 break;
5014               } // case -645248918
5015             case -447253160:
5016               {
5017                 satisfiesPzs_ = input.readBool();
5018                 bitField0_ |= 0x20000000;
5019                 break;
5020               } // case -447253160
5021             case -124705686:
5022               {
5023                 cloudRouterIpv6InterfaceId_ = input.readStringRequireUtf8();
5024                 bitField0_ |= 0x00000040;
5025                 break;
5026               } // case -124705686
5027             case -15411542:
5028               {
5029                 googleReferenceId_ = input.readStringRequireUtf8();
5030                 bitField0_ |= 0x00008000;
5031                 break;
5032               } // case -15411542
5033             default:
5034               {
5035                 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
5036                   done = true; // was an endgroup tag
5037                 }
5038                 break;
5039               } // default:
5040           } // switch (tag)
5041         } // while (!done)
5042       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
5043         throw e.unwrapIOException();
5044       } finally {
5045         onChanged();
5046       } // finally
5047       return this;
5048     }
5049 
5050     private int bitField0_;
5051     private int bitField1_;
5052 
5053     private boolean adminEnabled_;
5054     /**
5055      *
5056      *
5057      * <pre>
5058      * Determines whether this Attachment will carry packets. Not present for PARTNER_PROVIDER.
5059      * </pre>
5060      *
5061      * <code>optional bool admin_enabled = 445675089;</code>
5062      *
5063      * @return Whether the adminEnabled field is set.
5064      */
5065     @java.lang.Override
hasAdminEnabled()5066     public boolean hasAdminEnabled() {
5067       return ((bitField0_ & 0x00000001) != 0);
5068     }
5069     /**
5070      *
5071      *
5072      * <pre>
5073      * Determines whether this Attachment will carry packets. Not present for PARTNER_PROVIDER.
5074      * </pre>
5075      *
5076      * <code>optional bool admin_enabled = 445675089;</code>
5077      *
5078      * @return The adminEnabled.
5079      */
5080     @java.lang.Override
getAdminEnabled()5081     public boolean getAdminEnabled() {
5082       return adminEnabled_;
5083     }
5084     /**
5085      *
5086      *
5087      * <pre>
5088      * Determines whether this Attachment will carry packets. Not present for PARTNER_PROVIDER.
5089      * </pre>
5090      *
5091      * <code>optional bool admin_enabled = 445675089;</code>
5092      *
5093      * @param value The adminEnabled to set.
5094      * @return This builder for chaining.
5095      */
setAdminEnabled(boolean value)5096     public Builder setAdminEnabled(boolean value) {
5097 
5098       adminEnabled_ = value;
5099       bitField0_ |= 0x00000001;
5100       onChanged();
5101       return this;
5102     }
5103     /**
5104      *
5105      *
5106      * <pre>
5107      * Determines whether this Attachment will carry packets. Not present for PARTNER_PROVIDER.
5108      * </pre>
5109      *
5110      * <code>optional bool admin_enabled = 445675089;</code>
5111      *
5112      * @return This builder for chaining.
5113      */
clearAdminEnabled()5114     public Builder clearAdminEnabled() {
5115       bitField0_ = (bitField0_ & ~0x00000001);
5116       adminEnabled_ = false;
5117       onChanged();
5118       return this;
5119     }
5120 
5121     private java.lang.Object bandwidth_ = "";
5122     /**
5123      *
5124      *
5125      * <pre>
5126      * Provisioned bandwidth capacity for the interconnect attachment. For attachments of type DEDICATED, the user can set the bandwidth. For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth. Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED, and can take one of the following values: - BPS_50M: 50 Mbit/s - BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s - BPS_300M: 300 Mbit/s - BPS_400M: 400 Mbit/s - BPS_500M: 500 Mbit/s - BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s - BPS_5G: 5 Gbit/s - BPS_10G: 10 Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/s
5127      * Check the Bandwidth enum for the list of possible values.
5128      * </pre>
5129      *
5130      * <code>optional string bandwidth = 181715121;</code>
5131      *
5132      * @return Whether the bandwidth field is set.
5133      */
hasBandwidth()5134     public boolean hasBandwidth() {
5135       return ((bitField0_ & 0x00000002) != 0);
5136     }
5137     /**
5138      *
5139      *
5140      * <pre>
5141      * Provisioned bandwidth capacity for the interconnect attachment. For attachments of type DEDICATED, the user can set the bandwidth. For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth. Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED, and can take one of the following values: - BPS_50M: 50 Mbit/s - BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s - BPS_300M: 300 Mbit/s - BPS_400M: 400 Mbit/s - BPS_500M: 500 Mbit/s - BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s - BPS_5G: 5 Gbit/s - BPS_10G: 10 Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/s
5142      * Check the Bandwidth enum for the list of possible values.
5143      * </pre>
5144      *
5145      * <code>optional string bandwidth = 181715121;</code>
5146      *
5147      * @return The bandwidth.
5148      */
getBandwidth()5149     public java.lang.String getBandwidth() {
5150       java.lang.Object ref = bandwidth_;
5151       if (!(ref instanceof java.lang.String)) {
5152         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
5153         java.lang.String s = bs.toStringUtf8();
5154         bandwidth_ = s;
5155         return s;
5156       } else {
5157         return (java.lang.String) ref;
5158       }
5159     }
5160     /**
5161      *
5162      *
5163      * <pre>
5164      * Provisioned bandwidth capacity for the interconnect attachment. For attachments of type DEDICATED, the user can set the bandwidth. For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth. Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED, and can take one of the following values: - BPS_50M: 50 Mbit/s - BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s - BPS_300M: 300 Mbit/s - BPS_400M: 400 Mbit/s - BPS_500M: 500 Mbit/s - BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s - BPS_5G: 5 Gbit/s - BPS_10G: 10 Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/s
5165      * Check the Bandwidth enum for the list of possible values.
5166      * </pre>
5167      *
5168      * <code>optional string bandwidth = 181715121;</code>
5169      *
5170      * @return The bytes for bandwidth.
5171      */
getBandwidthBytes()5172     public com.google.protobuf.ByteString getBandwidthBytes() {
5173       java.lang.Object ref = bandwidth_;
5174       if (ref instanceof String) {
5175         com.google.protobuf.ByteString b =
5176             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
5177         bandwidth_ = b;
5178         return b;
5179       } else {
5180         return (com.google.protobuf.ByteString) ref;
5181       }
5182     }
5183     /**
5184      *
5185      *
5186      * <pre>
5187      * Provisioned bandwidth capacity for the interconnect attachment. For attachments of type DEDICATED, the user can set the bandwidth. For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth. Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED, and can take one of the following values: - BPS_50M: 50 Mbit/s - BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s - BPS_300M: 300 Mbit/s - BPS_400M: 400 Mbit/s - BPS_500M: 500 Mbit/s - BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s - BPS_5G: 5 Gbit/s - BPS_10G: 10 Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/s
5188      * Check the Bandwidth enum for the list of possible values.
5189      * </pre>
5190      *
5191      * <code>optional string bandwidth = 181715121;</code>
5192      *
5193      * @param value The bandwidth to set.
5194      * @return This builder for chaining.
5195      */
setBandwidth(java.lang.String value)5196     public Builder setBandwidth(java.lang.String value) {
5197       if (value == null) {
5198         throw new NullPointerException();
5199       }
5200       bandwidth_ = value;
5201       bitField0_ |= 0x00000002;
5202       onChanged();
5203       return this;
5204     }
5205     /**
5206      *
5207      *
5208      * <pre>
5209      * Provisioned bandwidth capacity for the interconnect attachment. For attachments of type DEDICATED, the user can set the bandwidth. For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth. Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED, and can take one of the following values: - BPS_50M: 50 Mbit/s - BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s - BPS_300M: 300 Mbit/s - BPS_400M: 400 Mbit/s - BPS_500M: 500 Mbit/s - BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s - BPS_5G: 5 Gbit/s - BPS_10G: 10 Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/s
5210      * Check the Bandwidth enum for the list of possible values.
5211      * </pre>
5212      *
5213      * <code>optional string bandwidth = 181715121;</code>
5214      *
5215      * @return This builder for chaining.
5216      */
clearBandwidth()5217     public Builder clearBandwidth() {
5218       bandwidth_ = getDefaultInstance().getBandwidth();
5219       bitField0_ = (bitField0_ & ~0x00000002);
5220       onChanged();
5221       return this;
5222     }
5223     /**
5224      *
5225      *
5226      * <pre>
5227      * Provisioned bandwidth capacity for the interconnect attachment. For attachments of type DEDICATED, the user can set the bandwidth. For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth. Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED, and can take one of the following values: - BPS_50M: 50 Mbit/s - BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s - BPS_300M: 300 Mbit/s - BPS_400M: 400 Mbit/s - BPS_500M: 500 Mbit/s - BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s - BPS_5G: 5 Gbit/s - BPS_10G: 10 Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/s
5228      * Check the Bandwidth enum for the list of possible values.
5229      * </pre>
5230      *
5231      * <code>optional string bandwidth = 181715121;</code>
5232      *
5233      * @param value The bytes for bandwidth to set.
5234      * @return This builder for chaining.
5235      */
setBandwidthBytes(com.google.protobuf.ByteString value)5236     public Builder setBandwidthBytes(com.google.protobuf.ByteString value) {
5237       if (value == null) {
5238         throw new NullPointerException();
5239       }
5240       checkByteStringIsUtf8(value);
5241       bandwidth_ = value;
5242       bitField0_ |= 0x00000002;
5243       onChanged();
5244       return this;
5245     }
5246 
5247     private com.google.protobuf.LazyStringList candidateIpv6Subnets_ =
5248         com.google.protobuf.LazyStringArrayList.EMPTY;
5249 
ensureCandidateIpv6SubnetsIsMutable()5250     private void ensureCandidateIpv6SubnetsIsMutable() {
5251       if (!((bitField0_ & 0x00000004) != 0)) {
5252         candidateIpv6Subnets_ = new com.google.protobuf.LazyStringArrayList(candidateIpv6Subnets_);
5253         bitField0_ |= 0x00000004;
5254       }
5255     }
5256     /**
5257      *
5258      *
5259      * <pre>
5260      * This field is not available.
5261      * </pre>
5262      *
5263      * <code>repeated string candidate_ipv6_subnets = 70682522;</code>
5264      *
5265      * @return A list containing the candidateIpv6Subnets.
5266      */
getCandidateIpv6SubnetsList()5267     public com.google.protobuf.ProtocolStringList getCandidateIpv6SubnetsList() {
5268       return candidateIpv6Subnets_.getUnmodifiableView();
5269     }
5270     /**
5271      *
5272      *
5273      * <pre>
5274      * This field is not available.
5275      * </pre>
5276      *
5277      * <code>repeated string candidate_ipv6_subnets = 70682522;</code>
5278      *
5279      * @return The count of candidateIpv6Subnets.
5280      */
getCandidateIpv6SubnetsCount()5281     public int getCandidateIpv6SubnetsCount() {
5282       return candidateIpv6Subnets_.size();
5283     }
5284     /**
5285      *
5286      *
5287      * <pre>
5288      * This field is not available.
5289      * </pre>
5290      *
5291      * <code>repeated string candidate_ipv6_subnets = 70682522;</code>
5292      *
5293      * @param index The index of the element to return.
5294      * @return The candidateIpv6Subnets at the given index.
5295      */
getCandidateIpv6Subnets(int index)5296     public java.lang.String getCandidateIpv6Subnets(int index) {
5297       return candidateIpv6Subnets_.get(index);
5298     }
5299     /**
5300      *
5301      *
5302      * <pre>
5303      * This field is not available.
5304      * </pre>
5305      *
5306      * <code>repeated string candidate_ipv6_subnets = 70682522;</code>
5307      *
5308      * @param index The index of the value to return.
5309      * @return The bytes of the candidateIpv6Subnets at the given index.
5310      */
getCandidateIpv6SubnetsBytes(int index)5311     public com.google.protobuf.ByteString getCandidateIpv6SubnetsBytes(int index) {
5312       return candidateIpv6Subnets_.getByteString(index);
5313     }
5314     /**
5315      *
5316      *
5317      * <pre>
5318      * This field is not available.
5319      * </pre>
5320      *
5321      * <code>repeated string candidate_ipv6_subnets = 70682522;</code>
5322      *
5323      * @param index The index to set the value at.
5324      * @param value The candidateIpv6Subnets to set.
5325      * @return This builder for chaining.
5326      */
setCandidateIpv6Subnets(int index, java.lang.String value)5327     public Builder setCandidateIpv6Subnets(int index, java.lang.String value) {
5328       if (value == null) {
5329         throw new NullPointerException();
5330       }
5331       ensureCandidateIpv6SubnetsIsMutable();
5332       candidateIpv6Subnets_.set(index, value);
5333       onChanged();
5334       return this;
5335     }
5336     /**
5337      *
5338      *
5339      * <pre>
5340      * This field is not available.
5341      * </pre>
5342      *
5343      * <code>repeated string candidate_ipv6_subnets = 70682522;</code>
5344      *
5345      * @param value The candidateIpv6Subnets to add.
5346      * @return This builder for chaining.
5347      */
addCandidateIpv6Subnets(java.lang.String value)5348     public Builder addCandidateIpv6Subnets(java.lang.String value) {
5349       if (value == null) {
5350         throw new NullPointerException();
5351       }
5352       ensureCandidateIpv6SubnetsIsMutable();
5353       candidateIpv6Subnets_.add(value);
5354       onChanged();
5355       return this;
5356     }
5357     /**
5358      *
5359      *
5360      * <pre>
5361      * This field is not available.
5362      * </pre>
5363      *
5364      * <code>repeated string candidate_ipv6_subnets = 70682522;</code>
5365      *
5366      * @param values The candidateIpv6Subnets to add.
5367      * @return This builder for chaining.
5368      */
addAllCandidateIpv6Subnets(java.lang.Iterable<java.lang.String> values)5369     public Builder addAllCandidateIpv6Subnets(java.lang.Iterable<java.lang.String> values) {
5370       ensureCandidateIpv6SubnetsIsMutable();
5371       com.google.protobuf.AbstractMessageLite.Builder.addAll(values, candidateIpv6Subnets_);
5372       onChanged();
5373       return this;
5374     }
5375     /**
5376      *
5377      *
5378      * <pre>
5379      * This field is not available.
5380      * </pre>
5381      *
5382      * <code>repeated string candidate_ipv6_subnets = 70682522;</code>
5383      *
5384      * @return This builder for chaining.
5385      */
clearCandidateIpv6Subnets()5386     public Builder clearCandidateIpv6Subnets() {
5387       candidateIpv6Subnets_ = com.google.protobuf.LazyStringArrayList.EMPTY;
5388       bitField0_ = (bitField0_ & ~0x00000004);
5389       onChanged();
5390       return this;
5391     }
5392     /**
5393      *
5394      *
5395      * <pre>
5396      * This field is not available.
5397      * </pre>
5398      *
5399      * <code>repeated string candidate_ipv6_subnets = 70682522;</code>
5400      *
5401      * @param value The bytes of the candidateIpv6Subnets to add.
5402      * @return This builder for chaining.
5403      */
addCandidateIpv6SubnetsBytes(com.google.protobuf.ByteString value)5404     public Builder addCandidateIpv6SubnetsBytes(com.google.protobuf.ByteString value) {
5405       if (value == null) {
5406         throw new NullPointerException();
5407       }
5408       checkByteStringIsUtf8(value);
5409       ensureCandidateIpv6SubnetsIsMutable();
5410       candidateIpv6Subnets_.add(value);
5411       onChanged();
5412       return this;
5413     }
5414 
5415     private com.google.protobuf.LazyStringList candidateSubnets_ =
5416         com.google.protobuf.LazyStringArrayList.EMPTY;
5417 
ensureCandidateSubnetsIsMutable()5418     private void ensureCandidateSubnetsIsMutable() {
5419       if (!((bitField0_ & 0x00000008) != 0)) {
5420         candidateSubnets_ = new com.google.protobuf.LazyStringArrayList(candidateSubnets_);
5421         bitField0_ |= 0x00000008;
5422       }
5423     }
5424     /**
5425      *
5426      *
5427      * <pre>
5428      * Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and customerRouterIpAddress for this attachment. All prefixes must be within link-local address space (169.254.0.0/16) and must be /29 or shorter (/28, /27, etc). Google will attempt to select an unused /29 from the supplied candidate prefix(es). The request will fail if all possible /29s are in use on Google's edge. If not supplied, Google will randomly select an unused /29 from all of link-local space.
5429      * </pre>
5430      *
5431      * <code>repeated string candidate_subnets = 237842938;</code>
5432      *
5433      * @return A list containing the candidateSubnets.
5434      */
getCandidateSubnetsList()5435     public com.google.protobuf.ProtocolStringList getCandidateSubnetsList() {
5436       return candidateSubnets_.getUnmodifiableView();
5437     }
5438     /**
5439      *
5440      *
5441      * <pre>
5442      * Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and customerRouterIpAddress for this attachment. All prefixes must be within link-local address space (169.254.0.0/16) and must be /29 or shorter (/28, /27, etc). Google will attempt to select an unused /29 from the supplied candidate prefix(es). The request will fail if all possible /29s are in use on Google's edge. If not supplied, Google will randomly select an unused /29 from all of link-local space.
5443      * </pre>
5444      *
5445      * <code>repeated string candidate_subnets = 237842938;</code>
5446      *
5447      * @return The count of candidateSubnets.
5448      */
getCandidateSubnetsCount()5449     public int getCandidateSubnetsCount() {
5450       return candidateSubnets_.size();
5451     }
5452     /**
5453      *
5454      *
5455      * <pre>
5456      * Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and customerRouterIpAddress for this attachment. All prefixes must be within link-local address space (169.254.0.0/16) and must be /29 or shorter (/28, /27, etc). Google will attempt to select an unused /29 from the supplied candidate prefix(es). The request will fail if all possible /29s are in use on Google's edge. If not supplied, Google will randomly select an unused /29 from all of link-local space.
5457      * </pre>
5458      *
5459      * <code>repeated string candidate_subnets = 237842938;</code>
5460      *
5461      * @param index The index of the element to return.
5462      * @return The candidateSubnets at the given index.
5463      */
getCandidateSubnets(int index)5464     public java.lang.String getCandidateSubnets(int index) {
5465       return candidateSubnets_.get(index);
5466     }
5467     /**
5468      *
5469      *
5470      * <pre>
5471      * Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and customerRouterIpAddress for this attachment. All prefixes must be within link-local address space (169.254.0.0/16) and must be /29 or shorter (/28, /27, etc). Google will attempt to select an unused /29 from the supplied candidate prefix(es). The request will fail if all possible /29s are in use on Google's edge. If not supplied, Google will randomly select an unused /29 from all of link-local space.
5472      * </pre>
5473      *
5474      * <code>repeated string candidate_subnets = 237842938;</code>
5475      *
5476      * @param index The index of the value to return.
5477      * @return The bytes of the candidateSubnets at the given index.
5478      */
getCandidateSubnetsBytes(int index)5479     public com.google.protobuf.ByteString getCandidateSubnetsBytes(int index) {
5480       return candidateSubnets_.getByteString(index);
5481     }
5482     /**
5483      *
5484      *
5485      * <pre>
5486      * Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and customerRouterIpAddress for this attachment. All prefixes must be within link-local address space (169.254.0.0/16) and must be /29 or shorter (/28, /27, etc). Google will attempt to select an unused /29 from the supplied candidate prefix(es). The request will fail if all possible /29s are in use on Google's edge. If not supplied, Google will randomly select an unused /29 from all of link-local space.
5487      * </pre>
5488      *
5489      * <code>repeated string candidate_subnets = 237842938;</code>
5490      *
5491      * @param index The index to set the value at.
5492      * @param value The candidateSubnets to set.
5493      * @return This builder for chaining.
5494      */
setCandidateSubnets(int index, java.lang.String value)5495     public Builder setCandidateSubnets(int index, java.lang.String value) {
5496       if (value == null) {
5497         throw new NullPointerException();
5498       }
5499       ensureCandidateSubnetsIsMutable();
5500       candidateSubnets_.set(index, value);
5501       onChanged();
5502       return this;
5503     }
5504     /**
5505      *
5506      *
5507      * <pre>
5508      * Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and customerRouterIpAddress for this attachment. All prefixes must be within link-local address space (169.254.0.0/16) and must be /29 or shorter (/28, /27, etc). Google will attempt to select an unused /29 from the supplied candidate prefix(es). The request will fail if all possible /29s are in use on Google's edge. If not supplied, Google will randomly select an unused /29 from all of link-local space.
5509      * </pre>
5510      *
5511      * <code>repeated string candidate_subnets = 237842938;</code>
5512      *
5513      * @param value The candidateSubnets to add.
5514      * @return This builder for chaining.
5515      */
addCandidateSubnets(java.lang.String value)5516     public Builder addCandidateSubnets(java.lang.String value) {
5517       if (value == null) {
5518         throw new NullPointerException();
5519       }
5520       ensureCandidateSubnetsIsMutable();
5521       candidateSubnets_.add(value);
5522       onChanged();
5523       return this;
5524     }
5525     /**
5526      *
5527      *
5528      * <pre>
5529      * Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and customerRouterIpAddress for this attachment. All prefixes must be within link-local address space (169.254.0.0/16) and must be /29 or shorter (/28, /27, etc). Google will attempt to select an unused /29 from the supplied candidate prefix(es). The request will fail if all possible /29s are in use on Google's edge. If not supplied, Google will randomly select an unused /29 from all of link-local space.
5530      * </pre>
5531      *
5532      * <code>repeated string candidate_subnets = 237842938;</code>
5533      *
5534      * @param values The candidateSubnets to add.
5535      * @return This builder for chaining.
5536      */
addAllCandidateSubnets(java.lang.Iterable<java.lang.String> values)5537     public Builder addAllCandidateSubnets(java.lang.Iterable<java.lang.String> values) {
5538       ensureCandidateSubnetsIsMutable();
5539       com.google.protobuf.AbstractMessageLite.Builder.addAll(values, candidateSubnets_);
5540       onChanged();
5541       return this;
5542     }
5543     /**
5544      *
5545      *
5546      * <pre>
5547      * Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and customerRouterIpAddress for this attachment. All prefixes must be within link-local address space (169.254.0.0/16) and must be /29 or shorter (/28, /27, etc). Google will attempt to select an unused /29 from the supplied candidate prefix(es). The request will fail if all possible /29s are in use on Google's edge. If not supplied, Google will randomly select an unused /29 from all of link-local space.
5548      * </pre>
5549      *
5550      * <code>repeated string candidate_subnets = 237842938;</code>
5551      *
5552      * @return This builder for chaining.
5553      */
clearCandidateSubnets()5554     public Builder clearCandidateSubnets() {
5555       candidateSubnets_ = com.google.protobuf.LazyStringArrayList.EMPTY;
5556       bitField0_ = (bitField0_ & ~0x00000008);
5557       onChanged();
5558       return this;
5559     }
5560     /**
5561      *
5562      *
5563      * <pre>
5564      * Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and customerRouterIpAddress for this attachment. All prefixes must be within link-local address space (169.254.0.0/16) and must be /29 or shorter (/28, /27, etc). Google will attempt to select an unused /29 from the supplied candidate prefix(es). The request will fail if all possible /29s are in use on Google's edge. If not supplied, Google will randomly select an unused /29 from all of link-local space.
5565      * </pre>
5566      *
5567      * <code>repeated string candidate_subnets = 237842938;</code>
5568      *
5569      * @param value The bytes of the candidateSubnets to add.
5570      * @return This builder for chaining.
5571      */
addCandidateSubnetsBytes(com.google.protobuf.ByteString value)5572     public Builder addCandidateSubnetsBytes(com.google.protobuf.ByteString value) {
5573       if (value == null) {
5574         throw new NullPointerException();
5575       }
5576       checkByteStringIsUtf8(value);
5577       ensureCandidateSubnetsIsMutable();
5578       candidateSubnets_.add(value);
5579       onChanged();
5580       return this;
5581     }
5582 
5583     private java.lang.Object cloudRouterIpAddress_ = "";
5584     /**
5585      *
5586      *
5587      * <pre>
5588      * [Output Only] IPv4 address + prefix length to be configured on Cloud Router Interface for this interconnect attachment.
5589      * </pre>
5590      *
5591      * <code>optional string cloud_router_ip_address = 287392776;</code>
5592      *
5593      * @return Whether the cloudRouterIpAddress field is set.
5594      */
hasCloudRouterIpAddress()5595     public boolean hasCloudRouterIpAddress() {
5596       return ((bitField0_ & 0x00000010) != 0);
5597     }
5598     /**
5599      *
5600      *
5601      * <pre>
5602      * [Output Only] IPv4 address + prefix length to be configured on Cloud Router Interface for this interconnect attachment.
5603      * </pre>
5604      *
5605      * <code>optional string cloud_router_ip_address = 287392776;</code>
5606      *
5607      * @return The cloudRouterIpAddress.
5608      */
getCloudRouterIpAddress()5609     public java.lang.String getCloudRouterIpAddress() {
5610       java.lang.Object ref = cloudRouterIpAddress_;
5611       if (!(ref instanceof java.lang.String)) {
5612         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
5613         java.lang.String s = bs.toStringUtf8();
5614         cloudRouterIpAddress_ = s;
5615         return s;
5616       } else {
5617         return (java.lang.String) ref;
5618       }
5619     }
5620     /**
5621      *
5622      *
5623      * <pre>
5624      * [Output Only] IPv4 address + prefix length to be configured on Cloud Router Interface for this interconnect attachment.
5625      * </pre>
5626      *
5627      * <code>optional string cloud_router_ip_address = 287392776;</code>
5628      *
5629      * @return The bytes for cloudRouterIpAddress.
5630      */
getCloudRouterIpAddressBytes()5631     public com.google.protobuf.ByteString getCloudRouterIpAddressBytes() {
5632       java.lang.Object ref = cloudRouterIpAddress_;
5633       if (ref instanceof String) {
5634         com.google.protobuf.ByteString b =
5635             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
5636         cloudRouterIpAddress_ = b;
5637         return b;
5638       } else {
5639         return (com.google.protobuf.ByteString) ref;
5640       }
5641     }
5642     /**
5643      *
5644      *
5645      * <pre>
5646      * [Output Only] IPv4 address + prefix length to be configured on Cloud Router Interface for this interconnect attachment.
5647      * </pre>
5648      *
5649      * <code>optional string cloud_router_ip_address = 287392776;</code>
5650      *
5651      * @param value The cloudRouterIpAddress to set.
5652      * @return This builder for chaining.
5653      */
setCloudRouterIpAddress(java.lang.String value)5654     public Builder setCloudRouterIpAddress(java.lang.String value) {
5655       if (value == null) {
5656         throw new NullPointerException();
5657       }
5658       cloudRouterIpAddress_ = value;
5659       bitField0_ |= 0x00000010;
5660       onChanged();
5661       return this;
5662     }
5663     /**
5664      *
5665      *
5666      * <pre>
5667      * [Output Only] IPv4 address + prefix length to be configured on Cloud Router Interface for this interconnect attachment.
5668      * </pre>
5669      *
5670      * <code>optional string cloud_router_ip_address = 287392776;</code>
5671      *
5672      * @return This builder for chaining.
5673      */
clearCloudRouterIpAddress()5674     public Builder clearCloudRouterIpAddress() {
5675       cloudRouterIpAddress_ = getDefaultInstance().getCloudRouterIpAddress();
5676       bitField0_ = (bitField0_ & ~0x00000010);
5677       onChanged();
5678       return this;
5679     }
5680     /**
5681      *
5682      *
5683      * <pre>
5684      * [Output Only] IPv4 address + prefix length to be configured on Cloud Router Interface for this interconnect attachment.
5685      * </pre>
5686      *
5687      * <code>optional string cloud_router_ip_address = 287392776;</code>
5688      *
5689      * @param value The bytes for cloudRouterIpAddress to set.
5690      * @return This builder for chaining.
5691      */
setCloudRouterIpAddressBytes(com.google.protobuf.ByteString value)5692     public Builder setCloudRouterIpAddressBytes(com.google.protobuf.ByteString value) {
5693       if (value == null) {
5694         throw new NullPointerException();
5695       }
5696       checkByteStringIsUtf8(value);
5697       cloudRouterIpAddress_ = value;
5698       bitField0_ |= 0x00000010;
5699       onChanged();
5700       return this;
5701     }
5702 
5703     private java.lang.Object cloudRouterIpv6Address_ = "";
5704     /**
5705      *
5706      *
5707      * <pre>
5708      * [Output Only] IPv6 address + prefix length to be configured on Cloud Router Interface for this interconnect attachment.
5709      * </pre>
5710      *
5711      * <code>optional string cloud_router_ipv6_address = 451922376;</code>
5712      *
5713      * @return Whether the cloudRouterIpv6Address field is set.
5714      */
hasCloudRouterIpv6Address()5715     public boolean hasCloudRouterIpv6Address() {
5716       return ((bitField0_ & 0x00000020) != 0);
5717     }
5718     /**
5719      *
5720      *
5721      * <pre>
5722      * [Output Only] IPv6 address + prefix length to be configured on Cloud Router Interface for this interconnect attachment.
5723      * </pre>
5724      *
5725      * <code>optional string cloud_router_ipv6_address = 451922376;</code>
5726      *
5727      * @return The cloudRouterIpv6Address.
5728      */
getCloudRouterIpv6Address()5729     public java.lang.String getCloudRouterIpv6Address() {
5730       java.lang.Object ref = cloudRouterIpv6Address_;
5731       if (!(ref instanceof java.lang.String)) {
5732         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
5733         java.lang.String s = bs.toStringUtf8();
5734         cloudRouterIpv6Address_ = s;
5735         return s;
5736       } else {
5737         return (java.lang.String) ref;
5738       }
5739     }
5740     /**
5741      *
5742      *
5743      * <pre>
5744      * [Output Only] IPv6 address + prefix length to be configured on Cloud Router Interface for this interconnect attachment.
5745      * </pre>
5746      *
5747      * <code>optional string cloud_router_ipv6_address = 451922376;</code>
5748      *
5749      * @return The bytes for cloudRouterIpv6Address.
5750      */
getCloudRouterIpv6AddressBytes()5751     public com.google.protobuf.ByteString getCloudRouterIpv6AddressBytes() {
5752       java.lang.Object ref = cloudRouterIpv6Address_;
5753       if (ref instanceof String) {
5754         com.google.protobuf.ByteString b =
5755             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
5756         cloudRouterIpv6Address_ = b;
5757         return b;
5758       } else {
5759         return (com.google.protobuf.ByteString) ref;
5760       }
5761     }
5762     /**
5763      *
5764      *
5765      * <pre>
5766      * [Output Only] IPv6 address + prefix length to be configured on Cloud Router Interface for this interconnect attachment.
5767      * </pre>
5768      *
5769      * <code>optional string cloud_router_ipv6_address = 451922376;</code>
5770      *
5771      * @param value The cloudRouterIpv6Address to set.
5772      * @return This builder for chaining.
5773      */
setCloudRouterIpv6Address(java.lang.String value)5774     public Builder setCloudRouterIpv6Address(java.lang.String value) {
5775       if (value == null) {
5776         throw new NullPointerException();
5777       }
5778       cloudRouterIpv6Address_ = value;
5779       bitField0_ |= 0x00000020;
5780       onChanged();
5781       return this;
5782     }
5783     /**
5784      *
5785      *
5786      * <pre>
5787      * [Output Only] IPv6 address + prefix length to be configured on Cloud Router Interface for this interconnect attachment.
5788      * </pre>
5789      *
5790      * <code>optional string cloud_router_ipv6_address = 451922376;</code>
5791      *
5792      * @return This builder for chaining.
5793      */
clearCloudRouterIpv6Address()5794     public Builder clearCloudRouterIpv6Address() {
5795       cloudRouterIpv6Address_ = getDefaultInstance().getCloudRouterIpv6Address();
5796       bitField0_ = (bitField0_ & ~0x00000020);
5797       onChanged();
5798       return this;
5799     }
5800     /**
5801      *
5802      *
5803      * <pre>
5804      * [Output Only] IPv6 address + prefix length to be configured on Cloud Router Interface for this interconnect attachment.
5805      * </pre>
5806      *
5807      * <code>optional string cloud_router_ipv6_address = 451922376;</code>
5808      *
5809      * @param value The bytes for cloudRouterIpv6Address to set.
5810      * @return This builder for chaining.
5811      */
setCloudRouterIpv6AddressBytes(com.google.protobuf.ByteString value)5812     public Builder setCloudRouterIpv6AddressBytes(com.google.protobuf.ByteString value) {
5813       if (value == null) {
5814         throw new NullPointerException();
5815       }
5816       checkByteStringIsUtf8(value);
5817       cloudRouterIpv6Address_ = value;
5818       bitField0_ |= 0x00000020;
5819       onChanged();
5820       return this;
5821     }
5822 
5823     private java.lang.Object cloudRouterIpv6InterfaceId_ = "";
5824     /**
5825      *
5826      *
5827      * <pre>
5828      * This field is not available.
5829      * </pre>
5830      *
5831      * <code>optional string cloud_router_ipv6_interface_id = 521282701;</code>
5832      *
5833      * @return Whether the cloudRouterIpv6InterfaceId field is set.
5834      */
hasCloudRouterIpv6InterfaceId()5835     public boolean hasCloudRouterIpv6InterfaceId() {
5836       return ((bitField0_ & 0x00000040) != 0);
5837     }
5838     /**
5839      *
5840      *
5841      * <pre>
5842      * This field is not available.
5843      * </pre>
5844      *
5845      * <code>optional string cloud_router_ipv6_interface_id = 521282701;</code>
5846      *
5847      * @return The cloudRouterIpv6InterfaceId.
5848      */
getCloudRouterIpv6InterfaceId()5849     public java.lang.String getCloudRouterIpv6InterfaceId() {
5850       java.lang.Object ref = cloudRouterIpv6InterfaceId_;
5851       if (!(ref instanceof java.lang.String)) {
5852         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
5853         java.lang.String s = bs.toStringUtf8();
5854         cloudRouterIpv6InterfaceId_ = s;
5855         return s;
5856       } else {
5857         return (java.lang.String) ref;
5858       }
5859     }
5860     /**
5861      *
5862      *
5863      * <pre>
5864      * This field is not available.
5865      * </pre>
5866      *
5867      * <code>optional string cloud_router_ipv6_interface_id = 521282701;</code>
5868      *
5869      * @return The bytes for cloudRouterIpv6InterfaceId.
5870      */
getCloudRouterIpv6InterfaceIdBytes()5871     public com.google.protobuf.ByteString getCloudRouterIpv6InterfaceIdBytes() {
5872       java.lang.Object ref = cloudRouterIpv6InterfaceId_;
5873       if (ref instanceof String) {
5874         com.google.protobuf.ByteString b =
5875             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
5876         cloudRouterIpv6InterfaceId_ = b;
5877         return b;
5878       } else {
5879         return (com.google.protobuf.ByteString) ref;
5880       }
5881     }
5882     /**
5883      *
5884      *
5885      * <pre>
5886      * This field is not available.
5887      * </pre>
5888      *
5889      * <code>optional string cloud_router_ipv6_interface_id = 521282701;</code>
5890      *
5891      * @param value The cloudRouterIpv6InterfaceId to set.
5892      * @return This builder for chaining.
5893      */
setCloudRouterIpv6InterfaceId(java.lang.String value)5894     public Builder setCloudRouterIpv6InterfaceId(java.lang.String value) {
5895       if (value == null) {
5896         throw new NullPointerException();
5897       }
5898       cloudRouterIpv6InterfaceId_ = value;
5899       bitField0_ |= 0x00000040;
5900       onChanged();
5901       return this;
5902     }
5903     /**
5904      *
5905      *
5906      * <pre>
5907      * This field is not available.
5908      * </pre>
5909      *
5910      * <code>optional string cloud_router_ipv6_interface_id = 521282701;</code>
5911      *
5912      * @return This builder for chaining.
5913      */
clearCloudRouterIpv6InterfaceId()5914     public Builder clearCloudRouterIpv6InterfaceId() {
5915       cloudRouterIpv6InterfaceId_ = getDefaultInstance().getCloudRouterIpv6InterfaceId();
5916       bitField0_ = (bitField0_ & ~0x00000040);
5917       onChanged();
5918       return this;
5919     }
5920     /**
5921      *
5922      *
5923      * <pre>
5924      * This field is not available.
5925      * </pre>
5926      *
5927      * <code>optional string cloud_router_ipv6_interface_id = 521282701;</code>
5928      *
5929      * @param value The bytes for cloudRouterIpv6InterfaceId to set.
5930      * @return This builder for chaining.
5931      */
setCloudRouterIpv6InterfaceIdBytes(com.google.protobuf.ByteString value)5932     public Builder setCloudRouterIpv6InterfaceIdBytes(com.google.protobuf.ByteString value) {
5933       if (value == null) {
5934         throw new NullPointerException();
5935       }
5936       checkByteStringIsUtf8(value);
5937       cloudRouterIpv6InterfaceId_ = value;
5938       bitField0_ |= 0x00000040;
5939       onChanged();
5940       return this;
5941     }
5942 
5943     private java.lang.Object creationTimestamp_ = "";
5944     /**
5945      *
5946      *
5947      * <pre>
5948      * [Output Only] Creation timestamp in RFC3339 text format.
5949      * </pre>
5950      *
5951      * <code>optional string creation_timestamp = 30525366;</code>
5952      *
5953      * @return Whether the creationTimestamp field is set.
5954      */
hasCreationTimestamp()5955     public boolean hasCreationTimestamp() {
5956       return ((bitField0_ & 0x00000080) != 0);
5957     }
5958     /**
5959      *
5960      *
5961      * <pre>
5962      * [Output Only] Creation timestamp in RFC3339 text format.
5963      * </pre>
5964      *
5965      * <code>optional string creation_timestamp = 30525366;</code>
5966      *
5967      * @return The creationTimestamp.
5968      */
getCreationTimestamp()5969     public java.lang.String getCreationTimestamp() {
5970       java.lang.Object ref = creationTimestamp_;
5971       if (!(ref instanceof java.lang.String)) {
5972         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
5973         java.lang.String s = bs.toStringUtf8();
5974         creationTimestamp_ = s;
5975         return s;
5976       } else {
5977         return (java.lang.String) ref;
5978       }
5979     }
5980     /**
5981      *
5982      *
5983      * <pre>
5984      * [Output Only] Creation timestamp in RFC3339 text format.
5985      * </pre>
5986      *
5987      * <code>optional string creation_timestamp = 30525366;</code>
5988      *
5989      * @return The bytes for creationTimestamp.
5990      */
getCreationTimestampBytes()5991     public com.google.protobuf.ByteString getCreationTimestampBytes() {
5992       java.lang.Object ref = creationTimestamp_;
5993       if (ref instanceof String) {
5994         com.google.protobuf.ByteString b =
5995             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
5996         creationTimestamp_ = b;
5997         return b;
5998       } else {
5999         return (com.google.protobuf.ByteString) ref;
6000       }
6001     }
6002     /**
6003      *
6004      *
6005      * <pre>
6006      * [Output Only] Creation timestamp in RFC3339 text format.
6007      * </pre>
6008      *
6009      * <code>optional string creation_timestamp = 30525366;</code>
6010      *
6011      * @param value The creationTimestamp to set.
6012      * @return This builder for chaining.
6013      */
setCreationTimestamp(java.lang.String value)6014     public Builder setCreationTimestamp(java.lang.String value) {
6015       if (value == null) {
6016         throw new NullPointerException();
6017       }
6018       creationTimestamp_ = value;
6019       bitField0_ |= 0x00000080;
6020       onChanged();
6021       return this;
6022     }
6023     /**
6024      *
6025      *
6026      * <pre>
6027      * [Output Only] Creation timestamp in RFC3339 text format.
6028      * </pre>
6029      *
6030      * <code>optional string creation_timestamp = 30525366;</code>
6031      *
6032      * @return This builder for chaining.
6033      */
clearCreationTimestamp()6034     public Builder clearCreationTimestamp() {
6035       creationTimestamp_ = getDefaultInstance().getCreationTimestamp();
6036       bitField0_ = (bitField0_ & ~0x00000080);
6037       onChanged();
6038       return this;
6039     }
6040     /**
6041      *
6042      *
6043      * <pre>
6044      * [Output Only] Creation timestamp in RFC3339 text format.
6045      * </pre>
6046      *
6047      * <code>optional string creation_timestamp = 30525366;</code>
6048      *
6049      * @param value The bytes for creationTimestamp to set.
6050      * @return This builder for chaining.
6051      */
setCreationTimestampBytes(com.google.protobuf.ByteString value)6052     public Builder setCreationTimestampBytes(com.google.protobuf.ByteString value) {
6053       if (value == null) {
6054         throw new NullPointerException();
6055       }
6056       checkByteStringIsUtf8(value);
6057       creationTimestamp_ = value;
6058       bitField0_ |= 0x00000080;
6059       onChanged();
6060       return this;
6061     }
6062 
6063     private java.lang.Object customerRouterIpAddress_ = "";
6064     /**
6065      *
6066      *
6067      * <pre>
6068      * [Output Only] IPv4 address + prefix length to be configured on the customer router subinterface for this interconnect attachment.
6069      * </pre>
6070      *
6071      * <code>optional string customer_router_ip_address = 332475761;</code>
6072      *
6073      * @return Whether the customerRouterIpAddress field is set.
6074      */
hasCustomerRouterIpAddress()6075     public boolean hasCustomerRouterIpAddress() {
6076       return ((bitField0_ & 0x00000100) != 0);
6077     }
6078     /**
6079      *
6080      *
6081      * <pre>
6082      * [Output Only] IPv4 address + prefix length to be configured on the customer router subinterface for this interconnect attachment.
6083      * </pre>
6084      *
6085      * <code>optional string customer_router_ip_address = 332475761;</code>
6086      *
6087      * @return The customerRouterIpAddress.
6088      */
getCustomerRouterIpAddress()6089     public java.lang.String getCustomerRouterIpAddress() {
6090       java.lang.Object ref = customerRouterIpAddress_;
6091       if (!(ref instanceof java.lang.String)) {
6092         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
6093         java.lang.String s = bs.toStringUtf8();
6094         customerRouterIpAddress_ = s;
6095         return s;
6096       } else {
6097         return (java.lang.String) ref;
6098       }
6099     }
6100     /**
6101      *
6102      *
6103      * <pre>
6104      * [Output Only] IPv4 address + prefix length to be configured on the customer router subinterface for this interconnect attachment.
6105      * </pre>
6106      *
6107      * <code>optional string customer_router_ip_address = 332475761;</code>
6108      *
6109      * @return The bytes for customerRouterIpAddress.
6110      */
getCustomerRouterIpAddressBytes()6111     public com.google.protobuf.ByteString getCustomerRouterIpAddressBytes() {
6112       java.lang.Object ref = customerRouterIpAddress_;
6113       if (ref instanceof String) {
6114         com.google.protobuf.ByteString b =
6115             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
6116         customerRouterIpAddress_ = b;
6117         return b;
6118       } else {
6119         return (com.google.protobuf.ByteString) ref;
6120       }
6121     }
6122     /**
6123      *
6124      *
6125      * <pre>
6126      * [Output Only] IPv4 address + prefix length to be configured on the customer router subinterface for this interconnect attachment.
6127      * </pre>
6128      *
6129      * <code>optional string customer_router_ip_address = 332475761;</code>
6130      *
6131      * @param value The customerRouterIpAddress to set.
6132      * @return This builder for chaining.
6133      */
setCustomerRouterIpAddress(java.lang.String value)6134     public Builder setCustomerRouterIpAddress(java.lang.String value) {
6135       if (value == null) {
6136         throw new NullPointerException();
6137       }
6138       customerRouterIpAddress_ = value;
6139       bitField0_ |= 0x00000100;
6140       onChanged();
6141       return this;
6142     }
6143     /**
6144      *
6145      *
6146      * <pre>
6147      * [Output Only] IPv4 address + prefix length to be configured on the customer router subinterface for this interconnect attachment.
6148      * </pre>
6149      *
6150      * <code>optional string customer_router_ip_address = 332475761;</code>
6151      *
6152      * @return This builder for chaining.
6153      */
clearCustomerRouterIpAddress()6154     public Builder clearCustomerRouterIpAddress() {
6155       customerRouterIpAddress_ = getDefaultInstance().getCustomerRouterIpAddress();
6156       bitField0_ = (bitField0_ & ~0x00000100);
6157       onChanged();
6158       return this;
6159     }
6160     /**
6161      *
6162      *
6163      * <pre>
6164      * [Output Only] IPv4 address + prefix length to be configured on the customer router subinterface for this interconnect attachment.
6165      * </pre>
6166      *
6167      * <code>optional string customer_router_ip_address = 332475761;</code>
6168      *
6169      * @param value The bytes for customerRouterIpAddress to set.
6170      * @return This builder for chaining.
6171      */
setCustomerRouterIpAddressBytes(com.google.protobuf.ByteString value)6172     public Builder setCustomerRouterIpAddressBytes(com.google.protobuf.ByteString value) {
6173       if (value == null) {
6174         throw new NullPointerException();
6175       }
6176       checkByteStringIsUtf8(value);
6177       customerRouterIpAddress_ = value;
6178       bitField0_ |= 0x00000100;
6179       onChanged();
6180       return this;
6181     }
6182 
6183     private java.lang.Object customerRouterIpv6Address_ = "";
6184     /**
6185      *
6186      *
6187      * <pre>
6188      * [Output Only] IPv6 address + prefix length to be configured on the customer router subinterface for this interconnect attachment.
6189      * </pre>
6190      *
6191      * <code>optional string customer_router_ipv6_address = 290127089;</code>
6192      *
6193      * @return Whether the customerRouterIpv6Address field is set.
6194      */
hasCustomerRouterIpv6Address()6195     public boolean hasCustomerRouterIpv6Address() {
6196       return ((bitField0_ & 0x00000200) != 0);
6197     }
6198     /**
6199      *
6200      *
6201      * <pre>
6202      * [Output Only] IPv6 address + prefix length to be configured on the customer router subinterface for this interconnect attachment.
6203      * </pre>
6204      *
6205      * <code>optional string customer_router_ipv6_address = 290127089;</code>
6206      *
6207      * @return The customerRouterIpv6Address.
6208      */
getCustomerRouterIpv6Address()6209     public java.lang.String getCustomerRouterIpv6Address() {
6210       java.lang.Object ref = customerRouterIpv6Address_;
6211       if (!(ref instanceof java.lang.String)) {
6212         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
6213         java.lang.String s = bs.toStringUtf8();
6214         customerRouterIpv6Address_ = s;
6215         return s;
6216       } else {
6217         return (java.lang.String) ref;
6218       }
6219     }
6220     /**
6221      *
6222      *
6223      * <pre>
6224      * [Output Only] IPv6 address + prefix length to be configured on the customer router subinterface for this interconnect attachment.
6225      * </pre>
6226      *
6227      * <code>optional string customer_router_ipv6_address = 290127089;</code>
6228      *
6229      * @return The bytes for customerRouterIpv6Address.
6230      */
getCustomerRouterIpv6AddressBytes()6231     public com.google.protobuf.ByteString getCustomerRouterIpv6AddressBytes() {
6232       java.lang.Object ref = customerRouterIpv6Address_;
6233       if (ref instanceof String) {
6234         com.google.protobuf.ByteString b =
6235             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
6236         customerRouterIpv6Address_ = b;
6237         return b;
6238       } else {
6239         return (com.google.protobuf.ByteString) ref;
6240       }
6241     }
6242     /**
6243      *
6244      *
6245      * <pre>
6246      * [Output Only] IPv6 address + prefix length to be configured on the customer router subinterface for this interconnect attachment.
6247      * </pre>
6248      *
6249      * <code>optional string customer_router_ipv6_address = 290127089;</code>
6250      *
6251      * @param value The customerRouterIpv6Address to set.
6252      * @return This builder for chaining.
6253      */
setCustomerRouterIpv6Address(java.lang.String value)6254     public Builder setCustomerRouterIpv6Address(java.lang.String value) {
6255       if (value == null) {
6256         throw new NullPointerException();
6257       }
6258       customerRouterIpv6Address_ = value;
6259       bitField0_ |= 0x00000200;
6260       onChanged();
6261       return this;
6262     }
6263     /**
6264      *
6265      *
6266      * <pre>
6267      * [Output Only] IPv6 address + prefix length to be configured on the customer router subinterface for this interconnect attachment.
6268      * </pre>
6269      *
6270      * <code>optional string customer_router_ipv6_address = 290127089;</code>
6271      *
6272      * @return This builder for chaining.
6273      */
clearCustomerRouterIpv6Address()6274     public Builder clearCustomerRouterIpv6Address() {
6275       customerRouterIpv6Address_ = getDefaultInstance().getCustomerRouterIpv6Address();
6276       bitField0_ = (bitField0_ & ~0x00000200);
6277       onChanged();
6278       return this;
6279     }
6280     /**
6281      *
6282      *
6283      * <pre>
6284      * [Output Only] IPv6 address + prefix length to be configured on the customer router subinterface for this interconnect attachment.
6285      * </pre>
6286      *
6287      * <code>optional string customer_router_ipv6_address = 290127089;</code>
6288      *
6289      * @param value The bytes for customerRouterIpv6Address to set.
6290      * @return This builder for chaining.
6291      */
setCustomerRouterIpv6AddressBytes(com.google.protobuf.ByteString value)6292     public Builder setCustomerRouterIpv6AddressBytes(com.google.protobuf.ByteString value) {
6293       if (value == null) {
6294         throw new NullPointerException();
6295       }
6296       checkByteStringIsUtf8(value);
6297       customerRouterIpv6Address_ = value;
6298       bitField0_ |= 0x00000200;
6299       onChanged();
6300       return this;
6301     }
6302 
6303     private java.lang.Object customerRouterIpv6InterfaceId_ = "";
6304     /**
6305      *
6306      *
6307      * <pre>
6308      * This field is not available.
6309      * </pre>
6310      *
6311      * <code>optional string customer_router_ipv6_interface_id = 380994308;</code>
6312      *
6313      * @return Whether the customerRouterIpv6InterfaceId field is set.
6314      */
hasCustomerRouterIpv6InterfaceId()6315     public boolean hasCustomerRouterIpv6InterfaceId() {
6316       return ((bitField0_ & 0x00000400) != 0);
6317     }
6318     /**
6319      *
6320      *
6321      * <pre>
6322      * This field is not available.
6323      * </pre>
6324      *
6325      * <code>optional string customer_router_ipv6_interface_id = 380994308;</code>
6326      *
6327      * @return The customerRouterIpv6InterfaceId.
6328      */
getCustomerRouterIpv6InterfaceId()6329     public java.lang.String getCustomerRouterIpv6InterfaceId() {
6330       java.lang.Object ref = customerRouterIpv6InterfaceId_;
6331       if (!(ref instanceof java.lang.String)) {
6332         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
6333         java.lang.String s = bs.toStringUtf8();
6334         customerRouterIpv6InterfaceId_ = s;
6335         return s;
6336       } else {
6337         return (java.lang.String) ref;
6338       }
6339     }
6340     /**
6341      *
6342      *
6343      * <pre>
6344      * This field is not available.
6345      * </pre>
6346      *
6347      * <code>optional string customer_router_ipv6_interface_id = 380994308;</code>
6348      *
6349      * @return The bytes for customerRouterIpv6InterfaceId.
6350      */
getCustomerRouterIpv6InterfaceIdBytes()6351     public com.google.protobuf.ByteString getCustomerRouterIpv6InterfaceIdBytes() {
6352       java.lang.Object ref = customerRouterIpv6InterfaceId_;
6353       if (ref instanceof String) {
6354         com.google.protobuf.ByteString b =
6355             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
6356         customerRouterIpv6InterfaceId_ = b;
6357         return b;
6358       } else {
6359         return (com.google.protobuf.ByteString) ref;
6360       }
6361     }
6362     /**
6363      *
6364      *
6365      * <pre>
6366      * This field is not available.
6367      * </pre>
6368      *
6369      * <code>optional string customer_router_ipv6_interface_id = 380994308;</code>
6370      *
6371      * @param value The customerRouterIpv6InterfaceId to set.
6372      * @return This builder for chaining.
6373      */
setCustomerRouterIpv6InterfaceId(java.lang.String value)6374     public Builder setCustomerRouterIpv6InterfaceId(java.lang.String value) {
6375       if (value == null) {
6376         throw new NullPointerException();
6377       }
6378       customerRouterIpv6InterfaceId_ = value;
6379       bitField0_ |= 0x00000400;
6380       onChanged();
6381       return this;
6382     }
6383     /**
6384      *
6385      *
6386      * <pre>
6387      * This field is not available.
6388      * </pre>
6389      *
6390      * <code>optional string customer_router_ipv6_interface_id = 380994308;</code>
6391      *
6392      * @return This builder for chaining.
6393      */
clearCustomerRouterIpv6InterfaceId()6394     public Builder clearCustomerRouterIpv6InterfaceId() {
6395       customerRouterIpv6InterfaceId_ = getDefaultInstance().getCustomerRouterIpv6InterfaceId();
6396       bitField0_ = (bitField0_ & ~0x00000400);
6397       onChanged();
6398       return this;
6399     }
6400     /**
6401      *
6402      *
6403      * <pre>
6404      * This field is not available.
6405      * </pre>
6406      *
6407      * <code>optional string customer_router_ipv6_interface_id = 380994308;</code>
6408      *
6409      * @param value The bytes for customerRouterIpv6InterfaceId to set.
6410      * @return This builder for chaining.
6411      */
setCustomerRouterIpv6InterfaceIdBytes(com.google.protobuf.ByteString value)6412     public Builder setCustomerRouterIpv6InterfaceIdBytes(com.google.protobuf.ByteString value) {
6413       if (value == null) {
6414         throw new NullPointerException();
6415       }
6416       checkByteStringIsUtf8(value);
6417       customerRouterIpv6InterfaceId_ = value;
6418       bitField0_ |= 0x00000400;
6419       onChanged();
6420       return this;
6421     }
6422 
6423     private int dataplaneVersion_;
6424     /**
6425      *
6426      *
6427      * <pre>
6428      * [Output Only] Dataplane version for this InterconnectAttachment. This field is only present for Dataplane version 2 and higher. Absence of this field in the API output indicates that the Dataplane is version 1.
6429      * </pre>
6430      *
6431      * <code>optional int32 dataplane_version = 34920075;</code>
6432      *
6433      * @return Whether the dataplaneVersion field is set.
6434      */
6435     @java.lang.Override
hasDataplaneVersion()6436     public boolean hasDataplaneVersion() {
6437       return ((bitField0_ & 0x00000800) != 0);
6438     }
6439     /**
6440      *
6441      *
6442      * <pre>
6443      * [Output Only] Dataplane version for this InterconnectAttachment. This field is only present for Dataplane version 2 and higher. Absence of this field in the API output indicates that the Dataplane is version 1.
6444      * </pre>
6445      *
6446      * <code>optional int32 dataplane_version = 34920075;</code>
6447      *
6448      * @return The dataplaneVersion.
6449      */
6450     @java.lang.Override
getDataplaneVersion()6451     public int getDataplaneVersion() {
6452       return dataplaneVersion_;
6453     }
6454     /**
6455      *
6456      *
6457      * <pre>
6458      * [Output Only] Dataplane version for this InterconnectAttachment. This field is only present for Dataplane version 2 and higher. Absence of this field in the API output indicates that the Dataplane is version 1.
6459      * </pre>
6460      *
6461      * <code>optional int32 dataplane_version = 34920075;</code>
6462      *
6463      * @param value The dataplaneVersion to set.
6464      * @return This builder for chaining.
6465      */
setDataplaneVersion(int value)6466     public Builder setDataplaneVersion(int value) {
6467 
6468       dataplaneVersion_ = value;
6469       bitField0_ |= 0x00000800;
6470       onChanged();
6471       return this;
6472     }
6473     /**
6474      *
6475      *
6476      * <pre>
6477      * [Output Only] Dataplane version for this InterconnectAttachment. This field is only present for Dataplane version 2 and higher. Absence of this field in the API output indicates that the Dataplane is version 1.
6478      * </pre>
6479      *
6480      * <code>optional int32 dataplane_version = 34920075;</code>
6481      *
6482      * @return This builder for chaining.
6483      */
clearDataplaneVersion()6484     public Builder clearDataplaneVersion() {
6485       bitField0_ = (bitField0_ & ~0x00000800);
6486       dataplaneVersion_ = 0;
6487       onChanged();
6488       return this;
6489     }
6490 
6491     private java.lang.Object description_ = "";
6492     /**
6493      *
6494      *
6495      * <pre>
6496      * An optional description of this resource.
6497      * </pre>
6498      *
6499      * <code>optional string description = 422937596;</code>
6500      *
6501      * @return Whether the description field is set.
6502      */
hasDescription()6503     public boolean hasDescription() {
6504       return ((bitField0_ & 0x00001000) != 0);
6505     }
6506     /**
6507      *
6508      *
6509      * <pre>
6510      * An optional description of this resource.
6511      * </pre>
6512      *
6513      * <code>optional string description = 422937596;</code>
6514      *
6515      * @return The description.
6516      */
getDescription()6517     public java.lang.String getDescription() {
6518       java.lang.Object ref = description_;
6519       if (!(ref instanceof java.lang.String)) {
6520         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
6521         java.lang.String s = bs.toStringUtf8();
6522         description_ = s;
6523         return s;
6524       } else {
6525         return (java.lang.String) ref;
6526       }
6527     }
6528     /**
6529      *
6530      *
6531      * <pre>
6532      * An optional description of this resource.
6533      * </pre>
6534      *
6535      * <code>optional string description = 422937596;</code>
6536      *
6537      * @return The bytes for description.
6538      */
getDescriptionBytes()6539     public com.google.protobuf.ByteString getDescriptionBytes() {
6540       java.lang.Object ref = description_;
6541       if (ref instanceof String) {
6542         com.google.protobuf.ByteString b =
6543             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
6544         description_ = b;
6545         return b;
6546       } else {
6547         return (com.google.protobuf.ByteString) ref;
6548       }
6549     }
6550     /**
6551      *
6552      *
6553      * <pre>
6554      * An optional description of this resource.
6555      * </pre>
6556      *
6557      * <code>optional string description = 422937596;</code>
6558      *
6559      * @param value The description to set.
6560      * @return This builder for chaining.
6561      */
setDescription(java.lang.String value)6562     public Builder setDescription(java.lang.String value) {
6563       if (value == null) {
6564         throw new NullPointerException();
6565       }
6566       description_ = value;
6567       bitField0_ |= 0x00001000;
6568       onChanged();
6569       return this;
6570     }
6571     /**
6572      *
6573      *
6574      * <pre>
6575      * An optional description of this resource.
6576      * </pre>
6577      *
6578      * <code>optional string description = 422937596;</code>
6579      *
6580      * @return This builder for chaining.
6581      */
clearDescription()6582     public Builder clearDescription() {
6583       description_ = getDefaultInstance().getDescription();
6584       bitField0_ = (bitField0_ & ~0x00001000);
6585       onChanged();
6586       return this;
6587     }
6588     /**
6589      *
6590      *
6591      * <pre>
6592      * An optional description of this resource.
6593      * </pre>
6594      *
6595      * <code>optional string description = 422937596;</code>
6596      *
6597      * @param value The bytes for description to set.
6598      * @return This builder for chaining.
6599      */
setDescriptionBytes(com.google.protobuf.ByteString value)6600     public Builder setDescriptionBytes(com.google.protobuf.ByteString value) {
6601       if (value == null) {
6602         throw new NullPointerException();
6603       }
6604       checkByteStringIsUtf8(value);
6605       description_ = value;
6606       bitField0_ |= 0x00001000;
6607       onChanged();
6608       return this;
6609     }
6610 
6611     private java.lang.Object edgeAvailabilityDomain_ = "";
6612     /**
6613      *
6614      *
6615      * <pre>
6616      * Desired availability domain for the attachment. Only available for type PARTNER, at creation time, and can take one of the following values: - AVAILABILITY_DOMAIN_ANY - AVAILABILITY_DOMAIN_1 - AVAILABILITY_DOMAIN_2 For improved reliability, customers should configure a pair of attachments, one per availability domain. The selected availability domain will be provided to the Partner via the pairing key, so that the provisioned circuit will lie in the specified domain. If not specified, the value will default to AVAILABILITY_DOMAIN_ANY.
6617      * Check the EdgeAvailabilityDomain enum for the list of possible values.
6618      * </pre>
6619      *
6620      * <code>optional string edge_availability_domain = 71289510;</code>
6621      *
6622      * @return Whether the edgeAvailabilityDomain field is set.
6623      */
hasEdgeAvailabilityDomain()6624     public boolean hasEdgeAvailabilityDomain() {
6625       return ((bitField0_ & 0x00002000) != 0);
6626     }
6627     /**
6628      *
6629      *
6630      * <pre>
6631      * Desired availability domain for the attachment. Only available for type PARTNER, at creation time, and can take one of the following values: - AVAILABILITY_DOMAIN_ANY - AVAILABILITY_DOMAIN_1 - AVAILABILITY_DOMAIN_2 For improved reliability, customers should configure a pair of attachments, one per availability domain. The selected availability domain will be provided to the Partner via the pairing key, so that the provisioned circuit will lie in the specified domain. If not specified, the value will default to AVAILABILITY_DOMAIN_ANY.
6632      * Check the EdgeAvailabilityDomain enum for the list of possible values.
6633      * </pre>
6634      *
6635      * <code>optional string edge_availability_domain = 71289510;</code>
6636      *
6637      * @return The edgeAvailabilityDomain.
6638      */
getEdgeAvailabilityDomain()6639     public java.lang.String getEdgeAvailabilityDomain() {
6640       java.lang.Object ref = edgeAvailabilityDomain_;
6641       if (!(ref instanceof java.lang.String)) {
6642         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
6643         java.lang.String s = bs.toStringUtf8();
6644         edgeAvailabilityDomain_ = s;
6645         return s;
6646       } else {
6647         return (java.lang.String) ref;
6648       }
6649     }
6650     /**
6651      *
6652      *
6653      * <pre>
6654      * Desired availability domain for the attachment. Only available for type PARTNER, at creation time, and can take one of the following values: - AVAILABILITY_DOMAIN_ANY - AVAILABILITY_DOMAIN_1 - AVAILABILITY_DOMAIN_2 For improved reliability, customers should configure a pair of attachments, one per availability domain. The selected availability domain will be provided to the Partner via the pairing key, so that the provisioned circuit will lie in the specified domain. If not specified, the value will default to AVAILABILITY_DOMAIN_ANY.
6655      * Check the EdgeAvailabilityDomain enum for the list of possible values.
6656      * </pre>
6657      *
6658      * <code>optional string edge_availability_domain = 71289510;</code>
6659      *
6660      * @return The bytes for edgeAvailabilityDomain.
6661      */
getEdgeAvailabilityDomainBytes()6662     public com.google.protobuf.ByteString getEdgeAvailabilityDomainBytes() {
6663       java.lang.Object ref = edgeAvailabilityDomain_;
6664       if (ref instanceof String) {
6665         com.google.protobuf.ByteString b =
6666             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
6667         edgeAvailabilityDomain_ = b;
6668         return b;
6669       } else {
6670         return (com.google.protobuf.ByteString) ref;
6671       }
6672     }
6673     /**
6674      *
6675      *
6676      * <pre>
6677      * Desired availability domain for the attachment. Only available for type PARTNER, at creation time, and can take one of the following values: - AVAILABILITY_DOMAIN_ANY - AVAILABILITY_DOMAIN_1 - AVAILABILITY_DOMAIN_2 For improved reliability, customers should configure a pair of attachments, one per availability domain. The selected availability domain will be provided to the Partner via the pairing key, so that the provisioned circuit will lie in the specified domain. If not specified, the value will default to AVAILABILITY_DOMAIN_ANY.
6678      * Check the EdgeAvailabilityDomain enum for the list of possible values.
6679      * </pre>
6680      *
6681      * <code>optional string edge_availability_domain = 71289510;</code>
6682      *
6683      * @param value The edgeAvailabilityDomain to set.
6684      * @return This builder for chaining.
6685      */
setEdgeAvailabilityDomain(java.lang.String value)6686     public Builder setEdgeAvailabilityDomain(java.lang.String value) {
6687       if (value == null) {
6688         throw new NullPointerException();
6689       }
6690       edgeAvailabilityDomain_ = value;
6691       bitField0_ |= 0x00002000;
6692       onChanged();
6693       return this;
6694     }
6695     /**
6696      *
6697      *
6698      * <pre>
6699      * Desired availability domain for the attachment. Only available for type PARTNER, at creation time, and can take one of the following values: - AVAILABILITY_DOMAIN_ANY - AVAILABILITY_DOMAIN_1 - AVAILABILITY_DOMAIN_2 For improved reliability, customers should configure a pair of attachments, one per availability domain. The selected availability domain will be provided to the Partner via the pairing key, so that the provisioned circuit will lie in the specified domain. If not specified, the value will default to AVAILABILITY_DOMAIN_ANY.
6700      * Check the EdgeAvailabilityDomain enum for the list of possible values.
6701      * </pre>
6702      *
6703      * <code>optional string edge_availability_domain = 71289510;</code>
6704      *
6705      * @return This builder for chaining.
6706      */
clearEdgeAvailabilityDomain()6707     public Builder clearEdgeAvailabilityDomain() {
6708       edgeAvailabilityDomain_ = getDefaultInstance().getEdgeAvailabilityDomain();
6709       bitField0_ = (bitField0_ & ~0x00002000);
6710       onChanged();
6711       return this;
6712     }
6713     /**
6714      *
6715      *
6716      * <pre>
6717      * Desired availability domain for the attachment. Only available for type PARTNER, at creation time, and can take one of the following values: - AVAILABILITY_DOMAIN_ANY - AVAILABILITY_DOMAIN_1 - AVAILABILITY_DOMAIN_2 For improved reliability, customers should configure a pair of attachments, one per availability domain. The selected availability domain will be provided to the Partner via the pairing key, so that the provisioned circuit will lie in the specified domain. If not specified, the value will default to AVAILABILITY_DOMAIN_ANY.
6718      * Check the EdgeAvailabilityDomain enum for the list of possible values.
6719      * </pre>
6720      *
6721      * <code>optional string edge_availability_domain = 71289510;</code>
6722      *
6723      * @param value The bytes for edgeAvailabilityDomain to set.
6724      * @return This builder for chaining.
6725      */
setEdgeAvailabilityDomainBytes(com.google.protobuf.ByteString value)6726     public Builder setEdgeAvailabilityDomainBytes(com.google.protobuf.ByteString value) {
6727       if (value == null) {
6728         throw new NullPointerException();
6729       }
6730       checkByteStringIsUtf8(value);
6731       edgeAvailabilityDomain_ = value;
6732       bitField0_ |= 0x00002000;
6733       onChanged();
6734       return this;
6735     }
6736 
6737     private java.lang.Object encryption_ = "";
6738     /**
6739      *
6740      *
6741      * <pre>
6742      * Indicates the user-supplied encryption option of this VLAN attachment (interconnectAttachment). Can only be specified at attachment creation for PARTNER or DEDICATED attachments. Possible values are: - NONE - This is the default value, which means that the VLAN attachment carries unencrypted traffic. VMs are able to send traffic to, or receive traffic from, such a VLAN attachment. - IPSEC - The VLAN attachment carries only encrypted traffic that is encrypted by an IPsec device, such as an HA VPN gateway or third-party IPsec VPN. VMs cannot directly send traffic to, or receive traffic from, such a VLAN attachment. To use *HA VPN over Cloud Interconnect*, the VLAN attachment must be created with this option.
6743      * Check the Encryption enum for the list of possible values.
6744      * </pre>
6745      *
6746      * <code>optional string encryption = 97980291;</code>
6747      *
6748      * @return Whether the encryption field is set.
6749      */
hasEncryption()6750     public boolean hasEncryption() {
6751       return ((bitField0_ & 0x00004000) != 0);
6752     }
6753     /**
6754      *
6755      *
6756      * <pre>
6757      * Indicates the user-supplied encryption option of this VLAN attachment (interconnectAttachment). Can only be specified at attachment creation for PARTNER or DEDICATED attachments. Possible values are: - NONE - This is the default value, which means that the VLAN attachment carries unencrypted traffic. VMs are able to send traffic to, or receive traffic from, such a VLAN attachment. - IPSEC - The VLAN attachment carries only encrypted traffic that is encrypted by an IPsec device, such as an HA VPN gateway or third-party IPsec VPN. VMs cannot directly send traffic to, or receive traffic from, such a VLAN attachment. To use *HA VPN over Cloud Interconnect*, the VLAN attachment must be created with this option.
6758      * Check the Encryption enum for the list of possible values.
6759      * </pre>
6760      *
6761      * <code>optional string encryption = 97980291;</code>
6762      *
6763      * @return The encryption.
6764      */
getEncryption()6765     public java.lang.String getEncryption() {
6766       java.lang.Object ref = encryption_;
6767       if (!(ref instanceof java.lang.String)) {
6768         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
6769         java.lang.String s = bs.toStringUtf8();
6770         encryption_ = s;
6771         return s;
6772       } else {
6773         return (java.lang.String) ref;
6774       }
6775     }
6776     /**
6777      *
6778      *
6779      * <pre>
6780      * Indicates the user-supplied encryption option of this VLAN attachment (interconnectAttachment). Can only be specified at attachment creation for PARTNER or DEDICATED attachments. Possible values are: - NONE - This is the default value, which means that the VLAN attachment carries unencrypted traffic. VMs are able to send traffic to, or receive traffic from, such a VLAN attachment. - IPSEC - The VLAN attachment carries only encrypted traffic that is encrypted by an IPsec device, such as an HA VPN gateway or third-party IPsec VPN. VMs cannot directly send traffic to, or receive traffic from, such a VLAN attachment. To use *HA VPN over Cloud Interconnect*, the VLAN attachment must be created with this option.
6781      * Check the Encryption enum for the list of possible values.
6782      * </pre>
6783      *
6784      * <code>optional string encryption = 97980291;</code>
6785      *
6786      * @return The bytes for encryption.
6787      */
getEncryptionBytes()6788     public com.google.protobuf.ByteString getEncryptionBytes() {
6789       java.lang.Object ref = encryption_;
6790       if (ref instanceof String) {
6791         com.google.protobuf.ByteString b =
6792             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
6793         encryption_ = b;
6794         return b;
6795       } else {
6796         return (com.google.protobuf.ByteString) ref;
6797       }
6798     }
6799     /**
6800      *
6801      *
6802      * <pre>
6803      * Indicates the user-supplied encryption option of this VLAN attachment (interconnectAttachment). Can only be specified at attachment creation for PARTNER or DEDICATED attachments. Possible values are: - NONE - This is the default value, which means that the VLAN attachment carries unencrypted traffic. VMs are able to send traffic to, or receive traffic from, such a VLAN attachment. - IPSEC - The VLAN attachment carries only encrypted traffic that is encrypted by an IPsec device, such as an HA VPN gateway or third-party IPsec VPN. VMs cannot directly send traffic to, or receive traffic from, such a VLAN attachment. To use *HA VPN over Cloud Interconnect*, the VLAN attachment must be created with this option.
6804      * Check the Encryption enum for the list of possible values.
6805      * </pre>
6806      *
6807      * <code>optional string encryption = 97980291;</code>
6808      *
6809      * @param value The encryption to set.
6810      * @return This builder for chaining.
6811      */
setEncryption(java.lang.String value)6812     public Builder setEncryption(java.lang.String value) {
6813       if (value == null) {
6814         throw new NullPointerException();
6815       }
6816       encryption_ = value;
6817       bitField0_ |= 0x00004000;
6818       onChanged();
6819       return this;
6820     }
6821     /**
6822      *
6823      *
6824      * <pre>
6825      * Indicates the user-supplied encryption option of this VLAN attachment (interconnectAttachment). Can only be specified at attachment creation for PARTNER or DEDICATED attachments. Possible values are: - NONE - This is the default value, which means that the VLAN attachment carries unencrypted traffic. VMs are able to send traffic to, or receive traffic from, such a VLAN attachment. - IPSEC - The VLAN attachment carries only encrypted traffic that is encrypted by an IPsec device, such as an HA VPN gateway or third-party IPsec VPN. VMs cannot directly send traffic to, or receive traffic from, such a VLAN attachment. To use *HA VPN over Cloud Interconnect*, the VLAN attachment must be created with this option.
6826      * Check the Encryption enum for the list of possible values.
6827      * </pre>
6828      *
6829      * <code>optional string encryption = 97980291;</code>
6830      *
6831      * @return This builder for chaining.
6832      */
clearEncryption()6833     public Builder clearEncryption() {
6834       encryption_ = getDefaultInstance().getEncryption();
6835       bitField0_ = (bitField0_ & ~0x00004000);
6836       onChanged();
6837       return this;
6838     }
6839     /**
6840      *
6841      *
6842      * <pre>
6843      * Indicates the user-supplied encryption option of this VLAN attachment (interconnectAttachment). Can only be specified at attachment creation for PARTNER or DEDICATED attachments. Possible values are: - NONE - This is the default value, which means that the VLAN attachment carries unencrypted traffic. VMs are able to send traffic to, or receive traffic from, such a VLAN attachment. - IPSEC - The VLAN attachment carries only encrypted traffic that is encrypted by an IPsec device, such as an HA VPN gateway or third-party IPsec VPN. VMs cannot directly send traffic to, or receive traffic from, such a VLAN attachment. To use *HA VPN over Cloud Interconnect*, the VLAN attachment must be created with this option.
6844      * Check the Encryption enum for the list of possible values.
6845      * </pre>
6846      *
6847      * <code>optional string encryption = 97980291;</code>
6848      *
6849      * @param value The bytes for encryption to set.
6850      * @return This builder for chaining.
6851      */
setEncryptionBytes(com.google.protobuf.ByteString value)6852     public Builder setEncryptionBytes(com.google.protobuf.ByteString value) {
6853       if (value == null) {
6854         throw new NullPointerException();
6855       }
6856       checkByteStringIsUtf8(value);
6857       encryption_ = value;
6858       bitField0_ |= 0x00004000;
6859       onChanged();
6860       return this;
6861     }
6862 
6863     private java.lang.Object googleReferenceId_ = "";
6864     /**
6865      *
6866      *
6867      * <pre>
6868      * [Output Only] Google reference ID, to be used when raising support tickets with Google or otherwise to debug backend connectivity issues. [Deprecated] This field is not used.
6869      * </pre>
6870      *
6871      * <code>optional string google_reference_id = 534944469;</code>
6872      *
6873      * @return Whether the googleReferenceId field is set.
6874      */
hasGoogleReferenceId()6875     public boolean hasGoogleReferenceId() {
6876       return ((bitField0_ & 0x00008000) != 0);
6877     }
6878     /**
6879      *
6880      *
6881      * <pre>
6882      * [Output Only] Google reference ID, to be used when raising support tickets with Google or otherwise to debug backend connectivity issues. [Deprecated] This field is not used.
6883      * </pre>
6884      *
6885      * <code>optional string google_reference_id = 534944469;</code>
6886      *
6887      * @return The googleReferenceId.
6888      */
getGoogleReferenceId()6889     public java.lang.String getGoogleReferenceId() {
6890       java.lang.Object ref = googleReferenceId_;
6891       if (!(ref instanceof java.lang.String)) {
6892         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
6893         java.lang.String s = bs.toStringUtf8();
6894         googleReferenceId_ = s;
6895         return s;
6896       } else {
6897         return (java.lang.String) ref;
6898       }
6899     }
6900     /**
6901      *
6902      *
6903      * <pre>
6904      * [Output Only] Google reference ID, to be used when raising support tickets with Google or otherwise to debug backend connectivity issues. [Deprecated] This field is not used.
6905      * </pre>
6906      *
6907      * <code>optional string google_reference_id = 534944469;</code>
6908      *
6909      * @return The bytes for googleReferenceId.
6910      */
getGoogleReferenceIdBytes()6911     public com.google.protobuf.ByteString getGoogleReferenceIdBytes() {
6912       java.lang.Object ref = googleReferenceId_;
6913       if (ref instanceof String) {
6914         com.google.protobuf.ByteString b =
6915             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
6916         googleReferenceId_ = b;
6917         return b;
6918       } else {
6919         return (com.google.protobuf.ByteString) ref;
6920       }
6921     }
6922     /**
6923      *
6924      *
6925      * <pre>
6926      * [Output Only] Google reference ID, to be used when raising support tickets with Google or otherwise to debug backend connectivity issues. [Deprecated] This field is not used.
6927      * </pre>
6928      *
6929      * <code>optional string google_reference_id = 534944469;</code>
6930      *
6931      * @param value The googleReferenceId to set.
6932      * @return This builder for chaining.
6933      */
setGoogleReferenceId(java.lang.String value)6934     public Builder setGoogleReferenceId(java.lang.String value) {
6935       if (value == null) {
6936         throw new NullPointerException();
6937       }
6938       googleReferenceId_ = value;
6939       bitField0_ |= 0x00008000;
6940       onChanged();
6941       return this;
6942     }
6943     /**
6944      *
6945      *
6946      * <pre>
6947      * [Output Only] Google reference ID, to be used when raising support tickets with Google or otherwise to debug backend connectivity issues. [Deprecated] This field is not used.
6948      * </pre>
6949      *
6950      * <code>optional string google_reference_id = 534944469;</code>
6951      *
6952      * @return This builder for chaining.
6953      */
clearGoogleReferenceId()6954     public Builder clearGoogleReferenceId() {
6955       googleReferenceId_ = getDefaultInstance().getGoogleReferenceId();
6956       bitField0_ = (bitField0_ & ~0x00008000);
6957       onChanged();
6958       return this;
6959     }
6960     /**
6961      *
6962      *
6963      * <pre>
6964      * [Output Only] Google reference ID, to be used when raising support tickets with Google or otherwise to debug backend connectivity issues. [Deprecated] This field is not used.
6965      * </pre>
6966      *
6967      * <code>optional string google_reference_id = 534944469;</code>
6968      *
6969      * @param value The bytes for googleReferenceId to set.
6970      * @return This builder for chaining.
6971      */
setGoogleReferenceIdBytes(com.google.protobuf.ByteString value)6972     public Builder setGoogleReferenceIdBytes(com.google.protobuf.ByteString value) {
6973       if (value == null) {
6974         throw new NullPointerException();
6975       }
6976       checkByteStringIsUtf8(value);
6977       googleReferenceId_ = value;
6978       bitField0_ |= 0x00008000;
6979       onChanged();
6980       return this;
6981     }
6982 
6983     private long id_;
6984     /**
6985      *
6986      *
6987      * <pre>
6988      * [Output Only] The unique identifier for the resource. This identifier is defined by the server.
6989      * </pre>
6990      *
6991      * <code>optional uint64 id = 3355;</code>
6992      *
6993      * @return Whether the id field is set.
6994      */
6995     @java.lang.Override
hasId()6996     public boolean hasId() {
6997       return ((bitField0_ & 0x00010000) != 0);
6998     }
6999     /**
7000      *
7001      *
7002      * <pre>
7003      * [Output Only] The unique identifier for the resource. This identifier is defined by the server.
7004      * </pre>
7005      *
7006      * <code>optional uint64 id = 3355;</code>
7007      *
7008      * @return The id.
7009      */
7010     @java.lang.Override
getId()7011     public long getId() {
7012       return id_;
7013     }
7014     /**
7015      *
7016      *
7017      * <pre>
7018      * [Output Only] The unique identifier for the resource. This identifier is defined by the server.
7019      * </pre>
7020      *
7021      * <code>optional uint64 id = 3355;</code>
7022      *
7023      * @param value The id to set.
7024      * @return This builder for chaining.
7025      */
setId(long value)7026     public Builder setId(long value) {
7027 
7028       id_ = value;
7029       bitField0_ |= 0x00010000;
7030       onChanged();
7031       return this;
7032     }
7033     /**
7034      *
7035      *
7036      * <pre>
7037      * [Output Only] The unique identifier for the resource. This identifier is defined by the server.
7038      * </pre>
7039      *
7040      * <code>optional uint64 id = 3355;</code>
7041      *
7042      * @return This builder for chaining.
7043      */
clearId()7044     public Builder clearId() {
7045       bitField0_ = (bitField0_ & ~0x00010000);
7046       id_ = 0L;
7047       onChanged();
7048       return this;
7049     }
7050 
7051     private java.lang.Object interconnect_ = "";
7052     /**
7053      *
7054      *
7055      * <pre>
7056      * URL of the underlying Interconnect object that this attachment's traffic will traverse through.
7057      * </pre>
7058      *
7059      * <code>optional string interconnect = 224601230;</code>
7060      *
7061      * @return Whether the interconnect field is set.
7062      */
hasInterconnect()7063     public boolean hasInterconnect() {
7064       return ((bitField0_ & 0x00020000) != 0);
7065     }
7066     /**
7067      *
7068      *
7069      * <pre>
7070      * URL of the underlying Interconnect object that this attachment's traffic will traverse through.
7071      * </pre>
7072      *
7073      * <code>optional string interconnect = 224601230;</code>
7074      *
7075      * @return The interconnect.
7076      */
getInterconnect()7077     public java.lang.String getInterconnect() {
7078       java.lang.Object ref = interconnect_;
7079       if (!(ref instanceof java.lang.String)) {
7080         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
7081         java.lang.String s = bs.toStringUtf8();
7082         interconnect_ = s;
7083         return s;
7084       } else {
7085         return (java.lang.String) ref;
7086       }
7087     }
7088     /**
7089      *
7090      *
7091      * <pre>
7092      * URL of the underlying Interconnect object that this attachment's traffic will traverse through.
7093      * </pre>
7094      *
7095      * <code>optional string interconnect = 224601230;</code>
7096      *
7097      * @return The bytes for interconnect.
7098      */
getInterconnectBytes()7099     public com.google.protobuf.ByteString getInterconnectBytes() {
7100       java.lang.Object ref = interconnect_;
7101       if (ref instanceof String) {
7102         com.google.protobuf.ByteString b =
7103             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
7104         interconnect_ = b;
7105         return b;
7106       } else {
7107         return (com.google.protobuf.ByteString) ref;
7108       }
7109     }
7110     /**
7111      *
7112      *
7113      * <pre>
7114      * URL of the underlying Interconnect object that this attachment's traffic will traverse through.
7115      * </pre>
7116      *
7117      * <code>optional string interconnect = 224601230;</code>
7118      *
7119      * @param value The interconnect to set.
7120      * @return This builder for chaining.
7121      */
setInterconnect(java.lang.String value)7122     public Builder setInterconnect(java.lang.String value) {
7123       if (value == null) {
7124         throw new NullPointerException();
7125       }
7126       interconnect_ = value;
7127       bitField0_ |= 0x00020000;
7128       onChanged();
7129       return this;
7130     }
7131     /**
7132      *
7133      *
7134      * <pre>
7135      * URL of the underlying Interconnect object that this attachment's traffic will traverse through.
7136      * </pre>
7137      *
7138      * <code>optional string interconnect = 224601230;</code>
7139      *
7140      * @return This builder for chaining.
7141      */
clearInterconnect()7142     public Builder clearInterconnect() {
7143       interconnect_ = getDefaultInstance().getInterconnect();
7144       bitField0_ = (bitField0_ & ~0x00020000);
7145       onChanged();
7146       return this;
7147     }
7148     /**
7149      *
7150      *
7151      * <pre>
7152      * URL of the underlying Interconnect object that this attachment's traffic will traverse through.
7153      * </pre>
7154      *
7155      * <code>optional string interconnect = 224601230;</code>
7156      *
7157      * @param value The bytes for interconnect to set.
7158      * @return This builder for chaining.
7159      */
setInterconnectBytes(com.google.protobuf.ByteString value)7160     public Builder setInterconnectBytes(com.google.protobuf.ByteString value) {
7161       if (value == null) {
7162         throw new NullPointerException();
7163       }
7164       checkByteStringIsUtf8(value);
7165       interconnect_ = value;
7166       bitField0_ |= 0x00020000;
7167       onChanged();
7168       return this;
7169     }
7170 
7171     private com.google.protobuf.LazyStringList ipsecInternalAddresses_ =
7172         com.google.protobuf.LazyStringArrayList.EMPTY;
7173 
ensureIpsecInternalAddressesIsMutable()7174     private void ensureIpsecInternalAddressesIsMutable() {
7175       if (!((bitField0_ & 0x00040000) != 0)) {
7176         ipsecInternalAddresses_ =
7177             new com.google.protobuf.LazyStringArrayList(ipsecInternalAddresses_);
7178         bitField0_ |= 0x00040000;
7179       }
7180     }
7181     /**
7182      *
7183      *
7184      * <pre>
7185      * A list of URLs of addresses that have been reserved for the VLAN attachment. Used only for the VLAN attachment that has the encryption option as IPSEC. The addresses must be regional internal IP address ranges. When creating an HA VPN gateway over the VLAN attachment, if the attachment is configured to use a regional internal IP address, then the VPN gateway's IP address is allocated from the IP address range specified here. For example, if the HA VPN gateway's interface 0 is paired to this VLAN attachment, then a regional internal IP address for the VPN gateway interface 0 will be allocated from the IP address specified for this VLAN attachment. If this field is not specified when creating the VLAN attachment, then later on when creating an HA VPN gateway on this VLAN attachment, the HA VPN gateway's IP address is allocated from the regional external IP address pool. Not currently available publicly.
7186      * </pre>
7187      *
7188      * <code>repeated string ipsec_internal_addresses = 407648565;</code>
7189      *
7190      * @return A list containing the ipsecInternalAddresses.
7191      */
getIpsecInternalAddressesList()7192     public com.google.protobuf.ProtocolStringList getIpsecInternalAddressesList() {
7193       return ipsecInternalAddresses_.getUnmodifiableView();
7194     }
7195     /**
7196      *
7197      *
7198      * <pre>
7199      * A list of URLs of addresses that have been reserved for the VLAN attachment. Used only for the VLAN attachment that has the encryption option as IPSEC. The addresses must be regional internal IP address ranges. When creating an HA VPN gateway over the VLAN attachment, if the attachment is configured to use a regional internal IP address, then the VPN gateway's IP address is allocated from the IP address range specified here. For example, if the HA VPN gateway's interface 0 is paired to this VLAN attachment, then a regional internal IP address for the VPN gateway interface 0 will be allocated from the IP address specified for this VLAN attachment. If this field is not specified when creating the VLAN attachment, then later on when creating an HA VPN gateway on this VLAN attachment, the HA VPN gateway's IP address is allocated from the regional external IP address pool. Not currently available publicly.
7200      * </pre>
7201      *
7202      * <code>repeated string ipsec_internal_addresses = 407648565;</code>
7203      *
7204      * @return The count of ipsecInternalAddresses.
7205      */
getIpsecInternalAddressesCount()7206     public int getIpsecInternalAddressesCount() {
7207       return ipsecInternalAddresses_.size();
7208     }
7209     /**
7210      *
7211      *
7212      * <pre>
7213      * A list of URLs of addresses that have been reserved for the VLAN attachment. Used only for the VLAN attachment that has the encryption option as IPSEC. The addresses must be regional internal IP address ranges. When creating an HA VPN gateway over the VLAN attachment, if the attachment is configured to use a regional internal IP address, then the VPN gateway's IP address is allocated from the IP address range specified here. For example, if the HA VPN gateway's interface 0 is paired to this VLAN attachment, then a regional internal IP address for the VPN gateway interface 0 will be allocated from the IP address specified for this VLAN attachment. If this field is not specified when creating the VLAN attachment, then later on when creating an HA VPN gateway on this VLAN attachment, the HA VPN gateway's IP address is allocated from the regional external IP address pool. Not currently available publicly.
7214      * </pre>
7215      *
7216      * <code>repeated string ipsec_internal_addresses = 407648565;</code>
7217      *
7218      * @param index The index of the element to return.
7219      * @return The ipsecInternalAddresses at the given index.
7220      */
getIpsecInternalAddresses(int index)7221     public java.lang.String getIpsecInternalAddresses(int index) {
7222       return ipsecInternalAddresses_.get(index);
7223     }
7224     /**
7225      *
7226      *
7227      * <pre>
7228      * A list of URLs of addresses that have been reserved for the VLAN attachment. Used only for the VLAN attachment that has the encryption option as IPSEC. The addresses must be regional internal IP address ranges. When creating an HA VPN gateway over the VLAN attachment, if the attachment is configured to use a regional internal IP address, then the VPN gateway's IP address is allocated from the IP address range specified here. For example, if the HA VPN gateway's interface 0 is paired to this VLAN attachment, then a regional internal IP address for the VPN gateway interface 0 will be allocated from the IP address specified for this VLAN attachment. If this field is not specified when creating the VLAN attachment, then later on when creating an HA VPN gateway on this VLAN attachment, the HA VPN gateway's IP address is allocated from the regional external IP address pool. Not currently available publicly.
7229      * </pre>
7230      *
7231      * <code>repeated string ipsec_internal_addresses = 407648565;</code>
7232      *
7233      * @param index The index of the value to return.
7234      * @return The bytes of the ipsecInternalAddresses at the given index.
7235      */
getIpsecInternalAddressesBytes(int index)7236     public com.google.protobuf.ByteString getIpsecInternalAddressesBytes(int index) {
7237       return ipsecInternalAddresses_.getByteString(index);
7238     }
7239     /**
7240      *
7241      *
7242      * <pre>
7243      * A list of URLs of addresses that have been reserved for the VLAN attachment. Used only for the VLAN attachment that has the encryption option as IPSEC. The addresses must be regional internal IP address ranges. When creating an HA VPN gateway over the VLAN attachment, if the attachment is configured to use a regional internal IP address, then the VPN gateway's IP address is allocated from the IP address range specified here. For example, if the HA VPN gateway's interface 0 is paired to this VLAN attachment, then a regional internal IP address for the VPN gateway interface 0 will be allocated from the IP address specified for this VLAN attachment. If this field is not specified when creating the VLAN attachment, then later on when creating an HA VPN gateway on this VLAN attachment, the HA VPN gateway's IP address is allocated from the regional external IP address pool. Not currently available publicly.
7244      * </pre>
7245      *
7246      * <code>repeated string ipsec_internal_addresses = 407648565;</code>
7247      *
7248      * @param index The index to set the value at.
7249      * @param value The ipsecInternalAddresses to set.
7250      * @return This builder for chaining.
7251      */
setIpsecInternalAddresses(int index, java.lang.String value)7252     public Builder setIpsecInternalAddresses(int index, java.lang.String value) {
7253       if (value == null) {
7254         throw new NullPointerException();
7255       }
7256       ensureIpsecInternalAddressesIsMutable();
7257       ipsecInternalAddresses_.set(index, value);
7258       onChanged();
7259       return this;
7260     }
7261     /**
7262      *
7263      *
7264      * <pre>
7265      * A list of URLs of addresses that have been reserved for the VLAN attachment. Used only for the VLAN attachment that has the encryption option as IPSEC. The addresses must be regional internal IP address ranges. When creating an HA VPN gateway over the VLAN attachment, if the attachment is configured to use a regional internal IP address, then the VPN gateway's IP address is allocated from the IP address range specified here. For example, if the HA VPN gateway's interface 0 is paired to this VLAN attachment, then a regional internal IP address for the VPN gateway interface 0 will be allocated from the IP address specified for this VLAN attachment. If this field is not specified when creating the VLAN attachment, then later on when creating an HA VPN gateway on this VLAN attachment, the HA VPN gateway's IP address is allocated from the regional external IP address pool. Not currently available publicly.
7266      * </pre>
7267      *
7268      * <code>repeated string ipsec_internal_addresses = 407648565;</code>
7269      *
7270      * @param value The ipsecInternalAddresses to add.
7271      * @return This builder for chaining.
7272      */
addIpsecInternalAddresses(java.lang.String value)7273     public Builder addIpsecInternalAddresses(java.lang.String value) {
7274       if (value == null) {
7275         throw new NullPointerException();
7276       }
7277       ensureIpsecInternalAddressesIsMutable();
7278       ipsecInternalAddresses_.add(value);
7279       onChanged();
7280       return this;
7281     }
7282     /**
7283      *
7284      *
7285      * <pre>
7286      * A list of URLs of addresses that have been reserved for the VLAN attachment. Used only for the VLAN attachment that has the encryption option as IPSEC. The addresses must be regional internal IP address ranges. When creating an HA VPN gateway over the VLAN attachment, if the attachment is configured to use a regional internal IP address, then the VPN gateway's IP address is allocated from the IP address range specified here. For example, if the HA VPN gateway's interface 0 is paired to this VLAN attachment, then a regional internal IP address for the VPN gateway interface 0 will be allocated from the IP address specified for this VLAN attachment. If this field is not specified when creating the VLAN attachment, then later on when creating an HA VPN gateway on this VLAN attachment, the HA VPN gateway's IP address is allocated from the regional external IP address pool. Not currently available publicly.
7287      * </pre>
7288      *
7289      * <code>repeated string ipsec_internal_addresses = 407648565;</code>
7290      *
7291      * @param values The ipsecInternalAddresses to add.
7292      * @return This builder for chaining.
7293      */
addAllIpsecInternalAddresses(java.lang.Iterable<java.lang.String> values)7294     public Builder addAllIpsecInternalAddresses(java.lang.Iterable<java.lang.String> values) {
7295       ensureIpsecInternalAddressesIsMutable();
7296       com.google.protobuf.AbstractMessageLite.Builder.addAll(values, ipsecInternalAddresses_);
7297       onChanged();
7298       return this;
7299     }
7300     /**
7301      *
7302      *
7303      * <pre>
7304      * A list of URLs of addresses that have been reserved for the VLAN attachment. Used only for the VLAN attachment that has the encryption option as IPSEC. The addresses must be regional internal IP address ranges. When creating an HA VPN gateway over the VLAN attachment, if the attachment is configured to use a regional internal IP address, then the VPN gateway's IP address is allocated from the IP address range specified here. For example, if the HA VPN gateway's interface 0 is paired to this VLAN attachment, then a regional internal IP address for the VPN gateway interface 0 will be allocated from the IP address specified for this VLAN attachment. If this field is not specified when creating the VLAN attachment, then later on when creating an HA VPN gateway on this VLAN attachment, the HA VPN gateway's IP address is allocated from the regional external IP address pool. Not currently available publicly.
7305      * </pre>
7306      *
7307      * <code>repeated string ipsec_internal_addresses = 407648565;</code>
7308      *
7309      * @return This builder for chaining.
7310      */
clearIpsecInternalAddresses()7311     public Builder clearIpsecInternalAddresses() {
7312       ipsecInternalAddresses_ = com.google.protobuf.LazyStringArrayList.EMPTY;
7313       bitField0_ = (bitField0_ & ~0x00040000);
7314       onChanged();
7315       return this;
7316     }
7317     /**
7318      *
7319      *
7320      * <pre>
7321      * A list of URLs of addresses that have been reserved for the VLAN attachment. Used only for the VLAN attachment that has the encryption option as IPSEC. The addresses must be regional internal IP address ranges. When creating an HA VPN gateway over the VLAN attachment, if the attachment is configured to use a regional internal IP address, then the VPN gateway's IP address is allocated from the IP address range specified here. For example, if the HA VPN gateway's interface 0 is paired to this VLAN attachment, then a regional internal IP address for the VPN gateway interface 0 will be allocated from the IP address specified for this VLAN attachment. If this field is not specified when creating the VLAN attachment, then later on when creating an HA VPN gateway on this VLAN attachment, the HA VPN gateway's IP address is allocated from the regional external IP address pool. Not currently available publicly.
7322      * </pre>
7323      *
7324      * <code>repeated string ipsec_internal_addresses = 407648565;</code>
7325      *
7326      * @param value The bytes of the ipsecInternalAddresses to add.
7327      * @return This builder for chaining.
7328      */
addIpsecInternalAddressesBytes(com.google.protobuf.ByteString value)7329     public Builder addIpsecInternalAddressesBytes(com.google.protobuf.ByteString value) {
7330       if (value == null) {
7331         throw new NullPointerException();
7332       }
7333       checkByteStringIsUtf8(value);
7334       ensureIpsecInternalAddressesIsMutable();
7335       ipsecInternalAddresses_.add(value);
7336       onChanged();
7337       return this;
7338     }
7339 
7340     private java.lang.Object kind_ = "";
7341     /**
7342      *
7343      *
7344      * <pre>
7345      * [Output Only] Type of the resource. Always compute#interconnectAttachment for interconnect attachments.
7346      * </pre>
7347      *
7348      * <code>optional string kind = 3292052;</code>
7349      *
7350      * @return Whether the kind field is set.
7351      */
hasKind()7352     public boolean hasKind() {
7353       return ((bitField0_ & 0x00080000) != 0);
7354     }
7355     /**
7356      *
7357      *
7358      * <pre>
7359      * [Output Only] Type of the resource. Always compute#interconnectAttachment for interconnect attachments.
7360      * </pre>
7361      *
7362      * <code>optional string kind = 3292052;</code>
7363      *
7364      * @return The kind.
7365      */
getKind()7366     public java.lang.String getKind() {
7367       java.lang.Object ref = kind_;
7368       if (!(ref instanceof java.lang.String)) {
7369         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
7370         java.lang.String s = bs.toStringUtf8();
7371         kind_ = s;
7372         return s;
7373       } else {
7374         return (java.lang.String) ref;
7375       }
7376     }
7377     /**
7378      *
7379      *
7380      * <pre>
7381      * [Output Only] Type of the resource. Always compute#interconnectAttachment for interconnect attachments.
7382      * </pre>
7383      *
7384      * <code>optional string kind = 3292052;</code>
7385      *
7386      * @return The bytes for kind.
7387      */
getKindBytes()7388     public com.google.protobuf.ByteString getKindBytes() {
7389       java.lang.Object ref = kind_;
7390       if (ref instanceof String) {
7391         com.google.protobuf.ByteString b =
7392             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
7393         kind_ = b;
7394         return b;
7395       } else {
7396         return (com.google.protobuf.ByteString) ref;
7397       }
7398     }
7399     /**
7400      *
7401      *
7402      * <pre>
7403      * [Output Only] Type of the resource. Always compute#interconnectAttachment for interconnect attachments.
7404      * </pre>
7405      *
7406      * <code>optional string kind = 3292052;</code>
7407      *
7408      * @param value The kind to set.
7409      * @return This builder for chaining.
7410      */
setKind(java.lang.String value)7411     public Builder setKind(java.lang.String value) {
7412       if (value == null) {
7413         throw new NullPointerException();
7414       }
7415       kind_ = value;
7416       bitField0_ |= 0x00080000;
7417       onChanged();
7418       return this;
7419     }
7420     /**
7421      *
7422      *
7423      * <pre>
7424      * [Output Only] Type of the resource. Always compute#interconnectAttachment for interconnect attachments.
7425      * </pre>
7426      *
7427      * <code>optional string kind = 3292052;</code>
7428      *
7429      * @return This builder for chaining.
7430      */
clearKind()7431     public Builder clearKind() {
7432       kind_ = getDefaultInstance().getKind();
7433       bitField0_ = (bitField0_ & ~0x00080000);
7434       onChanged();
7435       return this;
7436     }
7437     /**
7438      *
7439      *
7440      * <pre>
7441      * [Output Only] Type of the resource. Always compute#interconnectAttachment for interconnect attachments.
7442      * </pre>
7443      *
7444      * <code>optional string kind = 3292052;</code>
7445      *
7446      * @param value The bytes for kind to set.
7447      * @return This builder for chaining.
7448      */
setKindBytes(com.google.protobuf.ByteString value)7449     public Builder setKindBytes(com.google.protobuf.ByteString value) {
7450       if (value == null) {
7451         throw new NullPointerException();
7452       }
7453       checkByteStringIsUtf8(value);
7454       kind_ = value;
7455       bitField0_ |= 0x00080000;
7456       onChanged();
7457       return this;
7458     }
7459 
7460     private int mtu_;
7461     /**
7462      *
7463      *
7464      * <pre>
7465      * Maximum Transmission Unit (MTU), in bytes, of packets passing through this interconnect attachment. Only 1440 and 1500 are allowed. If not specified, the value will default to 1440.
7466      * </pre>
7467      *
7468      * <code>optional int32 mtu = 108462;</code>
7469      *
7470      * @return Whether the mtu field is set.
7471      */
7472     @java.lang.Override
hasMtu()7473     public boolean hasMtu() {
7474       return ((bitField0_ & 0x00100000) != 0);
7475     }
7476     /**
7477      *
7478      *
7479      * <pre>
7480      * Maximum Transmission Unit (MTU), in bytes, of packets passing through this interconnect attachment. Only 1440 and 1500 are allowed. If not specified, the value will default to 1440.
7481      * </pre>
7482      *
7483      * <code>optional int32 mtu = 108462;</code>
7484      *
7485      * @return The mtu.
7486      */
7487     @java.lang.Override
getMtu()7488     public int getMtu() {
7489       return mtu_;
7490     }
7491     /**
7492      *
7493      *
7494      * <pre>
7495      * Maximum Transmission Unit (MTU), in bytes, of packets passing through this interconnect attachment. Only 1440 and 1500 are allowed. If not specified, the value will default to 1440.
7496      * </pre>
7497      *
7498      * <code>optional int32 mtu = 108462;</code>
7499      *
7500      * @param value The mtu to set.
7501      * @return This builder for chaining.
7502      */
setMtu(int value)7503     public Builder setMtu(int value) {
7504 
7505       mtu_ = value;
7506       bitField0_ |= 0x00100000;
7507       onChanged();
7508       return this;
7509     }
7510     /**
7511      *
7512      *
7513      * <pre>
7514      * Maximum Transmission Unit (MTU), in bytes, of packets passing through this interconnect attachment. Only 1440 and 1500 are allowed. If not specified, the value will default to 1440.
7515      * </pre>
7516      *
7517      * <code>optional int32 mtu = 108462;</code>
7518      *
7519      * @return This builder for chaining.
7520      */
clearMtu()7521     public Builder clearMtu() {
7522       bitField0_ = (bitField0_ & ~0x00100000);
7523       mtu_ = 0;
7524       onChanged();
7525       return this;
7526     }
7527 
7528     private java.lang.Object name_ = "";
7529     /**
7530      *
7531      *
7532      * <pre>
7533      * Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
7534      * </pre>
7535      *
7536      * <code>optional string name = 3373707;</code>
7537      *
7538      * @return Whether the name field is set.
7539      */
hasName()7540     public boolean hasName() {
7541       return ((bitField0_ & 0x00200000) != 0);
7542     }
7543     /**
7544      *
7545      *
7546      * <pre>
7547      * Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
7548      * </pre>
7549      *
7550      * <code>optional string name = 3373707;</code>
7551      *
7552      * @return The name.
7553      */
getName()7554     public java.lang.String getName() {
7555       java.lang.Object ref = name_;
7556       if (!(ref instanceof java.lang.String)) {
7557         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
7558         java.lang.String s = bs.toStringUtf8();
7559         name_ = s;
7560         return s;
7561       } else {
7562         return (java.lang.String) ref;
7563       }
7564     }
7565     /**
7566      *
7567      *
7568      * <pre>
7569      * Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
7570      * </pre>
7571      *
7572      * <code>optional string name = 3373707;</code>
7573      *
7574      * @return The bytes for name.
7575      */
getNameBytes()7576     public com.google.protobuf.ByteString getNameBytes() {
7577       java.lang.Object ref = name_;
7578       if (ref instanceof String) {
7579         com.google.protobuf.ByteString b =
7580             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
7581         name_ = b;
7582         return b;
7583       } else {
7584         return (com.google.protobuf.ByteString) ref;
7585       }
7586     }
7587     /**
7588      *
7589      *
7590      * <pre>
7591      * Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
7592      * </pre>
7593      *
7594      * <code>optional string name = 3373707;</code>
7595      *
7596      * @param value The name to set.
7597      * @return This builder for chaining.
7598      */
setName(java.lang.String value)7599     public Builder setName(java.lang.String value) {
7600       if (value == null) {
7601         throw new NullPointerException();
7602       }
7603       name_ = value;
7604       bitField0_ |= 0x00200000;
7605       onChanged();
7606       return this;
7607     }
7608     /**
7609      *
7610      *
7611      * <pre>
7612      * Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
7613      * </pre>
7614      *
7615      * <code>optional string name = 3373707;</code>
7616      *
7617      * @return This builder for chaining.
7618      */
clearName()7619     public Builder clearName() {
7620       name_ = getDefaultInstance().getName();
7621       bitField0_ = (bitField0_ & ~0x00200000);
7622       onChanged();
7623       return this;
7624     }
7625     /**
7626      *
7627      *
7628      * <pre>
7629      * Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.
7630      * </pre>
7631      *
7632      * <code>optional string name = 3373707;</code>
7633      *
7634      * @param value The bytes for name to set.
7635      * @return This builder for chaining.
7636      */
setNameBytes(com.google.protobuf.ByteString value)7637     public Builder setNameBytes(com.google.protobuf.ByteString value) {
7638       if (value == null) {
7639         throw new NullPointerException();
7640       }
7641       checkByteStringIsUtf8(value);
7642       name_ = value;
7643       bitField0_ |= 0x00200000;
7644       onChanged();
7645       return this;
7646     }
7647 
7648     private java.lang.Object operationalStatus_ = "";
7649     /**
7650      *
7651      *
7652      * <pre>
7653      * [Output Only] The current status of whether or not this interconnect attachment is functional, which can take one of the following values: - OS_ACTIVE: The attachment has been turned up and is ready to use. - OS_UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete.
7654      * Check the OperationalStatus enum for the list of possible values.
7655      * </pre>
7656      *
7657      * <code>optional string operational_status = 201070847;</code>
7658      *
7659      * @return Whether the operationalStatus field is set.
7660      */
hasOperationalStatus()7661     public boolean hasOperationalStatus() {
7662       return ((bitField0_ & 0x00400000) != 0);
7663     }
7664     /**
7665      *
7666      *
7667      * <pre>
7668      * [Output Only] The current status of whether or not this interconnect attachment is functional, which can take one of the following values: - OS_ACTIVE: The attachment has been turned up and is ready to use. - OS_UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete.
7669      * Check the OperationalStatus enum for the list of possible values.
7670      * </pre>
7671      *
7672      * <code>optional string operational_status = 201070847;</code>
7673      *
7674      * @return The operationalStatus.
7675      */
getOperationalStatus()7676     public java.lang.String getOperationalStatus() {
7677       java.lang.Object ref = operationalStatus_;
7678       if (!(ref instanceof java.lang.String)) {
7679         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
7680         java.lang.String s = bs.toStringUtf8();
7681         operationalStatus_ = s;
7682         return s;
7683       } else {
7684         return (java.lang.String) ref;
7685       }
7686     }
7687     /**
7688      *
7689      *
7690      * <pre>
7691      * [Output Only] The current status of whether or not this interconnect attachment is functional, which can take one of the following values: - OS_ACTIVE: The attachment has been turned up and is ready to use. - OS_UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete.
7692      * Check the OperationalStatus enum for the list of possible values.
7693      * </pre>
7694      *
7695      * <code>optional string operational_status = 201070847;</code>
7696      *
7697      * @return The bytes for operationalStatus.
7698      */
getOperationalStatusBytes()7699     public com.google.protobuf.ByteString getOperationalStatusBytes() {
7700       java.lang.Object ref = operationalStatus_;
7701       if (ref instanceof String) {
7702         com.google.protobuf.ByteString b =
7703             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
7704         operationalStatus_ = b;
7705         return b;
7706       } else {
7707         return (com.google.protobuf.ByteString) ref;
7708       }
7709     }
7710     /**
7711      *
7712      *
7713      * <pre>
7714      * [Output Only] The current status of whether or not this interconnect attachment is functional, which can take one of the following values: - OS_ACTIVE: The attachment has been turned up and is ready to use. - OS_UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete.
7715      * Check the OperationalStatus enum for the list of possible values.
7716      * </pre>
7717      *
7718      * <code>optional string operational_status = 201070847;</code>
7719      *
7720      * @param value The operationalStatus to set.
7721      * @return This builder for chaining.
7722      */
setOperationalStatus(java.lang.String value)7723     public Builder setOperationalStatus(java.lang.String value) {
7724       if (value == null) {
7725         throw new NullPointerException();
7726       }
7727       operationalStatus_ = value;
7728       bitField0_ |= 0x00400000;
7729       onChanged();
7730       return this;
7731     }
7732     /**
7733      *
7734      *
7735      * <pre>
7736      * [Output Only] The current status of whether or not this interconnect attachment is functional, which can take one of the following values: - OS_ACTIVE: The attachment has been turned up and is ready to use. - OS_UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete.
7737      * Check the OperationalStatus enum for the list of possible values.
7738      * </pre>
7739      *
7740      * <code>optional string operational_status = 201070847;</code>
7741      *
7742      * @return This builder for chaining.
7743      */
clearOperationalStatus()7744     public Builder clearOperationalStatus() {
7745       operationalStatus_ = getDefaultInstance().getOperationalStatus();
7746       bitField0_ = (bitField0_ & ~0x00400000);
7747       onChanged();
7748       return this;
7749     }
7750     /**
7751      *
7752      *
7753      * <pre>
7754      * [Output Only] The current status of whether or not this interconnect attachment is functional, which can take one of the following values: - OS_ACTIVE: The attachment has been turned up and is ready to use. - OS_UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete.
7755      * Check the OperationalStatus enum for the list of possible values.
7756      * </pre>
7757      *
7758      * <code>optional string operational_status = 201070847;</code>
7759      *
7760      * @param value The bytes for operationalStatus to set.
7761      * @return This builder for chaining.
7762      */
setOperationalStatusBytes(com.google.protobuf.ByteString value)7763     public Builder setOperationalStatusBytes(com.google.protobuf.ByteString value) {
7764       if (value == null) {
7765         throw new NullPointerException();
7766       }
7767       checkByteStringIsUtf8(value);
7768       operationalStatus_ = value;
7769       bitField0_ |= 0x00400000;
7770       onChanged();
7771       return this;
7772     }
7773 
7774     private java.lang.Object pairingKey_ = "";
7775     /**
7776      *
7777      *
7778      * <pre>
7779      * [Output only for type PARTNER. Input only for PARTNER_PROVIDER. Not present for DEDICATED]. The opaque identifier of an PARTNER attachment used to initiate provisioning with a selected partner. Of the form "XXXXX/region/domain"
7780      * </pre>
7781      *
7782      * <code>optional string pairing_key = 439695464;</code>
7783      *
7784      * @return Whether the pairingKey field is set.
7785      */
hasPairingKey()7786     public boolean hasPairingKey() {
7787       return ((bitField0_ & 0x00800000) != 0);
7788     }
7789     /**
7790      *
7791      *
7792      * <pre>
7793      * [Output only for type PARTNER. Input only for PARTNER_PROVIDER. Not present for DEDICATED]. The opaque identifier of an PARTNER attachment used to initiate provisioning with a selected partner. Of the form "XXXXX/region/domain"
7794      * </pre>
7795      *
7796      * <code>optional string pairing_key = 439695464;</code>
7797      *
7798      * @return The pairingKey.
7799      */
getPairingKey()7800     public java.lang.String getPairingKey() {
7801       java.lang.Object ref = pairingKey_;
7802       if (!(ref instanceof java.lang.String)) {
7803         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
7804         java.lang.String s = bs.toStringUtf8();
7805         pairingKey_ = s;
7806         return s;
7807       } else {
7808         return (java.lang.String) ref;
7809       }
7810     }
7811     /**
7812      *
7813      *
7814      * <pre>
7815      * [Output only for type PARTNER. Input only for PARTNER_PROVIDER. Not present for DEDICATED]. The opaque identifier of an PARTNER attachment used to initiate provisioning with a selected partner. Of the form "XXXXX/region/domain"
7816      * </pre>
7817      *
7818      * <code>optional string pairing_key = 439695464;</code>
7819      *
7820      * @return The bytes for pairingKey.
7821      */
getPairingKeyBytes()7822     public com.google.protobuf.ByteString getPairingKeyBytes() {
7823       java.lang.Object ref = pairingKey_;
7824       if (ref instanceof String) {
7825         com.google.protobuf.ByteString b =
7826             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
7827         pairingKey_ = b;
7828         return b;
7829       } else {
7830         return (com.google.protobuf.ByteString) ref;
7831       }
7832     }
7833     /**
7834      *
7835      *
7836      * <pre>
7837      * [Output only for type PARTNER. Input only for PARTNER_PROVIDER. Not present for DEDICATED]. The opaque identifier of an PARTNER attachment used to initiate provisioning with a selected partner. Of the form "XXXXX/region/domain"
7838      * </pre>
7839      *
7840      * <code>optional string pairing_key = 439695464;</code>
7841      *
7842      * @param value The pairingKey to set.
7843      * @return This builder for chaining.
7844      */
setPairingKey(java.lang.String value)7845     public Builder setPairingKey(java.lang.String value) {
7846       if (value == null) {
7847         throw new NullPointerException();
7848       }
7849       pairingKey_ = value;
7850       bitField0_ |= 0x00800000;
7851       onChanged();
7852       return this;
7853     }
7854     /**
7855      *
7856      *
7857      * <pre>
7858      * [Output only for type PARTNER. Input only for PARTNER_PROVIDER. Not present for DEDICATED]. The opaque identifier of an PARTNER attachment used to initiate provisioning with a selected partner. Of the form "XXXXX/region/domain"
7859      * </pre>
7860      *
7861      * <code>optional string pairing_key = 439695464;</code>
7862      *
7863      * @return This builder for chaining.
7864      */
clearPairingKey()7865     public Builder clearPairingKey() {
7866       pairingKey_ = getDefaultInstance().getPairingKey();
7867       bitField0_ = (bitField0_ & ~0x00800000);
7868       onChanged();
7869       return this;
7870     }
7871     /**
7872      *
7873      *
7874      * <pre>
7875      * [Output only for type PARTNER. Input only for PARTNER_PROVIDER. Not present for DEDICATED]. The opaque identifier of an PARTNER attachment used to initiate provisioning with a selected partner. Of the form "XXXXX/region/domain"
7876      * </pre>
7877      *
7878      * <code>optional string pairing_key = 439695464;</code>
7879      *
7880      * @param value The bytes for pairingKey to set.
7881      * @return This builder for chaining.
7882      */
setPairingKeyBytes(com.google.protobuf.ByteString value)7883     public Builder setPairingKeyBytes(com.google.protobuf.ByteString value) {
7884       if (value == null) {
7885         throw new NullPointerException();
7886       }
7887       checkByteStringIsUtf8(value);
7888       pairingKey_ = value;
7889       bitField0_ |= 0x00800000;
7890       onChanged();
7891       return this;
7892     }
7893 
7894     private long partnerAsn_;
7895     /**
7896      *
7897      *
7898      * <pre>
7899      * Optional BGP ASN for the router supplied by a Layer 3 Partner if they configured BGP on behalf of the customer. Output only for PARTNER type, input only for PARTNER_PROVIDER, not available for DEDICATED.
7900      * </pre>
7901      *
7902      * <code>optional int64 partner_asn = 438166149;</code>
7903      *
7904      * @return Whether the partnerAsn field is set.
7905      */
7906     @java.lang.Override
hasPartnerAsn()7907     public boolean hasPartnerAsn() {
7908       return ((bitField0_ & 0x01000000) != 0);
7909     }
7910     /**
7911      *
7912      *
7913      * <pre>
7914      * Optional BGP ASN for the router supplied by a Layer 3 Partner if they configured BGP on behalf of the customer. Output only for PARTNER type, input only for PARTNER_PROVIDER, not available for DEDICATED.
7915      * </pre>
7916      *
7917      * <code>optional int64 partner_asn = 438166149;</code>
7918      *
7919      * @return The partnerAsn.
7920      */
7921     @java.lang.Override
getPartnerAsn()7922     public long getPartnerAsn() {
7923       return partnerAsn_;
7924     }
7925     /**
7926      *
7927      *
7928      * <pre>
7929      * Optional BGP ASN for the router supplied by a Layer 3 Partner if they configured BGP on behalf of the customer. Output only for PARTNER type, input only for PARTNER_PROVIDER, not available for DEDICATED.
7930      * </pre>
7931      *
7932      * <code>optional int64 partner_asn = 438166149;</code>
7933      *
7934      * @param value The partnerAsn to set.
7935      * @return This builder for chaining.
7936      */
setPartnerAsn(long value)7937     public Builder setPartnerAsn(long value) {
7938 
7939       partnerAsn_ = value;
7940       bitField0_ |= 0x01000000;
7941       onChanged();
7942       return this;
7943     }
7944     /**
7945      *
7946      *
7947      * <pre>
7948      * Optional BGP ASN for the router supplied by a Layer 3 Partner if they configured BGP on behalf of the customer. Output only for PARTNER type, input only for PARTNER_PROVIDER, not available for DEDICATED.
7949      * </pre>
7950      *
7951      * <code>optional int64 partner_asn = 438166149;</code>
7952      *
7953      * @return This builder for chaining.
7954      */
clearPartnerAsn()7955     public Builder clearPartnerAsn() {
7956       bitField0_ = (bitField0_ & ~0x01000000);
7957       partnerAsn_ = 0L;
7958       onChanged();
7959       return this;
7960     }
7961 
7962     private com.google.cloud.compute.v1.InterconnectAttachmentPartnerMetadata partnerMetadata_;
7963     private com.google.protobuf.SingleFieldBuilderV3<
7964             com.google.cloud.compute.v1.InterconnectAttachmentPartnerMetadata,
7965             com.google.cloud.compute.v1.InterconnectAttachmentPartnerMetadata.Builder,
7966             com.google.cloud.compute.v1.InterconnectAttachmentPartnerMetadataOrBuilder>
7967         partnerMetadataBuilder_;
7968     /**
7969      *
7970      *
7971      * <pre>
7972      * Informational metadata about Partner attachments from Partners to display to customers. Output only for for PARTNER type, mutable for PARTNER_PROVIDER, not available for DEDICATED.
7973      * </pre>
7974      *
7975      * <code>
7976      * optional .google.cloud.compute.v1.InterconnectAttachmentPartnerMetadata partner_metadata = 65908934;
7977      * </code>
7978      *
7979      * @return Whether the partnerMetadata field is set.
7980      */
hasPartnerMetadata()7981     public boolean hasPartnerMetadata() {
7982       return ((bitField0_ & 0x02000000) != 0);
7983     }
7984     /**
7985      *
7986      *
7987      * <pre>
7988      * Informational metadata about Partner attachments from Partners to display to customers. Output only for for PARTNER type, mutable for PARTNER_PROVIDER, not available for DEDICATED.
7989      * </pre>
7990      *
7991      * <code>
7992      * optional .google.cloud.compute.v1.InterconnectAttachmentPartnerMetadata partner_metadata = 65908934;
7993      * </code>
7994      *
7995      * @return The partnerMetadata.
7996      */
getPartnerMetadata()7997     public com.google.cloud.compute.v1.InterconnectAttachmentPartnerMetadata getPartnerMetadata() {
7998       if (partnerMetadataBuilder_ == null) {
7999         return partnerMetadata_ == null
8000             ? com.google.cloud.compute.v1.InterconnectAttachmentPartnerMetadata.getDefaultInstance()
8001             : partnerMetadata_;
8002       } else {
8003         return partnerMetadataBuilder_.getMessage();
8004       }
8005     }
8006     /**
8007      *
8008      *
8009      * <pre>
8010      * Informational metadata about Partner attachments from Partners to display to customers. Output only for for PARTNER type, mutable for PARTNER_PROVIDER, not available for DEDICATED.
8011      * </pre>
8012      *
8013      * <code>
8014      * optional .google.cloud.compute.v1.InterconnectAttachmentPartnerMetadata partner_metadata = 65908934;
8015      * </code>
8016      */
setPartnerMetadata( com.google.cloud.compute.v1.InterconnectAttachmentPartnerMetadata value)8017     public Builder setPartnerMetadata(
8018         com.google.cloud.compute.v1.InterconnectAttachmentPartnerMetadata value) {
8019       if (partnerMetadataBuilder_ == null) {
8020         if (value == null) {
8021           throw new NullPointerException();
8022         }
8023         partnerMetadata_ = value;
8024       } else {
8025         partnerMetadataBuilder_.setMessage(value);
8026       }
8027       bitField0_ |= 0x02000000;
8028       onChanged();
8029       return this;
8030     }
8031     /**
8032      *
8033      *
8034      * <pre>
8035      * Informational metadata about Partner attachments from Partners to display to customers. Output only for for PARTNER type, mutable for PARTNER_PROVIDER, not available for DEDICATED.
8036      * </pre>
8037      *
8038      * <code>
8039      * optional .google.cloud.compute.v1.InterconnectAttachmentPartnerMetadata partner_metadata = 65908934;
8040      * </code>
8041      */
setPartnerMetadata( com.google.cloud.compute.v1.InterconnectAttachmentPartnerMetadata.Builder builderForValue)8042     public Builder setPartnerMetadata(
8043         com.google.cloud.compute.v1.InterconnectAttachmentPartnerMetadata.Builder builderForValue) {
8044       if (partnerMetadataBuilder_ == null) {
8045         partnerMetadata_ = builderForValue.build();
8046       } else {
8047         partnerMetadataBuilder_.setMessage(builderForValue.build());
8048       }
8049       bitField0_ |= 0x02000000;
8050       onChanged();
8051       return this;
8052     }
8053     /**
8054      *
8055      *
8056      * <pre>
8057      * Informational metadata about Partner attachments from Partners to display to customers. Output only for for PARTNER type, mutable for PARTNER_PROVIDER, not available for DEDICATED.
8058      * </pre>
8059      *
8060      * <code>
8061      * optional .google.cloud.compute.v1.InterconnectAttachmentPartnerMetadata partner_metadata = 65908934;
8062      * </code>
8063      */
mergePartnerMetadata( com.google.cloud.compute.v1.InterconnectAttachmentPartnerMetadata value)8064     public Builder mergePartnerMetadata(
8065         com.google.cloud.compute.v1.InterconnectAttachmentPartnerMetadata value) {
8066       if (partnerMetadataBuilder_ == null) {
8067         if (((bitField0_ & 0x02000000) != 0)
8068             && partnerMetadata_ != null
8069             && partnerMetadata_
8070                 != com.google.cloud.compute.v1.InterconnectAttachmentPartnerMetadata
8071                     .getDefaultInstance()) {
8072           getPartnerMetadataBuilder().mergeFrom(value);
8073         } else {
8074           partnerMetadata_ = value;
8075         }
8076       } else {
8077         partnerMetadataBuilder_.mergeFrom(value);
8078       }
8079       bitField0_ |= 0x02000000;
8080       onChanged();
8081       return this;
8082     }
8083     /**
8084      *
8085      *
8086      * <pre>
8087      * Informational metadata about Partner attachments from Partners to display to customers. Output only for for PARTNER type, mutable for PARTNER_PROVIDER, not available for DEDICATED.
8088      * </pre>
8089      *
8090      * <code>
8091      * optional .google.cloud.compute.v1.InterconnectAttachmentPartnerMetadata partner_metadata = 65908934;
8092      * </code>
8093      */
clearPartnerMetadata()8094     public Builder clearPartnerMetadata() {
8095       bitField0_ = (bitField0_ & ~0x02000000);
8096       partnerMetadata_ = null;
8097       if (partnerMetadataBuilder_ != null) {
8098         partnerMetadataBuilder_.dispose();
8099         partnerMetadataBuilder_ = null;
8100       }
8101       onChanged();
8102       return this;
8103     }
8104     /**
8105      *
8106      *
8107      * <pre>
8108      * Informational metadata about Partner attachments from Partners to display to customers. Output only for for PARTNER type, mutable for PARTNER_PROVIDER, not available for DEDICATED.
8109      * </pre>
8110      *
8111      * <code>
8112      * optional .google.cloud.compute.v1.InterconnectAttachmentPartnerMetadata partner_metadata = 65908934;
8113      * </code>
8114      */
8115     public com.google.cloud.compute.v1.InterconnectAttachmentPartnerMetadata.Builder
getPartnerMetadataBuilder()8116         getPartnerMetadataBuilder() {
8117       bitField0_ |= 0x02000000;
8118       onChanged();
8119       return getPartnerMetadataFieldBuilder().getBuilder();
8120     }
8121     /**
8122      *
8123      *
8124      * <pre>
8125      * Informational metadata about Partner attachments from Partners to display to customers. Output only for for PARTNER type, mutable for PARTNER_PROVIDER, not available for DEDICATED.
8126      * </pre>
8127      *
8128      * <code>
8129      * optional .google.cloud.compute.v1.InterconnectAttachmentPartnerMetadata partner_metadata = 65908934;
8130      * </code>
8131      */
8132     public com.google.cloud.compute.v1.InterconnectAttachmentPartnerMetadataOrBuilder
getPartnerMetadataOrBuilder()8133         getPartnerMetadataOrBuilder() {
8134       if (partnerMetadataBuilder_ != null) {
8135         return partnerMetadataBuilder_.getMessageOrBuilder();
8136       } else {
8137         return partnerMetadata_ == null
8138             ? com.google.cloud.compute.v1.InterconnectAttachmentPartnerMetadata.getDefaultInstance()
8139             : partnerMetadata_;
8140       }
8141     }
8142     /**
8143      *
8144      *
8145      * <pre>
8146      * Informational metadata about Partner attachments from Partners to display to customers. Output only for for PARTNER type, mutable for PARTNER_PROVIDER, not available for DEDICATED.
8147      * </pre>
8148      *
8149      * <code>
8150      * optional .google.cloud.compute.v1.InterconnectAttachmentPartnerMetadata partner_metadata = 65908934;
8151      * </code>
8152      */
8153     private com.google.protobuf.SingleFieldBuilderV3<
8154             com.google.cloud.compute.v1.InterconnectAttachmentPartnerMetadata,
8155             com.google.cloud.compute.v1.InterconnectAttachmentPartnerMetadata.Builder,
8156             com.google.cloud.compute.v1.InterconnectAttachmentPartnerMetadataOrBuilder>
getPartnerMetadataFieldBuilder()8157         getPartnerMetadataFieldBuilder() {
8158       if (partnerMetadataBuilder_ == null) {
8159         partnerMetadataBuilder_ =
8160             new com.google.protobuf.SingleFieldBuilderV3<
8161                 com.google.cloud.compute.v1.InterconnectAttachmentPartnerMetadata,
8162                 com.google.cloud.compute.v1.InterconnectAttachmentPartnerMetadata.Builder,
8163                 com.google.cloud.compute.v1.InterconnectAttachmentPartnerMetadataOrBuilder>(
8164                 getPartnerMetadata(), getParentForChildren(), isClean());
8165         partnerMetadata_ = null;
8166       }
8167       return partnerMetadataBuilder_;
8168     }
8169 
8170     private com.google.cloud.compute.v1.InterconnectAttachmentPrivateInfo privateInterconnectInfo_;
8171     private com.google.protobuf.SingleFieldBuilderV3<
8172             com.google.cloud.compute.v1.InterconnectAttachmentPrivateInfo,
8173             com.google.cloud.compute.v1.InterconnectAttachmentPrivateInfo.Builder,
8174             com.google.cloud.compute.v1.InterconnectAttachmentPrivateInfoOrBuilder>
8175         privateInterconnectInfoBuilder_;
8176     /**
8177      *
8178      *
8179      * <pre>
8180      * [Output Only] Information specific to an InterconnectAttachment. This property is populated if the interconnect that this is attached to is of type DEDICATED.
8181      * </pre>
8182      *
8183      * <code>
8184      * optional .google.cloud.compute.v1.InterconnectAttachmentPrivateInfo private_interconnect_info = 237270531;
8185      * </code>
8186      *
8187      * @return Whether the privateInterconnectInfo field is set.
8188      */
hasPrivateInterconnectInfo()8189     public boolean hasPrivateInterconnectInfo() {
8190       return ((bitField0_ & 0x04000000) != 0);
8191     }
8192     /**
8193      *
8194      *
8195      * <pre>
8196      * [Output Only] Information specific to an InterconnectAttachment. This property is populated if the interconnect that this is attached to is of type DEDICATED.
8197      * </pre>
8198      *
8199      * <code>
8200      * optional .google.cloud.compute.v1.InterconnectAttachmentPrivateInfo private_interconnect_info = 237270531;
8201      * </code>
8202      *
8203      * @return The privateInterconnectInfo.
8204      */
8205     public com.google.cloud.compute.v1.InterconnectAttachmentPrivateInfo
getPrivateInterconnectInfo()8206         getPrivateInterconnectInfo() {
8207       if (privateInterconnectInfoBuilder_ == null) {
8208         return privateInterconnectInfo_ == null
8209             ? com.google.cloud.compute.v1.InterconnectAttachmentPrivateInfo.getDefaultInstance()
8210             : privateInterconnectInfo_;
8211       } else {
8212         return privateInterconnectInfoBuilder_.getMessage();
8213       }
8214     }
8215     /**
8216      *
8217      *
8218      * <pre>
8219      * [Output Only] Information specific to an InterconnectAttachment. This property is populated if the interconnect that this is attached to is of type DEDICATED.
8220      * </pre>
8221      *
8222      * <code>
8223      * optional .google.cloud.compute.v1.InterconnectAttachmentPrivateInfo private_interconnect_info = 237270531;
8224      * </code>
8225      */
setPrivateInterconnectInfo( com.google.cloud.compute.v1.InterconnectAttachmentPrivateInfo value)8226     public Builder setPrivateInterconnectInfo(
8227         com.google.cloud.compute.v1.InterconnectAttachmentPrivateInfo value) {
8228       if (privateInterconnectInfoBuilder_ == null) {
8229         if (value == null) {
8230           throw new NullPointerException();
8231         }
8232         privateInterconnectInfo_ = value;
8233       } else {
8234         privateInterconnectInfoBuilder_.setMessage(value);
8235       }
8236       bitField0_ |= 0x04000000;
8237       onChanged();
8238       return this;
8239     }
8240     /**
8241      *
8242      *
8243      * <pre>
8244      * [Output Only] Information specific to an InterconnectAttachment. This property is populated if the interconnect that this is attached to is of type DEDICATED.
8245      * </pre>
8246      *
8247      * <code>
8248      * optional .google.cloud.compute.v1.InterconnectAttachmentPrivateInfo private_interconnect_info = 237270531;
8249      * </code>
8250      */
setPrivateInterconnectInfo( com.google.cloud.compute.v1.InterconnectAttachmentPrivateInfo.Builder builderForValue)8251     public Builder setPrivateInterconnectInfo(
8252         com.google.cloud.compute.v1.InterconnectAttachmentPrivateInfo.Builder builderForValue) {
8253       if (privateInterconnectInfoBuilder_ == null) {
8254         privateInterconnectInfo_ = builderForValue.build();
8255       } else {
8256         privateInterconnectInfoBuilder_.setMessage(builderForValue.build());
8257       }
8258       bitField0_ |= 0x04000000;
8259       onChanged();
8260       return this;
8261     }
8262     /**
8263      *
8264      *
8265      * <pre>
8266      * [Output Only] Information specific to an InterconnectAttachment. This property is populated if the interconnect that this is attached to is of type DEDICATED.
8267      * </pre>
8268      *
8269      * <code>
8270      * optional .google.cloud.compute.v1.InterconnectAttachmentPrivateInfo private_interconnect_info = 237270531;
8271      * </code>
8272      */
mergePrivateInterconnectInfo( com.google.cloud.compute.v1.InterconnectAttachmentPrivateInfo value)8273     public Builder mergePrivateInterconnectInfo(
8274         com.google.cloud.compute.v1.InterconnectAttachmentPrivateInfo value) {
8275       if (privateInterconnectInfoBuilder_ == null) {
8276         if (((bitField0_ & 0x04000000) != 0)
8277             && privateInterconnectInfo_ != null
8278             && privateInterconnectInfo_
8279                 != com.google.cloud.compute.v1.InterconnectAttachmentPrivateInfo
8280                     .getDefaultInstance()) {
8281           getPrivateInterconnectInfoBuilder().mergeFrom(value);
8282         } else {
8283           privateInterconnectInfo_ = value;
8284         }
8285       } else {
8286         privateInterconnectInfoBuilder_.mergeFrom(value);
8287       }
8288       bitField0_ |= 0x04000000;
8289       onChanged();
8290       return this;
8291     }
8292     /**
8293      *
8294      *
8295      * <pre>
8296      * [Output Only] Information specific to an InterconnectAttachment. This property is populated if the interconnect that this is attached to is of type DEDICATED.
8297      * </pre>
8298      *
8299      * <code>
8300      * optional .google.cloud.compute.v1.InterconnectAttachmentPrivateInfo private_interconnect_info = 237270531;
8301      * </code>
8302      */
clearPrivateInterconnectInfo()8303     public Builder clearPrivateInterconnectInfo() {
8304       bitField0_ = (bitField0_ & ~0x04000000);
8305       privateInterconnectInfo_ = null;
8306       if (privateInterconnectInfoBuilder_ != null) {
8307         privateInterconnectInfoBuilder_.dispose();
8308         privateInterconnectInfoBuilder_ = null;
8309       }
8310       onChanged();
8311       return this;
8312     }
8313     /**
8314      *
8315      *
8316      * <pre>
8317      * [Output Only] Information specific to an InterconnectAttachment. This property is populated if the interconnect that this is attached to is of type DEDICATED.
8318      * </pre>
8319      *
8320      * <code>
8321      * optional .google.cloud.compute.v1.InterconnectAttachmentPrivateInfo private_interconnect_info = 237270531;
8322      * </code>
8323      */
8324     public com.google.cloud.compute.v1.InterconnectAttachmentPrivateInfo.Builder
getPrivateInterconnectInfoBuilder()8325         getPrivateInterconnectInfoBuilder() {
8326       bitField0_ |= 0x04000000;
8327       onChanged();
8328       return getPrivateInterconnectInfoFieldBuilder().getBuilder();
8329     }
8330     /**
8331      *
8332      *
8333      * <pre>
8334      * [Output Only] Information specific to an InterconnectAttachment. This property is populated if the interconnect that this is attached to is of type DEDICATED.
8335      * </pre>
8336      *
8337      * <code>
8338      * optional .google.cloud.compute.v1.InterconnectAttachmentPrivateInfo private_interconnect_info = 237270531;
8339      * </code>
8340      */
8341     public com.google.cloud.compute.v1.InterconnectAttachmentPrivateInfoOrBuilder
getPrivateInterconnectInfoOrBuilder()8342         getPrivateInterconnectInfoOrBuilder() {
8343       if (privateInterconnectInfoBuilder_ != null) {
8344         return privateInterconnectInfoBuilder_.getMessageOrBuilder();
8345       } else {
8346         return privateInterconnectInfo_ == null
8347             ? com.google.cloud.compute.v1.InterconnectAttachmentPrivateInfo.getDefaultInstance()
8348             : privateInterconnectInfo_;
8349       }
8350     }
8351     /**
8352      *
8353      *
8354      * <pre>
8355      * [Output Only] Information specific to an InterconnectAttachment. This property is populated if the interconnect that this is attached to is of type DEDICATED.
8356      * </pre>
8357      *
8358      * <code>
8359      * optional .google.cloud.compute.v1.InterconnectAttachmentPrivateInfo private_interconnect_info = 237270531;
8360      * </code>
8361      */
8362     private com.google.protobuf.SingleFieldBuilderV3<
8363             com.google.cloud.compute.v1.InterconnectAttachmentPrivateInfo,
8364             com.google.cloud.compute.v1.InterconnectAttachmentPrivateInfo.Builder,
8365             com.google.cloud.compute.v1.InterconnectAttachmentPrivateInfoOrBuilder>
getPrivateInterconnectInfoFieldBuilder()8366         getPrivateInterconnectInfoFieldBuilder() {
8367       if (privateInterconnectInfoBuilder_ == null) {
8368         privateInterconnectInfoBuilder_ =
8369             new com.google.protobuf.SingleFieldBuilderV3<
8370                 com.google.cloud.compute.v1.InterconnectAttachmentPrivateInfo,
8371                 com.google.cloud.compute.v1.InterconnectAttachmentPrivateInfo.Builder,
8372                 com.google.cloud.compute.v1.InterconnectAttachmentPrivateInfoOrBuilder>(
8373                 getPrivateInterconnectInfo(), getParentForChildren(), isClean());
8374         privateInterconnectInfo_ = null;
8375       }
8376       return privateInterconnectInfoBuilder_;
8377     }
8378 
8379     private java.lang.Object region_ = "";
8380     /**
8381      *
8382      *
8383      * <pre>
8384      * [Output Only] URL of the region where the regional interconnect attachment resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
8385      * </pre>
8386      *
8387      * <code>optional string region = 138946292;</code>
8388      *
8389      * @return Whether the region field is set.
8390      */
hasRegion()8391     public boolean hasRegion() {
8392       return ((bitField0_ & 0x08000000) != 0);
8393     }
8394     /**
8395      *
8396      *
8397      * <pre>
8398      * [Output Only] URL of the region where the regional interconnect attachment resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
8399      * </pre>
8400      *
8401      * <code>optional string region = 138946292;</code>
8402      *
8403      * @return The region.
8404      */
getRegion()8405     public java.lang.String getRegion() {
8406       java.lang.Object ref = region_;
8407       if (!(ref instanceof java.lang.String)) {
8408         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
8409         java.lang.String s = bs.toStringUtf8();
8410         region_ = s;
8411         return s;
8412       } else {
8413         return (java.lang.String) ref;
8414       }
8415     }
8416     /**
8417      *
8418      *
8419      * <pre>
8420      * [Output Only] URL of the region where the regional interconnect attachment resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
8421      * </pre>
8422      *
8423      * <code>optional string region = 138946292;</code>
8424      *
8425      * @return The bytes for region.
8426      */
getRegionBytes()8427     public com.google.protobuf.ByteString getRegionBytes() {
8428       java.lang.Object ref = region_;
8429       if (ref instanceof String) {
8430         com.google.protobuf.ByteString b =
8431             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
8432         region_ = b;
8433         return b;
8434       } else {
8435         return (com.google.protobuf.ByteString) ref;
8436       }
8437     }
8438     /**
8439      *
8440      *
8441      * <pre>
8442      * [Output Only] URL of the region where the regional interconnect attachment resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
8443      * </pre>
8444      *
8445      * <code>optional string region = 138946292;</code>
8446      *
8447      * @param value The region to set.
8448      * @return This builder for chaining.
8449      */
setRegion(java.lang.String value)8450     public Builder setRegion(java.lang.String value) {
8451       if (value == null) {
8452         throw new NullPointerException();
8453       }
8454       region_ = value;
8455       bitField0_ |= 0x08000000;
8456       onChanged();
8457       return this;
8458     }
8459     /**
8460      *
8461      *
8462      * <pre>
8463      * [Output Only] URL of the region where the regional interconnect attachment resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
8464      * </pre>
8465      *
8466      * <code>optional string region = 138946292;</code>
8467      *
8468      * @return This builder for chaining.
8469      */
clearRegion()8470     public Builder clearRegion() {
8471       region_ = getDefaultInstance().getRegion();
8472       bitField0_ = (bitField0_ & ~0x08000000);
8473       onChanged();
8474       return this;
8475     }
8476     /**
8477      *
8478      *
8479      * <pre>
8480      * [Output Only] URL of the region where the regional interconnect attachment resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.
8481      * </pre>
8482      *
8483      * <code>optional string region = 138946292;</code>
8484      *
8485      * @param value The bytes for region to set.
8486      * @return This builder for chaining.
8487      */
setRegionBytes(com.google.protobuf.ByteString value)8488     public Builder setRegionBytes(com.google.protobuf.ByteString value) {
8489       if (value == null) {
8490         throw new NullPointerException();
8491       }
8492       checkByteStringIsUtf8(value);
8493       region_ = value;
8494       bitField0_ |= 0x08000000;
8495       onChanged();
8496       return this;
8497     }
8498 
8499     private java.lang.Object router_ = "";
8500     /**
8501      *
8502      *
8503      * <pre>
8504      * URL of the Cloud Router to be used for dynamic routing. This router must be in the same region as this InterconnectAttachment. The InterconnectAttachment will automatically connect the Interconnect to the network &amp; region within which the Cloud Router is configured.
8505      * </pre>
8506      *
8507      * <code>optional string router = 148608841;</code>
8508      *
8509      * @return Whether the router field is set.
8510      */
hasRouter()8511     public boolean hasRouter() {
8512       return ((bitField0_ & 0x10000000) != 0);
8513     }
8514     /**
8515      *
8516      *
8517      * <pre>
8518      * URL of the Cloud Router to be used for dynamic routing. This router must be in the same region as this InterconnectAttachment. The InterconnectAttachment will automatically connect the Interconnect to the network &amp; region within which the Cloud Router is configured.
8519      * </pre>
8520      *
8521      * <code>optional string router = 148608841;</code>
8522      *
8523      * @return The router.
8524      */
getRouter()8525     public java.lang.String getRouter() {
8526       java.lang.Object ref = router_;
8527       if (!(ref instanceof java.lang.String)) {
8528         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
8529         java.lang.String s = bs.toStringUtf8();
8530         router_ = s;
8531         return s;
8532       } else {
8533         return (java.lang.String) ref;
8534       }
8535     }
8536     /**
8537      *
8538      *
8539      * <pre>
8540      * URL of the Cloud Router to be used for dynamic routing. This router must be in the same region as this InterconnectAttachment. The InterconnectAttachment will automatically connect the Interconnect to the network &amp; region within which the Cloud Router is configured.
8541      * </pre>
8542      *
8543      * <code>optional string router = 148608841;</code>
8544      *
8545      * @return The bytes for router.
8546      */
getRouterBytes()8547     public com.google.protobuf.ByteString getRouterBytes() {
8548       java.lang.Object ref = router_;
8549       if (ref instanceof String) {
8550         com.google.protobuf.ByteString b =
8551             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
8552         router_ = b;
8553         return b;
8554       } else {
8555         return (com.google.protobuf.ByteString) ref;
8556       }
8557     }
8558     /**
8559      *
8560      *
8561      * <pre>
8562      * URL of the Cloud Router to be used for dynamic routing. This router must be in the same region as this InterconnectAttachment. The InterconnectAttachment will automatically connect the Interconnect to the network &amp; region within which the Cloud Router is configured.
8563      * </pre>
8564      *
8565      * <code>optional string router = 148608841;</code>
8566      *
8567      * @param value The router to set.
8568      * @return This builder for chaining.
8569      */
setRouter(java.lang.String value)8570     public Builder setRouter(java.lang.String value) {
8571       if (value == null) {
8572         throw new NullPointerException();
8573       }
8574       router_ = value;
8575       bitField0_ |= 0x10000000;
8576       onChanged();
8577       return this;
8578     }
8579     /**
8580      *
8581      *
8582      * <pre>
8583      * URL of the Cloud Router to be used for dynamic routing. This router must be in the same region as this InterconnectAttachment. The InterconnectAttachment will automatically connect the Interconnect to the network &amp; region within which the Cloud Router is configured.
8584      * </pre>
8585      *
8586      * <code>optional string router = 148608841;</code>
8587      *
8588      * @return This builder for chaining.
8589      */
clearRouter()8590     public Builder clearRouter() {
8591       router_ = getDefaultInstance().getRouter();
8592       bitField0_ = (bitField0_ & ~0x10000000);
8593       onChanged();
8594       return this;
8595     }
8596     /**
8597      *
8598      *
8599      * <pre>
8600      * URL of the Cloud Router to be used for dynamic routing. This router must be in the same region as this InterconnectAttachment. The InterconnectAttachment will automatically connect the Interconnect to the network &amp; region within which the Cloud Router is configured.
8601      * </pre>
8602      *
8603      * <code>optional string router = 148608841;</code>
8604      *
8605      * @param value The bytes for router to set.
8606      * @return This builder for chaining.
8607      */
setRouterBytes(com.google.protobuf.ByteString value)8608     public Builder setRouterBytes(com.google.protobuf.ByteString value) {
8609       if (value == null) {
8610         throw new NullPointerException();
8611       }
8612       checkByteStringIsUtf8(value);
8613       router_ = value;
8614       bitField0_ |= 0x10000000;
8615       onChanged();
8616       return this;
8617     }
8618 
8619     private boolean satisfiesPzs_;
8620     /**
8621      *
8622      *
8623      * <pre>
8624      * [Output Only] Reserved for future use.
8625      * </pre>
8626      *
8627      * <code>optional bool satisfies_pzs = 480964267;</code>
8628      *
8629      * @return Whether the satisfiesPzs field is set.
8630      */
8631     @java.lang.Override
hasSatisfiesPzs()8632     public boolean hasSatisfiesPzs() {
8633       return ((bitField0_ & 0x20000000) != 0);
8634     }
8635     /**
8636      *
8637      *
8638      * <pre>
8639      * [Output Only] Reserved for future use.
8640      * </pre>
8641      *
8642      * <code>optional bool satisfies_pzs = 480964267;</code>
8643      *
8644      * @return The satisfiesPzs.
8645      */
8646     @java.lang.Override
getSatisfiesPzs()8647     public boolean getSatisfiesPzs() {
8648       return satisfiesPzs_;
8649     }
8650     /**
8651      *
8652      *
8653      * <pre>
8654      * [Output Only] Reserved for future use.
8655      * </pre>
8656      *
8657      * <code>optional bool satisfies_pzs = 480964267;</code>
8658      *
8659      * @param value The satisfiesPzs to set.
8660      * @return This builder for chaining.
8661      */
setSatisfiesPzs(boolean value)8662     public Builder setSatisfiesPzs(boolean value) {
8663 
8664       satisfiesPzs_ = value;
8665       bitField0_ |= 0x20000000;
8666       onChanged();
8667       return this;
8668     }
8669     /**
8670      *
8671      *
8672      * <pre>
8673      * [Output Only] Reserved for future use.
8674      * </pre>
8675      *
8676      * <code>optional bool satisfies_pzs = 480964267;</code>
8677      *
8678      * @return This builder for chaining.
8679      */
clearSatisfiesPzs()8680     public Builder clearSatisfiesPzs() {
8681       bitField0_ = (bitField0_ & ~0x20000000);
8682       satisfiesPzs_ = false;
8683       onChanged();
8684       return this;
8685     }
8686 
8687     private java.lang.Object selfLink_ = "";
8688     /**
8689      *
8690      *
8691      * <pre>
8692      * [Output Only] Server-defined URL for the resource.
8693      * </pre>
8694      *
8695      * <code>optional string self_link = 456214797;</code>
8696      *
8697      * @return Whether the selfLink field is set.
8698      */
hasSelfLink()8699     public boolean hasSelfLink() {
8700       return ((bitField0_ & 0x40000000) != 0);
8701     }
8702     /**
8703      *
8704      *
8705      * <pre>
8706      * [Output Only] Server-defined URL for the resource.
8707      * </pre>
8708      *
8709      * <code>optional string self_link = 456214797;</code>
8710      *
8711      * @return The selfLink.
8712      */
getSelfLink()8713     public java.lang.String getSelfLink() {
8714       java.lang.Object ref = selfLink_;
8715       if (!(ref instanceof java.lang.String)) {
8716         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
8717         java.lang.String s = bs.toStringUtf8();
8718         selfLink_ = s;
8719         return s;
8720       } else {
8721         return (java.lang.String) ref;
8722       }
8723     }
8724     /**
8725      *
8726      *
8727      * <pre>
8728      * [Output Only] Server-defined URL for the resource.
8729      * </pre>
8730      *
8731      * <code>optional string self_link = 456214797;</code>
8732      *
8733      * @return The bytes for selfLink.
8734      */
getSelfLinkBytes()8735     public com.google.protobuf.ByteString getSelfLinkBytes() {
8736       java.lang.Object ref = selfLink_;
8737       if (ref instanceof String) {
8738         com.google.protobuf.ByteString b =
8739             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
8740         selfLink_ = b;
8741         return b;
8742       } else {
8743         return (com.google.protobuf.ByteString) ref;
8744       }
8745     }
8746     /**
8747      *
8748      *
8749      * <pre>
8750      * [Output Only] Server-defined URL for the resource.
8751      * </pre>
8752      *
8753      * <code>optional string self_link = 456214797;</code>
8754      *
8755      * @param value The selfLink to set.
8756      * @return This builder for chaining.
8757      */
setSelfLink(java.lang.String value)8758     public Builder setSelfLink(java.lang.String value) {
8759       if (value == null) {
8760         throw new NullPointerException();
8761       }
8762       selfLink_ = value;
8763       bitField0_ |= 0x40000000;
8764       onChanged();
8765       return this;
8766     }
8767     /**
8768      *
8769      *
8770      * <pre>
8771      * [Output Only] Server-defined URL for the resource.
8772      * </pre>
8773      *
8774      * <code>optional string self_link = 456214797;</code>
8775      *
8776      * @return This builder for chaining.
8777      */
clearSelfLink()8778     public Builder clearSelfLink() {
8779       selfLink_ = getDefaultInstance().getSelfLink();
8780       bitField0_ = (bitField0_ & ~0x40000000);
8781       onChanged();
8782       return this;
8783     }
8784     /**
8785      *
8786      *
8787      * <pre>
8788      * [Output Only] Server-defined URL for the resource.
8789      * </pre>
8790      *
8791      * <code>optional string self_link = 456214797;</code>
8792      *
8793      * @param value The bytes for selfLink to set.
8794      * @return This builder for chaining.
8795      */
setSelfLinkBytes(com.google.protobuf.ByteString value)8796     public Builder setSelfLinkBytes(com.google.protobuf.ByteString value) {
8797       if (value == null) {
8798         throw new NullPointerException();
8799       }
8800       checkByteStringIsUtf8(value);
8801       selfLink_ = value;
8802       bitField0_ |= 0x40000000;
8803       onChanged();
8804       return this;
8805     }
8806 
8807     private java.lang.Object stackType_ = "";
8808     /**
8809      *
8810      *
8811      * <pre>
8812      * The stack type for this interconnect attachment to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used. This field can be both set at interconnect attachments creation and update interconnect attachment operations.
8813      * Check the StackType enum for the list of possible values.
8814      * </pre>
8815      *
8816      * <code>optional string stack_type = 425908881;</code>
8817      *
8818      * @return Whether the stackType field is set.
8819      */
hasStackType()8820     public boolean hasStackType() {
8821       return ((bitField0_ & 0x80000000) != 0);
8822     }
8823     /**
8824      *
8825      *
8826      * <pre>
8827      * The stack type for this interconnect attachment to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used. This field can be both set at interconnect attachments creation and update interconnect attachment operations.
8828      * Check the StackType enum for the list of possible values.
8829      * </pre>
8830      *
8831      * <code>optional string stack_type = 425908881;</code>
8832      *
8833      * @return The stackType.
8834      */
getStackType()8835     public java.lang.String getStackType() {
8836       java.lang.Object ref = stackType_;
8837       if (!(ref instanceof java.lang.String)) {
8838         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
8839         java.lang.String s = bs.toStringUtf8();
8840         stackType_ = s;
8841         return s;
8842       } else {
8843         return (java.lang.String) ref;
8844       }
8845     }
8846     /**
8847      *
8848      *
8849      * <pre>
8850      * The stack type for this interconnect attachment to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used. This field can be both set at interconnect attachments creation and update interconnect attachment operations.
8851      * Check the StackType enum for the list of possible values.
8852      * </pre>
8853      *
8854      * <code>optional string stack_type = 425908881;</code>
8855      *
8856      * @return The bytes for stackType.
8857      */
getStackTypeBytes()8858     public com.google.protobuf.ByteString getStackTypeBytes() {
8859       java.lang.Object ref = stackType_;
8860       if (ref instanceof String) {
8861         com.google.protobuf.ByteString b =
8862             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
8863         stackType_ = b;
8864         return b;
8865       } else {
8866         return (com.google.protobuf.ByteString) ref;
8867       }
8868     }
8869     /**
8870      *
8871      *
8872      * <pre>
8873      * The stack type for this interconnect attachment to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used. This field can be both set at interconnect attachments creation and update interconnect attachment operations.
8874      * Check the StackType enum for the list of possible values.
8875      * </pre>
8876      *
8877      * <code>optional string stack_type = 425908881;</code>
8878      *
8879      * @param value The stackType to set.
8880      * @return This builder for chaining.
8881      */
setStackType(java.lang.String value)8882     public Builder setStackType(java.lang.String value) {
8883       if (value == null) {
8884         throw new NullPointerException();
8885       }
8886       stackType_ = value;
8887       bitField0_ |= 0x80000000;
8888       onChanged();
8889       return this;
8890     }
8891     /**
8892      *
8893      *
8894      * <pre>
8895      * The stack type for this interconnect attachment to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used. This field can be both set at interconnect attachments creation and update interconnect attachment operations.
8896      * Check the StackType enum for the list of possible values.
8897      * </pre>
8898      *
8899      * <code>optional string stack_type = 425908881;</code>
8900      *
8901      * @return This builder for chaining.
8902      */
clearStackType()8903     public Builder clearStackType() {
8904       stackType_ = getDefaultInstance().getStackType();
8905       bitField0_ = (bitField0_ & ~0x80000000);
8906       onChanged();
8907       return this;
8908     }
8909     /**
8910      *
8911      *
8912      * <pre>
8913      * The stack type for this interconnect attachment to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used. This field can be both set at interconnect attachments creation and update interconnect attachment operations.
8914      * Check the StackType enum for the list of possible values.
8915      * </pre>
8916      *
8917      * <code>optional string stack_type = 425908881;</code>
8918      *
8919      * @param value The bytes for stackType to set.
8920      * @return This builder for chaining.
8921      */
setStackTypeBytes(com.google.protobuf.ByteString value)8922     public Builder setStackTypeBytes(com.google.protobuf.ByteString value) {
8923       if (value == null) {
8924         throw new NullPointerException();
8925       }
8926       checkByteStringIsUtf8(value);
8927       stackType_ = value;
8928       bitField0_ |= 0x80000000;
8929       onChanged();
8930       return this;
8931     }
8932 
8933     private java.lang.Object state_ = "";
8934     /**
8935      *
8936      *
8937      * <pre>
8938      * [Output Only] The current state of this attachment's functionality. Enum values ACTIVE and UNPROVISIONED are shared by DEDICATED/PRIVATE, PARTNER, and PARTNER_PROVIDER interconnect attachments, while enum values PENDING_PARTNER, PARTNER_REQUEST_RECEIVED, and PENDING_CUSTOMER are used for only PARTNER and PARTNER_PROVIDER interconnect attachments. This state can take one of the following values: - ACTIVE: The attachment has been turned up and is ready to use. - UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete. - PENDING_PARTNER: A newly-created PARTNER attachment that has not yet been configured on the Partner side. - PARTNER_REQUEST_RECEIVED: A PARTNER attachment is in the process of provisioning after a PARTNER_PROVIDER attachment was created that references it. - PENDING_CUSTOMER: A PARTNER or PARTNER_PROVIDER attachment that is waiting for a customer to activate it. - DEFUNCT: The attachment was deleted externally and is no longer functional. This could be because the associated Interconnect was removed, or because the other side of a Partner attachment was deleted.
8939      * Check the State enum for the list of possible values.
8940      * </pre>
8941      *
8942      * <code>optional string state = 109757585;</code>
8943      *
8944      * @return Whether the state field is set.
8945      */
hasState()8946     public boolean hasState() {
8947       return ((bitField1_ & 0x00000001) != 0);
8948     }
8949     /**
8950      *
8951      *
8952      * <pre>
8953      * [Output Only] The current state of this attachment's functionality. Enum values ACTIVE and UNPROVISIONED are shared by DEDICATED/PRIVATE, PARTNER, and PARTNER_PROVIDER interconnect attachments, while enum values PENDING_PARTNER, PARTNER_REQUEST_RECEIVED, and PENDING_CUSTOMER are used for only PARTNER and PARTNER_PROVIDER interconnect attachments. This state can take one of the following values: - ACTIVE: The attachment has been turned up and is ready to use. - UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete. - PENDING_PARTNER: A newly-created PARTNER attachment that has not yet been configured on the Partner side. - PARTNER_REQUEST_RECEIVED: A PARTNER attachment is in the process of provisioning after a PARTNER_PROVIDER attachment was created that references it. - PENDING_CUSTOMER: A PARTNER or PARTNER_PROVIDER attachment that is waiting for a customer to activate it. - DEFUNCT: The attachment was deleted externally and is no longer functional. This could be because the associated Interconnect was removed, or because the other side of a Partner attachment was deleted.
8954      * Check the State enum for the list of possible values.
8955      * </pre>
8956      *
8957      * <code>optional string state = 109757585;</code>
8958      *
8959      * @return The state.
8960      */
getState()8961     public java.lang.String getState() {
8962       java.lang.Object ref = state_;
8963       if (!(ref instanceof java.lang.String)) {
8964         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
8965         java.lang.String s = bs.toStringUtf8();
8966         state_ = s;
8967         return s;
8968       } else {
8969         return (java.lang.String) ref;
8970       }
8971     }
8972     /**
8973      *
8974      *
8975      * <pre>
8976      * [Output Only] The current state of this attachment's functionality. Enum values ACTIVE and UNPROVISIONED are shared by DEDICATED/PRIVATE, PARTNER, and PARTNER_PROVIDER interconnect attachments, while enum values PENDING_PARTNER, PARTNER_REQUEST_RECEIVED, and PENDING_CUSTOMER are used for only PARTNER and PARTNER_PROVIDER interconnect attachments. This state can take one of the following values: - ACTIVE: The attachment has been turned up and is ready to use. - UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete. - PENDING_PARTNER: A newly-created PARTNER attachment that has not yet been configured on the Partner side. - PARTNER_REQUEST_RECEIVED: A PARTNER attachment is in the process of provisioning after a PARTNER_PROVIDER attachment was created that references it. - PENDING_CUSTOMER: A PARTNER or PARTNER_PROVIDER attachment that is waiting for a customer to activate it. - DEFUNCT: The attachment was deleted externally and is no longer functional. This could be because the associated Interconnect was removed, or because the other side of a Partner attachment was deleted.
8977      * Check the State enum for the list of possible values.
8978      * </pre>
8979      *
8980      * <code>optional string state = 109757585;</code>
8981      *
8982      * @return The bytes for state.
8983      */
getStateBytes()8984     public com.google.protobuf.ByteString getStateBytes() {
8985       java.lang.Object ref = state_;
8986       if (ref instanceof String) {
8987         com.google.protobuf.ByteString b =
8988             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
8989         state_ = b;
8990         return b;
8991       } else {
8992         return (com.google.protobuf.ByteString) ref;
8993       }
8994     }
8995     /**
8996      *
8997      *
8998      * <pre>
8999      * [Output Only] The current state of this attachment's functionality. Enum values ACTIVE and UNPROVISIONED are shared by DEDICATED/PRIVATE, PARTNER, and PARTNER_PROVIDER interconnect attachments, while enum values PENDING_PARTNER, PARTNER_REQUEST_RECEIVED, and PENDING_CUSTOMER are used for only PARTNER and PARTNER_PROVIDER interconnect attachments. This state can take one of the following values: - ACTIVE: The attachment has been turned up and is ready to use. - UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete. - PENDING_PARTNER: A newly-created PARTNER attachment that has not yet been configured on the Partner side. - PARTNER_REQUEST_RECEIVED: A PARTNER attachment is in the process of provisioning after a PARTNER_PROVIDER attachment was created that references it. - PENDING_CUSTOMER: A PARTNER or PARTNER_PROVIDER attachment that is waiting for a customer to activate it. - DEFUNCT: The attachment was deleted externally and is no longer functional. This could be because the associated Interconnect was removed, or because the other side of a Partner attachment was deleted.
9000      * Check the State enum for the list of possible values.
9001      * </pre>
9002      *
9003      * <code>optional string state = 109757585;</code>
9004      *
9005      * @param value The state to set.
9006      * @return This builder for chaining.
9007      */
setState(java.lang.String value)9008     public Builder setState(java.lang.String value) {
9009       if (value == null) {
9010         throw new NullPointerException();
9011       }
9012       state_ = value;
9013       bitField1_ |= 0x00000001;
9014       onChanged();
9015       return this;
9016     }
9017     /**
9018      *
9019      *
9020      * <pre>
9021      * [Output Only] The current state of this attachment's functionality. Enum values ACTIVE and UNPROVISIONED are shared by DEDICATED/PRIVATE, PARTNER, and PARTNER_PROVIDER interconnect attachments, while enum values PENDING_PARTNER, PARTNER_REQUEST_RECEIVED, and PENDING_CUSTOMER are used for only PARTNER and PARTNER_PROVIDER interconnect attachments. This state can take one of the following values: - ACTIVE: The attachment has been turned up and is ready to use. - UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete. - PENDING_PARTNER: A newly-created PARTNER attachment that has not yet been configured on the Partner side. - PARTNER_REQUEST_RECEIVED: A PARTNER attachment is in the process of provisioning after a PARTNER_PROVIDER attachment was created that references it. - PENDING_CUSTOMER: A PARTNER or PARTNER_PROVIDER attachment that is waiting for a customer to activate it. - DEFUNCT: The attachment was deleted externally and is no longer functional. This could be because the associated Interconnect was removed, or because the other side of a Partner attachment was deleted.
9022      * Check the State enum for the list of possible values.
9023      * </pre>
9024      *
9025      * <code>optional string state = 109757585;</code>
9026      *
9027      * @return This builder for chaining.
9028      */
clearState()9029     public Builder clearState() {
9030       state_ = getDefaultInstance().getState();
9031       bitField1_ = (bitField1_ & ~0x00000001);
9032       onChanged();
9033       return this;
9034     }
9035     /**
9036      *
9037      *
9038      * <pre>
9039      * [Output Only] The current state of this attachment's functionality. Enum values ACTIVE and UNPROVISIONED are shared by DEDICATED/PRIVATE, PARTNER, and PARTNER_PROVIDER interconnect attachments, while enum values PENDING_PARTNER, PARTNER_REQUEST_RECEIVED, and PENDING_CUSTOMER are used for only PARTNER and PARTNER_PROVIDER interconnect attachments. This state can take one of the following values: - ACTIVE: The attachment has been turned up and is ready to use. - UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete. - PENDING_PARTNER: A newly-created PARTNER attachment that has not yet been configured on the Partner side. - PARTNER_REQUEST_RECEIVED: A PARTNER attachment is in the process of provisioning after a PARTNER_PROVIDER attachment was created that references it. - PENDING_CUSTOMER: A PARTNER or PARTNER_PROVIDER attachment that is waiting for a customer to activate it. - DEFUNCT: The attachment was deleted externally and is no longer functional. This could be because the associated Interconnect was removed, or because the other side of a Partner attachment was deleted.
9040      * Check the State enum for the list of possible values.
9041      * </pre>
9042      *
9043      * <code>optional string state = 109757585;</code>
9044      *
9045      * @param value The bytes for state to set.
9046      * @return This builder for chaining.
9047      */
setStateBytes(com.google.protobuf.ByteString value)9048     public Builder setStateBytes(com.google.protobuf.ByteString value) {
9049       if (value == null) {
9050         throw new NullPointerException();
9051       }
9052       checkByteStringIsUtf8(value);
9053       state_ = value;
9054       bitField1_ |= 0x00000001;
9055       onChanged();
9056       return this;
9057     }
9058 
9059     private java.lang.Object type_ = "";
9060     /**
9061      *
9062      *
9063      * <pre>
9064      * The type of interconnect attachment this is, which can take one of the following values: - DEDICATED: an attachment to a Dedicated Interconnect. - PARTNER: an attachment to a Partner Interconnect, created by the customer. - PARTNER_PROVIDER: an attachment to a Partner Interconnect, created by the partner.
9065      * Check the Type enum for the list of possible values.
9066      * </pre>
9067      *
9068      * <code>optional string type = 3575610;</code>
9069      *
9070      * @return Whether the type field is set.
9071      */
hasType()9072     public boolean hasType() {
9073       return ((bitField1_ & 0x00000002) != 0);
9074     }
9075     /**
9076      *
9077      *
9078      * <pre>
9079      * The type of interconnect attachment this is, which can take one of the following values: - DEDICATED: an attachment to a Dedicated Interconnect. - PARTNER: an attachment to a Partner Interconnect, created by the customer. - PARTNER_PROVIDER: an attachment to a Partner Interconnect, created by the partner.
9080      * Check the Type enum for the list of possible values.
9081      * </pre>
9082      *
9083      * <code>optional string type = 3575610;</code>
9084      *
9085      * @return The type.
9086      */
getType()9087     public java.lang.String getType() {
9088       java.lang.Object ref = type_;
9089       if (!(ref instanceof java.lang.String)) {
9090         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
9091         java.lang.String s = bs.toStringUtf8();
9092         type_ = s;
9093         return s;
9094       } else {
9095         return (java.lang.String) ref;
9096       }
9097     }
9098     /**
9099      *
9100      *
9101      * <pre>
9102      * The type of interconnect attachment this is, which can take one of the following values: - DEDICATED: an attachment to a Dedicated Interconnect. - PARTNER: an attachment to a Partner Interconnect, created by the customer. - PARTNER_PROVIDER: an attachment to a Partner Interconnect, created by the partner.
9103      * Check the Type enum for the list of possible values.
9104      * </pre>
9105      *
9106      * <code>optional string type = 3575610;</code>
9107      *
9108      * @return The bytes for type.
9109      */
getTypeBytes()9110     public com.google.protobuf.ByteString getTypeBytes() {
9111       java.lang.Object ref = type_;
9112       if (ref instanceof String) {
9113         com.google.protobuf.ByteString b =
9114             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
9115         type_ = b;
9116         return b;
9117       } else {
9118         return (com.google.protobuf.ByteString) ref;
9119       }
9120     }
9121     /**
9122      *
9123      *
9124      * <pre>
9125      * The type of interconnect attachment this is, which can take one of the following values: - DEDICATED: an attachment to a Dedicated Interconnect. - PARTNER: an attachment to a Partner Interconnect, created by the customer. - PARTNER_PROVIDER: an attachment to a Partner Interconnect, created by the partner.
9126      * Check the Type enum for the list of possible values.
9127      * </pre>
9128      *
9129      * <code>optional string type = 3575610;</code>
9130      *
9131      * @param value The type to set.
9132      * @return This builder for chaining.
9133      */
setType(java.lang.String value)9134     public Builder setType(java.lang.String value) {
9135       if (value == null) {
9136         throw new NullPointerException();
9137       }
9138       type_ = value;
9139       bitField1_ |= 0x00000002;
9140       onChanged();
9141       return this;
9142     }
9143     /**
9144      *
9145      *
9146      * <pre>
9147      * The type of interconnect attachment this is, which can take one of the following values: - DEDICATED: an attachment to a Dedicated Interconnect. - PARTNER: an attachment to a Partner Interconnect, created by the customer. - PARTNER_PROVIDER: an attachment to a Partner Interconnect, created by the partner.
9148      * Check the Type enum for the list of possible values.
9149      * </pre>
9150      *
9151      * <code>optional string type = 3575610;</code>
9152      *
9153      * @return This builder for chaining.
9154      */
clearType()9155     public Builder clearType() {
9156       type_ = getDefaultInstance().getType();
9157       bitField1_ = (bitField1_ & ~0x00000002);
9158       onChanged();
9159       return this;
9160     }
9161     /**
9162      *
9163      *
9164      * <pre>
9165      * The type of interconnect attachment this is, which can take one of the following values: - DEDICATED: an attachment to a Dedicated Interconnect. - PARTNER: an attachment to a Partner Interconnect, created by the customer. - PARTNER_PROVIDER: an attachment to a Partner Interconnect, created by the partner.
9166      * Check the Type enum for the list of possible values.
9167      * </pre>
9168      *
9169      * <code>optional string type = 3575610;</code>
9170      *
9171      * @param value The bytes for type to set.
9172      * @return This builder for chaining.
9173      */
setTypeBytes(com.google.protobuf.ByteString value)9174     public Builder setTypeBytes(com.google.protobuf.ByteString value) {
9175       if (value == null) {
9176         throw new NullPointerException();
9177       }
9178       checkByteStringIsUtf8(value);
9179       type_ = value;
9180       bitField1_ |= 0x00000002;
9181       onChanged();
9182       return this;
9183     }
9184 
9185     private int vlanTag8021Q_;
9186     /**
9187      *
9188      *
9189      * <pre>
9190      * The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4093. Only specified at creation time.
9191      * </pre>
9192      *
9193      * <code>optional int32 vlan_tag8021q = 119927836;</code>
9194      *
9195      * @return Whether the vlanTag8021q field is set.
9196      */
9197     @java.lang.Override
hasVlanTag8021Q()9198     public boolean hasVlanTag8021Q() {
9199       return ((bitField1_ & 0x00000004) != 0);
9200     }
9201     /**
9202      *
9203      *
9204      * <pre>
9205      * The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4093. Only specified at creation time.
9206      * </pre>
9207      *
9208      * <code>optional int32 vlan_tag8021q = 119927836;</code>
9209      *
9210      * @return The vlanTag8021q.
9211      */
9212     @java.lang.Override
getVlanTag8021Q()9213     public int getVlanTag8021Q() {
9214       return vlanTag8021Q_;
9215     }
9216     /**
9217      *
9218      *
9219      * <pre>
9220      * The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4093. Only specified at creation time.
9221      * </pre>
9222      *
9223      * <code>optional int32 vlan_tag8021q = 119927836;</code>
9224      *
9225      * @param value The vlanTag8021q to set.
9226      * @return This builder for chaining.
9227      */
setVlanTag8021Q(int value)9228     public Builder setVlanTag8021Q(int value) {
9229 
9230       vlanTag8021Q_ = value;
9231       bitField1_ |= 0x00000004;
9232       onChanged();
9233       return this;
9234     }
9235     /**
9236      *
9237      *
9238      * <pre>
9239      * The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4093. Only specified at creation time.
9240      * </pre>
9241      *
9242      * <code>optional int32 vlan_tag8021q = 119927836;</code>
9243      *
9244      * @return This builder for chaining.
9245      */
clearVlanTag8021Q()9246     public Builder clearVlanTag8021Q() {
9247       bitField1_ = (bitField1_ & ~0x00000004);
9248       vlanTag8021Q_ = 0;
9249       onChanged();
9250       return this;
9251     }
9252 
9253     @java.lang.Override
setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)9254     public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
9255       return super.setUnknownFields(unknownFields);
9256     }
9257 
9258     @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)9259     public final Builder mergeUnknownFields(
9260         final com.google.protobuf.UnknownFieldSet unknownFields) {
9261       return super.mergeUnknownFields(unknownFields);
9262     }
9263 
9264     // @@protoc_insertion_point(builder_scope:google.cloud.compute.v1.InterconnectAttachment)
9265   }
9266 
9267   // @@protoc_insertion_point(class_scope:google.cloud.compute.v1.InterconnectAttachment)
9268   private static final com.google.cloud.compute.v1.InterconnectAttachment DEFAULT_INSTANCE;
9269 
9270   static {
9271     DEFAULT_INSTANCE = new com.google.cloud.compute.v1.InterconnectAttachment();
9272   }
9273 
getDefaultInstance()9274   public static com.google.cloud.compute.v1.InterconnectAttachment getDefaultInstance() {
9275     return DEFAULT_INSTANCE;
9276   }
9277 
9278   private static final com.google.protobuf.Parser<InterconnectAttachment> PARSER =
9279       new com.google.protobuf.AbstractParser<InterconnectAttachment>() {
9280         @java.lang.Override
9281         public InterconnectAttachment parsePartialFrom(
9282             com.google.protobuf.CodedInputStream input,
9283             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
9284             throws com.google.protobuf.InvalidProtocolBufferException {
9285           Builder builder = newBuilder();
9286           try {
9287             builder.mergeFrom(input, extensionRegistry);
9288           } catch (com.google.protobuf.InvalidProtocolBufferException e) {
9289             throw e.setUnfinishedMessage(builder.buildPartial());
9290           } catch (com.google.protobuf.UninitializedMessageException e) {
9291             throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
9292           } catch (java.io.IOException e) {
9293             throw new com.google.protobuf.InvalidProtocolBufferException(e)
9294                 .setUnfinishedMessage(builder.buildPartial());
9295           }
9296           return builder.buildPartial();
9297         }
9298       };
9299 
parser()9300   public static com.google.protobuf.Parser<InterconnectAttachment> parser() {
9301     return PARSER;
9302   }
9303 
9304   @java.lang.Override
getParserForType()9305   public com.google.protobuf.Parser<InterconnectAttachment> getParserForType() {
9306     return PARSER;
9307   }
9308 
9309   @java.lang.Override
getDefaultInstanceForType()9310   public com.google.cloud.compute.v1.InterconnectAttachment getDefaultInstanceForType() {
9311     return DEFAULT_INSTANCE;
9312   }
9313 }
9314