Class CmekSettings.Builder (3.20.0)

public static final class CmekSettings.Builder extends GeneratedMessageV3.Builder<CmekSettings.Builder> implements CmekSettingsOrBuilder

Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.

Note: CMEK for the Log Router can currently only be configured for Google Cloud organizations. Once configured, it applies to all projects and folders in the Google Cloud organization.

See Enabling CMEK for Log Router for more information.

Protobuf type google.logging.v2.CmekSettings

Static Methods

getDescriptor()

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

Methods

addRepeatedField(Descriptors.FieldDescriptor field, Object value)

public CmekSettings.Builder addRepeatedField(Descriptors.FieldDescriptor field, Object value)
Parameters
Name Description
field FieldDescriptor
value Object
Returns
Type Description
CmekSettings.Builder
Overrides

build()

public CmekSettings build()
Returns
Type Description
CmekSettings

buildPartial()

public CmekSettings buildPartial()
Returns
Type Description
CmekSettings

clear()

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

clearField(Descriptors.FieldDescriptor field)

public CmekSettings.Builder clearField(Descriptors.FieldDescriptor field)
Parameter
Name Description
field FieldDescriptor
Returns
Type Description
CmekSettings.Builder
Overrides

clearKmsKeyName()

public CmekSettings.Builder clearKmsKeyName()

The resource name for the configured Cloud KMS key.

KMS key name format:

 "projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]"

For example:

"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key"

To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.

The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.

To disable CMEK for the Log Router, set this field to an empty string.

See Enabling CMEK for Log Router for more information.

string kms_key_name = 2;

Returns
Type Description
CmekSettings.Builder

This builder for chaining.

clearKmsKeyVersionName()

public CmekSettings.Builder clearKmsKeyVersionName()

The CryptoKeyVersion resource name for the configured Cloud KMS key.

KMS key name format:

 "projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]/cryptoKeyVersions/[VERSION]"

For example:

"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key/cryptoKeyVersions/1"

This is a read-only field used to convey the specific configured CryptoKeyVersion of kms_key that has been configured. It will be populated in cases where the CMEK settings are bound to a single key version.

If this field is populated, the kms_key is tied to a specific CryptoKeyVersion.

string kms_key_version_name = 4;

Returns
Type Description
CmekSettings.Builder

This builder for chaining.

clearName()

public CmekSettings.Builder clearName()

Output only. The resource name of the CMEK settings.

string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];

Returns
Type Description
CmekSettings.Builder

This builder for chaining.

clearOneof(Descriptors.OneofDescriptor oneof)

public CmekSettings.Builder clearOneof(Descriptors.OneofDescriptor oneof)
Parameter
Name Description
oneof OneofDescriptor
Returns
Type Description
CmekSettings.Builder
Overrides

clearServiceAccountId()

public CmekSettings.Builder clearServiceAccountId()

Output only. The service account that will be used by the Log Router to access your Cloud KMS key.

Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.

See Enabling CMEK for Log Router for more information.

string service_account_id = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];

Returns
Type Description
CmekSettings.Builder

This builder for chaining.

clone()

public CmekSettings.Builder clone()
Returns
Type Description
CmekSettings.Builder
Overrides

getDefaultInstanceForType()

public CmekSettings getDefaultInstanceForType()
Returns
Type Description
CmekSettings

getDescriptorForType()

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

getKmsKeyName()

public String getKmsKeyName()

The resource name for the configured Cloud KMS key.

KMS key name format:

 "projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]"

For example:

"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key"

To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.

The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.

To disable CMEK for the Log Router, set this field to an empty string.

See Enabling CMEK for Log Router for more information.

string kms_key_name = 2;

Returns
Type Description
String

The kmsKeyName.

getKmsKeyNameBytes()

public ByteString getKmsKeyNameBytes()

The resource name for the configured Cloud KMS key.

KMS key name format:

 "projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]"

For example:

"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key"

To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.

The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.

To disable CMEK for the Log Router, set this field to an empty string.

