import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * This data source provides details about a specific Audit Profile Analytic resource in Oracle Cloud Infrastructure Data Safe service.
 *
 * Gets a list of audit profile aggregated details . A audit profile  aggregation helps understand the overall  state of audit profile profiles.
 * As an example, it helps understand how many audit profiles have paid usage. It is especially useful to create dashboards or to support analytics.
 *
 * The parameter `accessLevel` specifies whether to return only those compartments for which the
 * requestor has INSPECT permissions on at least one resource directly
 * or indirectly (ACCESSIBLE) (the resource can be in a subcompartment) or to return Not Authorized if
 * Principal doesn't have access to even one of the child compartments. This is valid only when
 * `compartmentIdInSubtree` is set to `true`.
 *
 * The parameter `compartmentIdInSubtree` applies when you perform AuditProfileAnalytics on the
 * `compartmentId` passed and when it is set to true, the entire hierarchy of compartments can be returned.
 * To get a full list of all compartments and subcompartments in the tenancy (root compartment),
 * set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testAuditProfileAnalytic = oci.datasafe.getAuditProfileAnalytic({
 *     compartmentId: compartmentId,
 *     accessLevel: auditProfileAnalyticAccessLevel,
 *     compartmentIdInSubtree: auditProfileAnalyticCompartmentIdInSubtree === "true",
 *     groupBies: auditProfileAnalyticGroupBy,
 * });
 * ```
 */
export declare function getAuditProfileAnalytic(args: GetAuditProfileAnalyticArgs, opts?: pulumi.InvokeOptions): Promise<GetAuditProfileAnalyticResult>;
/**
 * A collection of arguments for invoking getAuditProfileAnalytic.
 */
export interface GetAuditProfileAnalyticArgs {
    /**
     * 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;
    /**
     * The group by parameter for summarize operation on audit.
     */
    groupBies?: string[];
}
/**
 * A collection of values returned by getAuditProfileAnalytic.
 */
export interface GetAuditProfileAnalyticResult {
    readonly accessLevel?: string;
    readonly compartmentId: string;
    readonly compartmentIdInSubtree?: boolean;
    readonly groupBies?: string[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * Array of audit profile aggregration data.
     */
    readonly items: outputs.DataSafe.GetAuditProfileAnalyticItem[];
}
/**
 * This data source provides details about a specific Audit Profile Analytic resource in Oracle Cloud Infrastructure Data Safe service.
 *
 * Gets a list of audit profile aggregated details . A audit profile  aggregation helps understand the overall  state of audit profile profiles.
 * As an example, it helps understand how many audit profiles have paid usage. It is especially useful to create dashboards or to support analytics.
 *
 * The parameter `accessLevel` specifies whether to return only those compartments for which the
 * requestor has INSPECT permissions on at least one resource directly
 * or indirectly (ACCESSIBLE) (the resource can be in a subcompartment) or to return Not Authorized if
 * Principal doesn't have access to even one of the child compartments. This is valid only when
 * `compartmentIdInSubtree` is set to `true`.
 *
 * The parameter `compartmentIdInSubtree` applies when you perform AuditProfileAnalytics on the
 * `compartmentId` passed and when it is set to true, the entire hierarchy of compartments can be returned.
 * To get a full list of all compartments and subcompartments in the tenancy (root compartment),
 * set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testAuditProfileAnalytic = oci.datasafe.getAuditProfileAnalytic({
 *     compartmentId: compartmentId,
 *     accessLevel: auditProfileAnalyticAccessLevel,
 *     compartmentIdInSubtree: auditProfileAnalyticCompartmentIdInSubtree === "true",
 *     groupBies: auditProfileAnalyticGroupBy,
 * });
 * ```
 */
export declare function getAuditProfileAnalyticOutput(args: GetAuditProfileAnalyticOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetAuditProfileAnalyticResult>;
/**
 * A collection of arguments for invoking getAuditProfileAnalytic.
 */
export interface GetAuditProfileAnalyticOutputArgs {
    /**
     * 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>;
    /**
     * The group by parameter for summarize operation on audit.
     */
    groupBies?: pulumi.Input<pulumi.Input<string>[] | undefined>;
}
//# sourceMappingURL=getAuditProfileAnalytic.d.ts.map