import * as pulumi from "@pulumi/pulumi";
/**
 * `f5bigip.sys.Provision` Manage BIG-IP module provisioning. This resource will only provision at the standard levels of Dedicated, Nominal, and Minimum.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as f5bigip from "@pulumi/f5bigip";
 *
 * const gtm = new f5bigip.sys.Provision("gtm", {
 *     name: "gtm",
 *     cpuRatio: 0,
 *     diskRatio: 0,
 *     level: "nominal",
 *     memoryRatio: 0,
 * });
 * ```
 */
export declare class Provision extends pulumi.CustomResource {
    /**
     * Get an existing Provision 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?: ProvisionState, opts?: pulumi.CustomResourceOptions): Provision;
    /**
     * Returns true if the given object is an instance of Provision.  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 Provision;
    /**
     * Use this option only when the level option is set to custom.F5 Networks recommends that you do not modify this option. The default value is none
     */
    readonly cpuRatio: pulumi.Output<number | undefined>;
    /**
     * Use this option only when the level option is set to custom.F5 Networks recommends that you do not modify this option. The default value is none
     */
    readonly diskRatio: pulumi.Output<number | undefined>;
    readonly fullPath: pulumi.Output<string>;
    /**
     * Sets the provisioning level for the requested modules. Changing the level for one module may require modifying the level of another module. For example, changing one module to `dedicated` requires setting all others to `none`. Setting the level of a module to `none` means the module is not activated.
     * default is `nominal`
     * possible options:
     * * nominal
     * * minimum
     * * none
     * * dedicated
     */
    readonly level: pulumi.Output<string | undefined>;
    /**
     * Use this option only when the level option is set to custom.F5 Networks recommends that you do not modify this option. The default value is none
     */
    readonly memoryRatio: pulumi.Output<number | undefined>;
    /**
     * Name of module to provision in BIG-IP.
     * possible options:
     * * afm
     * * am
     * * apm
     * * cgnat
     * * asm
     * * avr
     * * dos
     * * fps
     * * gtm
     * * ilx
     * * lc
     * * ltm
     * * pem
     * * sslo
     * * swg
     * * urldb
     */
    readonly name: pulumi.Output<string>;
    /**
     * Create a Provision 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: ProvisionArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering Provision resources.
 */
export interface ProvisionState {
    /**
     * Use this option only when the level option is set to custom.F5 Networks recommends that you do not modify this option. The default value is none
     */
    cpuRatio?: pulumi.Input<number>;
    /**
     * Use this option only when the level option is set to custom.F5 Networks recommends that you do not modify this option. The default value is none
     */
    diskRatio?: pulumi.Input<number>;
    fullPath?: pulumi.Input<string>;
    /**
     * Sets the provisioning level for the requested modules. Changing the level for one module may require modifying the level of another module. For example, changing one module to `dedicated` requires setting all others to `none`. Setting the level of a module to `none` means the module is not activated.
     * default is `nominal`
     * possible options:
     * * nominal
     * * minimum
     * * none
     * * dedicated
     */
    level?: pulumi.Input<string>;
    /**
     * Use this option only when the level option is set to custom.F5 Networks recommends that you do not modify this option. The default value is none
     */
    memoryRatio?: pulumi.Input<number>;
    /**
     * Name of module to provision in BIG-IP.
     * possible options:
     * * afm
     * * am
     * * apm
     * * cgnat
     * * asm
     * * avr
     * * dos
     * * fps
     * * gtm
     * * ilx
     * * lc
     * * ltm
     * * pem
     * * sslo
     * * swg
     * * urldb
     */
    name?: pulumi.Input<string>;
}
/**
 * The set of arguments for constructing a Provision resource.
 */
export interface ProvisionArgs {
    /**
     * Use this option only when the level option is set to custom.F5 Networks recommends that you do not modify this option. The default value is none
     */
    cpuRatio?: pulumi.Input<number>;
    /**
     * Use this option only when the level option is set to custom.F5 Networks recommends that you do not modify this option. The default value is none
     */
    diskRatio?: pulumi.Input<number>;
    fullPath?: pulumi.Input<string>;
    /**
     * Sets the provisioning level for the requested modules. Changing the level for one module may require modifying the level of another module. For example, changing one module to `dedicated` requires setting all others to `none`. Setting the level of a module to `none` means the module is not activated.
     * default is `nominal`
     * possible options:
     * * nominal
     * * minimum
     * * none
     * * dedicated
     */
    level?: pulumi.Input<string>;
    /**
     * Use this option only when the level option is set to custom.F5 Networks recommends that you do not modify this option. The default value is none
     */
    memoryRatio?: pulumi.Input<number>;
    /**
     * Name of module to provision in BIG-IP.
     * possible options:
     * * afm
     * * am
     * * apm
     * * cgnat
     * * asm
     * * avr
     * * dos
     * * fps
     * * gtm
     * * ilx
     * * lc
     * * ltm
     * * pem
     * * sslo
     * * swg
     * * urldb
     */
    name: pulumi.Input<string>;
}
