import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
/**
 * Provides a [Sumologic Scan Budget](https://help.sumologic.com/docs/manage/manage-subscription/usage-management/).
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as sumologic from "@pulumi/sumologic";
 *
 * const budget = new sumologic.ScanBudget("budget", {
 *     name: "TestBudget",
 *     capacity: 10,
 *     unit: "GB",
 *     budgetType: "ScanBudget",
 *     window: "Query",
 *     applicableOn: "PerEntity",
 *     groupBy: "User",
 *     action: "StopScan",
 *     status: "active",
 *     scope: {
 *         includedUsers: ["000000000000011C"],
 *         excludedUsers: [],
 *         includedRoles: [],
 *         excludedRoles: ["0000000000000196"],
 *     },
 * });
 * ```
 *
 * ## Import
 *
 * Scan budgets can be imported using the budget ID, e.g.:
 *
 * hcl
 *
 * ```sh
 * $ pulumi import sumologic:index/scanBudget:ScanBudget budget 00000000000123AB
 * ```
 *
 * [1]: https://help.sumologic.com/docs/manage/manage-subscription/usage-management/
 */
export declare class ScanBudget extends pulumi.CustomResource {
    /**
     * Get an existing ScanBudget 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?: ScanBudgetState, opts?: pulumi.CustomResourceOptions): ScanBudget;
    /**
     * Returns true if the given object is an instance of ScanBudget.  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 ScanBudget;
    /**
     * Action to be taken if the budget is breached. Supported values are: `StopForeGroundScan` and `Warn`.
     */
    readonly action: pulumi.Output<string>;
    /**
     * Grouping of the budget. Supported values are: `PerEntity` and `Sum`.
     */
    readonly applicableOn: pulumi.Output<string>;
    /**
     * Type of the budget. Supported values are: `ScanBudget`.
     */
    readonly budgetType: pulumi.Output<string>;
    /**
     * Capacity of the scan budget. Only whole numbers are supported.
     */
    readonly capacity: pulumi.Output<number>;
    /**
     * Grouping Entity of the budget. Supported values are: `User`.
     */
    readonly groupBy: pulumi.Output<string>;
    /**
     * Display name of the scan budget. This must be unique across all the scan budgets.
     */
    readonly name: pulumi.Output<string>;
    /**
     * Scope of the budget.
     */
    readonly scope: pulumi.Output<outputs.ScanBudgetScope>;
    /**
     * Signifies the state of the budget. Supported values are: `active` and `inactive`.
     *
     * The following attributes are exported:
     */
    readonly status: pulumi.Output<string>;
    /**
     * Unit of the capacity. Supported values are: `MB`, `GB` and `TB`.
     */
    readonly unit: pulumi.Output<string>;
    /**
     * Window of the budget. Supported values are: `Query`, `Daily`, `Weekly` and `Monthly`.
     */
    readonly window: pulumi.Output<string>;
    /**
     * Create a ScanBudget 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: ScanBudgetArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering ScanBudget resources.
 */
export interface ScanBudgetState {
    /**
     * Action to be taken if the budget is breached. Supported values are: `StopForeGroundScan` and `Warn`.
     */
    action?: pulumi.Input<string>;
    /**
     * Grouping of the budget. Supported values are: `PerEntity` and `Sum`.
     */
    applicableOn?: pulumi.Input<string>;
    /**
     * Type of the budget. Supported values are: `ScanBudget`.
     */
    budgetType?: pulumi.Input<string>;
    /**
     * Capacity of the scan budget. Only whole numbers are supported.
     */
    capacity?: pulumi.Input<number>;
    /**
     * Grouping Entity of the budget. Supported values are: `User`.
     */
    groupBy?: pulumi.Input<string>;
    /**
     * Display name of the scan budget. This must be unique across all the scan budgets.
     */
    name?: pulumi.Input<string>;
    /**
     * Scope of the budget.
     */
    scope?: pulumi.Input<inputs.ScanBudgetScope>;
    /**
     * Signifies the state of the budget. Supported values are: `active` and `inactive`.
     *
     * The following attributes are exported:
     */
    status?: pulumi.Input<string>;
    /**
     * Unit of the capacity. Supported values are: `MB`, `GB` and `TB`.
     */
    unit?: pulumi.Input<string>;
    /**
     * Window of the budget. Supported values are: `Query`, `Daily`, `Weekly` and `Monthly`.
     */
    window?: pulumi.Input<string>;
}
/**
 * The set of arguments for constructing a ScanBudget resource.
 */
export interface ScanBudgetArgs {
    /**
     * Action to be taken if the budget is breached. Supported values are: `StopForeGroundScan` and `Warn`.
     */
    action: pulumi.Input<string>;
    /**
     * Grouping of the budget. Supported values are: `PerEntity` and `Sum`.
     */
    applicableOn: pulumi.Input<string>;
    /**
     * Type of the budget. Supported values are: `ScanBudget`.
     */
    budgetType: pulumi.Input<string>;
    /**
     * Capacity of the scan budget. Only whole numbers are supported.
     */
    capacity: pulumi.Input<number>;
    /**
     * Grouping Entity of the budget. Supported values are: `User`.
     */
    groupBy: pulumi.Input<string>;
    /**
     * Display name of the scan budget. This must be unique across all the scan budgets.
     */
    name?: pulumi.Input<string>;
    /**
     * Scope of the budget.
     */
    scope: pulumi.Input<inputs.ScanBudgetScope>;
    /**
     * Signifies the state of the budget. Supported values are: `active` and `inactive`.
     *
     * The following attributes are exported:
     */
    status: pulumi.Input<string>;
    /**
     * Unit of the capacity. Supported values are: `MB`, `GB` and `TB`.
     */
    unit: pulumi.Input<string>;
    /**
     * Window of the budget. Supported values are: `Query`, `Daily`, `Weekly` and `Monthly`.
     */
    window: pulumi.Input<string>;
}
