import * as pulumi from "@pulumi/pulumi";
/**
 * This data source provides details about a specific Connection resource in Oracle Cloud Infrastructure Data Catalog service.
 *
 * Gets a specific data asset connection by key.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testConnection = oci.datacatalog.getConnection({
 *     catalogId: testCatalog.id,
 *     connectionKey: connectionConnectionKey,
 *     dataAssetKey: connectionDataAssetKey,
 *     fields: connectionFields,
 * });
 * ```
 */
export declare function getConnection(args: GetConnectionArgs, opts?: pulumi.InvokeOptions): Promise<GetConnectionResult>;
/**
 * A collection of arguments for invoking getConnection.
 */
export interface GetConnectionArgs {
    /**
     * Unique catalog identifier.
     */
    catalogId: string;
    /**
     * Unique connection key.
     */
    connectionKey: string;
    /**
     * Unique data asset key.
     */
    dataAssetKey: string;
    /**
     * Specifies the fields to return in a connection response.
     */
    fields?: string[];
}
/**
 * A collection of values returned by getConnection.
 */
export interface GetConnectionResult {
    readonly catalogId: string;
    readonly connectionKey: string;
    /**
     * OCID of the user who created the connection.
     */
    readonly createdById: string;
    /**
     * Unique key of the parent data asset.
     */
    readonly dataAssetKey: string;
    /**
     * A description of the connection.
     */
    readonly description: string;
    /**
     * A user-friendly display name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
     */
    readonly displayName: string;
    readonly encProperties: {
        [key: string]: string;
    };
    /**
     * Unique external key of this object from the source system.
     */
    readonly externalKey: string;
    readonly fields?: string[];
    readonly id: string;
    /**
     * Indicates whether this connection is the default connection.
     */
    readonly isDefault: boolean;
    /**
     * Unique connection key that is immutable.
     */
    readonly key: string;
    /**
     * A map of maps that contains the properties which are specific to the connection type. Each connection type definition defines it's set of required and optional properties. The map keys are category names and the values are maps of property name to property value. Every property is contained inside of a category. Most connections have required properties within the "default" category. Example: `{"properties": { "default": { "username": "user1"}}}`
     */
    readonly properties: {
        [key: string]: string;
    };
    /**
     * The current state of the connection.
     */
    readonly state: string;
    /**
     * The date and time the connection was created, in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339). Example: `2019-03-25T21:10:29.600Z`
     */
    readonly timeCreated: string;
    /**
     * Time that the connections status was last updated. An [RFC3339](https://tools.ietf.org/html/rfc3339) formatted datetime string.
     */
    readonly timeStatusUpdated: string;
    /**
     * The last time that any change was made to the connection. An [RFC3339](https://tools.ietf.org/html/rfc3339) formatted datetime string.
     */
    readonly timeUpdated: string;
    /**
     * The key of the object type. Type key's can be found via the '/types' endpoint.
     */
    readonly typeKey: string;
    /**
     * OCID of the user who modified the connection.
     */
    readonly updatedById: string;
    /**
     * URI to the connection instance in the API.
     */
    readonly uri: string;
}
/**
 * This data source provides details about a specific Connection resource in Oracle Cloud Infrastructure Data Catalog service.
 *
 * Gets a specific data asset connection by key.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testConnection = oci.datacatalog.getConnection({
 *     catalogId: testCatalog.id,
 *     connectionKey: connectionConnectionKey,
 *     dataAssetKey: connectionDataAssetKey,
 *     fields: connectionFields,
 * });
 * ```
 */
export declare function getConnectionOutput(args: GetConnectionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetConnectionResult>;
/**
 * A collection of arguments for invoking getConnection.
 */
export interface GetConnectionOutputArgs {
    /**
     * Unique catalog identifier.
     */
    catalogId: pulumi.Input<string>;
    /**
     * Unique connection key.
     */
    connectionKey: pulumi.Input<string>;
    /**
     * Unique data asset key.
     */
    dataAssetKey: pulumi.Input<string>;
    /**
     * Specifies the fields to return in a connection response.
     */
    fields?: pulumi.Input<pulumi.Input<string>[] | undefined>;
}
//# sourceMappingURL=getConnection.d.ts.map