/**
 * Database Service API
 * The API for the Database Service. Use this API to manage resources such as databases and DB Systems. For more information, see [Overview of the Database Service](/iaas/Content/Database/Concepts/databaseoverview.htm).

 * OpenAPI spec version: 20160918
 * Contact: sic_dbaas_cp_us_grp@oracle.com
 *
 * NOTE: This class is auto generated by OracleSDKGenerator.
 * Do not edit the class manually.
 *
 * Copyright (c) 2020, 2022, 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.
 */ import * as model from "../model" ; import common = require ( "oci-common" ) ; /**
 * Details for creating a database by restoring from a source database system.
 * <p>
 **Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API.
 *
 */ export interface CreateDatabaseFromDbSystemDetails { /**
     * A strong password for SYS, SYSTEM, PDB Admin and TDE Wallet. 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 -.
     */ "adminPassword" : string ; /**
     * The display name of the database to be created from the backup. It must begin with an alphabetic character and can contain a maximum of eight alphanumeric characters. Special characters are not permitted.
     */ "dbName" ? : string ; /**
     * The database domain. In a distributed database system, DB_DOMAIN specifies the logical location of the database within the network structure.
     */ "dbDomain" ? : string ; /**
     * The `DB_UNIQUE_NAME` of the Oracle Database.
     */ "dbUniqueName" ? : string ; "dbBackupConfig" ? : model . 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).
  * <p>
  Example: `{\"Department\": \"Finance\"}`
  *
      */ "freeformTags" ? : { [ key ] : string ; } ; /**
     * 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).
     *
     */ "definedTags" ? : { [ key ] : { [ key ] : any ; } ; } ; } export namespace CreateDatabaseFromDbSystemDetails { export function getJsonObj ( obj ) { const jsonObj = { ... obj , ... { "dbBackupConfig" : obj . dbBackupConfig ? model . DbBackupConfig . getJsonObj ( obj . dbBackupConfig ) : undefined } } ; return jsonObj ; } export function getDeserializedJsonObj ( obj ) { const jsonObj = { ... obj , ... { "dbBackupConfig" : obj . dbBackupConfig ? model . DbBackupConfig . getDeserializedJsonObj ( obj . dbBackupConfig ) : undefined } } ; return jsonObj ; } }