import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * This data source provides details about a specific Opsi Configuration resource in Oracle Cloud Infrastructure Opsi service.
 *
 * Gets details of an OPSI configuration resource.
 * Values specified in configItemField and configItemCustomStatus query params will be considered, only if configItems field is requested as part of opsiConfigField query param.
 * Values specified in configItemCustomStatus will determine whether only customized configuration items or only non-customized configuration items or both have to be returned.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testOpsiConfiguration = oci.opsi.getOpsiConfiguration({
 *     opsiConfigurationId: testOpsiConfigurationOciOpsiOpsiConfiguration.id,
 *     configItemCustomStatuses: opsiConfigurationConfigItemCustomStatus,
 *     configItemFields: opsiConfigurationConfigItemField,
 *     configItemsApplicableContexts: opsiConfigurationConfigItemsApplicableContext,
 *     opsiConfigFields: opsiConfigurationOpsiConfigField,
 * });
 * ```
 */
export declare function getOpsiConfiguration(args: GetOpsiConfigurationArgs, opts?: pulumi.InvokeOptions): Promise<GetOpsiConfigurationResult>;
/**
 * A collection of arguments for invoking getOpsiConfiguration.
 */
export interface GetOpsiConfigurationArgs {
    /**
     * Specifies whether only customized configuration items or only non-customized configuration items or both have to be returned. By default only customized configuration items are returned.
     */
    configItemCustomStatuses: string[];
    /**
     * Specifies the fields to return in a config item summary.
     */
    configItemFields: string[];
    /**
     * Returns the configuration items filtered by applicable contexts sent in this param. By default configuration items of all applicable contexts are returned.
     */
    configItemsApplicableContexts: string[];
    /**
     * Optional fields to return as part of OpsiConfiguration object. Unless requested, these fields will not be returned by default.
     */
    opsiConfigFields: string[];
    /**
     * [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of OPSI configuration resource.
     */
    opsiConfigurationId: string;
}
/**
 * A collection of values returned by getOpsiConfiguration.
 */
export interface GetOpsiConfigurationResult {
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment.
     */
    readonly compartmentId: string;
    readonly configItemCustomStatuses: string[];
    readonly configItemFields: string[];
    /**
     * Array of configuration item summary objects.
     */
    readonly configItems: outputs.Opsi.GetOpsiConfigurationConfigItem[];
    readonly configItemsApplicableContexts: 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;
    };
    /**
     * Description of OPSI configuration.
     */
    readonly description: string;
    /**
     * User-friendly display name for the OPSI configuration. The name does not have to be unique.
     */
    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;
    };
    /**
     * [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of OPSI configuration resource.
     */
    readonly id: string;
    /**
     * 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;
    readonly opsiConfigFields: string[];
    /**
     * OPSI configuration type.
     */
    readonly opsiConfigType: string;
    readonly opsiConfigurationId: string;
    /**
     * OPSI configuration resource lifecycle state.
     */
    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 time at which the resource was first created. An RFC3339 formatted datetime string
     */
    readonly timeCreated: string;
    /**
     * The time at which the resource was last updated. An RFC3339 formatted datetime string
     */
    readonly timeUpdated: string;
}
/**
 * This data source provides details about a specific Opsi Configuration resource in Oracle Cloud Infrastructure Opsi service.
 *
 * Gets details of an OPSI configuration resource.
 * Values specified in configItemField and configItemCustomStatus query params will be considered, only if configItems field is requested as part of opsiConfigField query param.
 * Values specified in configItemCustomStatus will determine whether only customized configuration items or only non-customized configuration items or both have to be returned.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testOpsiConfiguration = oci.opsi.getOpsiConfiguration({
 *     opsiConfigurationId: testOpsiConfigurationOciOpsiOpsiConfiguration.id,
 *     configItemCustomStatuses: opsiConfigurationConfigItemCustomStatus,
 *     configItemFields: opsiConfigurationConfigItemField,
 *     configItemsApplicableContexts: opsiConfigurationConfigItemsApplicableContext,
 *     opsiConfigFields: opsiConfigurationOpsiConfigField,
 * });
 * ```
 */
export declare function getOpsiConfigurationOutput(args: GetOpsiConfigurationOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetOpsiConfigurationResult>;
/**
 * A collection of arguments for invoking getOpsiConfiguration.
 */
export interface GetOpsiConfigurationOutputArgs {
    /**
     * Specifies whether only customized configuration items or only non-customized configuration items or both have to be returned. By default only customized configuration items are returned.
     */
    configItemCustomStatuses: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Specifies the fields to return in a config item summary.
     */
    configItemFields: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Returns the configuration items filtered by applicable contexts sent in this param. By default configuration items of all applicable contexts are returned.
     */
    configItemsApplicableContexts: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Optional fields to return as part of OpsiConfiguration object. Unless requested, these fields will not be returned by default.
     */
    opsiConfigFields: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of OPSI configuration resource.
     */
    opsiConfigurationId: pulumi.Input<string>;
}
//# sourceMappingURL=getOpsiConfiguration.d.ts.map