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 User Assessment Profiles in Oracle Cloud Infrastructure Data Safe service.
 *
 * Gets a list of user profiles containing the profile details along with the target id and user counts.
 *
 * The ListProfiles operation returns only the profiles belonging to a certain target. If compartment type user assessment
 * id is provided, then profile information for all the targets belonging to the pertaining compartment is returned.
 * The list does not include any subcompartments of the compartment under consideration.
 *
 * 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 ListUserProfiles on the 'compartmentId' belonging
 * to the assessmentId 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 testUserAssessmentProfiles = oci.datasafe.getUserAssessmentProfiles({
 *     compartmentId: compartmentId,
 *     userAssessmentId: testUserAssessment.id,
 *     accessLevel: userAssessmentProfileAccessLevel,
 *     compartmentIdInSubtree: userAssessmentProfileCompartmentIdInSubtree === "true",
 *     failedLoginAttemptsGreaterThanOrEqual: userAssessmentProfileFailedLoginAttemptsGreaterThanOrEqual,
 *     failedLoginAttemptsLessThan: userAssessmentProfileFailedLoginAttemptsLessThan,
 *     inactiveAccountTimeGreaterThanOrEqual: userAssessmentProfileInactiveAccountTimeGreaterThanOrEqual,
 *     inactiveAccountTimeLessThan: userAssessmentProfileInactiveAccountTimeLessThan,
 *     isUserCreated: userAssessmentProfileIsUserCreated === "true",
 *     passwordLockTimeGreaterThanOrEqual: userAssessmentProfilePasswordLockTimeGreaterThanOrEqual,
 *     passwordLockTimeLessThan: userAssessmentProfilePasswordLockTimeLessThan,
 *     passwordVerificationFunction: userAssessmentProfilePasswordVerificationFunction,
 *     profileName: testProfile.name,
 *     sessionsPerUserGreaterThanOrEqual: userAssessmentProfileSessionsPerUserGreaterThanOrEqual,
 *     sessionsPerUserLessThan: userAssessmentProfileSessionsPerUserLessThan,
 *     targetId: testTarget.id,
 *     userCountGreaterThanOrEqual: userAssessmentProfileUserCountGreaterThanOrEqual,
 *     userCountLessThan: userAssessmentProfileUserCountLessThan,
 * });
 * ```
 */
export declare function getUserAssessmentProfiles(args: GetUserAssessmentProfilesArgs, opts?: pulumi.InvokeOptions): Promise<GetUserAssessmentProfilesResult>;
/**
 * A collection of arguments for invoking getUserAssessmentProfiles.
 */
export interface GetUserAssessmentProfilesArgs {
    /**
     * 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;
    /**
     * An optional filter to return the profiles having allow failed login attempts number greater than or equal to the provided value. String value is used for accommodating the "UNLIMITED" and "DEFAULT" values.
     */
    failedLoginAttemptsGreaterThanOrEqual?: string;
    /**
     * An optional filter to return the profiles having failed login attempts number less than the provided value. String value is used for accommodating the "UNLIMITED" and "DEFAULT" values.
     */
    failedLoginAttemptsLessThan?: string;
    filters?: inputs.DataSafe.GetUserAssessmentProfilesFilter[];
    /**
     * An optional filter to return the profiles allowing inactive account time in days greater than or equal to the provided value. String value is used for accommodating the "UNLIMITED" and "DEFAULT" values.
     */
    inactiveAccountTimeGreaterThanOrEqual?: string;
    /**
     * An optional filter to return the profiles  allowing inactive account time in days less than the provided value. String value is used for accommodating the "UNLIMITED" and "DEFAULT" values.
     */
    inactiveAccountTimeLessThan?: string;
    /**
     * An optional filter to return the user created profiles.
     */
    isUserCreated?: boolean;
    /**
     * An optional filter to return the profiles having password lock number greater than or equal to the provided value. String value is used for accommodating the "UNLIMITED" and "DEFAULT" values.
     */
    passwordLockTimeGreaterThanOrEqual?: string;
    /**
     * An optional filter to return the profiles having password lock number less than the provided value. String value is used for accommodating the "UNLIMITED" and "DEFAULT" values.
     */
    passwordLockTimeLessThan?: string;
    /**
     * An optional filter to filter the profiles based on password verification function.
     */
    passwordVerificationFunction?: string;
    /**
     * A filter to return only items that match the specified profile name.
     */
    profileName?: string;
    /**
     * An optional filter to return the profiles permitting the user to spawn multiple sessions having count. greater than or equal to the provided value. String value is used for accommodating the "UNLIMITED" and "DEFAULT" values.
     */
    sessionsPerUserGreaterThanOrEqual?: string;
    /**
     * An optional filter to return the profiles permitting the user to spawn multiple sessions having count less than the provided value. String value is used for accommodating the "UNLIMITED" and "DEFAULT" values.
     */
    sessionsPerUserLessThan?: string;
    /**
     * A filter to return only items related to a specific target OCID.
     */
    targetId?: string;
    /**
     * The OCID of the user assessment.
     */
    userAssessmentId: string;
    /**
     * An optional filter to return the profiles having user count greater than or equal to the provided value.
     */
    userCountGreaterThanOrEqual?: string;
    /**
     * An optional filter to return the profiles having user count less than the provided value.
     */
    userCountLessThan?: string;
}
/**
 * A collection of values returned by getUserAssessmentProfiles.
 */
export interface GetUserAssessmentProfilesResult {
    readonly accessLevel?: string;
    /**
     * The OCID of the compartment that contains the user assessment.
     */
    readonly compartmentId: string;
    readonly compartmentIdInSubtree?: boolean;
    readonly failedLoginAttemptsGreaterThanOrEqual?: string;
    readonly failedLoginAttemptsLessThan?: string;
    readonly filters?: outputs.DataSafe.GetUserAssessmentProfilesFilter[];
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly inactiveAccountTimeGreaterThanOrEqual?: string;
    readonly inactiveAccountTimeLessThan?: string;
    /**
     * Represents if the profile is created by user.
     */
    readonly isUserCreated?: boolean;
    readonly passwordLockTimeGreaterThanOrEqual?: string;
    readonly passwordLockTimeLessThan?: string;
    /**
     * Name of the PL/SQL that can be used for password verification.
     */
    readonly passwordVerificationFunction?: string;
    /**
     * The name of the profile.
     */
    readonly profileName?: string;
    /**
     * The list of profiles.
     */
    readonly profiles: outputs.DataSafe.GetUserAssessmentProfilesProfile[];
    readonly sessionsPerUserGreaterThanOrEqual?: string;
    readonly sessionsPerUserLessThan?: string;
    /**
     * The OCID of the target database.
     */
    readonly targetId?: string;
    /**
     * The OCID of the latest user assessment corresponding to the target under consideration. A compartment  type assessment can also be passed to profiles from all the targets from the corresponding compartment.
     */
    readonly userAssessmentId: string;
    readonly userCountGreaterThanOrEqual?: string;
    readonly userCountLessThan?: string;
}
/**
 * This data source provides the list of User Assessment Profiles in Oracle Cloud Infrastructure Data Safe service.
 *
 * Gets a list of user profiles containing the profile details along with the target id and user counts.
 *
 * The ListProfiles operation returns only the profiles belonging to a certain target. If compartment type user assessment
 * id is provided, then profile information for all the targets belonging to the pertaining compartment is returned.
 * The list does not include any subcompartments of the compartment under consideration.
 *
 * 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 ListUserProfiles on the 'compartmentId' belonging
 * to the assessmentId 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 testUserAssessmentProfiles = oci.datasafe.getUserAssessmentProfiles({
 *     compartmentId: compartmentId,
 *     userAssessmentId: testUserAssessment.id,
 *     accessLevel: userAssessmentProfileAccessLevel,
 *     compartmentIdInSubtree: userAssessmentProfileCompartmentIdInSubtree === "true",
 *     failedLoginAttemptsGreaterThanOrEqual: userAssessmentProfileFailedLoginAttemptsGreaterThanOrEqual,
 *     failedLoginAttemptsLessThan: userAssessmentProfileFailedLoginAttemptsLessThan,
 *     inactiveAccountTimeGreaterThanOrEqual: userAssessmentProfileInactiveAccountTimeGreaterThanOrEqual,
 *     inactiveAccountTimeLessThan: userAssessmentProfileInactiveAccountTimeLessThan,
 *     isUserCreated: userAssessmentProfileIsUserCreated === "true",
 *     passwordLockTimeGreaterThanOrEqual: userAssessmentProfilePasswordLockTimeGreaterThanOrEqual,
 *     passwordLockTimeLessThan: userAssessmentProfilePasswordLockTimeLessThan,
 *     passwordVerificationFunction: userAssessmentProfilePasswordVerificationFunction,
 *     profileName: testProfile.name,
 *     sessionsPerUserGreaterThanOrEqual: userAssessmentProfileSessionsPerUserGreaterThanOrEqual,
 *     sessionsPerUserLessThan: userAssessmentProfileSessionsPerUserLessThan,
 *     targetId: testTarget.id,
 *     userCountGreaterThanOrEqual: userAssessmentProfileUserCountGreaterThanOrEqual,
 *     userCountLessThan: userAssessmentProfileUserCountLessThan,
 * });
 * ```
 */
