Class Database.CmekConfig.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessage.Builder<Database.CmekConfig.Builder>
com.google.firestore.admin.v1.Database.CmekConfig.Builder
All Implemented Interfaces:
Database.CmekConfigOrBuilder, com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cloneable
Enclosing class:
Database.CmekConfig

public static final class Database.CmekConfig.Builder extends com.google.protobuf.GeneratedMessage.Builder<Database.CmekConfig.Builder> implements Database.CmekConfigOrBuilder
 The CMEK (Customer Managed Encryption Key) configuration for a Firestore
 database. If not present, the database is secured by the default Google
 encryption key.
 
Protobuf type google.firestore.admin.v1.Database.CmekConfig
  • Method Details

    • getDescriptor

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

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage.Builder<Database.CmekConfig.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.GeneratedMessage.Builder<Database.CmekConfig.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.GeneratedMessage.Builder<Database.CmekConfig.Builder>
    • getDefaultInstanceForType

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

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

      public Database.CmekConfig buildPartial()
      Specified by:
      buildPartial in interface com.google.protobuf.Message.Builder
      Specified by:
      buildPartial in interface com.google.protobuf.MessageLite.Builder
    • mergeFrom

      public Database.CmekConfig.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<Database.CmekConfig.Builder>
    • mergeFrom

    • isInitialized

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

      public Database.CmekConfig.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<Database.CmekConfig.Builder>
      Throws:
      IOException
    • getKmsKeyName

      public String getKmsKeyName()
       Required. Only keys in the same location as this database are allowed to
       be used for encryption.
      
       For Firestore's nam5 multi-region, this corresponds to Cloud KMS
       multi-region us. For Firestore's eur3 multi-region, this corresponds to
       Cloud KMS multi-region europe. See
       https://cloud.google.com/kms/docs/locations.
      
       The expected format is
       `projects/{project_id}/locations/{kms_location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.
       
      string kms_key_name = 1 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getKmsKeyName in interface Database.CmekConfigOrBuilder
      Returns:
      The kmsKeyName.
    • getKmsKeyNameBytes

      public com.google.protobuf.ByteString getKmsKeyNameBytes()
       Required. Only keys in the same location as this database are allowed to
       be used for encryption.
      
       For Firestore's nam5 multi-region, this corresponds to Cloud KMS
       multi-region us. For Firestore's eur3 multi-region, this corresponds to
       Cloud KMS multi-region europe. See
       https://cloud.google.com/kms/docs/locations.
      
       The expected format is
       `projects/{project_id}/locations/{kms_location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.
       
      string kms_key_name = 1 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getKmsKeyNameBytes in interface Database.CmekConfigOrBuilder
      Returns:
      The bytes for kmsKeyName.
    • setKmsKeyName

      public Database.CmekConfig.Builder setKmsKeyName(String value)
       Required. Only keys in the same location as this database are allowed to
       be used for encryption.
      
       For Firestore's nam5 multi-region, this corresponds to Cloud KMS
       multi-region us. For Firestore's eur3 multi-region, this corresponds to
       Cloud KMS multi-region europe. See
       https://cloud.google.com/kms/docs/locations.
      
       The expected format is
       `projects/{project_id}/locations/{kms_location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.
       
      string kms_key_name = 1 [(.google.api.field_behavior) = REQUIRED];
      Parameters:
      value - The kmsKeyName to set.
      Returns:
      This builder for chaining.
    • clearKmsKeyName

      public Database.CmekConfig.Builder clearKmsKeyName()
       Required. Only keys in the same location as this database are allowed to
       be used for encryption.
      
       For Firestore's nam5 multi-region, this corresponds to Cloud KMS
       multi-region us. For Firestore's eur3 multi-region, this corresponds to
       Cloud KMS multi-region europe. See
       https://cloud.google.com/kms/docs/locations.
      
       The expected format is
       `projects/{project_id}/locations/{kms_location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.
       
      string kms_key_name = 1 [(.google.api.field_behavior) = REQUIRED];
      Returns:
      This builder for chaining.
    • setKmsKeyNameBytes

      public Database.CmekConfig.Builder setKmsKeyNameBytes(com.google.protobuf.ByteString value)
       Required. Only keys in the same location as this database are allowed to
       be used for encryption.
      
       For Firestore's nam5 multi-region, this corresponds to Cloud KMS
       multi-region us. For Firestore's eur3 multi-region, this corresponds to
       Cloud KMS multi-region europe. See
       https://cloud.google.com/kms/docs/locations.
      
       The expected format is
       `projects/{project_id}/locations/{kms_location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.
       
      string kms_key_name = 1 [(.google.api.field_behavior) = REQUIRED];
      Parameters:
      value - The bytes for kmsKeyName to set.
      Returns:
      This builder for chaining.
    • getActiveKeyVersionList

      public com.google.protobuf.ProtocolStringList getActiveKeyVersionList()
       Output only. Currently in-use [KMS key
       versions](https://cloud.google.com/kms/docs/resource-hierarchy#key_versions).
       During [key rotation](https://cloud.google.com/kms/docs/key-rotation),
       there can be multiple in-use key versions.
      
       The expected format is
       `projects/{project_id}/locations/{kms_location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{key_version}`.
       
      repeated string active_key_version = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
      Specified by:
      getActiveKeyVersionList in interface Database.CmekConfigOrBuilder
      Returns:
      A list containing the activeKeyVersion.
    • getActiveKeyVersionCount

      public int getActiveKeyVersionCount()
       Output only. Currently in-use [KMS key
       versions](https://cloud.google.com/kms/docs/resource-hierarchy#key_versions).
       During [key rotation](https://cloud.google.com/kms/docs/key-rotation),
       there can be multiple in-use key versions.
      
       The expected format is
       `projects/{project_id}/locations/{kms_location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{key_version}`.
       
      repeated string active_key_version = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
      Specified by:
      getActiveKeyVersionCount in interface Database.CmekConfigOrBuilder
      Returns:
      The count of activeKeyVersion.
    • getActiveKeyVersion

      public String getActiveKeyVersion(int index)
       Output only. Currently in-use [KMS key
       versions](https://cloud.google.com/kms/docs/resource-hierarchy#key_versions).
       During [key rotation](https://cloud.google.com/kms/docs/key-rotation),
       there can be multiple in-use key versions.
      
       The expected format is
       `projects/{project_id}/locations/{kms_location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{key_version}`.
       
      repeated string active_key_version = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
      Specified by:
      getActiveKeyVersion in interface Database.CmekConfigOrBuilder
      Parameters:
      index - The index of the element to return.
      Returns:
      The activeKeyVersion at the given index.
    • getActiveKeyVersionBytes

      public com.google.protobuf.ByteString getActiveKeyVersionBytes(int index)
       Output only. Currently in-use [KMS key
       versions](https://cloud.google.com/kms/docs/resource-hierarchy#key_versions).
       During [key rotation](https://cloud.google.com/kms/docs/key-rotation),
       there can be multiple in-use key versions.
      
       The expected format is
       `projects/{project_id}/locations/{kms_location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{key_version}`.
       
      repeated string active_key_version = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
      Specified by:
      getActiveKeyVersionBytes in interface Database.CmekConfigOrBuilder
      Parameters:
      index - The index of the value to return.
      Returns:
      The bytes of the activeKeyVersion at the given index.
    • setActiveKeyVersion

      public Database.CmekConfig.Builder setActiveKeyVersion(int index, String value)
       Output only. Currently in-use [KMS key
       versions](https://cloud.google.com/kms/docs/resource-hierarchy#key_versions).
       During [key rotation](https://cloud.google.com/kms/docs/key-rotation),
       there can be multiple in-use key versions.
      
       The expected format is
       `projects/{project_id}/locations/{kms_location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{key_version}`.
       
      repeated string active_key_version = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
      Parameters:
      index - The index to set the value at.
      value - The activeKeyVersion to set.
      Returns:
      This builder for chaining.
    • addActiveKeyVersion

      public Database.CmekConfig.Builder addActiveKeyVersion(String value)
       Output only. Currently in-use [KMS key
       versions](https://cloud.google.com/kms/docs/resource-hierarchy#key_versions).
       During [key rotation](https://cloud.google.com/kms/docs/key-rotation),
       there can be multiple in-use key versions.
      
       The expected format is
       `projects/{project_id}/locations/{kms_location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{key_version}`.
       
      repeated string active_key_version = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
      Parameters:
      value - The activeKeyVersion to add.
      Returns:
      This builder for chaining.
    • addAllActiveKeyVersion

      public Database.CmekConfig.Builder addAllActiveKeyVersion(Iterable<String> values)
       Output only. Currently in-use [KMS key
       versions](https://cloud.google.com/kms/docs/resource-hierarchy#key_versions).
       During [key rotation](https://cloud.google.com/kms/docs/key-rotation),
       there can be multiple in-use key versions.
      
       The expected format is
       `projects/{project_id}/locations/{kms_location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{key_version}`.
       
      repeated string active_key_version = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
      Parameters:
      values - The activeKeyVersion to add.
      Returns:
      This builder for chaining.
    • clearActiveKeyVersion

      public Database.CmekConfig.Builder clearActiveKeyVersion()
       Output only. Currently in-use [KMS key
       versions](https://cloud.google.com/kms/docs/resource-hierarchy#key_versions).
       During [key rotation](https://cloud.google.com/kms/docs/key-rotation),
       there can be multiple in-use key versions.
      
       The expected format is
       `projects/{project_id}/locations/{kms_location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{key_version}`.
       
      repeated string active_key_version = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
      Returns:
      This builder for chaining.
    • addActiveKeyVersionBytes

      public Database.CmekConfig.Builder addActiveKeyVersionBytes(com.google.protobuf.ByteString value)
       Output only. Currently in-use [KMS key
       versions](https://cloud.google.com/kms/docs/resource-hierarchy#key_versions).
       During [key rotation](https://cloud.google.com/kms/docs/key-rotation),
       there can be multiple in-use key versions.
      
       The expected format is
       `projects/{project_id}/locations/{kms_location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{key_version}`.
       
      repeated string active_key_version = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
      Parameters:
      value - The bytes of the activeKeyVersion to add.
      Returns:
      This builder for chaining.