Class EncryptionConfig.Builder (6.108.0)

public static final class EncryptionConfig.Builder extends GeneratedMessage.Builder<EncryptionConfig.Builder> implements EncryptionConfigOrBuilder

Encryption configuration for a Cloud Spanner database.

Protobuf type google.spanner.admin.database.v1.EncryptionConfig

Static Methods

getDescriptor()

public static final Descriptors.Descriptor getDescriptor()
Returns
Type Description
Descriptor

Methods

addAllKmsKeyNames(Iterable<String> values)

public EncryptionConfig.Builder addAllKmsKeyNames(Iterable<String> values)

Specifies the KMS configuration for the one or more keys used to encrypt the database. Values are of the form projects/<project>/locations/<location>/keyRings/<key_ring>/cryptoKeys/<kms_key_name>.

The keys referenced by kms_key_names must fully cover all regions of the database instance configuration. Some examples:

  • For single region database instance configs, specify a single regional location KMS key.
  • For multi-regional database instance configs of type GOOGLE_MANAGED, either specify a multi-regional location KMS key or multiple regional location KMS keys that cover all regions in the instance config.
  • For a database instance config of type USER_MANAGED, please specify only regional location KMS keys to cover each region in the instance config. Multi-regional location KMS keys are not supported for USER_MANAGED instance configs.

