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