• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2020 Google LLC
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     https://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 // Generated by the protocol buffer compiler.  DO NOT EDIT!
17 // source: google/cloud/kms/v1/resources.proto
18 
19 package com.google.cloud.kms.v1;
20 
21 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/&#42;&#47;locations/&#42;&#47;keyRings/&#42;&#47;cryptoKeys/&#42;`.
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/&#42;&#47;locations/&#42;&#47;keyRings/&#42;&#47;cryptoKeys/&#42;`.
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&lt;string, string&gt; 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&lt;string, string&gt; 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&lt;string, string&gt; 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&lt;string, string&gt; 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&lt;string, string&gt; 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/&#42;&#47;locations/&#42;&#47;ekmConnections/&#42;`.
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/&#42;&#47;locations/&#42;&#47;ekmConnections/&#42;`.
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