repeated string kms_key_names = 3 [(.google.api.resource_reference) = { ... }

Parameter
Name Description
values Iterable<String>

The kmsKeyNames to add.

Returns
Type Description
EncryptionConfig.Builder

This builder for chaining.

addKmsKeyNames(String value)

public EncryptionConfig.Builder addKmsKeyNames(String value)

Specifies the KMS configuration for the one or more keys used to encrypt the database. Values are of the form projects/<project>/locations/<location>/keyRings/<key_ring>/cryptoKeys/<kms_key_name>.

The keys referenced by kms_key_names must fully cover all regions of the database instance configuration. Some examples:

  • For single region database instance configs, specify a single regional location KMS key.
  • For multi-regional database instance configs of type GOOGLE_MANAGED, either specify a multi-regional location KMS key or multiple regional location KMS keys that cover all regions in the instance config.
  • For a database instance config of type USER_MANAGED, please specify only regional location KMS keys to cover each region in the instance config. Multi-regional location KMS keys are not supported for USER_MANAGED instance configs.

repeated string kms_key_names = 3 [(.google.api.resource_reference) = { ... }

Parameter
Name Description
value String

The kmsKeyNames to add.

Returns
Type Description
EncryptionConfig.Builder

This builder for chaining.

addKmsKeyNamesBytes(ByteString value)

public EncryptionConfig.Builder addKmsKeyNamesBytes(ByteString value)

Specifies the KMS configuration for the one or more keys used to encrypt the database. Values are of the form projects/<project>/locations/<location>/keyRings/<key_ring>/cryptoKeys/<kms_key_name>.

The keys referenced by kms_key_names must fully cover all regions of the database instance configuration. Some examples:

  • For single region database instance configs, specify a single regional location KMS key.
  • For multi-regional database instance configs of type GOOGLE_MANAGED, either specify a multi-regional location KMS key or multiple regional location KMS keys that cover all regions in the instance config.
  • For a database instance config of type USER_MANAGED, please specify only regional location KMS keys to cover each region in the instance config. Multi-regional location KMS keys are not supported for USER_MANAGED instance configs.

repeated string kms_key_names = 3 [(.google.api.resource_reference) = { ... }

Parameter
Name Description
value ByteString

The bytes of the kmsKeyNames to add.

Returns
Type Description
EncryptionConfig.Builder

This builder for chaining.

build()

public EncryptionConfig build()
Returns
Type Description
EncryptionConfig

buildPartial()

public EncryptionConfig buildPartial()
Returns
Type Description
EncryptionConfig

clear()

public EncryptionConfig.Builder clear()
Returns
Type Description
EncryptionConfig.Builder
Overrides

clearKmsKeyName()

public EncryptionConfig.Builder clearKmsKeyName()

The Cloud KMS key to be used for encrypting and decrypting the database. Values are of the form projects/<project>/locations/<location>/keyRings/<key_ring>/cryptoKeys/<kms_key_name>.

string kms_key_name = 2 [(.google.api.resource_reference) = { ... }

Returns
Type Description
EncryptionConfig.Builder

This builder for chaining.

clearKmsKeyNames()

public EncryptionConfig.Builder clearKmsKeyNames()

Specifies the KMS configuration for the one or more keys used to encrypt the database. Values are of the form projects/<project>/locations/<location>/keyRings/<key_ring>/cryptoKeys/<kms_key_name>.

The keys referenced by kms_key_names must fully cover all regions of the database instance configuration. Some examples:

  • For single region database instance configs, specify a single regional location KMS key.
  • For multi-regional database instance configs of type GOOGLE_MANAGED, either specify a multi-regional location KMS key or multiple regional location KMS keys that cover all regions in the instance config.
  • For a database instance config of type USER_MANAGED, please specify only regional location KMS keys to cover each region in the instance config. Multi-regional location KMS keys are not supported for USER_MANAGED instance configs.

repeated string kms_key_names = 3 [(.google.api.resource_reference) = { ... }

Returns
Type Description
EncryptionConfig.Builder

This builder for chaining.

getDefaultInstanceForType()

public EncryptionConfig getDefaultInstanceForType()
Returns
Type Description
EncryptionConfig

getDescriptorForType()

public Descriptors.Descriptor getDescriptorForType()
Returns
Type Description
Descriptor
Overrides

getKmsKeyName()

public String getKmsKeyName()

The Cloud KMS key to be used for encrypting and decrypting the database. Values are of the form projects/<project>/locations/<location>/keyRings/<key_ring>/cryptoKeys/<kms_key_name>.

string kms_key_name = 2 [(.google.api.resource_reference) = { ... }

Returns
Type Description
String

The kmsKeyName.

getKmsKeyNameBytes()

public ByteString getKmsKeyNameBytes()

The Cloud KMS key to be used for encrypting and decrypting the database. Values are of the form projects/<project>/locations/<location>/keyRings/<key_ring>/cryptoKeys/<kms_key_name>.

string kms_key_name = 2 [(.google.api.resource_reference) = { ... }

Returns
Type Description
ByteString

The bytes for kmsKeyName.

getKmsKeyNames(int index)

public String getKmsKeyNames(int index)

Specifies the KMS configuration for the one or more keys used to encrypt the database. Values are of the form projects/<project>/locations/<location>/keyRings/<key_ring>/cryptoKeys/<kms_key_name>.

The keys referenced by kms_key_names must fully cover all regions of the database instance configuration. Some examples:

  • For single region database instance configs, specify a single regional location KMS key.
  • For multi-regional database instance configs of type GOOGLE_MANAGED, either specify a multi-regional location KMS key or multiple regional location KMS keys that cover all regions in the instance config.
  • For a database instance config of type USER_MANAGED, please specify only regional location KMS keys to cover each region in the instance config. Multi-regional location KMS keys are not supported for USER_MANAGED instance configs.

repeated string kms_key_names = 3 [(.google.api.resource_reference) = { ... }

Parameter
Name Description
index int

The index of the element to return.

Returns
Type Description
String

The kmsKeyNames at the given index.

getKmsKeyNamesBytes(int index)

public ByteString getKmsKeyNamesBytes(int index)

Specifies the KMS configuration for the one or more keys used to encrypt the database. Values are of the form projects/<project>/locations/<location>/keyRings/<key_ring>/cryptoKeys/<kms_key_name>.

The keys referenced by kms_key_names must fully cover all regions of the database instance configuration. Some examples:

  • For single region database instance configs, specify a single regional location KMS key.
  • For multi-regional database instance configs of type GOOGLE_MANAGED, either specify a multi-regional location KMS key or multiple regional location KMS keys that cover all regions in the instance config.
  • For a database instance config of type USER_MANAGED, please specify only regional location KMS keys to cover each region in the instance config. Multi-regional location KMS keys are not supported for USER_MANAGED instance configs.

repeated string kms_key_names = 3 [(.google.api.resource_reference) = { ... }

Parameter
Name Description
index int

The index of the value to return.

Returns
Type Description
ByteString

The bytes of the kmsKeyNames at the given index.

getKmsKeyNamesCount()

public int getKmsKeyNamesCount()

Specifies the KMS configuration for the one or more keys used to encrypt the database. Values are of the form projects/<project>/locations/<location>/keyRings/<key_ring>/cryptoKeys/<kms_key_name>.

The keys referenced by kms_key_names must fully cover all regions of the database instance configuration. Some examples:

  • For single region database instance configs, specify a single regional location KMS key.
  • For multi-regional database instance configs of type GOOGLE_MANAGED, either specify a multi-regional location KMS key or multiple regional location KMS keys that cover all regions in the instance config.
  • For a database instance config of type USER_MANAGED, please specify only regional location KMS keys to cover each region in the instance config. Multi-regional location KMS keys are not supported for USER_MANAGED instance configs.

repeated string kms_key_names = 3 [(.google.api.resource_reference) = { ... }

Returns
Type Description
int

The count of kmsKeyNames.

getKmsKeyNamesList()

public ProtocolStringList getKmsKeyNamesList()

Specifies the KMS configuration for the one or more keys used to encrypt the database. Values are of the form projects/<project>/locations/<location>/keyRings/<key_ring>/cryptoKeys/<kms_key_name>.

The keys referenced by kms_key_names must fully cover all regions of the database instance configuration. Some examples:

  • For single region database instance configs, specify a single regional location KMS key.
  • For multi-regional database instance configs of type GOOGLE_MANAGED, either specify a multi-regional location KMS key or multiple regional location KMS keys that cover all regions in the instance config.
  • For a database instance config of type USER_MANAGED, please specify only regional location KMS keys to cover each region in the instance config. Multi-regional location KMS keys are not supported for USER_MANAGED instance configs.

repeated string kms_key_names = 3 [(.google.api.resource_reference) = { ... }

Returns
Type Description
ProtocolStringList

A list containing the kmsKeyNames.

internalGetFieldAccessorTable()

protected GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
Returns
Type Description
FieldAccessorTable
Overrides

isInitialized()

public final boolean isInitialized()
Returns
Type Description
boolean
Overrides

mergeFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)

public EncryptionConfig.Builder mergeFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)
Parameters
Name Description
input CodedInputStream
extensionRegistry ExtensionRegistryLite
Returns
Type Description
EncryptionConfig.Builder
Overrides
Exceptions
Type Description
IOException

mergeFrom(Message other)

public EncryptionConfig.Builder mergeFrom(Message other)
Parameter
Name Description
other Message
Returns
Type Description
EncryptionConfig.Builder
Overrides

mergeFrom(EncryptionConfig other)

public EncryptionConfig.Builder mergeFrom(EncryptionConfig other)
Parameter
Name Description
other EncryptionConfig
Returns
Type Description
EncryptionConfig.Builder

setKmsKeyName(String value)

public EncryptionConfig.Builder setKmsKeyName(String value)

The Cloud KMS key to be used for encrypting and decrypting the database. Values are of the form projects/<project>/locations/<location>/keyRings/<key_ring>/cryptoKeys/<kms_key_name>.

string kms_key_name = 2 [(.google.api.resource_reference) = { ... }

Parameter
Name Description
value String

The kmsKeyName to set.

Returns
Type Description
EncryptionConfig.Builder

This builder for chaining.

setKmsKeyNameBytes(ByteString value)

public EncryptionConfig.Builder setKmsKeyNameBytes(ByteString value)

The Cloud KMS key to be used for encrypting and decrypting the database. Values are of the form projects/<project>/locations/<location>/keyRings/<key_ring>/cryptoKeys/<kms_key_name>.

string kms_key_name = 2 [(.google.api.resource_reference) = { ... }

Parameter
Name Description
value ByteString

The bytes for kmsKeyName to set.

Returns
Type Description
EncryptionConfig.Builder

This builder for chaining.

setKmsKeyNames(int index, String value)

public EncryptionConfig.Builder setKmsKeyNames(int index, String value)

Specifies the KMS configuration for the one or more keys used to encrypt the database. Values are of the form projects/<project>/locations/<location>/keyRings/<key_ring>/cryptoKeys/<kms_key_name>.

The keys referenced by kms_key_names must fully cover all regions of the database instance configuration. Some examples:

  • For single region database instance configs, specify a single regional location KMS key.
  • For multi-regional database instance configs of type GOOGLE_MANAGED, either specify a multi-regional location KMS key or multiple regional location KMS keys that cover all regions in the instance config.
  • For a database instance config of type USER_MANAGED, please specify only regional location KMS keys to cover each region in the instance config. Multi-regional location KMS keys are not supported for USER_MANAGED instance configs.

repeated string kms_key_names = 3 [(.google.api.resource_reference) = { ... }

Parameters
Name Description
index int

The index to set the value at.

value String

The kmsKeyNames to set.

Returns
Type Description
EncryptionConfig.Builder

This builder for chaining.