export declare function getUserAssessmentProfilesOutput(args: GetUserAssessmentProfilesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetUserAssessmentProfilesResult>;
/**
 * A collection of arguments for invoking getUserAssessmentProfiles.
 */
export interface GetUserAssessmentProfilesOutputArgs {
    /**
     * 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>;
    /**
     * An optional filter to return the profiles having allow failed login attempts number greater than or equal to the provided value. String value is used for accommodating the "UNLIMITED" and "DEFAULT" values.
     */
    failedLoginAttemptsGreaterThanOrEqual?: pulumi.Input<string | undefined>;
    /**
     * An optional filter to return the profiles having failed login attempts number less than the provided value. String value is used for accommodating the "UNLIMITED" and "DEFAULT" values.
     */
    failedLoginAttemptsLessThan?: pulumi.Input<string | undefined>;
    filters?: pulumi.Input<pulumi.Input<inputs.DataSafe.GetUserAssessmentProfilesFilterArgs>[] | undefined>;
    /**
     * An optional filter to return the profiles allowing inactive account time in days greater than or equal to the provided value. String value is used for accommodating the "UNLIMITED" and "DEFAULT" values.
     */
    inactiveAccountTimeGreaterThanOrEqual?: pulumi.Input<string | undefined>;
    /**
     * An optional filter to return the profiles  allowing inactive account time in days less than the provided value. String value is used for accommodating the "UNLIMITED" and "DEFAULT" values.
     */
    inactiveAccountTimeLessThan?: pulumi.Input<string | undefined>;
    /**
     * An optional filter to return the user created profiles.
     */
    isUserCreated?: pulumi.Input<boolean | undefined>;
    /**
     * An optional filter to return the profiles having password lock number greater than or equal to the provided value. String value is used for accommodating the "UNLIMITED" and "DEFAULT" values.
     */
    passwordLockTimeGreaterThanOrEqual?: pulumi.Input<string | undefined>;
    /**
     * An optional filter to return the profiles having password lock number less than the provided value. String value is used for accommodating the "UNLIMITED" and "DEFAULT" values.
     */
    passwordLockTimeLessThan?: pulumi.Input<string | undefined>;
    /**
     * An optional filter to filter the profiles based on password verification function.
     */
    passwordVerificationFunction?: pulumi.Input<string | undefined>;
    /**
     * A filter to return only items that match the specified profile name.
     */
    profileName?: pulumi.Input<string | undefined>;
    /**
     * An optional filter to return the profiles permitting the user to spawn multiple sessions having count. greater than or equal to the provided value. String value is used for accommodating the "UNLIMITED" and "DEFAULT" values.
     */
    sessionsPerUserGreaterThanOrEqual?: pulumi.Input<string | undefined>;
    /**
     * An optional filter to return the profiles permitting the user to spawn multiple sessions having count less than the provided value. String value is used for accommodating the "UNLIMITED" and "DEFAULT" values.
     */
    sessionsPerUserLessThan?: pulumi.Input<string | undefined>;
    /**
     * A filter to return only items related to a specific target OCID.
     */
    targetId?: pulumi.Input<string | undefined>;
    /**
     * The OCID of the user assessment.
     */
    userAssessmentId: pulumi.Input<string>;
    /**
     * An optional filter to return the profiles having user count greater than or equal to the provided value.
     */
    userCountGreaterThanOrEqual?: pulumi.Input<string | undefined>;
    /**
     * An optional filter to return the profiles having user count less than the provided value.
     */
    userCountLessThan?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getUserAssessmentProfiles.d.ts.map