See Enabling CMEK for Log Router for more information.

string kms_key_name = 2;

Returns
Type Description
ByteString

The bytes for kmsKeyName.

getKmsKeyVersionName()

public String getKmsKeyVersionName()

The CryptoKeyVersion resource name for the configured Cloud KMS key.

KMS key name format:

 "projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]/cryptoKeyVersions/[VERSION]"

For example:

"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key/cryptoKeyVersions/1"

This is a read-only field used to convey the specific configured CryptoKeyVersion of kms_key that has been configured. It will be populated in cases where the CMEK settings are bound to a single key version.

If this field is populated, the kms_key is tied to a specific CryptoKeyVersion.

string kms_key_version_name = 4;

Returns
Type Description
String

The kmsKeyVersionName.

getKmsKeyVersionNameBytes()

public ByteString getKmsKeyVersionNameBytes()

The CryptoKeyVersion resource name for the configured Cloud KMS key.

KMS key name format:

 "projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]/cryptoKeyVersions/[VERSION]"

For example:

"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key/cryptoKeyVersions/1"

This is a read-only field used to convey the specific configured CryptoKeyVersion of kms_key that has been configured. It will be populated in cases where the CMEK settings are bound to a single key version.

If this field is populated, the kms_key is tied to a specific CryptoKeyVersion.

string kms_key_version_name = 4;

Returns
Type Description
ByteString

The bytes for kmsKeyVersionName.

getName()

public String getName()

Output only. The resource name of the CMEK settings.

string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];

Returns
Type Description
String

The name.

getNameBytes()

public ByteString getNameBytes()

Output only. The resource name of the CMEK settings.

string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];

Returns
Type Description
ByteString

The bytes for name.

getServiceAccountId()

public String getServiceAccountId()

Output only. The service account that will be used by the Log Router to access your Cloud KMS key.

Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.

See Enabling CMEK for Log Router for more information.

string service_account_id = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];

Returns
Type Description
String

The serviceAccountId.

getServiceAccountIdBytes()

public ByteString getServiceAccountIdBytes()

Output only. The service account that will be used by the Log Router to access your Cloud KMS key.

Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.

See Enabling CMEK for Log Router for more information.

string service_account_id = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];

Returns
Type Description
ByteString

The bytes for serviceAccountId.

internalGetFieldAccessorTable()

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

isInitialized()

public final boolean isInitialized()
Returns
Type Description
boolean
Overrides

mergeFrom(CmekSettings other)

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

mergeFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)

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

mergeFrom(Message other)

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

mergeUnknownFields(UnknownFieldSet unknownFields)

public final CmekSettings.Builder mergeUnknownFields(UnknownFieldSet unknownFields)
Parameter
Name Description
unknownFields UnknownFieldSet
Returns
Type Description
CmekSettings.Builder
Overrides

setField(Descriptors.FieldDescriptor field, Object value)

public CmekSettings.Builder setField(Descriptors.FieldDescriptor field, Object value)
Parameters
Name Description
field FieldDescriptor
value Object
Returns
Type Description
CmekSettings.Builder
Overrides

setKmsKeyName(String value)

public CmekSettings.Builder setKmsKeyName(String value)

The resource name for the configured Cloud KMS key.

KMS key name format:

 "projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]"

For example:

"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key"

To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.

The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.

To disable CMEK for the Log Router, set this field to an empty string.

See Enabling CMEK for Log Router for more information.

string kms_key_name = 2;

Parameter
Name Description
value String

The kmsKeyName to set.

Returns
Type Description
CmekSettings.Builder

This builder for chaining.

setKmsKeyNameBytes(ByteString value)

public CmekSettings.Builder setKmsKeyNameBytes(ByteString value)

The resource name for the configured Cloud KMS key.

KMS key name format:

 "projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]"

For example:

"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key"

To enable CMEK for the Log Router, set this field to a valid kms_key_name for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.

The Cloud KMS key used by the Log Router can be updated by changing the kms_key_name to a new valid key name or disabled by setting the key name to an empty string. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.

