com.oracle.bmc.database.model.CreateDatabaseDetails Maven / Gradle / Ivy
Show all versions of oci-java-sdk-database Show documentation
/**
* Copyright (c) 2016, 2024, Oracle and/or its affiliates. All rights reserved.
* This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
*/
package com.oracle.bmc.database.model;
/**
* Details for creating a database.
*
* *Warning:** Oracle recommends that you avoid using any confidential information when you
* supply string values using the API.
* Note: Objects should always be created or deserialized using the {@link Builder}. This model
* distinguishes fields that are {@code null} because they are unset from fields that are explicitly
* set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
* set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
* #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
* fields into account. The constructor, on the other hand, does not take the explicitly set fields
* into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
* null}).
*/
@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20160918")
@com.fasterxml.jackson.databind.annotation.JsonDeserialize(
builder = CreateDatabaseDetails.Builder.class)
@com.fasterxml.jackson.annotation.JsonFilter(
com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
public final class CreateDatabaseDetails
extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
@Deprecated
@java.beans.ConstructorProperties({
"dbName",
"dbUniqueName",
"databaseSoftwareImageId",
"pdbName",
"adminPassword",
"tdeWalletPassword",
"characterSet",
"ncharacterSet",
"dbWorkload",
"dbBackupConfig",
"freeformTags",
"definedTags",
"kmsKeyId",
"kmsKeyVersionId",
"vaultId",
"sidPrefix",
"keyStoreId"
})
public CreateDatabaseDetails(
String dbName,
String dbUniqueName,
String databaseSoftwareImageId,
String pdbName,
String adminPassword,
String tdeWalletPassword,
String characterSet,
String ncharacterSet,
DbWorkload dbWorkload,
DbBackupConfig dbBackupConfig,
java.util.Map freeformTags,
java.util.Map> definedTags,
String kmsKeyId,
String kmsKeyVersionId,
String vaultId,
String sidPrefix,
String keyStoreId) {
super();
this.dbName = dbName;
this.dbUniqueName = dbUniqueName;
this.databaseSoftwareImageId = databaseSoftwareImageId;
this.pdbName = pdbName;
this.adminPassword = adminPassword;
this.tdeWalletPassword = tdeWalletPassword;
this.characterSet = characterSet;
this.ncharacterSet = ncharacterSet;
this.dbWorkload = dbWorkload;
this.dbBackupConfig = dbBackupConfig;
this.freeformTags = freeformTags;
this.definedTags = definedTags;
this.kmsKeyId = kmsKeyId;
this.kmsKeyVersionId = kmsKeyVersionId;
this.vaultId = vaultId;
this.sidPrefix = sidPrefix;
this.keyStoreId = keyStoreId;
}
@com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
public static class Builder {
/**
* The database name. The name must begin with an alphabetic character and can contain a
* maximum of eight alphanumeric characters. Special characters are not permitted.
*/
@com.fasterxml.jackson.annotation.JsonProperty("dbName")
private String dbName;
/**
* The database name. The name must begin with an alphabetic character and can contain a
* maximum of eight alphanumeric characters. Special characters are not permitted.
*
* @param dbName the value to set
* @return this builder
*/
public Builder dbName(String dbName) {
this.dbName = dbName;
this.__explicitlySet__.add("dbName");
return this;
}
/** The {@code DB_UNIQUE_NAME} of the Oracle Database being backed up. */
@com.fasterxml.jackson.annotation.JsonProperty("dbUniqueName")
private String dbUniqueName;
/**
* The {@code DB_UNIQUE_NAME} of the Oracle Database being backed up.
*
* @param dbUniqueName the value to set
* @return this builder
*/
public Builder dbUniqueName(String dbUniqueName) {
this.dbUniqueName = dbUniqueName;
this.__explicitlySet__.add("dbUniqueName");
return this;
}
/**
* The database software image
* [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm)
*/
@com.fasterxml.jackson.annotation.JsonProperty("databaseSoftwareImageId")
private String databaseSoftwareImageId;
/**
* The database software image
* [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm)
*
* @param databaseSoftwareImageId the value to set
* @return this builder
*/
public Builder databaseSoftwareImageId(String databaseSoftwareImageId) {
this.databaseSoftwareImageId = databaseSoftwareImageId;
this.__explicitlySet__.add("databaseSoftwareImageId");
return this;
}
/**
* The name of the pluggable database. The name must begin with an alphabetic character and
* can contain a maximum of thirty alphanumeric characters. Special characters are not
* permitted. Pluggable database should not be same as database name.
*/
@com.fasterxml.jackson.annotation.JsonProperty("pdbName")
private String pdbName;
/**
* The name of the pluggable database. The name must begin with an alphabetic character and
* can contain a maximum of thirty alphanumeric characters. Special characters are not
* permitted. Pluggable database should not be same as database name.
*
* @param pdbName the value to set
* @return this builder
*/
public Builder pdbName(String pdbName) {
this.pdbName = pdbName;
this.__explicitlySet__.add("pdbName");
return this;
}
/**
* A strong password for SYS, SYSTEM, and PDB Admin. The password must be at least nine
* characters and contain at least two uppercase, two lowercase, two numbers, and two
* special characters. The special characters must be _, \\#, or -.
*/
@com.fasterxml.jackson.annotation.JsonProperty("adminPassword")
private String adminPassword;
/**
* A strong password for SYS, SYSTEM, and PDB Admin. The password must be at least nine
* characters and contain at least two uppercase, two lowercase, two numbers, and two
* special characters. The special characters must be _, \\#, or -.
*
* @param adminPassword the value to set
* @return this builder
*/
public Builder adminPassword(String adminPassword) {
this.adminPassword = adminPassword;
this.__explicitlySet__.add("adminPassword");
return this;
}
/**
* The optional password to open the TDE wallet. The password must be at least nine
* characters and contain at least two uppercase, two lowercase, two numeric, and two
* special characters. The special characters must be _, \\#, or -.
*/
@com.fasterxml.jackson.annotation.JsonProperty("tdeWalletPassword")
private String tdeWalletPassword;
/**
* The optional password to open the TDE wallet. The password must be at least nine
* characters and contain at least two uppercase, two lowercase, two numeric, and two
* special characters. The special characters must be _, \\#, or -.
*
* @param tdeWalletPassword the value to set
* @return this builder
*/
public Builder tdeWalletPassword(String tdeWalletPassword) {
this.tdeWalletPassword = tdeWalletPassword;
this.__explicitlySet__.add("tdeWalletPassword");
return this;
}
/**
* The character set for the database. The default is AL32UTF8. Allowed values are:
*
* AL32UTF8, AR8ADOS710, AR8ADOS720, AR8APTEC715, AR8ARABICMACS, AR8ASMO8X, AR8ISO8859P6,
* AR8MSWIN1256, AR8MUSSAD768, AR8NAFITHA711, AR8NAFITHA721, AR8SAKHR706, AR8SAKHR707,
* AZ8ISO8859P9E, BG8MSWIN, BG8PC437S, BLT8CP921, BLT8ISO8859P13, BLT8MSWIN1257, BLT8PC775,
* BN8BSCII, CDN8PC863, CEL8ISO8859P14, CL8ISO8859P5, CL8ISOIR111, CL8KOI8R, CL8KOI8U,
* CL8MACCYRILLICS, CL8MSWIN1251, EE8ISO8859P2, EE8MACCES, EE8MACCROATIANS, EE8MSWIN1250,
* EE8PC852, EL8DEC, EL8ISO8859P7, EL8MACGREEKS, EL8MSWIN1253, EL8PC437S, EL8PC851,
* EL8PC869, ET8MSWIN923, HU8ABMOD, HU8CWI2, IN8ISCII, IS8PC861, IW8ISO8859P8,
* IW8MACHEBREWS, IW8MSWIN1255, IW8PC1507, JA16EUC, JA16EUCTILDE, JA16SJIS, JA16SJISTILDE,
* JA16VMS, KO16KSC5601, KO16KSCCS, KO16MSWIN949, LA8ISO6937, LA8PASSPORT, LT8MSWIN921,
* LT8PC772, LT8PC774, LV8PC1117, LV8PC8LR, LV8RST104090, N8PC865, NE8ISO8859P10,
* NEE8ISO8859P4, RU8BESTA, RU8PC855, RU8PC866, SE8ISO8859P3, TH8MACTHAIS, TH8TISASCII,
* TR8DEC, TR8MACTURKISHS, TR8MSWIN1254, TR8PC857, US7ASCII, US8PC437, UTF8, VN8MSWIN1258,
* VN8VN3, WE8DEC, WE8DG, WE8ISO8859P1, WE8ISO8859P15, WE8ISO8859P9, WE8MACROMAN8S,
* WE8MSWIN1252, WE8NCR4970, WE8NEXTSTEP, WE8PC850, WE8PC858, WE8PC860, WE8ROMAN8,
* ZHS16CGB231280, ZHS16GBK, ZHT16BIG5, ZHT16CCDC, ZHT16DBT, ZHT16HKSCS, ZHT16MSWIN950,
* ZHT32EUC, ZHT32SOPS, ZHT32TRIS
*/
@com.fasterxml.jackson.annotation.JsonProperty("characterSet")
private String characterSet;
/**
* The character set for the database. The default is AL32UTF8. Allowed values are:
*
*
AL32UTF8, AR8ADOS710, AR8ADOS720, AR8APTEC715, AR8ARABICMACS, AR8ASMO8X, AR8ISO8859P6,
* AR8MSWIN1256, AR8MUSSAD768, AR8NAFITHA711, AR8NAFITHA721, AR8SAKHR706, AR8SAKHR707,
* AZ8ISO8859P9E, BG8MSWIN, BG8PC437S, BLT8CP921, BLT8ISO8859P13, BLT8MSWIN1257, BLT8PC775,
* BN8BSCII, CDN8PC863, CEL8ISO8859P14, CL8ISO8859P5, CL8ISOIR111, CL8KOI8R, CL8KOI8U,
* CL8MACCYRILLICS, CL8MSWIN1251, EE8ISO8859P2, EE8MACCES, EE8MACCROATIANS, EE8MSWIN1250,
* EE8PC852, EL8DEC, EL8ISO8859P7, EL8MACGREEKS, EL8MSWIN1253, EL8PC437S, EL8PC851,
* EL8PC869, ET8MSWIN923, HU8ABMOD, HU8CWI2, IN8ISCII, IS8PC861, IW8ISO8859P8,
* IW8MACHEBREWS, IW8MSWIN1255, IW8PC1507, JA16EUC, JA16EUCTILDE, JA16SJIS, JA16SJISTILDE,
* JA16VMS, KO16KSC5601, KO16KSCCS, KO16MSWIN949, LA8ISO6937, LA8PASSPORT, LT8MSWIN921,
* LT8PC772, LT8PC774, LV8PC1117, LV8PC8LR, LV8RST104090, N8PC865, NE8ISO8859P10,
* NEE8ISO8859P4, RU8BESTA, RU8PC855, RU8PC866, SE8ISO8859P3, TH8MACTHAIS, TH8TISASCII,
* TR8DEC, TR8MACTURKISHS, TR8MSWIN1254, TR8PC857, US7ASCII, US8PC437, UTF8, VN8MSWIN1258,
* VN8VN3, WE8DEC, WE8DG, WE8ISO8859P1, WE8ISO8859P15, WE8ISO8859P9, WE8MACROMAN8S,
* WE8MSWIN1252, WE8NCR4970, WE8NEXTSTEP, WE8PC850, WE8PC858, WE8PC860, WE8ROMAN8,
* ZHS16CGB231280, ZHS16GBK, ZHT16BIG5, ZHT16CCDC, ZHT16DBT, ZHT16HKSCS, ZHT16MSWIN950,
* ZHT32EUC, ZHT32SOPS, ZHT32TRIS
*
* @param characterSet the value to set
* @return this builder
*/
public Builder characterSet(String characterSet) {
this.characterSet = characterSet;
this.__explicitlySet__.add("characterSet");
return this;
}
/**
* The national character set for the database. The default is AL16UTF16. Allowed values
* are: AL16UTF16 or UTF8.
*/
@com.fasterxml.jackson.annotation.JsonProperty("ncharacterSet")
private String ncharacterSet;
/**
* The national character set for the database. The default is AL16UTF16. Allowed values
* are: AL16UTF16 or UTF8.
*
* @param ncharacterSet the value to set
* @return this builder
*/
public Builder ncharacterSet(String ncharacterSet) {
this.ncharacterSet = ncharacterSet;
this.__explicitlySet__.add("ncharacterSet");
return this;
}
/**
* **Deprecated.** The dbWorkload field has been deprecated for Exadata Database Service on
* Dedicated Infrastructure, Exadata Database Service on Cloud@Customer, and Base Database
* Service. Support for this attribute will end in November 2023. You may choose to update
* your custom scripts to exclude the dbWorkload attribute. After November 2023 if you pass
* a value to the dbWorkload attribute, it will be ignored.
*
*
The database workload type.
*/
@com.fasterxml.jackson.annotation.JsonProperty("dbWorkload")
private DbWorkload dbWorkload;
/**
* **Deprecated.** The dbWorkload field has been deprecated for Exadata Database Service on
* Dedicated Infrastructure, Exadata Database Service on Cloud@Customer, and Base Database
* Service. Support for this attribute will end in November 2023. You may choose to update
* your custom scripts to exclude the dbWorkload attribute. After November 2023 if you pass
* a value to the dbWorkload attribute, it will be ignored.
*
*
The database workload type.
*
* @param dbWorkload the value to set
* @return this builder
*/
public Builder dbWorkload(DbWorkload dbWorkload) {
this.dbWorkload = dbWorkload;
this.__explicitlySet__.add("dbWorkload");
return this;
}
@com.fasterxml.jackson.annotation.JsonProperty("dbBackupConfig")
private DbBackupConfig dbBackupConfig;
public Builder dbBackupConfig(DbBackupConfig dbBackupConfig) {
this.dbBackupConfig = dbBackupConfig;
this.__explicitlySet__.add("dbBackupConfig");
return this;
}
/**
* Free-form tags for this resource. Each tag is a simple key-value pair with no predefined
* name, type, or namespace. For more information, see [Resource
* Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
*
*
Example: {@code {"Department": "Finance"}}
*/
@com.fasterxml.jackson.annotation.JsonProperty("freeformTags")
private java.util.Map freeformTags;
/**
* Free-form tags for this resource. Each tag is a simple key-value pair with no predefined
* name, type, or namespace. For more information, see [Resource
* Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
*
* Example: {@code {"Department": "Finance"}}
*
* @param freeformTags the value to set
* @return this builder
*/
public Builder freeformTags(java.util.Map freeformTags) {
this.freeformTags = freeformTags;
this.__explicitlySet__.add("freeformTags");
return this;
}
/**
* Defined tags for this resource. Each key is predefined and scoped to a namespace. For
* more information, see [Resource
* Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
*/
@com.fasterxml.jackson.annotation.JsonProperty("definedTags")
private java.util.Map> definedTags;
/**
* Defined tags for this resource. Each key is predefined and scoped to a namespace. For
* more information, see [Resource
* Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
*
* @param definedTags the value to set
* @return this builder
*/
public Builder definedTags(
java.util.Map> definedTags) {
this.definedTags = definedTags;
this.__explicitlySet__.add("definedTags");
return this;
}
/**
* The OCID of the key container that is used as the master encryption key in database
* transparent data encryption (TDE) operations.
*/
@com.fasterxml.jackson.annotation.JsonProperty("kmsKeyId")
private String kmsKeyId;
/**
* The OCID of the key container that is used as the master encryption key in database
* transparent data encryption (TDE) operations.
*
* @param kmsKeyId the value to set
* @return this builder
*/
public Builder kmsKeyId(String kmsKeyId) {
this.kmsKeyId = kmsKeyId;
this.__explicitlySet__.add("kmsKeyId");
return this;
}
/**
* The OCID of the key container version that is used in database transparent data
* encryption (TDE) operations KMS Key can have multiple key versions. If none is specified,
* the current key version (latest) of the Key Id is used for the operation. Autonomous
* Database Serverless does not use key versions, hence is not applicable for Autonomous
* Database Serverless instances.
*/
@com.fasterxml.jackson.annotation.JsonProperty("kmsKeyVersionId")
private String kmsKeyVersionId;
/**
* The OCID of the key container version that is used in database transparent data
* encryption (TDE) operations KMS Key can have multiple key versions. If none is specified,
* the current key version (latest) of the Key Id is used for the operation. Autonomous
* Database Serverless does not use key versions, hence is not applicable for Autonomous
* Database Serverless instances.
*
* @param kmsKeyVersionId the value to set
* @return this builder
*/
public Builder kmsKeyVersionId(String kmsKeyVersionId) {
this.kmsKeyVersionId = kmsKeyVersionId;
this.__explicitlySet__.add("kmsKeyVersionId");
return this;
}
/**
* The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
* Oracle Cloud Infrastructure
* [vault](https://docs.cloud.oracle.com/Content/KeyManagement/Concepts/keyoverview.htm#concepts).
* This parameter and {@code secretId} are required for Customer Managed Keys.
*/
@com.fasterxml.jackson.annotation.JsonProperty("vaultId")
private String vaultId;
/**
* The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
* Oracle Cloud Infrastructure
* [vault](https://docs.cloud.oracle.com/Content/KeyManagement/Concepts/keyoverview.htm#concepts).
* This parameter and {@code secretId} are required for Customer Managed Keys.
*
* @param vaultId the value to set
* @return this builder
*/
public Builder vaultId(String vaultId) {
this.vaultId = vaultId;
this.__explicitlySet__.add("vaultId");
return this;
}
/** Specifies a prefix for the {@code Oracle SID} of the database to be created. */
@com.fasterxml.jackson.annotation.JsonProperty("sidPrefix")
private String sidPrefix;
/**
* Specifies a prefix for the {@code Oracle SID} of the database to be created.
*
* @param sidPrefix the value to set
* @return this builder
*/
public Builder sidPrefix(String sidPrefix) {
this.sidPrefix = sidPrefix;
this.__explicitlySet__.add("sidPrefix");
return this;
}
/**
* The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
* key store of Oracle Vault.
*/
@com.fasterxml.jackson.annotation.JsonProperty("keyStoreId")
private String keyStoreId;
/**
* The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
* key store of Oracle Vault.
*
* @param keyStoreId the value to set
* @return this builder
*/
public Builder keyStoreId(String keyStoreId) {
this.keyStoreId = keyStoreId;
this.__explicitlySet__.add("keyStoreId");
return this;
}
@com.fasterxml.jackson.annotation.JsonIgnore
private final java.util.Set __explicitlySet__ = new java.util.HashSet();
public CreateDatabaseDetails build() {
CreateDatabaseDetails model =
new CreateDatabaseDetails(
this.dbName,
this.dbUniqueName,
this.databaseSoftwareImageId,
this.pdbName,
this.adminPassword,
this.tdeWalletPassword,
this.characterSet,
this.ncharacterSet,
this.dbWorkload,
this.dbBackupConfig,
this.freeformTags,
this.definedTags,
this.kmsKeyId,
this.kmsKeyVersionId,
this.vaultId,
this.sidPrefix,
this.keyStoreId);
for (String explicitlySetProperty : this.__explicitlySet__) {
model.markPropertyAsExplicitlySet(explicitlySetProperty);
}
return model;
}
@com.fasterxml.jackson.annotation.JsonIgnore
public Builder copy(CreateDatabaseDetails model) {
if (model.wasPropertyExplicitlySet("dbName")) {
this.dbName(model.getDbName());
}
if (model.wasPropertyExplicitlySet("dbUniqueName")) {
this.dbUniqueName(model.getDbUniqueName());
}
if (model.wasPropertyExplicitlySet("databaseSoftwareImageId")) {
this.databaseSoftwareImageId(model.getDatabaseSoftwareImageId());
}
if (model.wasPropertyExplicitlySet("pdbName")) {
this.pdbName(model.getPdbName());
}
if (model.wasPropertyExplicitlySet("adminPassword")) {
this.adminPassword(model.getAdminPassword());
}
if (model.wasPropertyExplicitlySet("tdeWalletPassword")) {
this.tdeWalletPassword(model.getTdeWalletPassword());
}
if (model.wasPropertyExplicitlySet("characterSet")) {
this.characterSet(model.getCharacterSet());
}
if (model.wasPropertyExplicitlySet("ncharacterSet")) {
this.ncharacterSet(model.getNcharacterSet());
}
if (model.wasPropertyExplicitlySet("dbWorkload")) {
this.dbWorkload(model.getDbWorkload());
}
if (model.wasPropertyExplicitlySet("dbBackupConfig")) {
this.dbBackupConfig(model.getDbBackupConfig());
}
if (model.wasPropertyExplicitlySet("freeformTags")) {
this.freeformTags(model.getFreeformTags());
}
if (model.wasPropertyExplicitlySet("definedTags")) {
this.definedTags(model.getDefinedTags());
}
if (model.wasPropertyExplicitlySet("kmsKeyId")) {
this.kmsKeyId(model.getKmsKeyId());
}
if (model.wasPropertyExplicitlySet("kmsKeyVersionId")) {
this.kmsKeyVersionId(model.getKmsKeyVersionId());
}
if (model.wasPropertyExplicitlySet("vaultId")) {
this.vaultId(model.getVaultId());
}
if (model.wasPropertyExplicitlySet("sidPrefix")) {
this.sidPrefix(model.getSidPrefix());
}
if (model.wasPropertyExplicitlySet("keyStoreId")) {
this.keyStoreId(model.getKeyStoreId());
}
return this;
}
}
/** Create a new builder. */
public static Builder builder() {
return new Builder();
}
public Builder toBuilder() {
return new Builder().copy(this);
}
/**
* The database name. The name must begin with an alphabetic character and can contain a maximum
* of eight alphanumeric characters. Special characters are not permitted.
*/
@com.fasterxml.jackson.annotation.JsonProperty("dbName")
private final String dbName;
/**
* The database name. The name must begin with an alphabetic character and can contain a maximum
* of eight alphanumeric characters. Special characters are not permitted.
*
* @return the value
*/
public String getDbName() {
return dbName;
}
/** The {@code DB_UNIQUE_NAME} of the Oracle Database being backed up. */
@com.fasterxml.jackson.annotation.JsonProperty("dbUniqueName")
private final String dbUniqueName;
/**
* The {@code DB_UNIQUE_NAME} of the Oracle Database being backed up.
*
* @return the value
*/
public String getDbUniqueName() {
return dbUniqueName;
}
/**
* The database software image
* [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm)
*/
@com.fasterxml.jackson.annotation.JsonProperty("databaseSoftwareImageId")
private final String databaseSoftwareImageId;
/**
* The database software image
* [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm)
*
* @return the value
*/
public String getDatabaseSoftwareImageId() {
return databaseSoftwareImageId;
}
/**
* The name of the pluggable database. The name must begin with an alphabetic character and can
* contain a maximum of thirty alphanumeric characters. Special characters are not permitted.
* Pluggable database should not be same as database name.
*/
@com.fasterxml.jackson.annotation.JsonProperty("pdbName")
private final String pdbName;
/**
* The name of the pluggable database. The name must begin with an alphabetic character and can
* contain a maximum of thirty alphanumeric characters. Special characters are not permitted.
* Pluggable database should not be same as database name.
*
* @return the value
*/
public String getPdbName() {
return pdbName;
}
/**
* A strong password for SYS, SYSTEM, and PDB Admin. The password must be at least nine
* characters and contain at least two uppercase, two lowercase, two numbers, and two special
* characters. The special characters must be _, \\#, or -.
*/
@com.fasterxml.jackson.annotation.JsonProperty("adminPassword")
private final String adminPassword;
/**
* A strong password for SYS, SYSTEM, and PDB Admin. The password must be at least nine
* characters and contain at least two uppercase, two lowercase, two numbers, and two special
* characters. The special characters must be _, \\#, or -.
*
* @return the value
*/
public String getAdminPassword() {
return adminPassword;
}
/**
* The optional password to open the TDE wallet. The password must be at least nine characters
* and contain at least two uppercase, two lowercase, two numeric, and two special characters.
* The special characters must be _, \\#, or -.
*/
@com.fasterxml.jackson.annotation.JsonProperty("tdeWalletPassword")
private final String tdeWalletPassword;
/**
* The optional password to open the TDE wallet. The password must be at least nine characters
* and contain at least two uppercase, two lowercase, two numeric, and two special characters.
* The special characters must be _, \\#, or -.
*
* @return the value
*/
public String getTdeWalletPassword() {
return tdeWalletPassword;
}
/**
* The character set for the database. The default is AL32UTF8. Allowed values are:
*
* AL32UTF8, AR8ADOS710, AR8ADOS720, AR8APTEC715, AR8ARABICMACS, AR8ASMO8X, AR8ISO8859P6,
* AR8MSWIN1256, AR8MUSSAD768, AR8NAFITHA711, AR8NAFITHA721, AR8SAKHR706, AR8SAKHR707,
* AZ8ISO8859P9E, BG8MSWIN, BG8PC437S, BLT8CP921, BLT8ISO8859P13, BLT8MSWIN1257, BLT8PC775,
* BN8BSCII, CDN8PC863, CEL8ISO8859P14, CL8ISO8859P5, CL8ISOIR111, CL8KOI8R, CL8KOI8U,
* CL8MACCYRILLICS, CL8MSWIN1251, EE8ISO8859P2, EE8MACCES, EE8MACCROATIANS, EE8MSWIN1250,
* EE8PC852, EL8DEC, EL8ISO8859P7, EL8MACGREEKS, EL8MSWIN1253, EL8PC437S, EL8PC851, EL8PC869,
* ET8MSWIN923, HU8ABMOD, HU8CWI2, IN8ISCII, IS8PC861, IW8ISO8859P8, IW8MACHEBREWS,
* IW8MSWIN1255, IW8PC1507, JA16EUC, JA16EUCTILDE, JA16SJIS, JA16SJISTILDE, JA16VMS,
* KO16KSC5601, KO16KSCCS, KO16MSWIN949, LA8ISO6937, LA8PASSPORT, LT8MSWIN921, LT8PC772,
* LT8PC774, LV8PC1117, LV8PC8LR, LV8RST104090, N8PC865, NE8ISO8859P10, NEE8ISO8859P4, RU8BESTA,
* RU8PC855, RU8PC866, SE8ISO8859P3, TH8MACTHAIS, TH8TISASCII, TR8DEC, TR8MACTURKISHS,
* TR8MSWIN1254, TR8PC857, US7ASCII, US8PC437, UTF8, VN8MSWIN1258, VN8VN3, WE8DEC, WE8DG,
* WE8ISO8859P1, WE8ISO8859P15, WE8ISO8859P9, WE8MACROMAN8S, WE8MSWIN1252, WE8NCR4970,
* WE8NEXTSTEP, WE8PC850, WE8PC858, WE8PC860, WE8ROMAN8, ZHS16CGB231280, ZHS16GBK, ZHT16BIG5,
* ZHT16CCDC, ZHT16DBT, ZHT16HKSCS, ZHT16MSWIN950, ZHT32EUC, ZHT32SOPS, ZHT32TRIS
*/
@com.fasterxml.jackson.annotation.JsonProperty("characterSet")
private final String characterSet;
/**
* The character set for the database. The default is AL32UTF8. Allowed values are:
*
*
AL32UTF8, AR8ADOS710, AR8ADOS720, AR8APTEC715, AR8ARABICMACS, AR8ASMO8X, AR8ISO8859P6,
* AR8MSWIN1256, AR8MUSSAD768, AR8NAFITHA711, AR8NAFITHA721, AR8SAKHR706, AR8SAKHR707,
* AZ8ISO8859P9E, BG8MSWIN, BG8PC437S, BLT8CP921, BLT8ISO8859P13, BLT8MSWIN1257, BLT8PC775,
* BN8BSCII, CDN8PC863, CEL8ISO8859P14, CL8ISO8859P5, CL8ISOIR111, CL8KOI8R, CL8KOI8U,
* CL8MACCYRILLICS, CL8MSWIN1251, EE8ISO8859P2, EE8MACCES, EE8MACCROATIANS, EE8MSWIN1250,
* EE8PC852, EL8DEC, EL8ISO8859P7, EL8MACGREEKS, EL8MSWIN1253, EL8PC437S, EL8PC851, EL8PC869,
* ET8MSWIN923, HU8ABMOD, HU8CWI2, IN8ISCII, IS8PC861, IW8ISO8859P8, IW8MACHEBREWS,
* IW8MSWIN1255, IW8PC1507, JA16EUC, JA16EUCTILDE, JA16SJIS, JA16SJISTILDE, JA16VMS,
* KO16KSC5601, KO16KSCCS, KO16MSWIN949, LA8ISO6937, LA8PASSPORT, LT8MSWIN921, LT8PC772,
* LT8PC774, LV8PC1117, LV8PC8LR, LV8RST104090, N8PC865, NE8ISO8859P10, NEE8ISO8859P4, RU8BESTA,
* RU8PC855, RU8PC866, SE8ISO8859P3, TH8MACTHAIS, TH8TISASCII, TR8DEC, TR8MACTURKISHS,
* TR8MSWIN1254, TR8PC857, US7ASCII, US8PC437, UTF8, VN8MSWIN1258, VN8VN3, WE8DEC, WE8DG,
* WE8ISO8859P1, WE8ISO8859P15, WE8ISO8859P9, WE8MACROMAN8S, WE8MSWIN1252, WE8NCR4970,
* WE8NEXTSTEP, WE8PC850, WE8PC858, WE8PC860, WE8ROMAN8, ZHS16CGB231280, ZHS16GBK, ZHT16BIG5,
* ZHT16CCDC, ZHT16DBT, ZHT16HKSCS, ZHT16MSWIN950, ZHT32EUC, ZHT32SOPS, ZHT32TRIS
*
* @return the value
*/
public String getCharacterSet() {
return characterSet;
}
/**
* The national character set for the database. The default is AL16UTF16. Allowed values are:
* AL16UTF16 or UTF8.
*/
@com.fasterxml.jackson.annotation.JsonProperty("ncharacterSet")
private final String ncharacterSet;
/**
* The national character set for the database. The default is AL16UTF16. Allowed values are:
* AL16UTF16 or UTF8.
*
* @return the value
*/
public String getNcharacterSet() {
return ncharacterSet;
}
/**
* **Deprecated.** The dbWorkload field has been deprecated for Exadata Database Service on
* Dedicated Infrastructure, Exadata Database Service on Cloud@Customer, and Base Database
* Service. Support for this attribute will end in November 2023. You may choose to update your
* custom scripts to exclude the dbWorkload attribute. After November 2023 if you pass a value
* to the dbWorkload attribute, it will be ignored.
*
*
The database workload type.
*/
public enum DbWorkload implements com.oracle.bmc.http.internal.BmcEnum {
Oltp("OLTP"),
Dss("DSS"),
;
private final String value;
private static java.util.Map map;
static {
map = new java.util.HashMap<>();
for (DbWorkload v : DbWorkload.values()) {
map.put(v.getValue(), v);
}
}
DbWorkload(String value) {
this.value = value;
}
@com.fasterxml.jackson.annotation.JsonValue
public String getValue() {
return value;
}
@com.fasterxml.jackson.annotation.JsonCreator
public static DbWorkload create(String key) {
if (map.containsKey(key)) {
return map.get(key);
}
throw new IllegalArgumentException("Invalid DbWorkload: " + key);
}
};
/**
* **Deprecated.** The dbWorkload field has been deprecated for Exadata Database Service on
* Dedicated Infrastructure, Exadata Database Service on Cloud@Customer, and Base Database
* Service. Support for this attribute will end in November 2023. You may choose to update your
* custom scripts to exclude the dbWorkload attribute. After November 2023 if you pass a value
* to the dbWorkload attribute, it will be ignored.
*
* The database workload type.
*/
@com.fasterxml.jackson.annotation.JsonProperty("dbWorkload")
private final DbWorkload dbWorkload;
/**
* **Deprecated.** The dbWorkload field has been deprecated for Exadata Database Service on
* Dedicated Infrastructure, Exadata Database Service on Cloud@Customer, and Base Database
* Service. Support for this attribute will end in November 2023. You may choose to update your
* custom scripts to exclude the dbWorkload attribute. After November 2023 if you pass a value
* to the dbWorkload attribute, it will be ignored.
*
*
The database workload type.
*
* @return the value
*/
public DbWorkload getDbWorkload() {
return dbWorkload;
}
@com.fasterxml.jackson.annotation.JsonProperty("dbBackupConfig")
private final DbBackupConfig dbBackupConfig;
public DbBackupConfig getDbBackupConfig() {
return dbBackupConfig;
}
/**
* Free-form tags for this resource. Each tag is a simple key-value pair with no predefined
* name, type, or namespace. For more information, see [Resource
* Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
*
*
Example: {@code {"Department": "Finance"}}
*/
@com.fasterxml.jackson.annotation.JsonProperty("freeformTags")
private final java.util.Map freeformTags;
/**
* Free-form tags for this resource. Each tag is a simple key-value pair with no predefined
* name, type, or namespace. For more information, see [Resource
* Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
*
* Example: {@code {"Department": "Finance"}}
*
* @return the value
*/
public java.util.Map getFreeformTags() {
return freeformTags;
}
/**
* Defined tags for this resource. Each key is predefined and scoped to a namespace. For more
* information, see [Resource
* Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
*/
@com.fasterxml.jackson.annotation.JsonProperty("definedTags")
private final java.util.Map> definedTags;
/**
* Defined tags for this resource. Each key is predefined and scoped to a namespace. For more
* information, see [Resource
* Tags](https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm).
*
* @return the value
*/
public java.util.Map> getDefinedTags() {
return definedTags;
}
/**
* The OCID of the key container that is used as the master encryption key in database
* transparent data encryption (TDE) operations.
*/
@com.fasterxml.jackson.annotation.JsonProperty("kmsKeyId")
private final String kmsKeyId;
/**
* The OCID of the key container that is used as the master encryption key in database
* transparent data encryption (TDE) operations.
*
* @return the value
*/
public String getKmsKeyId() {
return kmsKeyId;
}
/**
* The OCID of the key container version that is used in database transparent data encryption
* (TDE) operations KMS Key can have multiple key versions. If none is specified, the current
* key version (latest) of the Key Id is used for the operation. Autonomous Database Serverless
* does not use key versions, hence is not applicable for Autonomous Database Serverless
* instances.
*/
@com.fasterxml.jackson.annotation.JsonProperty("kmsKeyVersionId")
private final String kmsKeyVersionId;
/**
* The OCID of the key container version that is used in database transparent data encryption
* (TDE) operations KMS Key can have multiple key versions. If none is specified, the current
* key version (latest) of the Key Id is used for the operation. Autonomous Database Serverless
* does not use key versions, hence is not applicable for Autonomous Database Serverless
* instances.
*
* @return the value
*/
public String getKmsKeyVersionId() {
return kmsKeyVersionId;
}
/**
* The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
* Oracle Cloud Infrastructure
* [vault](https://docs.cloud.oracle.com/Content/KeyManagement/Concepts/keyoverview.htm#concepts).
* This parameter and {@code secretId} are required for Customer Managed Keys.
*/
@com.fasterxml.jackson.annotation.JsonProperty("vaultId")
private final String vaultId;
/**
* The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the
* Oracle Cloud Infrastructure
* [vault](https://docs.cloud.oracle.com/Content/KeyManagement/Concepts/keyoverview.htm#concepts).
* This parameter and {@code secretId} are required for Customer Managed Keys.
*
* @return the value
*/
public String getVaultId() {
return vaultId;
}
/** Specifies a prefix for the {@code Oracle SID} of the database to be created. */
@com.fasterxml.jackson.annotation.JsonProperty("sidPrefix")
private final String sidPrefix;
/**
* Specifies a prefix for the {@code Oracle SID} of the database to be created.
*
* @return the value
*/
public String getSidPrefix() {
return sidPrefix;
}
/**
* The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the key
* store of Oracle Vault.
*/
@com.fasterxml.jackson.annotation.JsonProperty("keyStoreId")
private final String keyStoreId;
/**
* The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the key
* store of Oracle Vault.
*
* @return the value
*/
public String getKeyStoreId() {
return keyStoreId;
}
@Override
public String toString() {
return this.toString(true);
}
/**
* Return a string representation of the object.
*
* @param includeByteArrayContents true to include the full contents of byte arrays
* @return string representation
*/
public String toString(boolean includeByteArrayContents) {
java.lang.StringBuilder sb = new java.lang.StringBuilder();
sb.append("CreateDatabaseDetails(");
sb.append("super=").append(super.toString());
sb.append("dbName=").append(String.valueOf(this.dbName));
sb.append(", dbUniqueName=").append(String.valueOf(this.dbUniqueName));
sb.append(", databaseSoftwareImageId=")
.append(String.valueOf(this.databaseSoftwareImageId));
sb.append(", pdbName=").append(String.valueOf(this.pdbName));
sb.append(", adminPassword=").append(String.valueOf(this.adminPassword));
sb.append(", tdeWalletPassword=").append("");
sb.append(", characterSet=").append(String.valueOf(this.characterSet));
sb.append(", ncharacterSet=").append(String.valueOf(this.ncharacterSet));
sb.append(", dbWorkload=").append(String.valueOf(this.dbWorkload));
sb.append(", dbBackupConfig=").append(String.valueOf(this.dbBackupConfig));
sb.append(", freeformTags=").append(String.valueOf(this.freeformTags));
sb.append(", definedTags=").append(String.valueOf(this.definedTags));
sb.append(", kmsKeyId=").append(String.valueOf(this.kmsKeyId));
sb.append(", kmsKeyVersionId=").append(String.valueOf(this.kmsKeyVersionId));
sb.append(", vaultId=").append(String.valueOf(this.vaultId));
sb.append(", sidPrefix=").append(String.valueOf(this.sidPrefix));
sb.append(", keyStoreId=").append(String.valueOf(this.keyStoreId));
sb.append(")");
return sb.toString();
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (!(o instanceof CreateDatabaseDetails)) {
return false;
}
CreateDatabaseDetails other = (CreateDatabaseDetails) o;
return java.util.Objects.equals(this.dbName, other.dbName)
&& java.util.Objects.equals(this.dbUniqueName, other.dbUniqueName)
&& java.util.Objects.equals(
this.databaseSoftwareImageId, other.databaseSoftwareImageId)
&& java.util.Objects.equals(this.pdbName, other.pdbName)
&& java.util.Objects.equals(this.adminPassword, other.adminPassword)
&& java.util.Objects.equals(this.tdeWalletPassword, other.tdeWalletPassword)
&& java.util.Objects.equals(this.characterSet, other.characterSet)
&& java.util.Objects.equals(this.ncharacterSet, other.ncharacterSet)
&& java.util.Objects.equals(this.dbWorkload, other.dbWorkload)
&& java.util.Objects.equals(this.dbBackupConfig, other.dbBackupConfig)
&& java.util.Objects.equals(this.freeformTags, other.freeformTags)
&& java.util.Objects.equals(this.definedTags, other.definedTags)
&& java.util.Objects.equals(this.kmsKeyId, other.kmsKeyId)
&& java.util.Objects.equals(this.kmsKeyVersionId, other.kmsKeyVersionId)
&& java.util.Objects.equals(this.vaultId, other.vaultId)
&& java.util.Objects.equals(this.sidPrefix, other.sidPrefix)
&& java.util.Objects.equals(this.keyStoreId, other.keyStoreId)
&& super.equals(other);
}
@Override
public int hashCode() {
final int PRIME = 59;
int result = 1;
result = (result * PRIME) + (this.dbName == null ? 43 : this.dbName.hashCode());
result = (result * PRIME) + (this.dbUniqueName == null ? 43 : this.dbUniqueName.hashCode());
result =
(result * PRIME)
+ (this.databaseSoftwareImageId == null
? 43
: this.databaseSoftwareImageId.hashCode());
result = (result * PRIME) + (this.pdbName == null ? 43 : this.pdbName.hashCode());
result =
(result * PRIME)
+ (this.adminPassword == null ? 43 : this.adminPassword.hashCode());
result =
(result * PRIME)
+ (this.tdeWalletPassword == null ? 43 : this.tdeWalletPassword.hashCode());
result = (result * PRIME) + (this.characterSet == null ? 43 : this.characterSet.hashCode());
result =
(result * PRIME)
+ (this.ncharacterSet == null ? 43 : this.ncharacterSet.hashCode());
result = (result * PRIME) + (this.dbWorkload == null ? 43 : this.dbWorkload.hashCode());
result =
(result * PRIME)
+ (this.dbBackupConfig == null ? 43 : this.dbBackupConfig.hashCode());
result = (result * PRIME) + (this.freeformTags == null ? 43 : this.freeformTags.hashCode());
result = (result * PRIME) + (this.definedTags == null ? 43 : this.definedTags.hashCode());
result = (result * PRIME) + (this.kmsKeyId == null ? 43 : this.kmsKeyId.hashCode());
result =
(result * PRIME)
+ (this.kmsKeyVersionId == null ? 43 : this.kmsKeyVersionId.hashCode());
result = (result * PRIME) + (this.vaultId == null ? 43 : this.vaultId.hashCode());
result = (result * PRIME) + (this.sidPrefix == null ? 43 : this.sidPrefix.hashCode());
result = (result * PRIME) + (this.keyStoreId == null ? 43 : this.keyStoreId.hashCode());
result = (result * PRIME) + super.hashCode();
return result;
}
}