import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * This data source provides details about a specific Configuration resource in Oracle Cloud Infrastructure Psql service.
 *
 * Gets a configuration by identifier.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testConfiguration = oci.psql.getConfiguration({
 *     configurationId: testConfigurationOciPsqlConfiguration.id,
 * });
 * ```
 */
export declare function getConfiguration(args: GetConfigurationArgs, opts?: pulumi.InvokeOptions): Promise<GetConfigurationResult>;
/**
 * A collection of arguments for invoking getConfiguration.
 */
export interface GetConfigurationArgs {
    /**
     * A unique identifier for the configuration.
     */
    configurationId: string;
}
/**
 * A collection of values returned by getConfiguration.
 */
export interface GetConfigurationResult {
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment that contains the configuration.
     */
    readonly compartmentId: string;
    /**
     * Indicates the collection of compatible shapes for this configuration.
     */
    readonly compatibleShapes: string[];
    /**
     * The type of configuration. Either user-created or a default configuration.
     */
    readonly configType: string;
    /**
     * List of configuration details.
     */
    readonly configurationDetails: outputs.Psql.GetConfigurationConfigurationDetail[];
    readonly configurationId: string;
    readonly dbConfigurationOverrides: outputs.Psql.GetConfigurationDbConfigurationOverride[];
    /**
     * Version of the PostgreSQL database.
     */
    readonly dbVersion: string;
    /**
     * The Default configuration used for this configuration.
     */
    readonly defaultConfigId: string;
    /**
     * Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}`
     */
    readonly definedTags: {
        [key: string]: string;
    };
    /**
     * A description for the configuration.
     */
    readonly description: string;
    /**
     * A user-friendly display name for the configuration. Avoid entering confidential information.
     */
    readonly displayName: string;
    /**
     * Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}`
     */
    readonly freeformTags: {
        [key: string]: string;
    };
    /**
     * A unique identifier for the configuration. Immutable on creation.
     */
    readonly id: string;
    /**
     * Memory size in gigabytes with 1GB increment.
     */
    readonly instanceMemorySizeInGbs: number;
    /**
     * CPU core count.
     */
    readonly instanceOcpuCount: number;
    /**
     * Whether the configuration supports flexible shapes.
     */
    readonly isFlexible: boolean;
    /**
     * A message describing the current state in more detail. For example, can be used to provide actionable information for a resource in Failed state.
     */
    readonly lifecycleDetails: string;
    /**
     * The name of the shape for the configuration.
     */
    readonly shape: string;
    /**
     * The current state of the configuration.
     */
    readonly state: string;
    /**
     * System tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"orcl-cloud.free-tier-retained": "true"}`
     */
    readonly systemTags: {
        [key: string]: string;
    };
    /**
     * The date and time that the configuration was created, expressed in [RFC 3339](https://tools.ietf.org/rfc/rfc3339) timestamp format.  Example: `2016-08-25T21:10:29.600Z`
     */
    readonly timeCreated: string;
}
/**
 * This data source provides details about a specific Configuration resource in Oracle Cloud Infrastructure Psql service.
 *
 * Gets a configuration by identifier.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testConfiguration = oci.psql.getConfiguration({
 *     configurationId: testConfigurationOciPsqlConfiguration.id,
 * });
 * ```
 */
export declare function getConfigurationOutput(args: GetConfigurationOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetConfigurationResult>;
/**
 * A collection of arguments for invoking getConfiguration.
 */
export interface GetConfigurationOutputArgs {
    /**
     * A unique identifier for the configuration.
     */
    configurationId: pulumi.Input<string>;
}
//# sourceMappingURL=getConfiguration.d.ts.map