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