import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * This resource provides the Target Database Peer Target Database resource in Oracle Cloud Infrastructure Data Safe service.
 * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/data-safe/latest/TargetDatabasePeerTargetDatabase
 *
 * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/datasafe
 *
 * Creates the peer target database under the primary target database in Data Safe.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testTargetDatabasePeerTargetDatabase = new oci.datasafe.TargetDatabasePeerTargetDatabase("test_target_database_peer_target_database", {
 *     databaseDetails: {
 *         databaseType: targetDatabasePeerTargetDatabaseDatabaseDetailsDatabaseType,
 *         infrastructureType: targetDatabasePeerTargetDatabaseDatabaseDetailsInfrastructureType,
 *         autonomousDatabaseId: testAutonomousDatabase.id,
 *         dbSystemId: testDbSystem.id,
 *         instanceId: testInstance.id,
 *         ipAddresses: targetDatabasePeerTargetDatabaseDatabaseDetailsIpAddresses,
 *         listenerPort: Number(targetDatabasePeerTargetDatabaseDatabaseDetailsListenerPort),
 *         pluggableDatabaseId: testPluggableDatabase.id,
 *         serviceName: testService.name,
 *         vmClusterId: testVmCluster.id,
 *     },
 *     targetDatabaseId: testTargetDatabase.id,
 *     dataguardAssociationId: testAssociation.id,
 *     description: targetDatabasePeerTargetDatabaseDescription,
 *     displayName: targetDatabasePeerTargetDatabaseDisplayName,
 *     tlsConfig: {
 *         status: targetDatabasePeerTargetDatabaseTlsConfigStatus,
 *         certificateStoreType: targetDatabasePeerTargetDatabaseTlsConfigCertificateStoreType,
 *         keyStoreContent: targetDatabasePeerTargetDatabaseTlsConfigKeyStoreContent,
 *         storePassword: targetDatabasePeerTargetDatabaseTlsConfigStorePassword,
 *         trustStoreContent: targetDatabasePeerTargetDatabaseTlsConfigTrustStoreContent,
 *     },
 * });
 * ```
 *
 * ## Import
 *
 * TargetDatabasePeerTargetDatabases can be imported using the `id`, e.g.
 *
 * ```sh
 * $ pulumi import oci:DataSafe/targetDatabasePeerTargetDatabase:TargetDatabasePeerTargetDatabase test_target_database_peer_target_database "targetDatabases/{targetDatabaseId}/peerTargetDatabases/{peerTargetDatabaseId}"
 * ```
 */
export declare class TargetDatabasePeerTargetDatabase extends pulumi.CustomResource {
    /**
     * Get an existing TargetDatabasePeerTargetDatabase resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param state Any extra arguments used during the lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, state?: TargetDatabasePeerTargetDatabaseState, opts?: pulumi.CustomResourceOptions): TargetDatabasePeerTargetDatabase;
    /**
     * Returns true if the given object is an instance of TargetDatabasePeerTargetDatabase.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is TargetDatabasePeerTargetDatabase;
    /**
     * (Updatable) Details of the database for the registration in Data Safe.
     */
    readonly databaseDetails: pulumi.Output<outputs.DataSafe.TargetDatabasePeerTargetDatabaseDatabaseDetails>;
    /**
     * Unique name of the database associated to the peer target database.
     */
    readonly databaseUniqueName: pulumi.Output<string>;
    /**
     * The OCID of the Data Guard Association resource in which the database being registered is considered as peer database to the primary database.
     */
    readonly dataguardAssociationId: pulumi.Output<string>;
    /**
     * (Updatable) The description of the peer target database in Data Safe.
     */
    readonly description: pulumi.Output<string>;
    /**
     * (Updatable) The display name of the peer target database in Data Safe. The name is modifiable and does not need to be unique.
     */
    readonly displayName: pulumi.Output<string>;
    /**
     * The secondary key assigned for the peer target database in Data Safe.
     */
    readonly key: pulumi.Output<number>;
    /**
     * Details about the current state of the peer target database in Data Safe.
     */
    readonly lifecycleDetails: pulumi.Output<string>;
    /**
     * Role of the database associated to the peer target database.
     */
    readonly role: pulumi.Output<string>;
    /**
     * The current state of the peer target database in Data Safe.
     */
    readonly state: pulumi.Output<string>;
    /**
     * The OCID of the Data Safe target database.
     */
    readonly targetDatabaseId: pulumi.Output<string>;
    /**
     * The date and time of the peer target database registration in Data Safe.
     */
    readonly timeCreated: pulumi.Output<string>;
    /**
     * (Updatable) The details required to establish a TLS enabled connection.
     */
    readonly tlsConfig: pulumi.Output<outputs.DataSafe.TargetDatabasePeerTargetDatabaseTlsConfig>;
    /**
     * Create a TargetDatabasePeerTargetDatabase resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args: TargetDatabasePeerTargetDatabaseArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering TargetDatabasePeerTargetDatabase resources.
 */
export interface TargetDatabasePeerTargetDatabaseState {
    /**
     * (Updatable) Details of the database for the registration in Data Safe.
     */
    databaseDetails?: pulumi.Input<inputs.DataSafe.TargetDatabasePeerTargetDatabaseDatabaseDetails | undefined>;
    /**
     * Unique name of the database associated to the peer target database.
     */
    databaseUniqueName?: pulumi.Input<string | undefined>;
    /**
     * The OCID of the Data Guard Association resource in which the database being registered is considered as peer database to the primary database.
     */
    dataguardAssociationId?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) The description of the peer target database in Data Safe.
     */
    description?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) The display name of the peer target database in Data Safe. The name is modifiable and does not need to be unique.
     */
    displayName?: pulumi.Input<string | undefined>;
    /**
     * The secondary key assigned for the peer target database in Data Safe.
     */
    key?: pulumi.Input<number | undefined>;
    /**
     * Details about the current state of the peer target database in Data Safe.
     */
    lifecycleDetails?: pulumi.Input<string | undefined>;
    /**
     * Role of the database associated to the peer target database.
     */
    role?: pulumi.Input<string | undefined>;
    /**
     * The current state of the peer target database in Data Safe.
     */
    state?: pulumi.Input<string | undefined>;
    /**
     * The OCID of the Data Safe target database.
     */
    targetDatabaseId?: pulumi.Input<string | undefined>;
    /**
     * The date and time of the peer target database registration in Data Safe.
     */
    timeCreated?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) The details required to establish a TLS enabled connection.
     */
    tlsConfig?: pulumi.Input<inputs.DataSafe.TargetDatabasePeerTargetDatabaseTlsConfig | undefined>;
}
/**
 * The set of arguments for constructing a TargetDatabasePeerTargetDatabase resource.
 */
export interface TargetDatabasePeerTargetDatabaseArgs {
    /**
     * (Updatable) Details of the database for the registration in Data Safe.
     */
    databaseDetails: pulumi.Input<inputs.DataSafe.TargetDatabasePeerTargetDatabaseDatabaseDetails>;
    /**
     * The OCID of the Data Guard Association resource in which the database being registered is considered as peer database to the primary database.
     */
    dataguardAssociationId?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) The description of the peer target database in Data Safe.
     */
    description?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) The display name of the peer target database in Data Safe. The name is modifiable and does not need to be unique.
     */
    displayName?: pulumi.Input<string | undefined>;
    /**
     * The OCID of the Data Safe target database.
     */
    targetDatabaseId: pulumi.Input<string>;
    /**
     * (Updatable) The details required to establish a TLS enabled connection.
     */
    tlsConfig?: pulumi.Input<inputs.DataSafe.TargetDatabasePeerTargetDatabaseTlsConfig | undefined>;
}
//# sourceMappingURL=targetDatabasePeerTargetDatabase.d.ts.map