import * as pulumi from "@pulumi/pulumi"; /** * The zia_bandwidth_control_rule resource manages bandwidth control rules in the Zscaler Internet Access (ZIA) cloud service. Bandwidth control rules allow administrators to define minimum and maximum bandwidth limits for specific traffic, locations, and time windows to ensure quality of service across the network. * * For more information, see the [ZIA Bandwidth Control documentation](https://help.zscaler.com/zia/bandwidth-control). * * ## Example Usage * ### Basic Bandwidth Control Rule * * ```typescript * import * as zia from "@bdzscaler/pulumi-zia"; * * const example = new zia.BandwidthControlRule("example", { * name: "Example Bandwidth Control Rule", * description: "Limit streaming bandwidth", * order: 1, * state: "ENABLED", * maxBandwidth: 50, * protocols: ["ANY_RULE"], * }); * ``` * * ## Import * * An existing Bandwidth Control Rule can be imported using its resource ID, e.g. * * ```sh * $ pulumi import zia:index:BandwidthControlRule example 12345 * ``` */ export declare class BandwidthControlRule extends pulumi.CustomResource { /** * Get an existing BandwidthControlRule 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 opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): BandwidthControlRule; /** * Returns true if the given object is an instance of BandwidthControlRule. 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 BandwidthControlRule; /** * IDs of bandwidth classes associated with this rule. */ readonly bandwidthClasses: pulumi.Output; /** * Additional information about the bandwidth control rule. */ readonly description: pulumi.Output; /** * IDs of labels associated with the bandwidth control rule. */ readonly labels: pulumi.Output; /** * IDs of location groups for which the rule must be applied. */ readonly locationGroups: pulumi.Output; /** * IDs of locations for which the rule must be applied. */ readonly locations: pulumi.Output; /** * The maximum bandwidth percentage allowed. Valid range: 0-100. */ readonly maxBandwidth: pulumi.Output; /** * The minimum bandwidth percentage allocated. Valid range: 0-100. */ readonly minBandwidth: pulumi.Output; /** * The name of the bandwidth control rule. Must be unique. */ readonly name: pulumi.Output; /** * The order of execution of the rule with respect to other bandwidth control rules. */ readonly order: pulumi.Output; /** * Protocols to which the rule applies. Valid values: `ANY_RULE`, `TCP_RULE`, `UDP_RULE`, `SSL_RULE`. */ readonly protocols: pulumi.Output; /** * Admin rank of the bandwidth control rule. Valid values: 0-7. Default: 7. */ readonly rank: pulumi.Output; /** * The system-generated ID of the bandwidth control rule. */ readonly ruleId: pulumi.Output; /** * Rule state. Valid values: `ENABLED`, `DISABLED`. */ readonly state: pulumi.Output; /** * IDs of time intervals during which the rule must be enforced. */ readonly timeWindows: pulumi.Output; /** * Create a BandwidthControlRule 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: BandwidthControlRuleArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a BandwidthControlRule resource. */ export interface BandwidthControlRuleArgs { /** * IDs of bandwidth classes associated with this rule. */ bandwidthClasses?: pulumi.Input[] | undefined>; /** * Additional information about the bandwidth control rule. */ description?: pulumi.Input; /** * IDs of labels associated with the bandwidth control rule. */ labels?: pulumi.Input[] | undefined>; /** * IDs of location groups for which the rule must be applied. */ locationGroups?: pulumi.Input[] | undefined>; /** * IDs of locations for which the rule must be applied. */ locations?: pulumi.Input[] | undefined>; /** * The maximum bandwidth percentage allowed. Valid range: 0-100. */ maxBandwidth?: pulumi.Input; /** * The minimum bandwidth percentage allocated. Valid range: 0-100. */ minBandwidth?: pulumi.Input; /** * The name of the bandwidth control rule. Must be unique. */ name: pulumi.Input; /** * The order of execution of the rule with respect to other bandwidth control rules. */ order: pulumi.Input; /** * Protocols to which the rule applies. Valid values: `ANY_RULE`, `TCP_RULE`, `UDP_RULE`, `SSL_RULE`. */ protocols?: pulumi.Input[] | undefined>; /** * Admin rank of the bandwidth control rule. Valid values: 0-7. Default: 7. */ rank?: pulumi.Input; /** * Rule state. Valid values: `ENABLED`, `DISABLED`. */ state?: pulumi.Input; /** * IDs of time intervals during which the rule must be enforced. */ timeWindows?: pulumi.Input[] | undefined>; } //# sourceMappingURL=bandwidthControlRule.d.ts.map