import * as pulumi from "@pulumi/pulumi";
/**
 * Sets the [Sumologic Password Policy](https://help.sumologic.com/Manage/Security/Set-the-Password-Policy). Since there is only a single password policy for an organization,
 * please ensure that only a single instance of such resource is defined.
 * The behavior for defining more than one password policy resources is undefined.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as sumologic from "@pulumi/sumologic";
 *
 * const examplePasswordPolicy = new sumologic.PasswordPolicy("examplePasswordPolicy", {
 *     minLength: 8,
 *     maxLength: 128,
 *     mustContainLowercase: true,
 *     mustContainUppercase: true,
 *     mustContainDigits: true,
 *     mustContainSpecialChars: true,
 *     maxPasswordAgeInDays: 365,
 *     minUniquePasswords: 10,
 *     accountLockoutThreshold: 6,
 *     failedLoginResetDurationInMins: 10,
 *     accountLockoutDurationInMins: 30,
 *     requireMfa: false,
 *     rememberMfa: true,
 * });
 * ```
 */
export declare class PasswordPolicy extends pulumi.CustomResource {
    /**
     * Get an existing PasswordPolicy resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param state Any extra arguments used during the lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, state?: PasswordPolicyState, opts?: pulumi.CustomResourceOptions): PasswordPolicy;
    /**
     * Returns true if the given object is an instance of PasswordPolicy.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is PasswordPolicy;
    /**
     * The duration of time in minutes that a locked-out account remained locked before getting unlocked automatically. Defaults to 30.
     */
    readonly accountLockoutDurationInMins: pulumi.Output<number | undefined>;
    /**
     * Number of failed login attempts allowed before account is locked-out. Defaults to 6.
     */
    readonly accountLockoutThreshold: pulumi.Output<number | undefined>;
    /**
     * The duration of time in minutes that must elapse from the first failed login attempt after which failed login count is reset to 0. Defaults to 10.
     */
    readonly failedLoginResetDurationInMins: pulumi.Output<number | undefined>;
    /**
     * The maximum length of the password. Defaults to 128. (128 is now the only accepted value; other values are no longer supported, and this field may be deprecated in the future.)
     */
    readonly maxLength: pulumi.Output<number | undefined>;
    /**
     * Maximum number of days that a password can be used before user is required to change it. Put -1 if the user should not have to change their password. Defaults to 365.
     */
    readonly maxPasswordAgeInDays: pulumi.Output<number | undefined>;
    /**
     * The minimum length of the password. Defaults to 8.
     */
    readonly minLength: pulumi.Output<number | undefined>;
    /**
     * The minimum number of unique new passwords that a user must use before an old password can be reused. Defaults to 10.
     */
    readonly minUniquePasswords: pulumi.Output<number | undefined>;
    /**
     * If the password must contain digits. Defaults to true.
     */
    readonly mustContainDigits: pulumi.Output<boolean | undefined>;
    /**
     * If the password must contain lower case characters. Defaults to true.
     */
    readonly mustContainLowercase: pulumi.Output<boolean | undefined>;
    /**
     * If the password must contain special characters. Defaults to true.
     */
    readonly mustContainSpecialChars: pulumi.Output<boolean | undefined>;
    /**
     * If the password must contain upper case characters. Defaults to true.
     */
    readonly mustContainUppercase: pulumi.Output<boolean | undefined>;
    /**
     * If MFA should be remembered on the browser. Defaults to true.
     *
     * [1]: https://help.sumologic.com/Manage/Security/Set-the-Password-Policy
     */
    readonly rememberMfa: pulumi.Output<boolean | undefined>;
    /**
     * If MFA should be required to log in. Defaults to false.
     */
    readonly requireMfa: pulumi.Output<boolean | undefined>;
    /**
     * Create a PasswordPolicy resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args?: PasswordPolicyArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering PasswordPolicy resources.
 */
export interface PasswordPolicyState {
    /**
     * The duration of time in minutes that a locked-out account remained locked before getting unlocked automatically. Defaults to 30.
     */
    accountLockoutDurationInMins?: pulumi.Input<number>;
    /**
     * Number of failed login attempts allowed before account is locked-out. Defaults to 6.
     */
    accountLockoutThreshold?: pulumi.Input<number>;
    /**
     * The duration of time in minutes that must elapse from the first failed login attempt after which failed login count is reset to 0. Defaults to 10.
     */
    failedLoginResetDurationInMins?: pulumi.Input<number>;
    /**
     * The maximum length of the password. Defaults to 128. (128 is now the only accepted value; other values are no longer supported, and this field may be deprecated in the future.)
     */
    maxLength?: pulumi.Input<number>;
    /**
     * Maximum number of days that a password can be used before user is required to change it. Put -1 if the user should not have to change their password. Defaults to 365.
     */
    maxPasswordAgeInDays?: pulumi.Input<number>;
    /**
     * The minimum length of the password. Defaults to 8.
     */
    minLength?: pulumi.Input<number>;
    /**
     * The minimum number of unique new passwords that a user must use before an old password can be reused. Defaults to 10.
     */
    minUniquePasswords?: pulumi.Input<number>;
    /**
     * If the password must contain digits. Defaults to true.
     */
    mustContainDigits?: pulumi.Input<boolean>;
    /**
     * If the password must contain lower case characters. Defaults to true.
     */
    mustContainLowercase?: pulumi.Input<boolean>;
    /**
     * If the password must contain special characters. Defaults to true.
     */
    mustContainSpecialChars?: pulumi.Input<boolean>;
    /**
     * If the password must contain upper case characters. Defaults to true.
     */
    mustContainUppercase?: pulumi.Input<boolean>;
    /**
     * If MFA should be remembered on the browser. Defaults to true.
     *
     * [1]: https://help.sumologic.com/Manage/Security/Set-the-Password-Policy
     */
    rememberMfa?: pulumi.Input<boolean>;
    /**
     * If MFA should be required to log in. Defaults to false.
     */
    requireMfa?: pulumi.Input<boolean>;
}
/**
 * The set of arguments for constructing a PasswordPolicy resource.
 */
export interface PasswordPolicyArgs {
    /**
     * The duration of time in minutes that a locked-out account remained locked before getting unlocked automatically. Defaults to 30.
     */
    accountLockoutDurationInMins?: pulumi.Input<number>;
    /**
     * Number of failed login attempts allowed before account is locked-out. Defaults to 6.
     */
    accountLockoutThreshold?: pulumi.Input<number>;
    /**
     * The duration of time in minutes that must elapse from the first failed login attempt after which failed login count is reset to 0. Defaults to 10.
     */
    failedLoginResetDurationInMins?: pulumi.Input<number>;
    /**
     * The maximum length of the password. Defaults to 128. (128 is now the only accepted value; other values are no longer supported, and this field may be deprecated in the future.)
     */
    maxLength?: pulumi.Input<number>;
    /**
     * Maximum number of days that a password can be used before user is required to change it. Put -1 if the user should not have to change their password. Defaults to 365.
     */
    maxPasswordAgeInDays?: pulumi.Input<number>;
    /**
     * The minimum length of the password. Defaults to 8.
     */
    minLength?: pulumi.Input<number>;
    /**
     * The minimum number of unique new passwords that a user must use before an old password can be reused. Defaults to 10.
     */
    minUniquePasswords?: pulumi.Input<number>;
    /**
     * If the password must contain digits. Defaults to true.
     */
    mustContainDigits?: pulumi.Input<boolean>;
    /**
     * If the password must contain lower case characters. Defaults to true.
     */
    mustContainLowercase?: pulumi.Input<boolean>;
    /**
     * If the password must contain special characters. Defaults to true.
     */
    mustContainSpecialChars?: pulumi.Input<boolean>;
    /**
     * If the password must contain upper case characters. Defaults to true.
     */
    mustContainUppercase?: pulumi.Input<boolean>;
    /**
     * If MFA should be remembered on the browser. Defaults to true.
     *
     * [1]: https://help.sumologic.com/Manage/Security/Set-the-Password-Policy
     */
    rememberMfa?: pulumi.Input<boolean>;
    /**
     * If MFA should be required to log in. Defaults to false.
     */
    requireMfa?: pulumi.Input<boolean>;
}
