// This is an automatically generated code sample.
// To make this code sample work in your Oracle Cloud tenancy,
// please replace the values for any parameters whose current values do not fit
// your use case (such as resource IDs, strings containing ‘EXAMPLE’ or ‘unique_id’, and
// boolean, number, and enum parameters with values not fitting your use case).
import * as distributeddatabase from "oci-distributeddatabase";
import common = require("oci-common");
// Create a default authentication provider that uses the DEFAULT
// profile in the configuration file.
// Refer to <see href="https://docs.cloud.oracle.com/en-us/iaas/Content/API/Concepts/sdkconfig.htm#SDK_and_CLI_Configuration_File>the public documentation</see> on how to prepare a configuration file.
const provider: common.ConfigFileAuthenticationDetailsProvider = new common.ConfigFileAuthenticationDetailsProvider();
(async () => {
try {
// Create a service client
const client = new distributeddatabase.DistributedDbServiceClient({ authenticationDetailsProvider: provider });
// Create a request and dependent object(s).
const createDistributedDatabaseDetails = {
compartmentId: "ocid1.test.oc1..<unique_ID>EXAMPLE-compartmentId-Value",
displayName: "EXAMPLE-displayName-Value",
databaseVersion: "EXAMPLE-databaseVersion-Value",
prefix: "B9P",
privateEndpointIds: ["EXAMPLE--Value" ],
shardingMethod: distributeddatabase.models.CreateDistributedDatabaseDetails.ShardingMethod.User,
characterSet: "EXAMPLE-characterSet-Value",
ncharacterSet: "EXAMPLE-ncharacterSet-Value",
chunks: 483,
listenerPort: 14552,
listenerPortTls: 38095,
onsPortLocal: 2700,
onsPortRemote: 63681,
scanListenerPort: 3360,
replicationMethod: distributeddatabase.models.CreateDistributedDatabaseDetails.ReplicationMethod.Dg,
replicationFactor: 6,
replicationUnit: 729,
dbDeploymentType: distributeddatabase.models.CreateDistributedDatabaseDetails.DbDeploymentType.ExadbXs,
shardDetails: [{
source: "NEW_VAULT_AND_CLUSTER", adminPassword: "EXAMPLE-adminPassword-Value",
peerDetails: [{
protectionMode: distributeddatabase.models.DistributedDbProtectionMode.MaximumAvailability,
transportType: distributeddatabase.models.DistributedDbTransportType.Fastsync,
availabilityDomain: "EXAMPLE-availabilityDomain-Value",
}
],
shardSpace: "EXAMPLE-shardSpace-Value",
vaultId: "ocid1.test.oc1..<unique_ID>EXAMPLE-vaultId-Value",
kmsKeyId: "ocid1.test.oc1..<unique_ID>EXAMPLE-kmsKeyId-Value",
kmsKeyVersionId: "ocid1.test.oc1..<unique_ID>EXAMPLE-kmsKeyVersionId-Value",
availabilityDomain: "EXAMPLE-availabilityDomain-Value",
dbStorageVaultDetails: {
highCapacityDatabaseStorage: 536,
additionalFlashCacheInPercent: 129,
}
,
vmClusterDetails: {
subnetId: "ocid1.test.oc1..<unique_ID>EXAMPLE-subnetId-Value",
backupSubnetId: "ocid1.test.oc1..<unique_ID>EXAMPLE-backupSubnetId-Value",
enabledECpuCount: 64,
totalECpuCount: 790,
vmFileSystemStorageSize: 494,
sshPublicKeys: ["EXAMPLE--Value" ],
licenseModel: distributeddatabase.models.VmClusterDetails.LicenseModel.BringYourOwnLicense,
domain: "EXAMPLE-domain-Value",
privateZoneId: "ocid1.test.oc1..<unique_ID>EXAMPLE-privateZoneId-Value",
isDiagnosticsEventsEnabled: true,
isHealthMonitoringEnabled: false,
isIncidentLogsEnabled: true,
nsgIds: ["EXAMPLE--Value" ],
backupNetworkNsgIds: ["EXAMPLE--Value" ],
}
}
],
catalogDetails: [{
source: "EXADB_XS", vmClusterId: "ocid1.test.oc1..<unique_ID>EXAMPLE-vmClusterId-Value",
adminPassword: "EXAMPLE-adminPassword-Value",
peerVmClusterIds: ["EXAMPLE--Value" ],
peerDetails: [{
vmClusterId: "ocid1.test.oc1..<unique_ID>EXAMPLE-vmClusterId-Value",
protectionMode: distributeddatabase.models.DistributedDbProtectionMode.MaximumProtection,
transportType: distributeddatabase.models.DistributedDbTransportType.Sync,
}
],
shardSpace: "EXAMPLE-shardSpace-Value",
vaultId: "ocid1.test.oc1..<unique_ID>EXAMPLE-vaultId-Value",
kmsKeyId: "ocid1.test.oc1..<unique_ID>EXAMPLE-kmsKeyId-Value",
kmsKeyVersionId: "ocid1.test.oc1..<unique_ID>EXAMPLE-kmsKeyVersionId-Value"
}
],
gsmSshPublicKey: "EXAMPLE-gsmSshPublicKey-Value",
dbBackupConfig: {
isAutoBackupEnabled: false,
recoveryWindowInDays: 42,
autoBackupWindow: distributeddatabase.models.DistributedDbBackupConfig.AutoBackupWindow.SlotSix,
autoFullBackupWindow: distributeddatabase.models.DistributedDbBackupConfig.AutoFullBackupWindow.SlotTwelve,
autoFullBackupDay: distributeddatabase.models.DistributedDbBackupConfig.AutoFullBackupDay.Monday,
canRunImmediateFullBackup: true,
isRemoteBackupEnabled: false,
remoteRegion: "EXAMPLE-remoteRegion-Value",
backupDestinationDetails: [{
type: distributeddatabase.models.DistributedDbBackupDestination.Type.ObjectStore,
id: "ocid1.test.oc1..<unique_ID>EXAMPLE-id-Value",
vpcUser: "EXAMPLE-vpcUser-Value",
vpcPassword: "EXAMPLE-vpcPassword-Value",
isZeroDataLossEnabled: true,
internetProxy: "EXAMPLE-internetProxy-Value",
dbrsPolicyId: "ocid1.test.oc1..<unique_ID>EXAMPLE-dbrsPolicyId-Value",
isRemote: true,
remoteRegion: "EXAMPLE-remoteRegion-Value",
}
],
backupDeletionPolicy: distributeddatabase.models.DistributedDbBackupConfig.BackupDeletionPolicy.DeleteAfterRetentionPeriod,
}
,
freeformTags: {
EXAMPLE_KEY_YkSyf :"EXAMPLE_VALUE_emoXHDvDBDOApkyZNsDl"
},
definedTags: {
EXAMPLE_KEY_k8CE6 :{
EXAMPLE_KEY_QBi8k :"EXAMPLE--Value"
}
},
}
const createDistributedDatabaseRequest: distributeddatabase.requests.CreateDistributedDatabaseRequest = {
createDistributedDatabaseDetails: createDistributedDatabaseDetails,
opcRetryToken: "EXAMPLE-opcRetryToken-Value",
opcRequestId: "ZLLP5RGEZDQUBLTBUQRT<unique_ID>",
};
// Send request to the Client.
const createDistributedDatabaseResponse = await client.createDistributedDatabase(createDistributedDatabaseRequest);
}
catch (error) {
console.log("createDistributedDatabase Failed with error " + error);
}
})();