To disable CMEK for the Log Router, set this field to an empty string.

See Enabling CMEK for Log Router for more information.

string kms_key_name = 2;

Parameter
Name Description
value ByteString

The bytes for kmsKeyName to set.

Returns
Type Description
CmekSettings.Builder

This builder for chaining.

setKmsKeyVersionName(String value)

public CmekSettings.Builder setKmsKeyVersionName(String value)

The CryptoKeyVersion resource name for the configured Cloud KMS key.

KMS key name format:

 "projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]/cryptoKeyVersions/[VERSION]"

For example:

"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key/cryptoKeyVersions/1"

This is a read-only field used to convey the specific configured CryptoKeyVersion of kms_key that has been configured. It will be populated in cases where the CMEK settings are bound to a single key version.

If this field is populated, the kms_key is tied to a specific CryptoKeyVersion.

string kms_key_version_name = 4;

Parameter
Name Description
value String

The kmsKeyVersionName to set.

Returns
Type Description
CmekSettings.Builder

This builder for chaining.

setKmsKeyVersionNameBytes(ByteString value)

public CmekSettings.Builder setKmsKeyVersionNameBytes(ByteString value)

The CryptoKeyVersion resource name for the configured Cloud KMS key.

KMS key name format:

 "projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]/cryptoKeyVersions/[VERSION]"

For example:

"projects/my-project/locations/us-central1/keyRings/my-ring/cryptoKeys/my-key/cryptoKeyVersions/1"

This is a read-only field used to convey the specific configured CryptoKeyVersion of kms_key that has been configured. It will be populated in cases where the CMEK settings are bound to a single key version.

If this field is populated, the kms_key is tied to a specific CryptoKeyVersion.

string kms_key_version_name = 4;

Parameter
Name Description
value ByteString

The bytes for kmsKeyVersionName to set.

Returns
Type Description
CmekSettings.Builder

This builder for chaining.

setName(String value)

public CmekSettings.Builder setName(String value)

Output only. The resource name of the CMEK settings.

string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];

Parameter
Name Description
value String

The name to set.

Returns
Type Description
CmekSettings.Builder

This builder for chaining.

setNameBytes(ByteString value)

public CmekSettings.Builder setNameBytes(ByteString value)

Output only. The resource name of the CMEK settings.

string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];

Parameter
Name Description
value ByteString

The bytes for name to set.

Returns
Type Description
CmekSettings.Builder

This builder for chaining.

setRepeatedField(Descriptors.FieldDescriptor field, int index, Object value)

public CmekSettings.Builder setRepeatedField(Descriptors.FieldDescriptor field, int index, Object value)
Parameters
Name Description
field FieldDescriptor
index int
value Object
Returns
Type Description
CmekSettings.Builder
Overrides

setServiceAccountId(String value)

public CmekSettings.Builder setServiceAccountId(String value)

Output only. The service account that will be used by the Log Router to access your Cloud KMS key.

Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.

See Enabling CMEK for Log Router for more information.

string service_account_id = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];

Parameter
Name Description
value String

The serviceAccountId to set.

Returns
Type Description
CmekSettings.Builder

This builder for chaining.

setServiceAccountIdBytes(ByteString value)

public CmekSettings.Builder setServiceAccountIdBytes(ByteString value)

Output only. The service account that will be used by the Log Router to access your Cloud KMS key.

Before enabling CMEK for Log Router, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account that the Log Router will use to access your Cloud KMS key. Use GetCmekSettings to obtain the service account ID.

See Enabling CMEK for Log Router for more information.

string service_account_id = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];

Parameter
Name Description
value ByteString

The bytes for serviceAccountId to set.

Returns
Type Description
CmekSettings.Builder

This builder for chaining.

setUnknownFields(UnknownFieldSet unknownFields)

public final CmekSettings.Builder setUnknownFields(UnknownFieldSet unknownFields)
Parameter
Name Description
unknownFields UnknownFieldSet
Returns
Type Description
CmekSettings.Builder
Overrides