• 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/kms/v1/resources.proto
18 
19 package com.google.cloud.kms.v1;
20 
21 /**
22  *
23  *
24  * <pre>
25  * A [CryptoKeyVersionTemplate][google.cloud.kms.v1.CryptoKeyVersionTemplate]
26  * specifies the properties to use when creating a new
27  * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion], either manually
28  * with
29  * [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion]
30  * or automatically as a result of auto-rotation.
31  * </pre>
32  *
33  * Protobuf type {@code google.cloud.kms.v1.CryptoKeyVersionTemplate}
34  */
35 public final class CryptoKeyVersionTemplate extends com.google.protobuf.GeneratedMessageV3
36     implements
37     // @@protoc_insertion_point(message_implements:google.cloud.kms.v1.CryptoKeyVersionTemplate)
38     CryptoKeyVersionTemplateOrBuilder {
39   private static final long serialVersionUID = 0L;
40   // Use CryptoKeyVersionTemplate.newBuilder() to construct.
CryptoKeyVersionTemplate(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)41   private CryptoKeyVersionTemplate(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
42     super(builder);
43   }
44 
CryptoKeyVersionTemplate()45   private CryptoKeyVersionTemplate() {
46     protectionLevel_ = 0;
47     algorithm_ = 0;
48   }
49 
50   @java.lang.Override
51   @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)52   protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
53     return new CryptoKeyVersionTemplate();
54   }
55 
56   @java.lang.Override
getUnknownFields()57   public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
58     return this.unknownFields;
59   }
60 
getDescriptor()61   public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
62     return com.google.cloud.kms.v1.KmsResourcesProto
63         .internal_static_google_cloud_kms_v1_CryptoKeyVersionTemplate_descriptor;
64   }
65 
66   @java.lang.Override
67   protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()68       internalGetFieldAccessorTable() {
69     return com.google.cloud.kms.v1.KmsResourcesProto
70         .internal_static_google_cloud_kms_v1_CryptoKeyVersionTemplate_fieldAccessorTable
71         .ensureFieldAccessorsInitialized(
72             com.google.cloud.kms.v1.CryptoKeyVersionTemplate.class,
73             com.google.cloud.kms.v1.CryptoKeyVersionTemplate.Builder.class);
74   }
75 
76   public static final int PROTECTION_LEVEL_FIELD_NUMBER = 1;
77   private int protectionLevel_ = 0;
78   /**
79    *
80    *
81    * <pre>
82    * [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] to use when creating
83    * a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] based on this
84    * template. Immutable. Defaults to
85    * [SOFTWARE][google.cloud.kms.v1.ProtectionLevel.SOFTWARE].
86    * </pre>
87    *
88    * <code>.google.cloud.kms.v1.ProtectionLevel protection_level = 1;</code>
89    *
90    * @return The enum numeric value on the wire for protectionLevel.
91    */
92   @java.lang.Override
getProtectionLevelValue()93   public int getProtectionLevelValue() {
94     return protectionLevel_;
95   }
96   /**
97    *
98    *
99    * <pre>
100    * [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] to use when creating
101    * a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] based on this
102    * template. Immutable. Defaults to
103    * [SOFTWARE][google.cloud.kms.v1.ProtectionLevel.SOFTWARE].
104    * </pre>
105    *
106    * <code>.google.cloud.kms.v1.ProtectionLevel protection_level = 1;</code>
107    *
108    * @return The protectionLevel.
109    */
110   @java.lang.Override
getProtectionLevel()111   public com.google.cloud.kms.v1.ProtectionLevel getProtectionLevel() {
112     com.google.cloud.kms.v1.ProtectionLevel result =
113         com.google.cloud.kms.v1.ProtectionLevel.forNumber(protectionLevel_);
114     return result == null ? com.google.cloud.kms.v1.ProtectionLevel.UNRECOGNIZED : result;
115   }
116 
117   public static final int ALGORITHM_FIELD_NUMBER = 3;
118   private int algorithm_ = 0;
119   /**
120    *
121    *
122    * <pre>
123    * Required.
124    * [Algorithm][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm]
125    * to use when creating a
126    * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] based on this
127    * template.
128    * For backwards compatibility, GOOGLE_SYMMETRIC_ENCRYPTION is implied if both
129    * this field is omitted and
130    * [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] is
131    * [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
132    * </pre>
133    *
134    * <code>
135    * .google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm algorithm = 3 [(.google.api.field_behavior) = REQUIRED];
136    * </code>
137    *
138    * @return The enum numeric value on the wire for algorithm.
139    */
140   @java.lang.Override
getAlgorithmValue()141   public int getAlgorithmValue() {
142     return algorithm_;
143   }
144   /**
145    *
146    *
147    * <pre>
148    * Required.
149    * [Algorithm][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm]
150    * to use when creating a
151    * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] based on this
152    * template.
153    * For backwards compatibility, GOOGLE_SYMMETRIC_ENCRYPTION is implied if both
154    * this field is omitted and
155    * [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] is
156    * [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
157    * </pre>
158    *
159    * <code>
160    * .google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm algorithm = 3 [(.google.api.field_behavior) = REQUIRED];
161    * </code>
162    *
163    * @return The algorithm.
164    */
165   @java.lang.Override
getAlgorithm()166   public com.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm getAlgorithm() {
167     com.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm result =
168         com.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm.forNumber(algorithm_);
169     return result == null
170         ? com.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm.UNRECOGNIZED
171         : result;
172   }
173 
174   private byte memoizedIsInitialized = -1;
175 
176   @java.lang.Override
isInitialized()177   public final boolean isInitialized() {
178     byte isInitialized = memoizedIsInitialized;
179     if (isInitialized == 1) return true;
180     if (isInitialized == 0) return false;
181 
182     memoizedIsInitialized = 1;
183     return true;
184   }
185 
186   @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)187   public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
188     if (protectionLevel_
189         != com.google.cloud.kms.v1.ProtectionLevel.PROTECTION_LEVEL_UNSPECIFIED.getNumber()) {
190       output.writeEnum(1, protectionLevel_);
191     }
192     if (algorithm_
193         != com.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm
194             .CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED
195             .getNumber()) {
196       output.writeEnum(3, algorithm_);
197     }
198     getUnknownFields().writeTo(output);
199   }
200 
201   @java.lang.Override
getSerializedSize()202   public int getSerializedSize() {
203     int size = memoizedSize;
204     if (size != -1) return size;
205 
206     size = 0;
207     if (protectionLevel_
208         != com.google.cloud.kms.v1.ProtectionLevel.PROTECTION_LEVEL_UNSPECIFIED.getNumber()) {
209       size += com.google.protobuf.CodedOutputStream.computeEnumSize(1, protectionLevel_);
210     }
211     if (algorithm_
212         != com.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm
213             .CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED
214             .getNumber()) {
215       size += com.google.protobuf.CodedOutputStream.computeEnumSize(3, algorithm_);
216     }
217     size += getUnknownFields().getSerializedSize();
218     memoizedSize = size;
219     return size;
220   }
221 
222   @java.lang.Override
equals(final java.lang.Object obj)223   public boolean equals(final java.lang.Object obj) {
224     if (obj == this) {
225       return true;
226     }
227     if (!(obj instanceof com.google.cloud.kms.v1.CryptoKeyVersionTemplate)) {
228       return super.equals(obj);
229     }
230     com.google.cloud.kms.v1.CryptoKeyVersionTemplate other =
231         (com.google.cloud.kms.v1.CryptoKeyVersionTemplate) obj;
232 
233     if (protectionLevel_ != other.protectionLevel_) return false;
234     if (algorithm_ != other.algorithm_) return false;
235     if (!getUnknownFields().equals(other.getUnknownFields())) return false;
236     return true;
237   }
238 
239   @java.lang.Override
hashCode()240   public int hashCode() {
241     if (memoizedHashCode != 0) {
242       return memoizedHashCode;
243     }
244     int hash = 41;
245     hash = (19 * hash) + getDescriptor().hashCode();
246     hash = (37 * hash) + PROTECTION_LEVEL_FIELD_NUMBER;
247     hash = (53 * hash) + protectionLevel_;
248     hash = (37 * hash) + ALGORITHM_FIELD_NUMBER;
249     hash = (53 * hash) + algorithm_;
250     hash = (29 * hash) + getUnknownFields().hashCode();
251     memoizedHashCode = hash;
252     return hash;
253   }
254 
parseFrom(java.nio.ByteBuffer data)255   public static com.google.cloud.kms.v1.CryptoKeyVersionTemplate parseFrom(java.nio.ByteBuffer data)
256       throws com.google.protobuf.InvalidProtocolBufferException {
257     return PARSER.parseFrom(data);
258   }
259 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)260   public static com.google.cloud.kms.v1.CryptoKeyVersionTemplate parseFrom(
261       java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
262       throws com.google.protobuf.InvalidProtocolBufferException {
263     return PARSER.parseFrom(data, extensionRegistry);
264   }
265 
parseFrom( com.google.protobuf.ByteString data)266   public static com.google.cloud.kms.v1.CryptoKeyVersionTemplate parseFrom(
267       com.google.protobuf.ByteString data)
268       throws com.google.protobuf.InvalidProtocolBufferException {
269     return PARSER.parseFrom(data);
270   }
271 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)272   public static com.google.cloud.kms.v1.CryptoKeyVersionTemplate parseFrom(
273       com.google.protobuf.ByteString data,
274       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
275       throws com.google.protobuf.InvalidProtocolBufferException {
276     return PARSER.parseFrom(data, extensionRegistry);
277   }
278 
parseFrom(byte[] data)279   public static com.google.cloud.kms.v1.CryptoKeyVersionTemplate parseFrom(byte[] data)
280       throws com.google.protobuf.InvalidProtocolBufferException {
281     return PARSER.parseFrom(data);
282   }
283 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)284   public static com.google.cloud.kms.v1.CryptoKeyVersionTemplate parseFrom(
285       byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
286       throws com.google.protobuf.InvalidProtocolBufferException {
287     return PARSER.parseFrom(data, extensionRegistry);
288   }
289 
parseFrom( java.io.InputStream input)290   public static com.google.cloud.kms.v1.CryptoKeyVersionTemplate parseFrom(
291       java.io.InputStream input) throws java.io.IOException {
292     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
293   }
294 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)295   public static com.google.cloud.kms.v1.CryptoKeyVersionTemplate parseFrom(
296       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
297       throws java.io.IOException {
298     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
299         PARSER, input, extensionRegistry);
300   }
301 
parseDelimitedFrom( java.io.InputStream input)302   public static com.google.cloud.kms.v1.CryptoKeyVersionTemplate parseDelimitedFrom(
303       java.io.InputStream input) throws java.io.IOException {
304     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
305   }
306 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)307   public static com.google.cloud.kms.v1.CryptoKeyVersionTemplate parseDelimitedFrom(
308       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
309       throws java.io.IOException {
310     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
311         PARSER, input, extensionRegistry);
312   }
313 
parseFrom( com.google.protobuf.CodedInputStream input)314   public static com.google.cloud.kms.v1.CryptoKeyVersionTemplate parseFrom(
315       com.google.protobuf.CodedInputStream input) throws java.io.IOException {
316     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
317   }
318 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)319   public static com.google.cloud.kms.v1.CryptoKeyVersionTemplate parseFrom(
320       com.google.protobuf.CodedInputStream input,
321       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
322       throws java.io.IOException {
323     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
324         PARSER, input, extensionRegistry);
325   }
326 
327   @java.lang.Override
newBuilderForType()328   public Builder newBuilderForType() {
329     return newBuilder();
330   }
331 
newBuilder()332   public static Builder newBuilder() {
333     return DEFAULT_INSTANCE.toBuilder();
334   }
335 
newBuilder(com.google.cloud.kms.v1.CryptoKeyVersionTemplate prototype)336   public static Builder newBuilder(com.google.cloud.kms.v1.CryptoKeyVersionTemplate prototype) {
337     return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
338   }
339 
340   @java.lang.Override
toBuilder()341   public Builder toBuilder() {
342     return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
343   }
344 
345   @java.lang.Override
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)346   protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
347     Builder builder = new Builder(parent);
348     return builder;
349   }
350   /**
351    *
352    *
353    * <pre>
354    * A [CryptoKeyVersionTemplate][google.cloud.kms.v1.CryptoKeyVersionTemplate]
355    * specifies the properties to use when creating a new
356    * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion], either manually
357    * with
358    * [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion]
359    * or automatically as a result of auto-rotation.
360    * </pre>
361    *
362    * Protobuf type {@code google.cloud.kms.v1.CryptoKeyVersionTemplate}
363    */
364   public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
365       implements
366       // @@protoc_insertion_point(builder_implements:google.cloud.kms.v1.CryptoKeyVersionTemplate)
367       com.google.cloud.kms.v1.CryptoKeyVersionTemplateOrBuilder {
getDescriptor()368     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
369       return com.google.cloud.kms.v1.KmsResourcesProto
370           .internal_static_google_cloud_kms_v1_CryptoKeyVersionTemplate_descriptor;
371     }
372 
373     @java.lang.Override
374     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()375         internalGetFieldAccessorTable() {
376       return com.google.cloud.kms.v1.KmsResourcesProto
377           .internal_static_google_cloud_kms_v1_CryptoKeyVersionTemplate_fieldAccessorTable
378           .ensureFieldAccessorsInitialized(
379               com.google.cloud.kms.v1.CryptoKeyVersionTemplate.class,
380               com.google.cloud.kms.v1.CryptoKeyVersionTemplate.Builder.class);
381     }
382 
383     // Construct using com.google.cloud.kms.v1.CryptoKeyVersionTemplate.newBuilder()
Builder()384     private Builder() {}
385 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)386     private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
387       super(parent);
388     }
389 
390     @java.lang.Override
clear()391     public Builder clear() {
392       super.clear();
393       bitField0_ = 0;
394       protectionLevel_ = 0;
395       algorithm_ = 0;
396       return this;
397     }
398 
399     @java.lang.Override
getDescriptorForType()400     public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
401       return com.google.cloud.kms.v1.KmsResourcesProto
402           .internal_static_google_cloud_kms_v1_CryptoKeyVersionTemplate_descriptor;
403     }
404 
405     @java.lang.Override
getDefaultInstanceForType()406     public com.google.cloud.kms.v1.CryptoKeyVersionTemplate getDefaultInstanceForType() {
407       return com.google.cloud.kms.v1.CryptoKeyVersionTemplate.getDefaultInstance();
408     }
409 
410     @java.lang.Override
build()411     public com.google.cloud.kms.v1.CryptoKeyVersionTemplate build() {
412       com.google.cloud.kms.v1.CryptoKeyVersionTemplate result = buildPartial();
413       if (!result.isInitialized()) {
414         throw newUninitializedMessageException(result);
415       }
416       return result;
417     }
418 
419     @java.lang.Override
buildPartial()420     public com.google.cloud.kms.v1.CryptoKeyVersionTemplate buildPartial() {
421       com.google.cloud.kms.v1.CryptoKeyVersionTemplate result =
422           new com.google.cloud.kms.v1.CryptoKeyVersionTemplate(this);
423       if (bitField0_ != 0) {
424         buildPartial0(result);
425       }
426       onBuilt();
427       return result;
428     }
429 
buildPartial0(com.google.cloud.kms.v1.CryptoKeyVersionTemplate result)430     private void buildPartial0(com.google.cloud.kms.v1.CryptoKeyVersionTemplate result) {
431       int from_bitField0_ = bitField0_;
432       if (((from_bitField0_ & 0x00000001) != 0)) {
433         result.protectionLevel_ = protectionLevel_;
434       }
435       if (((from_bitField0_ & 0x00000002) != 0)) {
436         result.algorithm_ = algorithm_;
437       }
438     }
439 
440     @java.lang.Override
clone()441     public Builder clone() {
442       return super.clone();
443     }
444 
445     @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)446     public Builder setField(
447         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
448       return super.setField(field, value);
449     }
450 
451     @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)452     public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
453       return super.clearField(field);
454     }
455 
456     @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)457     public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
458       return super.clearOneof(oneof);
459     }
460 
461     @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)462     public Builder setRepeatedField(
463         com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
464       return super.setRepeatedField(field, index, value);
465     }
466 
467     @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)468     public Builder addRepeatedField(
469         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
470       return super.addRepeatedField(field, value);
471     }
472 
473     @java.lang.Override
mergeFrom(com.google.protobuf.Message other)474     public Builder mergeFrom(com.google.protobuf.Message other) {
475       if (other instanceof com.google.cloud.kms.v1.CryptoKeyVersionTemplate) {
476         return mergeFrom((com.google.cloud.kms.v1.CryptoKeyVersionTemplate) other);
477       } else {
478         super.mergeFrom(other);
479         return this;
480       }
481     }
482 
mergeFrom(com.google.cloud.kms.v1.CryptoKeyVersionTemplate other)483     public Builder mergeFrom(com.google.cloud.kms.v1.CryptoKeyVersionTemplate other) {
484       if (other == com.google.cloud.kms.v1.CryptoKeyVersionTemplate.getDefaultInstance())
485         return this;
486       if (other.protectionLevel_ != 0) {
487         setProtectionLevelValue(other.getProtectionLevelValue());
488       }
489       if (other.algorithm_ != 0) {
490         setAlgorithmValue(other.getAlgorithmValue());
491       }
492       this.mergeUnknownFields(other.getUnknownFields());
493       onChanged();
494       return this;
495     }
496 
497     @java.lang.Override
isInitialized()498     public final boolean isInitialized() {
499       return true;
500     }
501 
502     @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)503     public Builder mergeFrom(
504         com.google.protobuf.CodedInputStream input,
505         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
506         throws java.io.IOException {
507       if (extensionRegistry == null) {
508         throw new java.lang.NullPointerException();
509       }
510       try {
511         boolean done = false;
512         while (!done) {
513           int tag = input.readTag();
514           switch (tag) {
515             case 0:
516               done = true;
517               break;
518             case 8:
519               {
520                 protectionLevel_ = input.readEnum();
521                 bitField0_ |= 0x00000001;
522                 break;
523               } // case 8
524             case 24:
525               {
526                 algorithm_ = input.readEnum();
527                 bitField0_ |= 0x00000002;
528                 break;
529               } // case 24
530             default:
531               {
532                 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
533                   done = true; // was an endgroup tag
534                 }
535                 break;
536               } // default:
537           } // switch (tag)
538         } // while (!done)
539       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
540         throw e.unwrapIOException();
541       } finally {
542         onChanged();
543       } // finally
544       return this;
545     }
546 
547     private int bitField0_;
548 
549     private int protectionLevel_ = 0;
550     /**
551      *
552      *
553      * <pre>
554      * [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] to use when creating
555      * a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] based on this
556      * template. Immutable. Defaults to
557      * [SOFTWARE][google.cloud.kms.v1.ProtectionLevel.SOFTWARE].
558      * </pre>
559      *
560      * <code>.google.cloud.kms.v1.ProtectionLevel protection_level = 1;</code>
561      *
562      * @return The enum numeric value on the wire for protectionLevel.
563      */
564     @java.lang.Override
getProtectionLevelValue()565     public int getProtectionLevelValue() {
566       return protectionLevel_;
567     }
568     /**
569      *
570      *
571      * <pre>
572      * [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] to use when creating
573      * a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] based on this
574      * template. Immutable. Defaults to
575      * [SOFTWARE][google.cloud.kms.v1.ProtectionLevel.SOFTWARE].
576      * </pre>
577      *
578      * <code>.google.cloud.kms.v1.ProtectionLevel protection_level = 1;</code>
579      *
580      * @param value The enum numeric value on the wire for protectionLevel to set.
581      * @return This builder for chaining.
582      */
setProtectionLevelValue(int value)583     public Builder setProtectionLevelValue(int value) {
584       protectionLevel_ = value;
585       bitField0_ |= 0x00000001;
586       onChanged();
587       return this;
588     }
589     /**
590      *
591      *
592      * <pre>
593      * [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] to use when creating
594      * a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] based on this
595      * template. Immutable. Defaults to
596      * [SOFTWARE][google.cloud.kms.v1.ProtectionLevel.SOFTWARE].
597      * </pre>
598      *
599      * <code>.google.cloud.kms.v1.ProtectionLevel protection_level = 1;</code>
600      *
601      * @return The protectionLevel.
602      */
603     @java.lang.Override
getProtectionLevel()604     public com.google.cloud.kms.v1.ProtectionLevel getProtectionLevel() {
605       com.google.cloud.kms.v1.ProtectionLevel result =
606           com.google.cloud.kms.v1.ProtectionLevel.forNumber(protectionLevel_);
607       return result == null ? com.google.cloud.kms.v1.ProtectionLevel.UNRECOGNIZED : result;
608     }
609     /**
610      *
611      *
612      * <pre>
613      * [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] to use when creating
614      * a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] based on this
615      * template. Immutable. Defaults to
616      * [SOFTWARE][google.cloud.kms.v1.ProtectionLevel.SOFTWARE].
617      * </pre>
618      *
619      * <code>.google.cloud.kms.v1.ProtectionLevel protection_level = 1;</code>
620      *
621      * @param value The protectionLevel to set.
622      * @return This builder for chaining.
623      */
setProtectionLevel(com.google.cloud.kms.v1.ProtectionLevel value)624     public Builder setProtectionLevel(com.google.cloud.kms.v1.ProtectionLevel value) {
625       if (value == null) {
626         throw new NullPointerException();
627       }
628       bitField0_ |= 0x00000001;
629       protectionLevel_ = value.getNumber();
630       onChanged();
631       return this;
632     }
633     /**
634      *
635      *
636      * <pre>
637      * [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] to use when creating
638      * a [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] based on this
639      * template. Immutable. Defaults to
640      * [SOFTWARE][google.cloud.kms.v1.ProtectionLevel.SOFTWARE].
641      * </pre>
642      *
643      * <code>.google.cloud.kms.v1.ProtectionLevel protection_level = 1;</code>
644      *
645      * @return This builder for chaining.
646      */
clearProtectionLevel()647     public Builder clearProtectionLevel() {
648       bitField0_ = (bitField0_ & ~0x00000001);
649       protectionLevel_ = 0;
650       onChanged();
651       return this;
652     }
653 
654     private int algorithm_ = 0;
655     /**
656      *
657      *
658      * <pre>
659      * Required.
660      * [Algorithm][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm]
661      * to use when creating a
662      * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] based on this
663      * template.
664      * For backwards compatibility, GOOGLE_SYMMETRIC_ENCRYPTION is implied if both
665      * this field is omitted and
666      * [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] is
667      * [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
668      * </pre>
669      *
670      * <code>
671      * .google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm algorithm = 3 [(.google.api.field_behavior) = REQUIRED];
672      * </code>
673      *
674      * @return The enum numeric value on the wire for algorithm.
675      */
676     @java.lang.Override
getAlgorithmValue()677     public int getAlgorithmValue() {
678       return algorithm_;
679     }
680     /**
681      *
682      *
683      * <pre>
684      * Required.
685      * [Algorithm][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm]
686      * to use when creating a
687      * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] based on this
688      * template.
689      * For backwards compatibility, GOOGLE_SYMMETRIC_ENCRYPTION is implied if both
690      * this field is omitted and
691      * [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] is
692      * [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
693      * </pre>
694      *
695      * <code>
696      * .google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm algorithm = 3 [(.google.api.field_behavior) = REQUIRED];
697      * </code>
698      *
699      * @param value The enum numeric value on the wire for algorithm to set.
700      * @return This builder for chaining.
701      */
setAlgorithmValue(int value)702     public Builder setAlgorithmValue(int value) {
703       algorithm_ = value;
704       bitField0_ |= 0x00000002;
705       onChanged();
706       return this;
707     }
708     /**
709      *
710      *
711      * <pre>
712      * Required.
713      * [Algorithm][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm]
714      * to use when creating a
715      * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] based on this
716      * template.
717      * For backwards compatibility, GOOGLE_SYMMETRIC_ENCRYPTION is implied if both
718      * this field is omitted and
719      * [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] is
720      * [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
721      * </pre>
722      *
723      * <code>
724      * .google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm algorithm = 3 [(.google.api.field_behavior) = REQUIRED];
725      * </code>
726      *
727      * @return The algorithm.
728      */
729     @java.lang.Override
getAlgorithm()730     public com.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm getAlgorithm() {
731       com.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm result =
732           com.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm.forNumber(algorithm_);
733       return result == null
734           ? com.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm.UNRECOGNIZED
735           : result;
736     }
737     /**
738      *
739      *
740      * <pre>
741      * Required.
742      * [Algorithm][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm]
743      * to use when creating a
744      * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] based on this
745      * template.
746      * For backwards compatibility, GOOGLE_SYMMETRIC_ENCRYPTION is implied if both
747      * this field is omitted and
748      * [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] is
749      * [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
750      * </pre>
751      *
752      * <code>
753      * .google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm algorithm = 3 [(.google.api.field_behavior) = REQUIRED];
754      * </code>
755      *
756      * @param value The algorithm to set.
757      * @return This builder for chaining.
758      */
setAlgorithm( com.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm value)759     public Builder setAlgorithm(
760         com.google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm value) {
761       if (value == null) {
762         throw new NullPointerException();
763       }
764       bitField0_ |= 0x00000002;
765       algorithm_ = value.getNumber();
766       onChanged();
767       return this;
768     }
769     /**
770      *
771      *
772      * <pre>
773      * Required.
774      * [Algorithm][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm]
775      * to use when creating a
776      * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] based on this
777      * template.
778      * For backwards compatibility, GOOGLE_SYMMETRIC_ENCRYPTION is implied if both
779      * this field is omitted and
780      * [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] is
781      * [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
782      * </pre>
783      *
784      * <code>
785      * .google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm algorithm = 3 [(.google.api.field_behavior) = REQUIRED];
786      * </code>
787      *
788      * @return This builder for chaining.
789      */
clearAlgorithm()790     public Builder clearAlgorithm() {
791       bitField0_ = (bitField0_ & ~0x00000002);
792       algorithm_ = 0;
793       onChanged();
794       return this;
795     }
796 
797     @java.lang.Override
setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)798     public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
799       return super.setUnknownFields(unknownFields);
800     }
801 
802     @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)803     public final Builder mergeUnknownFields(
804         final com.google.protobuf.UnknownFieldSet unknownFields) {
805       return super.mergeUnknownFields(unknownFields);
806     }
807 
808     // @@protoc_insertion_point(builder_scope:google.cloud.kms.v1.CryptoKeyVersionTemplate)
809   }
810 
811   // @@protoc_insertion_point(class_scope:google.cloud.kms.v1.CryptoKeyVersionTemplate)
812   private static final com.google.cloud.kms.v1.CryptoKeyVersionTemplate DEFAULT_INSTANCE;
813 
814   static {
815     DEFAULT_INSTANCE = new com.google.cloud.kms.v1.CryptoKeyVersionTemplate();
816   }
817 
getDefaultInstance()818   public static com.google.cloud.kms.v1.CryptoKeyVersionTemplate getDefaultInstance() {
819     return DEFAULT_INSTANCE;
820   }
821 
822   private static final com.google.protobuf.Parser<CryptoKeyVersionTemplate> PARSER =
823       new com.google.protobuf.AbstractParser<CryptoKeyVersionTemplate>() {
824         @java.lang.Override
825         public CryptoKeyVersionTemplate parsePartialFrom(
826             com.google.protobuf.CodedInputStream input,
827             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
828             throws com.google.protobuf.InvalidProtocolBufferException {
829           Builder builder = newBuilder();
830           try {
831             builder.mergeFrom(input, extensionRegistry);
832           } catch (com.google.protobuf.InvalidProtocolBufferException e) {
833             throw e.setUnfinishedMessage(builder.buildPartial());
834           } catch (com.google.protobuf.UninitializedMessageException e) {
835             throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
836           } catch (java.io.IOException e) {
837             throw new com.google.protobuf.InvalidProtocolBufferException(e)
838                 .setUnfinishedMessage(builder.buildPartial());
839           }
840           return builder.buildPartial();
841         }
842       };
843 
parser()844   public static com.google.protobuf.Parser<CryptoKeyVersionTemplate> parser() {
845     return PARSER;
846   }
847 
848   @java.lang.Override
getParserForType()849   public com.google.protobuf.Parser<CryptoKeyVersionTemplate> getParserForType() {
850     return PARSER;
851   }
852 
853   @java.lang.Override
getDefaultInstanceForType()854   public com.google.cloud.kms.v1.CryptoKeyVersionTemplate getDefaultInstanceForType() {
855     return DEFAULT_INSTANCE;
856   }
857 }
858