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 public interface CryptoKeyOrBuilder 22 extends 23 // @@protoc_insertion_point(interface_extends:google.cloud.kms.v1.CryptoKey) 24 com.google.protobuf.MessageOrBuilder { 25 26 /** 27 * 28 * 29 * <pre> 30 * Output only. The resource name for this 31 * [CryptoKey][google.cloud.kms.v1.CryptoKey] in the format 32 * `projects/*/locations/*/keyRings/*/cryptoKeys/*`. 33 * </pre> 34 * 35 * <code>string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code> 36 * 37 * @return The name. 38 */ getName()39 java.lang.String getName(); 40 /** 41 * 42 * 43 * <pre> 44 * Output only. The resource name for this 45 * [CryptoKey][google.cloud.kms.v1.CryptoKey] in the format 46 * `projects/*/locations/*/keyRings/*/cryptoKeys/*`. 47 * </pre> 48 * 49 * <code>string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code> 50 * 51 * @return The bytes for name. 52 */ getNameBytes()53 com.google.protobuf.ByteString getNameBytes(); 54 55 /** 56 * 57 * 58 * <pre> 59 * Output only. A copy of the "primary" 60 * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] that will be used 61 * by [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt] when this 62 * [CryptoKey][google.cloud.kms.v1.CryptoKey] is given in 63 * [EncryptRequest.name][google.cloud.kms.v1.EncryptRequest.name]. 64 * The [CryptoKey][google.cloud.kms.v1.CryptoKey]'s primary version can be 65 * updated via 66 * [UpdateCryptoKeyPrimaryVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion]. 67 * Keys with [purpose][google.cloud.kms.v1.CryptoKey.purpose] 68 * [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT] 69 * may have a primary. For other keys, this field will be omitted. 70 * </pre> 71 * 72 * <code> 73 * .google.cloud.kms.v1.CryptoKeyVersion primary = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; 74 * </code> 75 * 76 * @return Whether the primary field is set. 77 */ hasPrimary()78 boolean hasPrimary(); 79 /** 80 * 81 * 82 * <pre> 83 * Output only. A copy of the "primary" 84 * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] that will be used 85 * by [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt] when this 86 * [CryptoKey][google.cloud.kms.v1.CryptoKey] is given in 87 * [EncryptRequest.name][google.cloud.kms.v1.EncryptRequest.name]. 88 * The [CryptoKey][google.cloud.kms.v1.CryptoKey]'s primary version can be 89 * updated via 90 * [UpdateCryptoKeyPrimaryVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion]. 91 * Keys with [purpose][google.cloud.kms.v1.CryptoKey.purpose] 92 * [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT] 93 * may have a primary. For other keys, this field will be omitted. 94 * </pre> 95 * 96 * <code> 97 * .google.cloud.kms.v1.CryptoKeyVersion primary = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; 98 * </code> 99 * 100 * @return The primary. 101 */ getPrimary()102 com.google.cloud.kms.v1.CryptoKeyVersion getPrimary(); 103 /** 104 * 105 * 106 * <pre> 107 * Output only. A copy of the "primary" 108 * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] that will be used 109 * by [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt] when this 110 * [CryptoKey][google.cloud.kms.v1.CryptoKey] is given in 111 * [EncryptRequest.name][google.cloud.kms.v1.EncryptRequest.name]. 112 * The [CryptoKey][google.cloud.kms.v1.CryptoKey]'s primary version can be 113 * updated via 114 * [UpdateCryptoKeyPrimaryVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion]. 115 * Keys with [purpose][google.cloud.kms.v1.CryptoKey.purpose] 116 * [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT] 117 * may have a primary. For other keys, this field will be omitted. 118 * </pre> 119 * 120 * <code> 121 * .google.cloud.kms.v1.CryptoKeyVersion primary = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; 122 * </code> 123 */ getPrimaryOrBuilder()124 com.google.cloud.kms.v1.CryptoKeyVersionOrBuilder getPrimaryOrBuilder(); 125 126 /** 127 * 128 * 129 * <pre> 130 * Immutable. The immutable purpose of this 131 * [CryptoKey][google.cloud.kms.v1.CryptoKey]. 132 * </pre> 133 * 134 * <code> 135 * .google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose purpose = 3 [(.google.api.field_behavior) = IMMUTABLE]; 136 * </code> 137 * 138 * @return The enum numeric value on the wire for purpose. 139 */ getPurposeValue()140 int getPurposeValue(); 141 /** 142 * 143 * 144 * <pre> 145 * Immutable. The immutable purpose of this 146 * [CryptoKey][google.cloud.kms.v1.CryptoKey]. 147 * </pre> 148 * 149 * <code> 150 * .google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose purpose = 3 [(.google.api.field_behavior) = IMMUTABLE]; 151 * </code> 152 * 153 * @return The purpose. 154 */ getPurpose()155 com.google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose getPurpose(); 156 157 /** 158 * 159 * 160 * <pre> 161 * Output only. The time at which this 162 * [CryptoKey][google.cloud.kms.v1.CryptoKey] was created. 163 * </pre> 164 * 165 * <code>.google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; 166 * </code> 167 * 168 * @return Whether the createTime field is set. 169 */ hasCreateTime()170 boolean hasCreateTime(); 171 /** 172 * 173 * 174 * <pre> 175 * Output only. The time at which this 176 * [CryptoKey][google.cloud.kms.v1.CryptoKey] was created. 177 * </pre> 178 * 179 * <code>.google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; 180 * </code> 181 * 182 * @return The createTime. 183 */ getCreateTime()184 com.google.protobuf.Timestamp getCreateTime(); 185 /** 186 * 187 * 188 * <pre> 189 * Output only. The time at which this 190 * [CryptoKey][google.cloud.kms.v1.CryptoKey] was created. 191 * </pre> 192 * 193 * <code>.google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; 194 * </code> 195 */ getCreateTimeOrBuilder()196 com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder(); 197 198 /** 199 * 200 * 201 * <pre> 202 * At [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time], 203 * the Key Management Service will automatically: 204 * 1. Create a new version of this [CryptoKey][google.cloud.kms.v1.CryptoKey]. 205 * 2. Mark the new version as primary. 206 * Key rotations performed manually via 207 * [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion] 208 * and 209 * [UpdateCryptoKeyPrimaryVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion] 210 * do not affect 211 * [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time]. 212 * Keys with [purpose][google.cloud.kms.v1.CryptoKey.purpose] 213 * [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT] 214 * support automatic rotation. For other keys, this field must be omitted. 215 * </pre> 216 * 217 * <code>.google.protobuf.Timestamp next_rotation_time = 7;</code> 218 * 219 * @return Whether the nextRotationTime field is set. 220 */ hasNextRotationTime()221 boolean hasNextRotationTime(); 222 /** 223 * 224 * 225 * <pre> 226 * At [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time], 227 * the Key Management Service will automatically: 228 * 1. Create a new version of this [CryptoKey][google.cloud.kms.v1.CryptoKey]. 229 * 2. Mark the new version as primary. 230 * Key rotations performed manually via 231 * [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion] 232 * and 233 * [UpdateCryptoKeyPrimaryVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion] 234 * do not affect 235 * [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time]. 236 * Keys with [purpose][google.cloud.kms.v1.CryptoKey.purpose] 237 * [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT] 238 * support automatic rotation. For other keys, this field must be omitted. 239 * </pre> 240 * 241 * <code>.google.protobuf.Timestamp next_rotation_time = 7;</code> 242 * 243 * @return The nextRotationTime. 244 */ getNextRotationTime()245 com.google.protobuf.Timestamp getNextRotationTime(); 246 /** 247 * 248 * 249 * <pre> 250 * At [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time], 251 * the Key Management Service will automatically: 252 * 1. Create a new version of this [CryptoKey][google.cloud.kms.v1.CryptoKey]. 253 * 2. Mark the new version as primary. 254 * Key rotations performed manually via 255 * [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion] 256 * and 257 * [UpdateCryptoKeyPrimaryVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion] 258 * do not affect 259 * [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time]. 260 * Keys with [purpose][google.cloud.kms.v1.CryptoKey.purpose] 261 * [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT] 262 * support automatic rotation. For other keys, this field must be omitted. 263 * </pre> 264 * 265 * <code>.google.protobuf.Timestamp next_rotation_time = 7;</code> 266 */ getNextRotationTimeOrBuilder()267 com.google.protobuf.TimestampOrBuilder getNextRotationTimeOrBuilder(); 268 269 /** 270 * 271 * 272 * <pre> 273 * [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time] 274 * will be advanced by this period when the service automatically rotates a 275 * key. Must be at least 24 hours and at most 876,000 hours. 276 * If [rotation_period][google.cloud.kms.v1.CryptoKey.rotation_period] is 277 * set, 278 * [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time] 279 * must also be set. 280 * Keys with [purpose][google.cloud.kms.v1.CryptoKey.purpose] 281 * [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT] 282 * support automatic rotation. For other keys, this field must be omitted. 283 * </pre> 284 * 285 * <code>.google.protobuf.Duration rotation_period = 8;</code> 286 * 287 * @return Whether the rotationPeriod field is set. 288 */ hasRotationPeriod()289 boolean hasRotationPeriod(); 290 /** 291 * 292 * 293 * <pre> 294 * [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time] 295 * will be advanced by this period when the service automatically rotates a 296 * key. Must be at least 24 hours and at most 876,000 hours. 297 * If [rotation_period][google.cloud.kms.v1.CryptoKey.rotation_period] is 298 * set, 299 * [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time] 300 * must also be set. 301 * Keys with [purpose][google.cloud.kms.v1.CryptoKey.purpose] 302 * [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT] 303 * support automatic rotation. For other keys, this field must be omitted. 304 * </pre> 305 * 306 * <code>.google.protobuf.Duration rotation_period = 8;</code> 307 * 308 * @return The rotationPeriod. 309 */ getRotationPeriod()310 com.google.protobuf.Duration getRotationPeriod(); 311 /** 312 * 313 * 314 * <pre> 315 * [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time] 316 * will be advanced by this period when the service automatically rotates a 317 * key. Must be at least 24 hours and at most 876,000 hours. 318 * If [rotation_period][google.cloud.kms.v1.CryptoKey.rotation_period] is 319 * set, 320 * [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time] 321 * must also be set. 322 * Keys with [purpose][google.cloud.kms.v1.CryptoKey.purpose] 323 * [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT] 324 * support automatic rotation. For other keys, this field must be omitted. 325 * </pre> 326 * 327 * <code>.google.protobuf.Duration rotation_period = 8;</code> 328 */ getRotationPeriodOrBuilder()329 com.google.protobuf.DurationOrBuilder getRotationPeriodOrBuilder(); 330 331 /** 332 * 333 * 334 * <pre> 335 * A template describing settings for new 336 * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] instances. The 337 * properties of new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] 338 * instances created by either 339 * [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion] 340 * or auto-rotation are controlled by this template. 341 * </pre> 342 * 343 * <code>.google.cloud.kms.v1.CryptoKeyVersionTemplate version_template = 11;</code> 344 * 345 * @return Whether the versionTemplate field is set. 346 */ hasVersionTemplate()347 boolean hasVersionTemplate(); 348 /** 349 * 350 * 351 * <pre> 352 * A template describing settings for new 353 * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] instances. The 354 * properties of new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] 355 * instances created by either 356 * [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion] 357 * or auto-rotation are controlled by this template. 358 * </pre> 359 * 360 * <code>.google.cloud.kms.v1.CryptoKeyVersionTemplate version_template = 11;</code> 361 * 362 * @return The versionTemplate. 363 */ getVersionTemplate()364 com.google.cloud.kms.v1.CryptoKeyVersionTemplate getVersionTemplate(); 365 /** 366 * 367 * 368 * <pre> 369 * A template describing settings for new 370 * [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] instances. The 371 * properties of new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] 372 * instances created by either 373 * [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion] 374 * or auto-rotation are controlled by this template. 375 * </pre> 376 * 377 * <code>.google.cloud.kms.v1.CryptoKeyVersionTemplate version_template = 11;</code> 378 */ getVersionTemplateOrBuilder()379 com.google.cloud.kms.v1.CryptoKeyVersionTemplateOrBuilder getVersionTemplateOrBuilder(); 380 381 /** 382 * 383 * 384 * <pre> 385 * Labels with user-defined metadata. For more information, see 386 * [Labeling Keys](https://cloud.google.com/kms/docs/labeling-keys). 387 * </pre> 388 * 389 * <code>map<string, string> labels = 10;</code> 390 */ getLabelsCount()391 int getLabelsCount(); 392 /** 393 * 394 * 395 * <pre> 396 * Labels with user-defined metadata. For more information, see 397 * [Labeling Keys](https://cloud.google.com/kms/docs/labeling-keys). 398 * </pre> 399 * 400 * <code>map<string, string> labels = 10;</code> 401 */ containsLabels(java.lang.String key)402 boolean containsLabels(java.lang.String key); 403 /** Use {@link #getLabelsMap()} instead. */ 404 @java.lang.Deprecated getLabels()405 java.util.Map<java.lang.String, java.lang.String> getLabels(); 406 /** 407 * 408 * 409 * <pre> 410 * Labels with user-defined metadata. For more information, see 411 * [Labeling Keys](https://cloud.google.com/kms/docs/labeling-keys). 412 * </pre> 413 * 414 * <code>map<string, string> labels = 10;</code> 415 */ getLabelsMap()416 java.util.Map<java.lang.String, java.lang.String> getLabelsMap(); 417 /** 418 * 419 * 420 * <pre> 421 * Labels with user-defined metadata. For more information, see 422 * [Labeling Keys](https://cloud.google.com/kms/docs/labeling-keys). 423 * </pre> 424 * 425 * <code>map<string, string> labels = 10;</code> 426 */ 427 /* nullable */ getLabelsOrDefault( java.lang.String key, java.lang.String defaultValue)428 java.lang.String getLabelsOrDefault( 429 java.lang.String key, 430 /* nullable */ 431 java.lang.String defaultValue); 432 /** 433 * 434 * 435 * <pre> 436 * Labels with user-defined metadata. For more information, see 437 * [Labeling Keys](https://cloud.google.com/kms/docs/labeling-keys). 438 * </pre> 439 * 440 * <code>map<string, string> labels = 10;</code> 441 */ getLabelsOrThrow(java.lang.String key)442 java.lang.String getLabelsOrThrow(java.lang.String key); 443 444 /** 445 * 446 * 447 * <pre> 448 * Immutable. Whether this key may contain imported versions only. 449 * </pre> 450 * 451 * <code>bool import_only = 13 [(.google.api.field_behavior) = IMMUTABLE];</code> 452 * 453 * @return The importOnly. 454 */ getImportOnly()455 boolean getImportOnly(); 456 457 /** 458 * 459 * 460 * <pre> 461 * Immutable. The period of time that versions of this key spend in the 462 * [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED] 463 * state before transitioning to 464 * [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED]. 465 * If not specified at creation time, the default duration is 24 hours. 466 * </pre> 467 * 468 * <code> 469 * .google.protobuf.Duration destroy_scheduled_duration = 14 [(.google.api.field_behavior) = IMMUTABLE]; 470 * </code> 471 * 472 * @return Whether the destroyScheduledDuration field is set. 473 */ hasDestroyScheduledDuration()474 boolean hasDestroyScheduledDuration(); 475 /** 476 * 477 * 478 * <pre> 479 * Immutable. The period of time that versions of this key spend in the 480 * [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED] 481 * state before transitioning to 482 * [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED]. 483 * If not specified at creation time, the default duration is 24 hours. 484 * </pre> 485 * 486 * <code> 487 * .google.protobuf.Duration destroy_scheduled_duration = 14 [(.google.api.field_behavior) = IMMUTABLE]; 488 * </code> 489 * 490 * @return The destroyScheduledDuration. 491 */ getDestroyScheduledDuration()492 com.google.protobuf.Duration getDestroyScheduledDuration(); 493 /** 494 * 495 * 496 * <pre> 497 * Immutable. The period of time that versions of this key spend in the 498 * [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED] 499 * state before transitioning to 500 * [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED]. 501 * If not specified at creation time, the default duration is 24 hours. 502 * </pre> 503 * 504 * <code> 505 * .google.protobuf.Duration destroy_scheduled_duration = 14 [(.google.api.field_behavior) = IMMUTABLE]; 506 * </code> 507 */ getDestroyScheduledDurationOrBuilder()508 com.google.protobuf.DurationOrBuilder getDestroyScheduledDurationOrBuilder(); 509 510 /** 511 * 512 * 513 * <pre> 514 * Immutable. The resource name of the backend environment where the key 515 * material for all [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] 516 * associated with this [CryptoKey][google.cloud.kms.v1.CryptoKey] reside and 517 * where all related cryptographic operations are performed. Only applicable 518 * if [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] have a 519 * [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of 520 * [EXTERNAL_VPC][CryptoKeyVersion.ProtectionLevel.EXTERNAL_VPC], with the 521 * resource name in the format `projects/*/locations/*/ekmConnections/*`. 522 * Note, this list is non-exhaustive and may apply to additional 523 * [ProtectionLevels][google.cloud.kms.v1.ProtectionLevel] in the future. 524 * </pre> 525 * 526 * <code> 527 * string crypto_key_backend = 15 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.resource_reference) = { ... } 528 * </code> 529 * 530 * @return The cryptoKeyBackend. 531 */ getCryptoKeyBackend()532 java.lang.String getCryptoKeyBackend(); 533 /** 534 * 535 * 536 * <pre> 537 * Immutable. The resource name of the backend environment where the key 538 * material for all [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] 539 * associated with this [CryptoKey][google.cloud.kms.v1.CryptoKey] reside and 540 * where all related cryptographic operations are performed. Only applicable 541 * if [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] have a 542 * [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of 543 * [EXTERNAL_VPC][CryptoKeyVersion.ProtectionLevel.EXTERNAL_VPC], with the 544 * resource name in the format `projects/*/locations/*/ekmConnections/*`. 545 * Note, this list is non-exhaustive and may apply to additional 546 * [ProtectionLevels][google.cloud.kms.v1.ProtectionLevel] in the future. 547 * </pre> 548 * 549 * <code> 550 * string crypto_key_backend = 15 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.resource_reference) = { ... } 551 * </code> 552 * 553 * @return The bytes for cryptoKeyBackend. 554 */ getCryptoKeyBackendBytes()555 com.google.protobuf.ByteString getCryptoKeyBackendBytes(); 556 getRotationScheduleCase()557 public com.google.cloud.kms.v1.CryptoKey.RotationScheduleCase getRotationScheduleCase(); 558 } 559