import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * This data source provides the list of Reports in Oracle Cloud Infrastructure Data Safe service.
 *
 * Gets a list of all the reports in the compartment. It contains information such as report generation time.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testReports = oci.datasafe.getReports({
 *     compartmentId: compartmentId,
 *     accessLevel: reportAccessLevel,
 *     compartmentIdInSubtree: reportCompartmentIdInSubtree === "true",
 *     dataSource: reportDataSource,
 *     displayName: reportDisplayName,
 *     mimeType: reportMimeType,
 *     reportDefinitionId: testReportDefinition.id,
 *     state: reportState,
 *     timeGeneratedGreaterThanOrEqualTo: reportTimeGeneratedGreaterThanOrEqualTo,
 *     timeGeneratedLessThan: reportTimeGeneratedLessThan,
 *     type: reportType,
 * });
 * ```
 */
export declare function getReports(args: GetReportsArgs, opts?: pulumi.InvokeOptions): Promise<GetReportsResult>;
/**
 * A collection of arguments for invoking getReports.
 */
export interface GetReportsArgs {
    /**
     * Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.
     */
    accessLevel?: string;
    /**
     * A filter to return only resources that match the specified compartment OCID.
     */
    compartmentId: string;
    /**
     * Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.
     */
    compartmentIdInSubtree?: boolean;
    /**
     * Specifies the name of a resource that provides data for the report. For example  alerts, events.
     */
    dataSource?: string;
    /**
     * The name of the report definition to query.
     */
    displayName?: string;
    filters?: inputs.DataSafe.GetReportsFilter[];
    /**
     * An optional filter to return only resources that match the specified mime type.
     */
    mimeType?: string;
    /**
     * The ID of the report definition to filter the list of reports
     */
    reportDefinitionId?: string;
    /**
     * An optional filter to return only resources that match the specified lifecycle state.
     */
    state?: string;
    /**
     * A filter to return only the resources that were generated after the specified date and time, as defined by [RFC3339](https://tools.ietf.org/html/rfc3339). Using TimeGeneratedGreaterThanOrEqualToQueryParam parameter retrieves all resources generated after that date.
     *
     * **Example:** 2016-12-19T16:39:57.600Z
     */
    timeGeneratedGreaterThanOrEqualTo?: string;
    /**
     * Search for resources that were generated before a specific date. Specifying this parameter corresponding `timeGeneratedLessThan` parameter will retrieve all resources generated before the specified generated date, in "YYYY-MM-ddThh:mmZ" format with a Z offset, as defined by RFC 3339.
     *
     * **Example:** 2016-12-19T16:39:57.600Z
     */
    timeGeneratedLessThan?: string;
    /**
     * An optional filter to return only resources that match the specified type.
     */
    type?: string;
}
/**
 * A collection of values returned by getReports.
 */
export interface GetReportsResult {
    readonly accessLevel?: string;
    /**
     * The OCID of the compartment containing the report.
     */
    readonly compartmentId: string;
    readonly compartmentIdInSubtree?: boolean;
    /**
     * Specifies the name of a resource that provides data for the report. For example alerts, events.
     */
    readonly dataSource?: string;
    /**
     * Name of the report.
     */
    readonly displayName?: string;
    readonly filters?: outputs.DataSafe.GetReportsFilter[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * Specifies the format of report to be .xls or .pdf or .json
     */
    readonly mimeType?: string;
    /**
     * The list of report_collection.
     */
    readonly reportCollections: outputs.DataSafe.GetReportsReportCollection[];
    /**
     * The OCID of the report definition.
     */
    readonly reportDefinitionId?: string;
    /**
     * The current state of the audit report.
     */
    readonly state?: string;
    readonly timeGeneratedGreaterThanOrEqualTo?: string;
    readonly timeGeneratedLessThan?: string;
    /**
     * The type of the audit report.
     */
    readonly type?: string;
}
/**
 * This data source provides the list of Reports in Oracle Cloud Infrastructure Data Safe service.
 *
 * Gets a list of all the reports in the compartment. It contains information such as report generation time.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testReports = oci.datasafe.getReports({
 *     compartmentId: compartmentId,
 *     accessLevel: reportAccessLevel,
 *     compartmentIdInSubtree: reportCompartmentIdInSubtree === "true",
 *     dataSource: reportDataSource,
 *     displayName: reportDisplayName,
 *     mimeType: reportMimeType,
 *     reportDefinitionId: testReportDefinition.id,
 *     state: reportState,
 *     timeGeneratedGreaterThanOrEqualTo: reportTimeGeneratedGreaterThanOrEqualTo,
 *     timeGeneratedLessThan: reportTimeGeneratedLessThan,
 *     type: reportType,
 * });
 * ```
 */
export declare function getReportsOutput(args: GetReportsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetReportsResult>;
/**
 * A collection of arguments for invoking getReports.
 */
export interface GetReportsOutputArgs {
    /**
     * Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.
     */
    accessLevel?: pulumi.Input<string | undefined>;
    /**
     * A filter to return only resources that match the specified compartment OCID.
     */
    compartmentId: pulumi.Input<string>;
    /**
     * Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.
     */
    compartmentIdInSubtree?: pulumi.Input<boolean | undefined>;
    /**
     * Specifies the name of a resource that provides data for the report. For example  alerts, events.
     */
    dataSource?: pulumi.Input<string | undefined>;
    /**
     * The name of the report definition to query.
     */
    displayName?: pulumi.Input<string | undefined>;
    filters?: pulumi.Input<pulumi.Input<inputs.DataSafe.GetReportsFilterArgs>[] | undefined>;
    /**
     * An optional filter to return only resources that match the specified mime type.
     */
    mimeType?: pulumi.Input<string | undefined>;
    /**
     * The ID of the report definition to filter the list of reports
     */
    reportDefinitionId?: pulumi.Input<string | undefined>;
    /**
     * An optional filter to return only resources that match the specified lifecycle state.
     */
    state?: pulumi.Input<string | undefined>;
    /**
     * A filter to return only the resources that were generated after the specified date and time, as defined by [RFC3339](https://tools.ietf.org/html/rfc3339). Using TimeGeneratedGreaterThanOrEqualToQueryParam parameter retrieves all resources generated after that date.
     *
     * **Example:** 2016-12-19T16:39:57.600Z
     */
    timeGeneratedGreaterThanOrEqualTo?: pulumi.Input<string | undefined>;
    /**
     * Search for resources that were generated before a specific date. Specifying this parameter corresponding `timeGeneratedLessThan` parameter will retrieve all resources generated before the specified generated date, in "YYYY-MM-ddThh:mmZ" format with a Z offset, as defined by RFC 3339.
     *
     * **Example:** 2016-12-19T16:39:57.600Z
     */
    timeGeneratedLessThan?: pulumi.Input<string | undefined>;
    /**
     * An optional filter to return only resources that match the specified type.
     */
    type?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getReports.d.ts.map