import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface BandwidthControlRuleConfig extends cdktf.TerraformMetaArguments { /** * The description of the bandwidth control rule * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/bandwidth_control_rule#description BandwidthControlRule#description} */ readonly description?: string; /** * The maximum percentage of a location's bandwidth you want to be guaranteed for each selected bandwidth control rule * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/bandwidth_control_rule#max_bandwidth BandwidthControlRule#max_bandwidth} */ readonly maxBandwidth?: number; /** * The minimum percentage of a location's bandwidth you want to be guaranteed for each selected bandwidth control rule * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/bandwidth_control_rule#min_bandwidth BandwidthControlRule#min_bandwidth} */ readonly minBandwidth?: number; /** * The bandwidth control rule name * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/bandwidth_control_rule#name BandwidthControlRule#name} */ readonly name?: string; /** * The order of the bandwidth control rule * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/bandwidth_control_rule#order BandwidthControlRule#order} */ readonly order: number; /** * Supported Protocol criteria * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/bandwidth_control_rule#protocols BandwidthControlRule#protocols} */ readonly protocols: string[]; /** * Admin rank of the Bandwidth Control policy rule * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/bandwidth_control_rule#rank BandwidthControlRule#rank} */ readonly rank?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/bandwidth_control_rule#state BandwidthControlRule#state} */ readonly state?: string; /** * bandwidth_classes block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/bandwidth_control_rule#bandwidth_classes BandwidthControlRule#bandwidth_classes} */ readonly bandwidthClasses?: BandwidthControlRuleBandwidthClasses; /** * labels block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/bandwidth_control_rule#labels BandwidthControlRule#labels} */ readonly labels?: BandwidthControlRuleLabels; /** * location_groups block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/bandwidth_control_rule#location_groups BandwidthControlRule#location_groups} */ readonly locationGroups?: BandwidthControlRuleLocationGroups; /** * locations block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/bandwidth_control_rule#locations BandwidthControlRule#locations} */ readonly locations?: BandwidthControlRuleLocations; /** * time_windows block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/bandwidth_control_rule#time_windows BandwidthControlRule#time_windows} */ readonly timeWindows?: BandwidthControlRuleTimeWindows; } export interface BandwidthControlRuleBandwidthClasses { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/bandwidth_control_rule#id BandwidthControlRule#id} * * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable. */ readonly id?: number[]; } export declare function bandwidthControlRuleBandwidthClassesToTerraform(struct?: BandwidthControlRuleBandwidthClassesOutputReference | BandwidthControlRuleBandwidthClasses): any; export declare function bandwidthControlRuleBandwidthClassesToHclTerraform(struct?: BandwidthControlRuleBandwidthClassesOutputReference | BandwidthControlRuleBandwidthClasses): any; export declare class BandwidthControlRuleBandwidthClassesOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): BandwidthControlRuleBandwidthClasses | undefined; set internalValue(value: BandwidthControlRuleBandwidthClasses | undefined); private _id?; get id(): number[]; set id(value: number[]); resetId(): void; get idInput(): number[]; } export interface BandwidthControlRuleLabels { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/bandwidth_control_rule#id BandwidthControlRule#id} * * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable. */ readonly id?: number[]; } export declare function bandwidthControlRuleLabelsToTerraform(struct?: BandwidthControlRuleLabelsOutputReference | BandwidthControlRuleLabels): any; export declare function bandwidthControlRuleLabelsToHclTerraform(struct?: BandwidthControlRuleLabelsOutputReference | BandwidthControlRuleLabels): any; export declare class BandwidthControlRuleLabelsOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): BandwidthControlRuleLabels | undefined; set internalValue(value: BandwidthControlRuleLabels | undefined); private _id?; get id(): number[]; set id(value: number[]); resetId(): void; get idInput(): number[]; } export interface BandwidthControlRuleLocationGroups { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/bandwidth_control_rule#id BandwidthControlRule#id} * * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable. */ readonly id?: number[]; } export declare function bandwidthControlRuleLocationGroupsToTerraform(struct?: BandwidthControlRuleLocationGroupsOutputReference | BandwidthControlRuleLocationGroups): any; export declare function bandwidthControlRuleLocationGroupsToHclTerraform(struct?: BandwidthControlRuleLocationGroupsOutputReference | BandwidthControlRuleLocationGroups): any; export declare class BandwidthControlRuleLocationGroupsOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): BandwidthControlRuleLocationGroups | undefined; set internalValue(value: BandwidthControlRuleLocationGroups | undefined); private _id?; get id(): number[]; set id(value: number[]); resetId(): void; get idInput(): number[]; } export interface BandwidthControlRuleLocations { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/bandwidth_control_rule#id BandwidthControlRule#id} * * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable. */ readonly id?: number[]; } export declare function bandwidthControlRuleLocationsToTerraform(struct?: BandwidthControlRuleLocationsOutputReference | BandwidthControlRuleLocations): any; export declare function bandwidthControlRuleLocationsToHclTerraform(struct?: BandwidthControlRuleLocationsOutputReference | BandwidthControlRuleLocations): any; export declare class BandwidthControlRuleLocationsOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): BandwidthControlRuleLocations | undefined; set internalValue(value: BandwidthControlRuleLocations | undefined); private _id?; get id(): number[]; set id(value: number[]); resetId(): void; get idInput(): number[]; } export interface BandwidthControlRuleTimeWindows { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/bandwidth_control_rule#id BandwidthControlRule#id} * * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable. */ readonly id?: number[]; } export declare function bandwidthControlRuleTimeWindowsToTerraform(struct?: BandwidthControlRuleTimeWindowsOutputReference | BandwidthControlRuleTimeWindows): any; export declare function bandwidthControlRuleTimeWindowsToHclTerraform(struct?: BandwidthControlRuleTimeWindowsOutputReference | BandwidthControlRuleTimeWindows): any; export declare class BandwidthControlRuleTimeWindowsOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): BandwidthControlRuleTimeWindows | undefined; set internalValue(value: BandwidthControlRuleTimeWindows | undefined); private _id?; get id(): number[]; set id(value: number[]); resetId(): void; get idInput(): number[]; } /** * Represents a {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/bandwidth_control_rule zia_bandwidth_control_rule} */ export declare class BandwidthControlRule extends cdktf.TerraformResource { static readonly tfResourceType = "zia_bandwidth_control_rule"; /** * Generates CDKTF code for importing a BandwidthControlRule resource upon running "cdktf plan " * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the BandwidthControlRule to import * @param importFromId The id of the existing BandwidthControlRule that should be imported. Refer to the {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/bandwidth_control_rule#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the BandwidthControlRule to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any; /** * Create a new {@link https://registry.terraform.io/providers/zscaler/zia/4.6.5/docs/resources/bandwidth_control_rule zia_bandwidth_control_rule} Resource * * @param scope The scope in which to define this construct * @param id The scoped construct ID. Must be unique amongst siblings in the same scope * @param options BandwidthControlRuleConfig */ constructor(scope: Construct, id: string, config: BandwidthControlRuleConfig); private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; get id(): any; private _maxBandwidth?; get maxBandwidth(): number; set maxBandwidth(value: number); resetMaxBandwidth(): void; get maxBandwidthInput(): number; private _minBandwidth?; get minBandwidth(): number; set minBandwidth(value: number); resetMinBandwidth(): void; get minBandwidthInput(): number; private _name?; get name(): string; set name(value: string); resetName(): void; get nameInput(): string; private _order?; get order(): number; set order(value: number); get orderInput(): number; private _protocols?; get protocols(): string[]; set protocols(value: string[]); get protocolsInput(): string[]; private _rank?; get rank(): number; set rank(value: number); resetRank(): void; get rankInput(): number; get ruleId(): any; private _state?; get state(): string; set state(value: string); resetState(): void; get stateInput(): string; private _bandwidthClasses; get bandwidthClasses(): BandwidthControlRuleBandwidthClassesOutputReference; putBandwidthClasses(value: BandwidthControlRuleBandwidthClasses): void; resetBandwidthClasses(): void; get bandwidthClassesInput(): BandwidthControlRuleBandwidthClasses; private _labels; get labels(): BandwidthControlRuleLabelsOutputReference; putLabels(value: BandwidthControlRuleLabels): void; resetLabels(): void; get labelsInput(): BandwidthControlRuleLabels; private _locationGroups; get locationGroups(): BandwidthControlRuleLocationGroupsOutputReference; putLocationGroups(value: BandwidthControlRuleLocationGroups): void; resetLocationGroups(): void; get locationGroupsInput(): BandwidthControlRuleLocationGroups; private _locations; get locations(): BandwidthControlRuleLocationsOutputReference; putLocations(value: BandwidthControlRuleLocations): void; resetLocations(): void; get locationsInput(): BandwidthControlRuleLocations; private _timeWindows; get timeWindows(): BandwidthControlRuleTimeWindowsOutputReference; putTimeWindows(value: BandwidthControlRuleTimeWindows): void; resetTimeWindows(): void; get timeWindowsInput(): BandwidthControlRuleTimeWindows; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }