Class CryptoKey

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessage
com.google.cloud.kms.v1.CryptoKey
All Implemented Interfaces:
CryptoKeyOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable

@Generated public final class CryptoKey extends com.google.protobuf.GeneratedMessage implements CryptoKeyOrBuilder
 A [CryptoKey][google.cloud.kms.v1.CryptoKey] represents a logical key that
 can be used for cryptographic operations.

 A [CryptoKey][google.cloud.kms.v1.CryptoKey] is made up of zero or more
 [versions][google.cloud.kms.v1.CryptoKeyVersion], which represent the actual
 key material used in cryptographic operations.
 
Protobuf type google.cloud.kms.v1.CryptoKey
See Also:
  • Field Details

    • NAME_FIELD_NUMBER

      public static final int NAME_FIELD_NUMBER
      See Also:
    • PRIMARY_FIELD_NUMBER

      public static final int PRIMARY_FIELD_NUMBER
      See Also:
    • PURPOSE_FIELD_NUMBER

      public static final int PURPOSE_FIELD_NUMBER
      See Also:
    • CREATE_TIME_FIELD_NUMBER

      public static final int CREATE_TIME_FIELD_NUMBER
      See Also:
    • NEXT_ROTATION_TIME_FIELD_NUMBER

      public static final int NEXT_ROTATION_TIME_FIELD_NUMBER
      See Also:
    • ROTATION_PERIOD_FIELD_NUMBER

      public static final int ROTATION_PERIOD_FIELD_NUMBER
      See Also:
    • VERSION_TEMPLATE_FIELD_NUMBER

      public static final int VERSION_TEMPLATE_FIELD_NUMBER
      See Also:
    • LABELS_FIELD_NUMBER

      public static final int LABELS_FIELD_NUMBER
      See Also:
    • IMPORT_ONLY_FIELD_NUMBER

      public static final int IMPORT_ONLY_FIELD_NUMBER
      See Also:
    • DESTROY_SCHEDULED_DURATION_FIELD_NUMBER

      public static final int DESTROY_SCHEDULED_DURATION_FIELD_NUMBER
      See Also:
    • CRYPTO_KEY_BACKEND_FIELD_NUMBER

      public static final int CRYPTO_KEY_BACKEND_FIELD_NUMBER
      See Also:
    • KEY_ACCESS_JUSTIFICATIONS_POLICY_FIELD_NUMBER

      public static final int KEY_ACCESS_JUSTIFICATIONS_POLICY_FIELD_NUMBER
      See Also:
  • Method Details

    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetMapFieldReflection

      protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldReflection(int number)
      Overrides:
      internalGetMapFieldReflection in class com.google.protobuf.GeneratedMessage
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage
    • getRotationScheduleCase

      public CryptoKey.RotationScheduleCase getRotationScheduleCase()
      Specified by:
      getRotationScheduleCase in interface CryptoKeyOrBuilder
    • getName

      public String getName()
       Output only. The resource name for this
       [CryptoKey][google.cloud.kms.v1.CryptoKey] in the format
       `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
       
      string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
      Specified by:
      getName in interface CryptoKeyOrBuilder
      Returns:
      The name.
    • getNameBytes

      public com.google.protobuf.ByteString getNameBytes()
       Output only. The resource name for this
       [CryptoKey][google.cloud.kms.v1.CryptoKey] in the format
       `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
       
      string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
      Specified by:
      getNameBytes in interface CryptoKeyOrBuilder
      Returns:
      The bytes for name.
    • hasPrimary

      public boolean hasPrimary()
       Output only. A copy of the "primary"
       [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] that will be used
       by [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt] when this
       [CryptoKey][google.cloud.kms.v1.CryptoKey] is given in
       [EncryptRequest.name][google.cloud.kms.v1.EncryptRequest.name].
      
       The [CryptoKey][google.cloud.kms.v1.CryptoKey]'s primary version can be
       updated via
       [UpdateCryptoKeyPrimaryVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion].
      
       Keys with [purpose][google.cloud.kms.v1.CryptoKey.purpose]
       [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT]
       may have a primary. For other keys, this field will be omitted.
       
      .google.cloud.kms.v1.CryptoKeyVersion primary = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
      Specified by:
      hasPrimary in interface CryptoKeyOrBuilder
      Returns:
      Whether the primary field is set.
    • getPrimary

      public CryptoKeyVersion getPrimary()
       Output only. A copy of the "primary"
       [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] that will be used
       by [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt] when this
       [CryptoKey][google.cloud.kms.v1.CryptoKey] is given in
       [EncryptRequest.name][google.cloud.kms.v1.EncryptRequest.name].
      
       The [CryptoKey][google.cloud.kms.v1.CryptoKey]'s primary version can be
       updated via
       [UpdateCryptoKeyPrimaryVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion].
      
       Keys with [purpose][google.cloud.kms.v1.CryptoKey.purpose]
       [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT]
       may have a primary. For other keys, this field will be omitted.
       
      .google.cloud.kms.v1.CryptoKeyVersion primary = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
      Specified by:
      getPrimary in interface CryptoKeyOrBuilder
      Returns:
      The primary.
    • getPrimaryOrBuilder

      public CryptoKeyVersionOrBuilder getPrimaryOrBuilder()
       Output only. A copy of the "primary"
       [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] that will be used
       by [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt] when this
       [CryptoKey][google.cloud.kms.v1.CryptoKey] is given in
       [EncryptRequest.name][google.cloud.kms.v1.EncryptRequest.name].
      
       The [CryptoKey][google.cloud.kms.v1.CryptoKey]'s primary version can be
       updated via
       [UpdateCryptoKeyPrimaryVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion].
      
       Keys with [purpose][google.cloud.kms.v1.CryptoKey.purpose]
       [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT]
       may have a primary. For other keys, this field will be omitted.
       
      .google.cloud.kms.v1.CryptoKeyVersion primary = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
      Specified by:
      getPrimaryOrBuilder in interface CryptoKeyOrBuilder
    • getPurposeValue

      public int getPurposeValue()
       Immutable. The immutable purpose of this
       [CryptoKey][google.cloud.kms.v1.CryptoKey].
       
      .google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose purpose = 3 [(.google.api.field_behavior) = IMMUTABLE];
      Specified by:
      getPurposeValue in interface CryptoKeyOrBuilder
      Returns:
      The enum numeric value on the wire for purpose.
    • getPurpose

      public CryptoKey.CryptoKeyPurpose getPurpose()
       Immutable. The immutable purpose of this
       [CryptoKey][google.cloud.kms.v1.CryptoKey].
       
      .google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose purpose = 3 [(.google.api.field_behavior) = IMMUTABLE];
      Specified by:
      getPurpose in interface CryptoKeyOrBuilder
      Returns:
      The purpose.
    • hasCreateTime

      public boolean hasCreateTime()
       Output only. The time at which this
       [CryptoKey][google.cloud.kms.v1.CryptoKey] was created.
       
      .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
      Specified by:
      hasCreateTime in interface CryptoKeyOrBuilder
      Returns:
      Whether the createTime field is set.
    • getCreateTime

      public com.google.protobuf.Timestamp getCreateTime()
       Output only. The time at which this
       [CryptoKey][google.cloud.kms.v1.CryptoKey] was created.
       
      .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
      Specified by:
      getCreateTime in interface CryptoKeyOrBuilder
      Returns:
      The createTime.
    • getCreateTimeOrBuilder

      public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder()
       Output only. The time at which this
       [CryptoKey][google.cloud.kms.v1.CryptoKey] was created.
       
      .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];
      Specified by:
      getCreateTimeOrBuilder in interface CryptoKeyOrBuilder
    • hasNextRotationTime

      public boolean hasNextRotationTime()
       At [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time],
       the Key Management Service will automatically:
      
       1. Create a new version of this [CryptoKey][google.cloud.kms.v1.CryptoKey].
       2. Mark the new version as primary.
      
       Key rotations performed manually via
       [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion]
       and
       [UpdateCryptoKeyPrimaryVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion]
       do not affect
       [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time].
      
       Keys with [purpose][google.cloud.kms.v1.CryptoKey.purpose]
       [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT]
       support automatic rotation. For other keys, this field must be omitted.
       
      .google.protobuf.Timestamp next_rotation_time = 7;
      Specified by:
      hasNextRotationTime in interface CryptoKeyOrBuilder
      Returns:
      Whether the nextRotationTime field is set.
    • getNextRotationTime

      public com.google.protobuf.Timestamp getNextRotationTime()
       At [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time],
       the Key Management Service will automatically:
      
       1. Create a new version of this [CryptoKey][google.cloud.kms.v1.CryptoKey].
       2. Mark the new version as primary.
      
       Key rotations performed manually via
       [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion]
       and
       [UpdateCryptoKeyPrimaryVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion]
       do not affect
       [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time].
      
       Keys with [purpose][google.cloud.kms.v1.CryptoKey.purpose]
       [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT]
       support automatic rotation. For other keys, this field must be omitted.
       
      .google.protobuf.Timestamp next_rotation_time = 7;
      Specified by:
      getNextRotationTime in interface CryptoKeyOrBuilder
      Returns:
      The nextRotationTime.
    • getNextRotationTimeOrBuilder

      public com.google.protobuf.TimestampOrBuilder getNextRotationTimeOrBuilder()
       At [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time],
       the Key Management Service will automatically:
      
       1. Create a new version of this [CryptoKey][google.cloud.kms.v1.CryptoKey].
       2. Mark the new version as primary.
      
       Key rotations performed manually via
       [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion]
       and
       [UpdateCryptoKeyPrimaryVersion][google.cloud.kms.v1.KeyManagementService.UpdateCryptoKeyPrimaryVersion]
       do not affect
       [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time].
      
       Keys with [purpose][google.cloud.kms.v1.CryptoKey.purpose]
       [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT]
       support automatic rotation. For other keys, this field must be omitted.
       
      .google.protobuf.Timestamp next_rotation_time = 7;
      Specified by:
      getNextRotationTimeOrBuilder in interface CryptoKeyOrBuilder
    • hasRotationPeriod

      public boolean hasRotationPeriod()
       [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time]
       will be advanced by this period when the service automatically rotates a
       key. Must be at least 24 hours and at most 876,000 hours.
      
       If [rotation_period][google.cloud.kms.v1.CryptoKey.rotation_period] is
       set,
       [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time]
       must also be set.
      
       Keys with [purpose][google.cloud.kms.v1.CryptoKey.purpose]
       [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT]
       support automatic rotation. For other keys, this field must be omitted.
       
      .google.protobuf.Duration rotation_period = 8;
      Specified by:
      hasRotationPeriod in interface CryptoKeyOrBuilder
      Returns:
      Whether the rotationPeriod field is set.
    • getRotationPeriod

      public com.google.protobuf.Duration getRotationPeriod()
       [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time]
       will be advanced by this period when the service automatically rotates a
       key. Must be at least 24 hours and at most 876,000 hours.
      
       If [rotation_period][google.cloud.kms.v1.CryptoKey.rotation_period] is
       set,
       [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time]
       must also be set.
      
       Keys with [purpose][google.cloud.kms.v1.CryptoKey.purpose]
       [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT]
       support automatic rotation. For other keys, this field must be omitted.
       
      .google.protobuf.Duration rotation_period = 8;
      Specified by:
      getRotationPeriod in interface CryptoKeyOrBuilder
      Returns:
      The rotationPeriod.
    • getRotationPeriodOrBuilder

      public com.google.protobuf.DurationOrBuilder getRotationPeriodOrBuilder()
       [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time]
       will be advanced by this period when the service automatically rotates a
       key. Must be at least 24 hours and at most 876,000 hours.
      
       If [rotation_period][google.cloud.kms.v1.CryptoKey.rotation_period] is
       set,
       [next_rotation_time][google.cloud.kms.v1.CryptoKey.next_rotation_time]
       must also be set.
      
       Keys with [purpose][google.cloud.kms.v1.CryptoKey.purpose]
       [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT]
       support automatic rotation. For other keys, this field must be omitted.
       
      .google.protobuf.Duration rotation_period = 8;
      Specified by:
      getRotationPeriodOrBuilder in interface CryptoKeyOrBuilder
    • hasVersionTemplate

      public boolean hasVersionTemplate()
       A template describing settings for new
       [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] instances. The
       properties of new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]
       instances created by either
       [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion]
       or auto-rotation are controlled by this template.
       
      .google.cloud.kms.v1.CryptoKeyVersionTemplate version_template = 11;
      Specified by:
      hasVersionTemplate in interface CryptoKeyOrBuilder
      Returns:
      Whether the versionTemplate field is set.
    • getVersionTemplate

      public CryptoKeyVersionTemplate getVersionTemplate()
       A template describing settings for new
       [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] instances. The
       properties of new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]
       instances created by either
       [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion]
       or auto-rotation are controlled by this template.
       
      .google.cloud.kms.v1.CryptoKeyVersionTemplate version_template = 11;
      Specified by:
      getVersionTemplate in interface CryptoKeyOrBuilder
      Returns:
      The versionTemplate.
    • getVersionTemplateOrBuilder

      public CryptoKeyVersionTemplateOrBuilder getVersionTemplateOrBuilder()
       A template describing settings for new
       [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion] instances. The
       properties of new [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion]
       instances created by either
       [CreateCryptoKeyVersion][google.cloud.kms.v1.KeyManagementService.CreateCryptoKeyVersion]
       or auto-rotation are controlled by this template.
       
      .google.cloud.kms.v1.CryptoKeyVersionTemplate version_template = 11;
      Specified by:
      getVersionTemplateOrBuilder in interface CryptoKeyOrBuilder
    • getLabelsCount

      public int getLabelsCount()
      Description copied from interface: CryptoKeyOrBuilder
       Labels with user-defined metadata. For more information, see
       [Labeling Keys](https://cloud.google.com/kms/docs/labeling-keys).
       
      map<string, string> labels = 10;
      Specified by:
      getLabelsCount in interface CryptoKeyOrBuilder
    • containsLabels

      public boolean containsLabels(String key)
       Labels with user-defined metadata. For more information, see
       [Labeling Keys](https://cloud.google.com/kms/docs/labeling-keys).
       
      map<string, string> labels = 10;
      Specified by:
      containsLabels in interface CryptoKeyOrBuilder
    • getLabels

      @Deprecated public Map<String,String> getLabels()
      Deprecated.
      Use getLabelsMap() instead.
      Specified by:
      getLabels in interface CryptoKeyOrBuilder
    • getLabelsMap

      public Map<String,String> getLabelsMap()
       Labels with user-defined metadata. For more information, see
       [Labeling Keys](https://cloud.google.com/kms/docs/labeling-keys).
       
      map<string, string> labels = 10;
      Specified by:
      getLabelsMap in interface CryptoKeyOrBuilder
    • getLabelsOrDefault

      public String getLabelsOrDefault(String key, String defaultValue)
       Labels with user-defined metadata. For more information, see
       [Labeling Keys](https://cloud.google.com/kms/docs/labeling-keys).
       
      map<string, string> labels = 10;
      Specified by:
      getLabelsOrDefault in interface CryptoKeyOrBuilder
    • getLabelsOrThrow

      public String getLabelsOrThrow(String key)
       Labels with user-defined metadata. For more information, see
       [Labeling Keys](https://cloud.google.com/kms/docs/labeling-keys).
       
      map<string, string> labels = 10;
      Specified by:
      getLabelsOrThrow in interface CryptoKeyOrBuilder
    • getImportOnly

      public boolean getImportOnly()
       Immutable. Whether this key may contain imported versions only.
       
      bool import_only = 13 [(.google.api.field_behavior) = IMMUTABLE];
      Specified by:
      getImportOnly in interface CryptoKeyOrBuilder
      Returns:
      The importOnly.
    • hasDestroyScheduledDuration

      public boolean hasDestroyScheduledDuration()
       Immutable. The period of time that versions of this key spend in the
       [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED]
       state before transitioning to
       [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED].
       If not specified at creation time, the default duration is 30 days.
       
      .google.protobuf.Duration destroy_scheduled_duration = 14 [(.google.api.field_behavior) = IMMUTABLE];
      Specified by:
      hasDestroyScheduledDuration in interface CryptoKeyOrBuilder
      Returns:
      Whether the destroyScheduledDuration field is set.
    • getDestroyScheduledDuration

      public com.google.protobuf.Duration getDestroyScheduledDuration()
       Immutable. The period of time that versions of this key spend in the
       [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED]
       state before transitioning to
       [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED].
       If not specified at creation time, the default duration is 30 days.
       
      .google.protobuf.Duration destroy_scheduled_duration = 14 [(.google.api.field_behavior) = IMMUTABLE];
      Specified by:
      getDestroyScheduledDuration in interface CryptoKeyOrBuilder
      Returns:
      The destroyScheduledDuration.
    • getDestroyScheduledDurationOrBuilder

      public com.google.protobuf.DurationOrBuilder getDestroyScheduledDurationOrBuilder()
       Immutable. The period of time that versions of this key spend in the
       [DESTROY_SCHEDULED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROY_SCHEDULED]
       state before transitioning to
       [DESTROYED][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionState.DESTROYED].
       If not specified at creation time, the default duration is 30 days.
       
      .google.protobuf.Duration destroy_scheduled_duration = 14 [(.google.api.field_behavior) = IMMUTABLE];
      Specified by:
      getDestroyScheduledDurationOrBuilder in interface CryptoKeyOrBuilder
    • getCryptoKeyBackend

      public String getCryptoKeyBackend()
       Immutable. The resource name of the backend environment where the key
       material for all [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion]
       associated with this [CryptoKey][google.cloud.kms.v1.CryptoKey] reside and
       where all related cryptographic operations are performed. Only applicable
       if [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] have a
       [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of
       [EXTERNAL_VPC][google.cloud.kms.v1.ProtectionLevel.EXTERNAL_VPC], with the
       resource name in the format `projects/*/locations/*/ekmConnections/*`. Only
       applicable if [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion]
       have a [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of
       [HSM_SINGLE_TENANT][google.cloud.kms.v1.ProtectionLevel.HSM_SINGLE_TENANT],
       with the resource name in the format
       `projects/*/locations/*/singleTenantHsmInstances/*`.
       Note, this list is non-exhaustive and may apply to additional
       [ProtectionLevels][google.cloud.kms.v1.ProtectionLevel] in the future.
       
      string crypto_key_backend = 15 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.resource_reference) = { ... }
      Specified by:
      getCryptoKeyBackend in interface CryptoKeyOrBuilder
      Returns:
      The cryptoKeyBackend.
    • getCryptoKeyBackendBytes

      public com.google.protobuf.ByteString getCryptoKeyBackendBytes()
       Immutable. The resource name of the backend environment where the key
       material for all [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion]
       associated with this [CryptoKey][google.cloud.kms.v1.CryptoKey] reside and
       where all related cryptographic operations are performed. Only applicable
       if [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion] have a
       [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of
       [EXTERNAL_VPC][google.cloud.kms.v1.ProtectionLevel.EXTERNAL_VPC], with the
       resource name in the format `projects/*/locations/*/ekmConnections/*`. Only
       applicable if [CryptoKeyVersions][google.cloud.kms.v1.CryptoKeyVersion]
       have a [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] of
       [HSM_SINGLE_TENANT][google.cloud.kms.v1.ProtectionLevel.HSM_SINGLE_TENANT],
       with the resource name in the format
       `projects/*/locations/*/singleTenantHsmInstances/*`.
       Note, this list is non-exhaustive and may apply to additional
       [ProtectionLevels][google.cloud.kms.v1.ProtectionLevel] in the future.
       
      string crypto_key_backend = 15 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.resource_reference) = { ... }
      Specified by:
      getCryptoKeyBackendBytes in interface CryptoKeyOrBuilder
      Returns:
      The bytes for cryptoKeyBackend.
    • hasKeyAccessJustificationsPolicy

      public boolean hasKeyAccessJustificationsPolicy()
       Optional. The policy used for Key Access Justifications Policy Enforcement.
       If this field is present and this key is enrolled in Key Access
       Justifications Policy Enforcement, the policy will be evaluated in encrypt,
       decrypt, and sign operations, and the operation will fail if rejected by
       the policy. The policy is defined by specifying zero or more allowed
       justification codes.
       https://cloud.google.com/assured-workloads/key-access-justifications/docs/justification-codes
       By default, this field is absent, and all justification codes are allowed.
       If the
       `key_access_justifications_policy.allowed_access_reasons`
       is empty (zero allowed justification code), all encrypt, decrypt, and sign
       operations will fail.
       
      .google.cloud.kms.v1.KeyAccessJustificationsPolicy key_access_justifications_policy = 17 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      hasKeyAccessJustificationsPolicy in interface CryptoKeyOrBuilder
      Returns:
      Whether the keyAccessJustificationsPolicy field is set.
    • getKeyAccessJustificationsPolicy

      public KeyAccessJustificationsPolicy getKeyAccessJustificationsPolicy()
       Optional. The policy used for Key Access Justifications Policy Enforcement.
       If this field is present and this key is enrolled in Key Access
       Justifications Policy Enforcement, the policy will be evaluated in encrypt,
       decrypt, and sign operations, and the operation will fail if rejected by
       the policy. The policy is defined by specifying zero or more allowed
       justification codes.
       https://cloud.google.com/assured-workloads/key-access-justifications/docs/justification-codes
       By default, this field is absent, and all justification codes are allowed.
       If the
       `key_access_justifications_policy.allowed_access_reasons`
       is empty (zero allowed justification code), all encrypt, decrypt, and sign
       operations will fail.
       
      .google.cloud.kms.v1.KeyAccessJustificationsPolicy key_access_justifications_policy = 17 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      getKeyAccessJustificationsPolicy in interface CryptoKeyOrBuilder
      Returns:
      The keyAccessJustificationsPolicy.
    • getKeyAccessJustificationsPolicyOrBuilder

      public KeyAccessJustificationsPolicyOrBuilder getKeyAccessJustificationsPolicyOrBuilder()
       Optional. The policy used for Key Access Justifications Policy Enforcement.
       If this field is present and this key is enrolled in Key Access
       Justifications Policy Enforcement, the policy will be evaluated in encrypt,
       decrypt, and sign operations, and the operation will fail if rejected by
       the policy. The policy is defined by specifying zero or more allowed
       justification codes.
       https://cloud.google.com/assured-workloads/key-access-justifications/docs/justification-codes
       By default, this field is absent, and all justification codes are allowed.
       If the
       `key_access_justifications_policy.allowed_access_reasons`
       is empty (zero allowed justification code), all encrypt, decrypt, and sign
       operations will fail.
       
      .google.cloud.kms.v1.KeyAccessJustificationsPolicy key_access_justifications_policy = 17 [(.google.api.field_behavior) = OPTIONAL];
      Specified by:
      getKeyAccessJustificationsPolicyOrBuilder in interface CryptoKeyOrBuilder
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage
    • writeTo

      public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
      Specified by:
      writeTo in interface com.google.protobuf.MessageLite
      Overrides:
      writeTo in class com.google.protobuf.GeneratedMessage
      Throws:
      IOException
    • getSerializedSize

      public int getSerializedSize()
      Specified by:
      getSerializedSize in interface com.google.protobuf.MessageLite
      Overrides:
      getSerializedSize in class com.google.protobuf.GeneratedMessage
    • equals

      public boolean equals(Object obj)
      Specified by:
      equals in interface com.google.protobuf.Message
      Overrides:
      equals in class com.google.protobuf.AbstractMessage
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface com.google.protobuf.Message
      Overrides:
      hashCode in class com.google.protobuf.AbstractMessage
    • parseFrom

      public static CryptoKey parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static CryptoKey parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static CryptoKey parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static CryptoKey parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static CryptoKey parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static CryptoKey parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static CryptoKey parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static CryptoKey parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static CryptoKey parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static CryptoKey parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseFrom

      public static CryptoKey parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static CryptoKey parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • newBuilderForType

      public CryptoKey.Builder newBuilderForType()
      Specified by:
      newBuilderForType in interface com.google.protobuf.Message
      Specified by:
      newBuilderForType in interface com.google.protobuf.MessageLite
    • newBuilder

      public static CryptoKey.Builder newBuilder()
    • newBuilder

      public static CryptoKey.Builder newBuilder(CryptoKey prototype)
    • toBuilder

      public CryptoKey.Builder toBuilder()
      Specified by:
      toBuilder in interface com.google.protobuf.Message
      Specified by:
      toBuilder in interface com.google.protobuf.MessageLite
    • newBuilderForType

      protected CryptoKey.Builder newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent)
      Overrides:
      newBuilderForType in class com.google.protobuf.AbstractMessage
    • getDefaultInstance

      public static CryptoKey getDefaultInstance()
    • parser

      public static com.google.protobuf.Parser<CryptoKey> parser()
    • getParserForType

      public com.google.protobuf.Parser<CryptoKey> getParserForType()
      Specified by:
      getParserForType in interface com.google.protobuf.Message
      Specified by:
      getParserForType in interface com.google.protobuf.MessageLite
      Overrides:
      getParserForType in class com.google.protobuf.GeneratedMessage
    • getDefaultInstanceForType

      public CryptoKey getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder