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 Audit Profiles in Oracle Cloud Infrastructure Data Safe service.
 *
 * Gets a list of all audit profiles.
 *
 * The ListAuditProfiles operation returns only the audit profiles in the specified `compartmentId`.
 * The list does not include any subcompartments of the compartmentId passed.
 *
 * 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 ListAuditProfiles 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 testAuditProfiles = oci.datasafe.getAuditProfiles({
 *     compartmentId: compartmentId,
 *     accessLevel: auditProfileAccessLevel,
 *     auditCollectedVolumeGreaterThanOrEqualTo: auditProfileAuditCollectedVolumeGreaterThanOrEqualTo,
 *     auditProfileId: testAuditProfile.id,
 *     compartmentIdInSubtree: auditProfileCompartmentIdInSubtree === "true",
 *     displayName: auditProfileDisplayName,
 *     isOverrideGlobalRetentionSetting: auditProfileIsOverrideGlobalRetentionSetting === "true",
 *     isPaidUsageEnabled: auditProfileIsPaidUsageEnabled === "true",
 *     state: auditProfileState,
 *     targetDatabaseGroupId: testTargetDatabaseGroup.id,
 *     targetId: testTarget.id,
 *     targetType: auditProfileTargetType,
 * });
 * ```
 */
export declare function getAuditProfiles(args: GetAuditProfilesArgs, opts?: pulumi.InvokeOptions): Promise<GetAuditProfilesResult>;
/**
 * A collection of arguments for invoking getAuditProfiles.
 */
export interface GetAuditProfilesArgs {
    /**
     * 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 items that have count of audit records collected greater than or equal to the specified value.
     */
    auditCollectedVolumeGreaterThanOrEqualTo?: string;
    /**
     * A optional filter to return only resources that match the specified id.
     */
    auditProfileId?: 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;
    /**
     * A filter to return only resources that match the specified display name.
     */
    displayName?: string;
    filters?: inputs.DataSafe.GetAuditProfilesFilter[];
    /**
     * A optional filter to return only resources that match the specified retention configured value.
     */
    isOverrideGlobalRetentionSetting?: boolean;
    /**
     * Indicates if you want to continue audit record collection beyond the free limit of one million audit records per month per target database, incurring additional charges. The default value is inherited from the global settings. You can change at the global level or at the target level.
     */
    isPaidUsageEnabled?: boolean;
    /**
     * A optional filter to return only resources that match the specified lifecycle state.
     */
    state?: string;
    /**
     * A filter to return the target database group that matches the specified OCID.
     */
    targetDatabaseGroupId?: string;
    /**
     * A filter to return only items related to a specific target OCID.
     */
    targetId?: string;
    /**
     * A optional filter to return only resources that belong to the specified audit profile type.
     */
    targetType?: string;
}
/**
 * A collection of values returned by getAuditProfiles.
 */
export interface GetAuditProfilesResult {
    readonly accessLevel?: string;
    readonly auditCollectedVolumeGreaterThanOrEqualTo?: string;
    /**
     * The list of audit_profile_collection.
     */
    readonly auditProfileCollections: outputs.DataSafe.GetAuditProfilesAuditProfileCollection[];
    /**
     * The OCID of the  parent audit.
     */
    readonly auditProfileId?: string;
    /**
     * The OCID of the compartment that contains the audit profile.
     */
    readonly compartmentId: string;
    readonly compartmentIdInSubtree?: boolean;
    /**
     * The display name of the audit profile.
     */
    readonly displayName?: string;
    readonly filters?: outputs.DataSafe.GetAuditProfilesFilter[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * Indicates whether audit retention settings like online and offline months set at the  target level override both the global settings and the target group level audit retention settings.
     */
    readonly isOverrideGlobalRetentionSetting?: boolean;
    /**
     * Indicates if you want to continue collecting audit records beyond the free limit of one million audit records per month per target database, potentially incurring additional charges. The default value is inherited from the global settings.  You can change at the global level or at the target level.
     */
    readonly isPaidUsageEnabled?: boolean;
    /**
     * The current state of the audit profile.
     */
    readonly state?: string;
    readonly targetDatabaseGroupId?: string;
    /**
     * The OCID of the target database or target database group for which the audit profile is created.
     */
    readonly targetId?: string;
    /**
     * The resource type that is represented by the audit profile.
     */
    readonly targetType?: string;
}
/**
 * This data source provides the list of Audit Profiles in Oracle Cloud Infrastructure Data Safe service.
 *
 * Gets a list of all audit profiles.
 *
 * The ListAuditProfiles operation returns only the audit profiles in the specified `compartmentId`.
 * The list does not include any subcompartments of the compartmentId passed.
 *
 * 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 ListAuditProfiles 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 testAuditProfiles = oci.datasafe.getAuditProfiles({
 *     compartmentId: compartmentId,
 *     accessLevel: auditProfileAccessLevel,
 *     auditCollectedVolumeGreaterThanOrEqualTo: auditProfileAuditCollectedVolumeGreaterThanOrEqualTo,
 *     auditProfileId: testAuditProfile.id,
 *     compartmentIdInSubtree: auditProfileCompartmentIdInSubtree === "true",
 *     displayName: auditProfileDisplayName,
 *     isOverrideGlobalRetentionSetting: auditProfileIsOverrideGlobalRetentionSetting === "true",
 *     isPaidUsageEnabled: auditProfileIsPaidUsageEnabled === "true",
 *     state: auditProfileState,
 *     targetDatabaseGroupId: testTargetDatabaseGroup.id,
 *     targetId: testTarget.id,
 *     targetType: auditProfileTargetType,
 * });
 * ```
 */
export declare function getAuditProfilesOutput(args: GetAuditProfilesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetAuditProfilesResult>;
/**
 * A collection of arguments for invoking getAuditProfiles.
 */
export interface GetAuditProfilesOutputArgs {
    /**
     * 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 items that have count of audit records collected greater than or equal to the specified value.
     */
    auditCollectedVolumeGreaterThanOrEqualTo?: pulumi.Input<string | undefined>;
    /**
     * A optional filter to return only resources that match the specified id.
     */
    auditProfileId?: 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>;
    /**
     * A filter to return only resources that match the specified display name.
     */
    displayName?: pulumi.Input<string | undefined>;
    filters?: pulumi.Input<pulumi.Input<inputs.DataSafe.GetAuditProfilesFilterArgs>[] | undefined>;
    /**
     * A optional filter to return only resources that match the specified retention configured value.
     */
    isOverrideGlobalRetentionSetting?: pulumi.Input<boolean | undefined>;
    /**
     * Indicates if you want to continue audit record collection beyond the free limit of one million audit records per month per target database, incurring additional charges. The default value is inherited from the global settings. You can change at the global level or at the target level.
     */
    isPaidUsageEnabled?: pulumi.Input<boolean | undefined>;
    /**
     * A optional filter to return only resources that match the specified lifecycle state.
     */
    state?: pulumi.Input<string | undefined>;
    /**
     * A filter to return the target database group that matches the specified OCID.
     */
    targetDatabaseGroupId?: pulumi.Input<string | undefined>;
    /**
     * A filter to return only items related to a specific target OCID.
     */
    targetId?: pulumi.Input<string | undefined>;
    /**
     * A optional filter to return only resources that belong to the specified audit profile type.
     */
    targetType?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getAuditProfiles.d.ts.map