import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface SpanningTreeConfig extends cdktf.TerraformMetaArguments { /** * A device name from the provider configuration. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/spanning_tree#device SpanningTree#device} */ readonly device?: string; /** * Extend system-id into priority portion of the bridge id (PVST & Rapid PVST only) * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/spanning_tree#extend_system_id SpanningTree#extend_system_id} */ readonly extendSystemId?: boolean | cdktf.IResolvable; /** * Enable Spanning tree logging * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/spanning_tree#logging SpanningTree#logging} */ readonly logging?: boolean | cdktf.IResolvable; /** * Enable loopguard by default on all ports * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/spanning_tree#loopguard_default SpanningTree#loopguard_default} */ readonly loopguardDefault?: boolean | cdktf.IResolvable; /** * Spanning tree operating mode * - Choices: `mst`, `pvst`, `rapid-pvst` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/spanning_tree#mode SpanningTree#mode} */ readonly mode?: string; /** * Map vlans to an MST instance * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/spanning_tree#mst_instances SpanningTree#mst_instances} */ readonly mstInstances?: SpanningTreeMstInstances[] | cdktf.IResolvable; /** * Enable bpdu guard by default on all portfast edge ports * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/spanning_tree#portfast_bpduguard_default SpanningTree#portfast_bpduguard_default} */ readonly portfastBpduguardDefault?: boolean | cdktf.IResolvable; /** * Enable portfast by default on all access ports * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/spanning_tree#portfast_default SpanningTree#portfast_default} */ readonly portfastDefault?: boolean | cdktf.IResolvable; /** * VLAN Switch Spanning Tree * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/spanning_tree#vlans SpanningTree#vlans} */ readonly vlans?: SpanningTreeVlans[] | cdktf.IResolvable; } export interface SpanningTreeMstInstances { /** * * - Range: `0`-`4094` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/spanning_tree#id SpanningTree#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; /** * Range of vlans to add to the instance mapping * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/spanning_tree#vlan_ids SpanningTree#vlan_ids} */ readonly vlanIds?: number[]; } export declare function spanningTreeMstInstancesToTerraform(struct?: SpanningTreeMstInstances | cdktf.IResolvable): any; export declare function spanningTreeMstInstancesToHclTerraform(struct?: SpanningTreeMstInstances | cdktf.IResolvable): any; export declare class SpanningTreeMstInstancesOutputReference 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(): SpanningTreeMstInstances | cdktf.IResolvable | undefined; set internalValue(value: SpanningTreeMstInstances | cdktf.IResolvable | undefined); private _id?; get id(): number; set id(value: number); get idInput(): number; private _vlanIds?; get vlanIds(): number[]; set vlanIds(value: number[]); resetVlanIds(): void; get vlanIdsInput(): number[]; } export declare class SpanningTreeMstInstancesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: SpanningTreeMstInstances[] | 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): SpanningTreeMstInstancesOutputReference; } export interface SpanningTreeVlans { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/spanning_tree#id SpanningTree#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: string; /** * Set the bridge priority for the spanning tree * - Range: `0`-`61440` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/spanning_tree#priority SpanningTree#priority} */ readonly priority?: number; } export declare function spanningTreeVlansToTerraform(struct?: SpanningTreeVlans | cdktf.IResolvable): any; export declare function spanningTreeVlansToHclTerraform(struct?: SpanningTreeVlans | cdktf.IResolvable): any; export declare class SpanningTreeVlansOutputReference 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(): SpanningTreeVlans | cdktf.IResolvable | undefined; set internalValue(value: SpanningTreeVlans | cdktf.IResolvable | undefined); private _id?; get id(): string; set id(value: string); get idInput(): string; private _priority?; get priority(): number; set priority(value: number); resetPriority(): void; get priorityInput(): number; } export declare class SpanningTreeVlansList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: SpanningTreeVlans[] | 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): SpanningTreeVlansOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/spanning_tree iosxe_spanning_tree} */ export declare class SpanningTree extends cdktf.TerraformResource { static readonly tfResourceType = "iosxe_spanning_tree"; /** * Generates CDKTF code for importing a SpanningTree 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 SpanningTree to import * @param importFromId The id of the existing SpanningTree that should be imported. Refer to the {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/spanning_tree#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the SpanningTree 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/spanning_tree iosxe_spanning_tree} 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 SpanningTreeConfig = {} */ constructor(scope: Construct, id: string, config?: SpanningTreeConfig); private _device?; get device(): string; set device(value: string); resetDevice(): void; get deviceInput(): string; private _extendSystemId?; get extendSystemId(): boolean | cdktf.IResolvable; set extendSystemId(value: boolean | cdktf.IResolvable); resetExtendSystemId(): void; get extendSystemIdInput(): any; get id(): any; private _logging?; get logging(): boolean | cdktf.IResolvable; set logging(value: boolean | cdktf.IResolvable); resetLogging(): void; get loggingInput(): any; private _loopguardDefault?; get loopguardDefault(): boolean | cdktf.IResolvable; set loopguardDefault(value: boolean | cdktf.IResolvable); resetLoopguardDefault(): void; get loopguardDefaultInput(): any; private _mode?; get mode(): string; set mode(value: string); resetMode(): void; get modeInput(): string; private _mstInstances; get mstInstances(): SpanningTreeMstInstancesList; putMstInstances(value: SpanningTreeMstInstances[] | cdktf.IResolvable): void; resetMstInstances(): void; get mstInstancesInput(): any; private _portfastBpduguardDefault?; get portfastBpduguardDefault(): boolean | cdktf.IResolvable; set portfastBpduguardDefault(value: boolean | cdktf.IResolvable); resetPortfastBpduguardDefault(): void; get portfastBpduguardDefaultInput(): any; private _portfastDefault?; get portfastDefault(): boolean | cdktf.IResolvable; set portfastDefault(value: boolean | cdktf.IResolvable); resetPortfastDefault(): void; get portfastDefaultInput(): any; private _vlans; get vlans(): SpanningTreeVlansList; putVlans(value: SpanningTreeVlans[] | cdktf.IResolvable): void; resetVlans(): void; get vlansInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }