com.google.api.services.spanner.v1.model.CreateBackupEncryptionConfig Maven / Gradle / Ivy
/*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/
/*
* This code was generated by https://github.com/googleapis/google-api-java-client-services/
* Modify at your own risk.
*/
package com.google.api.services.spanner.v1.model;
/**
* Encryption configuration for the backup to create.
*
* This is the Java data model class that specifies how to parse/serialize into the JSON that is
* transmitted over HTTP when working with the Cloud Spanner API. For a detailed explanation see:
* https://developers.google.com/api-client-library/java/google-http-java-client/json
*
*
* @author Google, Inc.
*/
@SuppressWarnings("javadoc")
public final class CreateBackupEncryptionConfig extends com.google.api.client.json.GenericJson {
/**
* Required. The encryption type of the backup.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String encryptionType;
/**
* Optional. The Cloud KMS key that will be used to protect the backup. This field should be set
* only when encryption_type is `CUSTOMER_MANAGED_ENCRYPTION`. Values are of the form
* `projects//locations//keyRings//cryptoKeys/`.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String kmsKeyName;
/**
* Optional. Specifies the KMS configuration for the one or more keys used to protect the backup.
* Values are of the form `projects//locations//keyRings//cryptoKeys/`. The keys referenced by
* kms_key_names must fully cover all regions of the backup's instance configuration. Some
* examples: * For single region instance configs, specify a single regional location KMS key. *
* For multi-regional 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 an 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.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List kmsKeyNames;
/**
* Required. The encryption type of the backup.
* @return value or {@code null} for none
*/
public java.lang.String getEncryptionType() {
return encryptionType;
}
/**
* Required. The encryption type of the backup.
* @param encryptionType encryptionType or {@code null} for none
*/
public CreateBackupEncryptionConfig setEncryptionType(java.lang.String encryptionType) {
this.encryptionType = encryptionType;
return this;
}
/**
* Optional. The Cloud KMS key that will be used to protect the backup. This field should be set
* only when encryption_type is `CUSTOMER_MANAGED_ENCRYPTION`. Values are of the form
* `projects//locations//keyRings//cryptoKeys/`.
* @return value or {@code null} for none
*/
public java.lang.String getKmsKeyName() {
return kmsKeyName;
}
/**
* Optional. The Cloud KMS key that will be used to protect the backup. This field should be set
* only when encryption_type is `CUSTOMER_MANAGED_ENCRYPTION`. Values are of the form
* `projects//locations//keyRings//cryptoKeys/`.
* @param kmsKeyName kmsKeyName or {@code null} for none
*/
public CreateBackupEncryptionConfig setKmsKeyName(java.lang.String kmsKeyName) {
this.kmsKeyName = kmsKeyName;
return this;
}
/**
* Optional. Specifies the KMS configuration for the one or more keys used to protect the backup.
* Values are of the form `projects//locations//keyRings//cryptoKeys/`. The keys referenced by
* kms_key_names must fully cover all regions of the backup's instance configuration. Some
* examples: * For single region instance configs, specify a single regional location KMS key. *
* For multi-regional 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 an 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.
* @return value or {@code null} for none
*/
public java.util.List getKmsKeyNames() {
return kmsKeyNames;
}
/**
* Optional. Specifies the KMS configuration for the one or more keys used to protect the backup.
* Values are of the form `projects//locations//keyRings//cryptoKeys/`. The keys referenced by
* kms_key_names must fully cover all regions of the backup's instance configuration. Some
* examples: * For single region instance configs, specify a single regional location KMS key. *
* For multi-regional 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 an 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.
* @param kmsKeyNames kmsKeyNames or {@code null} for none
*/
public CreateBackupEncryptionConfig setKmsKeyNames(java.util.List kmsKeyNames) {
this.kmsKeyNames = kmsKeyNames;
return this;
}
@Override
public CreateBackupEncryptionConfig set(String fieldName, Object value) {
return (CreateBackupEncryptionConfig) super.set(fieldName, value);
}
@Override
public CreateBackupEncryptionConfig clone() {
return (CreateBackupEncryptionConfig) super.clone();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy