Class CmekSettings

  • All Implemented Interfaces:
    CmekSettingsOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable

    public final class CmekSettings
    extends com.google.protobuf.GeneratedMessageV3
    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](https://cloud.google.com/logging/docs/routing/managed-encryption) for
     more information.
     
    Protobuf type google.logging.v2.CmekSettings
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  CmekSettings.Builder
      Describes the customer-managed encryption key (CMEK) settings associated with a project, folder, organization, billing account, or flexible resource.
      • Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3

        com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>,​BuilderT extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT,​BuilderT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter
      • Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite

        com.google.protobuf.AbstractMessageLite.InternalOneOfEnum
    • Field Detail

      • KMS_KEY_NAME_FIELD_NUMBER

        public static final int KMS_KEY_NAME_FIELD_NUMBER
        See Also:
        Constant Field Values
      • KMS_KEY_VERSION_NAME_FIELD_NUMBER

        public static final int KMS_KEY_VERSION_NAME_FIELD_NUMBER
        See Also:
        Constant Field Values
      • SERVICE_ACCOUNT_ID_FIELD_NUMBER

        public static final int SERVICE_ACCOUNT_ID_FIELD_NUMBER
        See Also:
        Constant Field Values
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

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

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • getName

        public String getName()
         Output only. The resource name of the CMEK settings.
         
        string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        getName in interface CmekSettingsOrBuilder
        Returns:
        The name.
      • getNameBytes

        public com.google.protobuf.ByteString getNameBytes()
         Output only. The resource name of the CMEK settings.
         
        string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        getNameBytes in interface CmekSettingsOrBuilder
        Returns:
        The bytes for name.
      • 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](https://cloud.google.com/logging/docs/routing/managed-encryption)
         for more information.
         
        string kms_key_name = 2;
        Specified by:
        getKmsKeyName in interface CmekSettingsOrBuilder
        Returns:
        The kmsKeyName.
      • getKmsKeyNameBytes

        public com.google.protobuf.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](https://cloud.google.com/logging/docs/routing/managed-encryption)
         for more information.
         
        string kms_key_name = 2;
        Specified by:
        getKmsKeyNameBytes in interface CmekSettingsOrBuilder
        Returns:
        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;
        Specified by:
        getKmsKeyVersionName in interface CmekSettingsOrBuilder
        Returns:
        The kmsKeyVersionName.
      • getKmsKeyVersionNameBytes

        public com.google.protobuf.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;
        Specified by:
        getKmsKeyVersionNameBytes in interface CmekSettingsOrBuilder
        Returns:
        The bytes for kmsKeyVersionName.
      • 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][google.logging.v2.ConfigServiceV2.GetCmekSettings] to
         obtain the service account ID.
        
         See [Enabling CMEK for Log
         Router](https://cloud.google.com/logging/docs/routing/managed-encryption)
         for more information.
         
        string service_account_id = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        getServiceAccountId in interface CmekSettingsOrBuilder
        Returns:
        The serviceAccountId.
      • getServiceAccountIdBytes

        public com.google.protobuf.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][google.logging.v2.ConfigServiceV2.GetCmekSettings] to
         obtain the service account ID.
        
         See [Enabling CMEK for Log
         Router](https://cloud.google.com/logging/docs/routing/managed-encryption)
         for more information.
         
        string service_account_id = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        getServiceAccountIdBytes in interface CmekSettingsOrBuilder
        Returns:
        The bytes for serviceAccountId.
      • isInitialized

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        protected CmekSettings.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstance

        public static CmekSettings getDefaultInstance()
      • parser

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

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

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