Class CryptoKey.Builder

  • All Implemented Interfaces:
    CryptoKeyOrBuilder, com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cloneable
    Enclosing class:
    CryptoKey

    public static final class CryptoKey.Builder
    extends com.google.protobuf.GeneratedMessageV3.Builder<CryptoKey.Builder>
    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
    • Method Detail

      • getDescriptor

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

        protected com.google.protobuf.MapField internalGetMapField​(int number)
        Overrides:
        internalGetMapField in class com.google.protobuf.GeneratedMessageV3.Builder<CryptoKey.Builder>
      • internalGetMutableMapField

        protected com.google.protobuf.MapField internalGetMutableMapField​(int number)
        Overrides:
        internalGetMutableMapField in class com.google.protobuf.GeneratedMessageV3.Builder<CryptoKey.Builder>
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<CryptoKey.Builder>
      • clear

        public CryptoKey.Builder clear()
        Specified by:
        clear in interface com.google.protobuf.Message.Builder
        Specified by:
        clear in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clear in class com.google.protobuf.GeneratedMessageV3.Builder<CryptoKey.Builder>
      • getDescriptorForType

        public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.Message.Builder
        Specified by:
        getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<CryptoKey.Builder>
      • getDefaultInstanceForType

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

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

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

        public CryptoKey.Builder clone()
        Specified by:
        clone in interface com.google.protobuf.Message.Builder
        Specified by:
        clone in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clone in class com.google.protobuf.GeneratedMessageV3.Builder<CryptoKey.Builder>
      • setField

        public CryptoKey.Builder setField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                          Object value)
        Specified by:
        setField in interface com.google.protobuf.Message.Builder
        Overrides:
        setField in class com.google.protobuf.GeneratedMessageV3.Builder<CryptoKey.Builder>
      • clearField

        public CryptoKey.Builder clearField​(com.google.protobuf.Descriptors.FieldDescriptor field)
        Specified by:
        clearField in interface com.google.protobuf.Message.Builder
        Overrides:
        clearField in class com.google.protobuf.GeneratedMessageV3.Builder<CryptoKey.Builder>
      • clearOneof

        public CryptoKey.Builder clearOneof​(com.google.protobuf.Descriptors.OneofDescriptor oneof)
        Specified by:
        clearOneof in interface com.google.protobuf.Message.Builder
        Overrides:
        clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<CryptoKey.Builder>
      • setRepeatedField

        public CryptoKey.Builder setRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                  int index,
                                                  Object value)
        Specified by:
        setRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<CryptoKey.Builder>
      • addRepeatedField

        public CryptoKey.Builder addRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                  Object value)
        Specified by:
        addRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<CryptoKey.Builder>
      • mergeFrom

        public CryptoKey.Builder mergeFrom​(com.google.protobuf.Message other)
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<CryptoKey.Builder>
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<CryptoKey.Builder>
      • mergeFrom

        public CryptoKey.Builder mergeFrom​(com.google.protobuf.CodedInputStream input,
                                           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                    throws IOException
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Specified by:
        mergeFrom in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<CryptoKey.Builder>
        Throws:
        IOException
      • 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.
      • setName

        public CryptoKey.Builder setName​(String value)
         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];
        Parameters:
        value - The name to set.
        Returns:
        This builder for chaining.
      • clearName

        public CryptoKey.Builder clearName()
         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];
        Returns:
        This builder for chaining.
      • setNameBytes

        public CryptoKey.Builder setNameBytes​(com.google.protobuf.ByteString value)
         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];
        Parameters:
        value - The bytes for name to set.
        Returns:
        This builder for chaining.
      • 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.
      • setPrimary

        public CryptoKey.Builder setPrimary​(CryptoKeyVersion value)
         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];
      • setPrimary

        public CryptoKey.Builder setPrimary​(CryptoKeyVersion.Builder builderForValue)
         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];
      • mergePrimary

        public CryptoKey.Builder mergePrimary​(CryptoKeyVersion value)
         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];
      • clearPrimary

        public CryptoKey.Builder clearPrimary()
         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];
      • getPrimaryBuilder

        public CryptoKeyVersion.Builder getPrimaryBuilder()
         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];
      • 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.
      • setPurposeValue

        public CryptoKey.Builder setPurposeValue​(int value)
         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];
        Parameters:
        value - The enum numeric value on the wire for purpose to set.
        Returns:
        This builder for chaining.
      • 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.
      • setPurpose

        public CryptoKey.Builder setPurpose​(CryptoKey.CryptoKeyPurpose value)
         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];
        Parameters:
        value - The purpose to set.
        Returns:
        This builder for chaining.
      • clearPurpose

        public CryptoKey.Builder clearPurpose()
         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];
        Returns:
        This builder for chaining.
      • 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.
      • setCreateTime

        public CryptoKey.Builder setCreateTime​(com.google.protobuf.Timestamp value)
         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];
      • setCreateTime

        public CryptoKey.Builder setCreateTime​(com.google.protobuf.Timestamp.Builder builderForValue)
         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];
      • mergeCreateTime

        public CryptoKey.Builder mergeCreateTime​(com.google.protobuf.Timestamp value)
         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];
      • clearCreateTime

        public CryptoKey.Builder clearCreateTime()
         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];
      • getCreateTimeBuilder

        public com.google.protobuf.Timestamp.Builder getCreateTimeBuilder()
         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];
      • 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.
      • setNextRotationTime

        public CryptoKey.Builder setNextRotationTime​(com.google.protobuf.Timestamp value)
         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;
      • setNextRotationTime

        public CryptoKey.Builder setNextRotationTime​(com.google.protobuf.Timestamp.Builder builderForValue)
         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;
      • mergeNextRotationTime

        public CryptoKey.Builder mergeNextRotationTime​(com.google.protobuf.Timestamp value)
         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;
      • clearNextRotationTime

        public CryptoKey.Builder clearNextRotationTime()
         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;
      • getNextRotationTimeBuilder

        public com.google.protobuf.Timestamp.Builder getNextRotationTimeBuilder()
         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;
      • 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.
      • setRotationPeriod

        public CryptoKey.Builder setRotationPeriod​(com.google.protobuf.Duration value)
         [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;
      • setRotationPeriod

        public CryptoKey.Builder setRotationPeriod​(com.google.protobuf.Duration.Builder builderForValue)
         [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;
      • mergeRotationPeriod

        public CryptoKey.Builder mergeRotationPeriod​(com.google.protobuf.Duration value)
         [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;
      • clearRotationPeriod

        public CryptoKey.Builder clearRotationPeriod()
         [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;
      • getRotationPeriodBuilder

        public com.google.protobuf.Duration.Builder getRotationPeriodBuilder()
         [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;
      • 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.
      • setVersionTemplate

        public CryptoKey.Builder setVersionTemplate​(CryptoKeyVersionTemplate value)
         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;
      • setVersionTemplate

        public CryptoKey.Builder setVersionTemplate​(CryptoKeyVersionTemplate.Builder builderForValue)
         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;
      • mergeVersionTemplate

        public CryptoKey.Builder mergeVersionTemplate​(CryptoKeyVersionTemplate value)
         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;
      • clearVersionTemplate

        public CryptoKey.Builder clearVersionTemplate()
         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;
      • getVersionTemplateBuilder

        public CryptoKeyVersionTemplate.Builder getVersionTemplateBuilder()
         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;
      • 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
      • 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
      • removeLabels

        public CryptoKey.Builder removeLabels​(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;
      • getMutableLabels

        @Deprecated
        public Map<String,​String> getMutableLabels()
        Deprecated.
        Use alternate mutation accessors instead.
      • putLabels

        public CryptoKey.Builder putLabels​(String key,
                                           String value)
         Labels with user-defined metadata. For more information, see
         [Labeling Keys](https://cloud.google.com/kms/docs/labeling-keys).
         
        map<string, string> labels = 10;
      • putAllLabels

        public CryptoKey.Builder putAllLabels​(Map<String,​String> values)
         Labels with user-defined metadata. For more information, see
         [Labeling Keys](https://cloud.google.com/kms/docs/labeling-keys).
         
        map<string, string> labels = 10;
      • 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.
      • setImportOnly

        public CryptoKey.Builder setImportOnly​(boolean value)
         Immutable. Whether this key may contain imported versions only.
         
        bool import_only = 13 [(.google.api.field_behavior) = IMMUTABLE];
        Parameters:
        value - The importOnly to set.
        Returns:
        This builder for chaining.
      • clearImportOnly

        public CryptoKey.Builder clearImportOnly()
         Immutable. Whether this key may contain imported versions only.
         
        bool import_only = 13 [(.google.api.field_behavior) = IMMUTABLE];
        Returns:
        This builder for chaining.
      • 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 24 hours.
         
        .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 24 hours.
         
        .google.protobuf.Duration destroy_scheduled_duration = 14 [(.google.api.field_behavior) = IMMUTABLE];
        Specified by:
        getDestroyScheduledDuration in interface CryptoKeyOrBuilder
        Returns:
        The destroyScheduledDuration.
      • setDestroyScheduledDuration

        public CryptoKey.Builder setDestroyScheduledDuration​(com.google.protobuf.Duration value)
         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 24 hours.
         
        .google.protobuf.Duration destroy_scheduled_duration = 14 [(.google.api.field_behavior) = IMMUTABLE];
      • setDestroyScheduledDuration

        public CryptoKey.Builder setDestroyScheduledDuration​(com.google.protobuf.Duration.Builder builderForValue)
         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 24 hours.
         
        .google.protobuf.Duration destroy_scheduled_duration = 14 [(.google.api.field_behavior) = IMMUTABLE];
      • mergeDestroyScheduledDuration

        public CryptoKey.Builder mergeDestroyScheduledDuration​(com.google.protobuf.Duration value)
         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 24 hours.
         
        .google.protobuf.Duration destroy_scheduled_duration = 14 [(.google.api.field_behavior) = IMMUTABLE];
      • clearDestroyScheduledDuration

        public CryptoKey.Builder clearDestroyScheduledDuration()
         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 24 hours.
         
        .google.protobuf.Duration destroy_scheduled_duration = 14 [(.google.api.field_behavior) = IMMUTABLE];
      • getDestroyScheduledDurationBuilder

        public com.google.protobuf.Duration.Builder getDestroyScheduledDurationBuilder()
         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 24 hours.
         
        .google.protobuf.Duration destroy_scheduled_duration = 14 [(.google.api.field_behavior) = IMMUTABLE];
      • 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 24 hours.
         
        .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][CryptoKeyVersion.ProtectionLevel.EXTERNAL_VPC], with the
         resource name in the format `projects/*/locations/*/ekmConnections/*`.
         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][CryptoKeyVersion.ProtectionLevel.EXTERNAL_VPC], with the
         resource name in the format `projects/*/locations/*/ekmConnections/*`.
         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.
      • setCryptoKeyBackend

        public CryptoKey.Builder setCryptoKeyBackend​(String value)
         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][CryptoKeyVersion.ProtectionLevel.EXTERNAL_VPC], with the
         resource name in the format `projects/*/locations/*/ekmConnections/*`.
         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) = { ... }
        Parameters:
        value - The cryptoKeyBackend to set.
        Returns:
        This builder for chaining.
      • clearCryptoKeyBackend

        public CryptoKey.Builder clearCryptoKeyBackend()
         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][CryptoKeyVersion.ProtectionLevel.EXTERNAL_VPC], with the
         resource name in the format `projects/*/locations/*/ekmConnections/*`.
         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) = { ... }
        Returns:
        This builder for chaining.
      • setCryptoKeyBackendBytes

        public CryptoKey.Builder setCryptoKeyBackendBytes​(com.google.protobuf.ByteString value)
         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][CryptoKeyVersion.ProtectionLevel.EXTERNAL_VPC], with the
         resource name in the format `projects/*/locations/*/ekmConnections/*`.
         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) = { ... }
        Parameters:
        value - The bytes for cryptoKeyBackend to set.
        Returns:
        This builder for chaining.
      • setUnknownFields

        public final CryptoKey.Builder setUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        setUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<CryptoKey.Builder>
      • mergeUnknownFields

        public final CryptoKey.Builder mergeUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        mergeUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<CryptoKey.Builder>