/**
 * 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" ) ; /**
* Connection strings to connect to an Oracle Autonomous Database.
* <p>
Example output for connection strings. See  {@link #databaseConnectionStringProfile(DatabaseConnectionStringProfileRequest) databaseConnectionStringProfile} for additional details:
* <p>
\t\t\"connectionStrings\": {
*         \"allConnectionStrings\": {
*           \"HIGH\": \"adb.region.oraclecloud.com:1522/unique_id_databasename_high.adwc.oraclecloud.com\",
*           \"LOW\": \"adb.region.oraclecloud.com:1522/unique_id_databasename_low.adwc.oraclecloud.com\",
*           \"MEDIUM\": \"adb.region.oraclecloud.com:1522/unique_id_databasename_medium.adwc.oraclecloud.com\"
*         },
*         \"profiles\": [
*           {
*             \"displayName\": \"databasename_high\",
*             \"value\": \"(description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.region.oraclecloud.com))(connect_data=(service_name=unique_id_databasename_high.adwc.oraclecloud.com))(security=(ssl_server_cert_dn=\"CN=adwc.uscom-east-1.oraclecloud.com,OU=Oracle BMCS US,O=Oracle Corporation,L=Redwood City,ST=California,C=US\")))\",
*             \"consumerGroup\": \"HIGH\",
*             \"protocol\": \"TCPS\",
*             \"tlsAuthentication\": \"MUTUAL\",
*             \"hostFormat\": \"FQDN\",
*             \"sessionMode\": \"DIRECT\",
*             \"syntaxFormat\": \"LONG\"
*           },
*           {
*             \"displayName\": \"databasename_low\",
*             \"value\": \"(description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.region.oraclecloud.com))(connect_data=(service_name=unique_id_databasename_low.adwc.oraclecloud.com))(security=(ssl_server_cert_dn=\"CN=adwc.uscom-east-1.oraclecloud.com,OU=Oracle BMCS US,O=Oracle Corporation,L=Redwood City,ST=California,C=US\")))\",
*             \"consumerGroup\": \"LOW\",
*             \"protocol\": \"TCPS\",
*             \"tlsAuthentication\": \"MUTUAL\",
*             \"hostFormat\": \"FQDN\",
*             \"sessionMode\": \"DIRECT\",
*             \"syntaxFormat\": \"LONG\"
*           },
*           {
*             \"displayName\": \"databasename_medium\",
*             \"value\": \"(description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.region.oraclecloud.com))(connect_data=(service_name=unique_id_databasename_medium.adwc.oraclecloud.com))(security=(ssl_server_cert_dn=\"CN=adwc.uscom-east-1.oraclecloud.com,OU=Oracle BMCS US,O=Oracle Corporation,L=Redwood City,ST=California,C=US\")))\",
*             \"consumerGroup\": \"MEDIUM\",
*             \"protocol\": \"TCPS\",
*             \"tlsAuthentication\": \"MUTUAL\",
*             \"hostFormat\": \"FQDN\",
*             \"sessionMode\": \"DIRECT\",
*             \"syntaxFormat\": \"LONG\"
*           }
*         ],
*         \"dedicated\": null,
*         \"high\": \"adb.region.oraclecloud.com:1522/unique_id_databasename_high.adwc.oraclecloud.com\",
*         \"low\": \"adb.region.oraclecloud.com:1522/unique_id_databasename_low.adwc.oraclecloud.com\",
*         \"medium\": \"adb.region.oraclecloud.com:1522/unique_id_databasename_medium.adwc.oraclecloud.com\"
*       }
*
 export interface AutonomousDatabaseConnectionStrings { /**
     * The High database service provides the highest level of resources to each SQL statement resulting in the highest performance, but supports the fewest number of concurrent SQL statements.
     */ "high" ? : string ; /**
     * The Medium database service provides a lower level of resources to each SQL statement potentially resulting a lower level of performance, but supports more concurrent SQL statements.
     */ "medium" ? : string ; /**
     * The Low database service provides the least level of resources to each SQL statement, but supports the most number of concurrent SQL statements.
     */ "low" ? : string ; /**
     * The database service provides the least level of resources to each SQL statement, but supports the most number of concurrent SQL statements.
     */ "dedicated" ? : string ; /**
     * Returns all connection strings that can be used to connect to the Autonomous Database.
     * For more information, please see [Predefined Database Service Names for Autonomous Transaction Processing](https://docs.oracle.com/en/cloud/paas/atp-cloud/atpug/connect-predefined.html#GUID-9747539B-FD46-44F1-8FF8-F5AC650F15BE)
     *
     */ "allConnectionStrings" ? : { [ key ] : string ; } ; /**
     * A list of connection string profiles to allow clients to group, filter and select connection string values based on structured metadata.
     *
     */ "profiles" ? : Array < model . DatabaseConnectionStringProfile > ; } export namespace AutonomousDatabaseConnectionStrings { export function getJsonObj ( obj ) { const jsonObj = { ... obj , ... { "profiles" : obj . profiles ? obj . profiles . map ( item => { return model . DatabaseConnectionStringProfile . getJsonObj ( item ) ; } ) : undefined } } ; return jsonObj ; } export function getDeserializedJsonObj ( obj ) { const jsonObj = { ... obj , ... { "profiles" : obj . profiles ? obj . profiles . map ( item => { return model . DatabaseConnectionStringProfile . getDeserializedJsonObj ( item ) ; } ) : undefined } } ; return jsonObj ; } }