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