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