import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface PolicyMapConfig extends cdktf.TerraformMetaArguments { /** * policy criteria * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/policy_map#classes PolicyMap#classes} */ readonly classes?: PolicyMapClasses[] | cdktf.IResolvable; /** * Policy-Map description * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/policy_map#description PolicyMap#description} */ readonly description?: string; /** * A device name from the provider configuration. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/policy_map#device PolicyMap#device} */ readonly device?: string; /** * Name of the policy map * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/policy_map#name PolicyMap#name} */ readonly name: string; /** * Domain name of the policy map * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/policy_map#subscriber PolicyMap#subscriber} */ readonly subscriber?: boolean | cdktf.IResolvable; /** * type of the policy-map * - Choices: `access-control`, `appnav`, `control`, `epbr`, `inspect`, `ngsw-qos`, `packet-service`, `performance-monitor`, `queueing`, `service`, `service-chain`, `umbrella` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/policy_map#type PolicyMap#type} */ readonly type?: string; } export interface PolicyMapClassesActions { /** * * - Range: `1`-`100000000` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/policy_map#bandwidth_bits PolicyMap#bandwidth_bits} */ readonly bandwidthBits?: number; /** * % of total Bandwidth * - Range: `1`-`100` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/policy_map#bandwidth_percent PolicyMap#bandwidth_percent} */ readonly bandwidthPercent?: number; /** * * - Choices: `percent`, `ratio` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/policy_map#bandwidth_remaining_option PolicyMap#bandwidth_remaining_option} */ readonly bandwidthRemainingOption?: string; /** * % of the remaining bandwidth * - Range: `1`-`100` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/policy_map#bandwidth_remaining_percent PolicyMap#bandwidth_remaining_percent} */ readonly bandwidthRemainingPercent?: number; /** * ratio for sharing excess bandwidth * - Range: `1`-`65536` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/policy_map#bandwidth_remaining_ratio PolicyMap#bandwidth_remaining_ratio} */ readonly bandwidthRemainingRatio?: number; /** * Target bit rate (bits per second) (postfix k, m, g optional),decimal point allowed * - Range: `8000`-`100000000000` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/policy_map#police_target_bitrate PolicyMap#police_target_bitrate} */ readonly policeTargetBitrate?: number; /** * Burst Byte * - Range: `100`-`512000000` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/policy_map#police_target_bitrate_conform_burst_byte PolicyMap#police_target_bitrate_conform_burst_byte} */ readonly policeTargetBitrateConformBurstByte?: number; /** * transmit packet * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/policy_map#police_target_bitrate_conform_transmit PolicyMap#police_target_bitrate_conform_transmit} */ readonly policeTargetBitrateConformTransmit?: boolean | cdktf.IResolvable; /** * transmit packet * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/policy_map#police_target_bitrate_exceed_transmit PolicyMap#police_target_bitrate_exceed_transmit} */ readonly policeTargetBitrateExceedTransmit?: boolean | cdktf.IResolvable; /** * Burst Byte * - Range: `100`-`512000000` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/policy_map#police_target_bitrate_excess_burst_byte PolicyMap#police_target_bitrate_excess_burst_byte} */ readonly policeTargetBitrateExcessBurstByte?: number; /** * * - Range: `32`-`2000000` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/policy_map#priority_burst PolicyMap#priority_burst} */ readonly priorityBurst?: number; /** * Multi-Level Priority Queue * - Range: `1`-`2` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/policy_map#priority_level PolicyMap#priority_level} */ readonly priorityLevel?: number; /** * * - Range: `1`-`64000000` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/policy_map#queue_limit PolicyMap#queue_limit} */ readonly queueLimit?: number; /** * * - Choices: `bytes`, `ms`, `packets`, `us` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/policy_map#queue_limit_type PolicyMap#queue_limit_type} */ readonly queueLimitType?: string; /** * Target Bit Rate (bits/sec) * - Range: `1000`-`100000000000` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/policy_map#shape_average_bit_rate PolicyMap#shape_average_bit_rate} */ readonly shapeAverageBitRate?: number; /** * bits per interval, excess. * - Range: `0`-`154400000` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/policy_map#shape_average_bits_per_interval_excess PolicyMap#shape_average_bits_per_interval_excess} */ readonly shapeAverageBitsPerIntervalExcess?: number; /** * bits per interval, sustained. Recommend not to configure, algo finds the best value * - Range: `32`-`800000000` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/policy_map#shape_average_bits_per_interval_sustained PolicyMap#shape_average_bits_per_interval_sustained} */ readonly shapeAverageBitsPerIntervalSustained?: number; /** * sustained burst in milliseconds. Recommend not to configure it, the algorithm will find out the best value * - Range: `10`-`2000` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/policy_map#shape_average_burst_size_sustained PolicyMap#shape_average_burst_size_sustained} */ readonly shapeAverageBurstSizeSustained?: number; /** * milliseconds * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/policy_map#shape_average_ms PolicyMap#shape_average_ms} */ readonly shapeAverageMs?: boolean | cdktf.IResolvable; /** * % of interface bandwidth for Committed information rate * - Range: `0`-`100` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/policy_map#shape_average_percent PolicyMap#shape_average_percent} */ readonly shapeAveragePercent?: number; /** * * - Choices: `bandwidth`, `compression`, `dbl`, `drop`, `estimate`, `fair-queue`, `forward`, `netflow-sampler`, `police`, `priority`, `queue-buffers`, `queue-limit`, `random-detect`, `service-policy`, `set`, `shape`, `trust` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/policy_map#type PolicyMap#type} */ readonly type: string; } export declare function policyMapClassesActionsToTerraform(struct?: PolicyMapClassesActions | cdktf.IResolvable): any; export declare function policyMapClassesActionsToHclTerraform(struct?: PolicyMapClassesActions | cdktf.IResolvable): any; export declare class PolicyMapClassesActionsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): PolicyMapClassesActions | cdktf.IResolvable | undefined; set internalValue(value: PolicyMapClassesActions | cdktf.IResolvable | undefined); private _bandwidthBits?; get bandwidthBits(): number; set bandwidthBits(value: number); resetBandwidthBits(): void; get bandwidthBitsInput(): number; private _bandwidthPercent?; get bandwidthPercent(): number; set bandwidthPercent(value: number); resetBandwidthPercent(): void; get bandwidthPercentInput(): number; private _bandwidthRemainingOption?; get bandwidthRemainingOption(): string; set bandwidthRemainingOption(value: string); resetBandwidthRemainingOption(): void; get bandwidthRemainingOptionInput(): string; private _bandwidthRemainingPercent?; get bandwidthRemainingPercent(): number; set bandwidthRemainingPercent(value: number); resetBandwidthRemainingPercent(): void; get bandwidthRemainingPercentInput(): number; private _bandwidthRemainingRatio?; get bandwidthRemainingRatio(): number; set bandwidthRemainingRatio(value: number); resetBandwidthRemainingRatio(): void; get bandwidthRemainingRatioInput(): number; private _policeTargetBitrate?; get policeTargetBitrate(): number; set policeTargetBitrate(value: number); resetPoliceTargetBitrate(): void; get policeTargetBitrateInput(): number; private _policeTargetBitrateConformBurstByte?; get policeTargetBitrateConformBurstByte(): number; set policeTargetBitrateConformBurstByte(value: number); resetPoliceTargetBitrateConformBurstByte(): void; get policeTargetBitrateConformBurstByteInput(): number; private _policeTargetBitrateConformTransmit?; get policeTargetBitrateConformTransmit(): boolean | cdktf.IResolvable; set policeTargetBitrateConformTransmit(value: boolean | cdktf.IResolvable); resetPoliceTargetBitrateConformTransmit(): void; get policeTargetBitrateConformTransmitInput(): any; private _policeTargetBitrateExceedTransmit?; get policeTargetBitrateExceedTransmit(): boolean | cdktf.IResolvable; set policeTargetBitrateExceedTransmit(value: boolean | cdktf.IResolvable); resetPoliceTargetBitrateExceedTransmit(): void; get policeTargetBitrateExceedTransmitInput(): any; private _policeTargetBitrateExcessBurstByte?; get policeTargetBitrateExcessBurstByte(): number; set policeTargetBitrateExcessBurstByte(value: number); resetPoliceTargetBitrateExcessBurstByte(): void; get policeTargetBitrateExcessBurstByteInput(): number; private _priorityBurst?; get priorityBurst(): number; set priorityBurst(value: number); resetPriorityBurst(): void; get priorityBurstInput(): number; private _priorityLevel?; get priorityLevel(): number; set priorityLevel(value: number); resetPriorityLevel(): void; get priorityLevelInput(): number; private _queueLimit?; get queueLimit(): number; set queueLimit(value: number); resetQueueLimit(): void; get queueLimitInput(): number; private _queueLimitType?; get queueLimitType(): string; set queueLimitType(value: string); resetQueueLimitType(): void; get queueLimitTypeInput(): string; private _shapeAverageBitRate?; get shapeAverageBitRate(): number; set shapeAverageBitRate(value: number); resetShapeAverageBitRate(): void; get shapeAverageBitRateInput(): number; private _shapeAverageBitsPerIntervalExcess?; get shapeAverageBitsPerIntervalExcess(): number; set shapeAverageBitsPerIntervalExcess(value: number); resetShapeAverageBitsPerIntervalExcess(): void; get shapeAverageBitsPerIntervalExcessInput(): number; private _shapeAverageBitsPerIntervalSustained?; get shapeAverageBitsPerIntervalSustained(): number; set shapeAverageBitsPerIntervalSustained(value: number); resetShapeAverageBitsPerIntervalSustained(): void; get shapeAverageBitsPerIntervalSustainedInput(): number; private _shapeAverageBurstSizeSustained?; get shapeAverageBurstSizeSustained(): number; set shapeAverageBurstSizeSustained(value: number); resetShapeAverageBurstSizeSustained(): void; get shapeAverageBurstSizeSustainedInput(): number; private _shapeAverageMs?; get shapeAverageMs(): boolean | cdktf.IResolvable; set shapeAverageMs(value: boolean | cdktf.IResolvable); resetShapeAverageMs(): void; get shapeAverageMsInput(): any; private _shapeAveragePercent?; get shapeAveragePercent(): number; set shapeAveragePercent(value: number); resetShapeAveragePercent(): void; get shapeAveragePercentInput(): number; private _type?; get type(): string; set type(value: string); get typeInput(): string; } export declare class PolicyMapClassesActionsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: PolicyMapClassesActions[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): PolicyMapClassesActionsOutputReference; } export interface PolicyMapClasses { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/policy_map#actions PolicyMap#actions} */ readonly actions?: PolicyMapClassesActions[] | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/policy_map#name PolicyMap#name} */ readonly name: string; } export declare function policyMapClassesToTerraform(struct?: PolicyMapClasses | cdktf.IResolvable): any; export declare function policyMapClassesToHclTerraform(struct?: PolicyMapClasses | cdktf.IResolvable): any; export declare class PolicyMapClassesOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): PolicyMapClasses | cdktf.IResolvable | undefined; set internalValue(value: PolicyMapClasses | cdktf.IResolvable | undefined); private _actions; get actions(): PolicyMapClassesActionsList; putActions(value: PolicyMapClassesActions[] | cdktf.IResolvable): void; resetActions(): void; get actionsInput(): any; private _name?; get name(): string; set name(value: string); get nameInput(): string; } export declare class PolicyMapClassesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: PolicyMapClasses[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): PolicyMapClassesOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/policy_map iosxe_policy_map} */ export declare class PolicyMap extends cdktf.TerraformResource { static readonly tfResourceType = "iosxe_policy_map"; /** * Generates CDKTF code for importing a PolicyMap 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 PolicyMap to import * @param importFromId The id of the existing PolicyMap that should be imported. Refer to the {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/policy_map#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the PolicyMap 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/ciscodevnet/iosxe/0.15.0/docs/resources/policy_map iosxe_policy_map} 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 PolicyMapConfig */ constructor(scope: Construct, id: string, config: PolicyMapConfig); private _classes; get classes(): PolicyMapClassesList; putClasses(value: PolicyMapClasses[] | cdktf.IResolvable): void; resetClasses(): void; get classesInput(): any; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; private _device?; get device(): string; set device(value: string); resetDevice(): void; get deviceInput(): string; get id(): any; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _subscriber?; get subscriber(): boolean | cdktf.IResolvable; set subscriber(value: boolean | cdktf.IResolvable); resetSubscriber(): void; get subscriberInput(): any; private _type?; get type(): string; set type(value: string); resetType(): void; get typeInput(): string; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }