import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface InterfaceSwitchportConfig extends cdktf.TerraformMetaArguments { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_switchport#access_vlan InterfaceSwitchport#access_vlan} */ readonly accessVlan?: string; /** * Configure behavior when deleting/destroying the resource. Either delete the entire object (YANG container) being managed, or only delete the individual resource attributes configured explicitly and leave everything else as-is. Default value is `all`. * - Choices: `all`, `attributes` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_switchport#delete_mode InterfaceSwitchport#delete_mode} */ readonly deleteMode?: 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/interface_switchport#device InterfaceSwitchport#device} */ readonly device?: string; /** * Set port host * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_switchport#host InterfaceSwitchport#host} */ readonly host?: boolean | cdktf.IResolvable; /** * Set trunking mode to ACCESS unconditionally * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_switchport#mode_access InterfaceSwitchport#mode_access} */ readonly modeAccess?: boolean | cdktf.IResolvable; /** * set trunking mode to TUNNEL unconditionally * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_switchport#mode_dot1q_tunnel InterfaceSwitchport#mode_dot1q_tunnel} */ readonly modeDot1QTunnel?: boolean | cdktf.IResolvable; /** * Set the mode to private-vlan host * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_switchport#mode_private_vlan_host InterfaceSwitchport#mode_private_vlan_host} */ readonly modePrivateVlanHost?: boolean | cdktf.IResolvable; /** * Set the mode to private-vlan promiscuous * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_switchport#mode_private_vlan_promiscuous InterfaceSwitchport#mode_private_vlan_promiscuous} */ readonly modePrivateVlanPromiscuous?: boolean | cdktf.IResolvable; /** * Set the mode to private-vlan trunk * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_switchport#mode_private_vlan_trunk InterfaceSwitchport#mode_private_vlan_trunk} */ readonly modePrivateVlanTrunk?: boolean | cdktf.IResolvable; /** * Set trunking mode to TRUNK unconditionally * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_switchport#mode_trunk InterfaceSwitchport#mode_trunk} */ readonly modeTrunk?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_switchport#name InterfaceSwitchport#name} */ readonly name: string; /** * Device will not engage in negotiation protocol on this interface * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_switchport#nonegotiate InterfaceSwitchport#nonegotiate} */ readonly nonegotiate?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_switchport#trunk_allowed_vlans InterfaceSwitchport#trunk_allowed_vlans} */ readonly trunkAllowedVlans?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_switchport#trunk_allowed_vlans_add InterfaceSwitchport#trunk_allowed_vlans_add} */ readonly trunkAllowedVlansAdd?: InterfaceSwitchportTrunkAllowedVlansAdd[] | cdktf.IResolvable; /** * all VLANs * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_switchport#trunk_allowed_vlans_all InterfaceSwitchport#trunk_allowed_vlans_all} */ readonly trunkAllowedVlansAll?: boolean | cdktf.IResolvable; /** * all VLANs except the following * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_switchport#trunk_allowed_vlans_except InterfaceSwitchport#trunk_allowed_vlans_except} */ readonly trunkAllowedVlansExcept?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_switchport#trunk_allowed_vlans_legacy InterfaceSwitchport#trunk_allowed_vlans_legacy} */ readonly trunkAllowedVlansLegacy?: string; /** * no VLANs * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_switchport#trunk_allowed_vlans_none InterfaceSwitchport#trunk_allowed_vlans_none} */ readonly trunkAllowedVlansNone?: boolean | cdktf.IResolvable; /** * no VLANs * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_switchport#trunk_allowed_vlans_none_legacy InterfaceSwitchport#trunk_allowed_vlans_none_legacy} */ readonly trunkAllowedVlansNoneLegacy?: boolean | cdktf.IResolvable; /** * VLAN IDs of disallowed VLANs when this port is in trunking mode * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_switchport#trunk_allowed_vlans_remove InterfaceSwitchport#trunk_allowed_vlans_remove} */ readonly trunkAllowedVlansRemove?: string; /** * * - Range: `1`-`4094` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_switchport#trunk_native_vlan InterfaceSwitchport#trunk_native_vlan} */ readonly trunkNativeVlan?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_switchport#trunk_native_vlan_tag InterfaceSwitchport#trunk_native_vlan_tag} */ readonly trunkNativeVlanTag?: boolean | cdktf.IResolvable; /** * Interface type * - Choices: `GigabitEthernet`, `TwoGigabitEthernet`, `FiveGigabitEthernet`, `TenGigabitEthernet`, `TwentyFiveGigE`, `FortyGigabitEthernet`, `FiftyGigabitEthernet`, `HundredGigE`, `TwoHundredGigE`, `FourHundredGigE`, `Port-channel` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_switchport#type InterfaceSwitchport#type} */ readonly type: string; } export interface InterfaceSwitchportTrunkAllowedVlansAdd { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_switchport#vlans InterfaceSwitchport#vlans} */ readonly vlans: string; } export declare function interfaceSwitchportTrunkAllowedVlansAddToTerraform(struct?: InterfaceSwitchportTrunkAllowedVlansAdd | cdktf.IResolvable): any; export declare function interfaceSwitchportTrunkAllowedVlansAddToHclTerraform(struct?: InterfaceSwitchportTrunkAllowedVlansAdd | cdktf.IResolvable): any; export declare class InterfaceSwitchportTrunkAllowedVlansAddOutputReference 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(): InterfaceSwitchportTrunkAllowedVlansAdd | cdktf.IResolvable | undefined; set internalValue(value: InterfaceSwitchportTrunkAllowedVlansAdd | cdktf.IResolvable | undefined); private _vlans?; get vlans(): string; set vlans(value: string); get vlansInput(): string; } export declare class InterfaceSwitchportTrunkAllowedVlansAddList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: InterfaceSwitchportTrunkAllowedVlansAdd[] | 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): InterfaceSwitchportTrunkAllowedVlansAddOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_switchport iosxe_interface_switchport} */ export declare class InterfaceSwitchport extends cdktf.TerraformResource { static readonly tfResourceType = "iosxe_interface_switchport"; /** * Generates CDKTF code for importing a InterfaceSwitchport 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 InterfaceSwitchport to import * @param importFromId The id of the existing InterfaceSwitchport that should be imported. Refer to the {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_switchport#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the InterfaceSwitchport 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/interface_switchport iosxe_interface_switchport} 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 InterfaceSwitchportConfig */ constructor(scope: Construct, id: string, config: InterfaceSwitchportConfig); private _accessVlan?; get accessVlan(): string; set accessVlan(value: string); resetAccessVlan(): void; get accessVlanInput(): string; private _deleteMode?; get deleteMode(): string; set deleteMode(value: string); resetDeleteMode(): void; get deleteModeInput(): string; private _device?; get device(): string; set device(value: string); resetDevice(): void; get deviceInput(): string; private _host?; get host(): boolean | cdktf.IResolvable; set host(value: boolean | cdktf.IResolvable); resetHost(): void; get hostInput(): any; get id(): any; private _modeAccess?; get modeAccess(): boolean | cdktf.IResolvable; set modeAccess(value: boolean | cdktf.IResolvable); resetModeAccess(): void; get modeAccessInput(): any; private _modeDot1QTunnel?; get modeDot1QTunnel(): boolean | cdktf.IResolvable; set modeDot1QTunnel(value: boolean | cdktf.IResolvable); resetModeDot1QTunnel(): void; get modeDot1QTunnelInput(): any; private _modePrivateVlanHost?; get modePrivateVlanHost(): boolean | cdktf.IResolvable; set modePrivateVlanHost(value: boolean | cdktf.IResolvable); resetModePrivateVlanHost(): void; get modePrivateVlanHostInput(): any; private _modePrivateVlanPromiscuous?; get modePrivateVlanPromiscuous(): boolean | cdktf.IResolvable; set modePrivateVlanPromiscuous(value: boolean | cdktf.IResolvable); resetModePrivateVlanPromiscuous(): void; get modePrivateVlanPromiscuousInput(): any; private _modePrivateVlanTrunk?; get modePrivateVlanTrunk(): boolean | cdktf.IResolvable; set modePrivateVlanTrunk(value: boolean | cdktf.IResolvable); resetModePrivateVlanTrunk(): void; get modePrivateVlanTrunkInput(): any; private _modeTrunk?; get modeTrunk(): boolean | cdktf.IResolvable; set modeTrunk(value: boolean | cdktf.IResolvable); resetModeTrunk(): void; get modeTrunkInput(): any; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _nonegotiate?; get nonegotiate(): boolean | cdktf.IResolvable; set nonegotiate(value: boolean | cdktf.IResolvable); resetNonegotiate(): void; get nonegotiateInput(): any; private _trunkAllowedVlans?; get trunkAllowedVlans(): string; set trunkAllowedVlans(value: string); resetTrunkAllowedVlans(): void; get trunkAllowedVlansInput(): string; private _trunkAllowedVlansAdd; get trunkAllowedVlansAdd(): InterfaceSwitchportTrunkAllowedVlansAddList; putTrunkAllowedVlansAdd(value: InterfaceSwitchportTrunkAllowedVlansAdd[] | cdktf.IResolvable): void; resetTrunkAllowedVlansAdd(): void; get trunkAllowedVlansAddInput(): any; private _trunkAllowedVlansAll?; get trunkAllowedVlansAll(): boolean | cdktf.IResolvable; set trunkAllowedVlansAll(value: boolean | cdktf.IResolvable); resetTrunkAllowedVlansAll(): void; get trunkAllowedVlansAllInput(): any; private _trunkAllowedVlansExcept?; get trunkAllowedVlansExcept(): string; set trunkAllowedVlansExcept(value: string); resetTrunkAllowedVlansExcept(): void; get trunkAllowedVlansExceptInput(): string; private _trunkAllowedVlansLegacy?; get trunkAllowedVlansLegacy(): string; set trunkAllowedVlansLegacy(value: string); resetTrunkAllowedVlansLegacy(): void; get trunkAllowedVlansLegacyInput(): string; private _trunkAllowedVlansNone?; get trunkAllowedVlansNone(): boolean | cdktf.IResolvable; set trunkAllowedVlansNone(value: boolean | cdktf.IResolvable); resetTrunkAllowedVlansNone(): void; get trunkAllowedVlansNoneInput(): any; private _trunkAllowedVlansNoneLegacy?; get trunkAllowedVlansNoneLegacy(): boolean | cdktf.IResolvable; set trunkAllowedVlansNoneLegacy(value: boolean | cdktf.IResolvable); resetTrunkAllowedVlansNoneLegacy(): void; get trunkAllowedVlansNoneLegacyInput(): any; private _trunkAllowedVlansRemove?; get trunkAllowedVlansRemove(): string; set trunkAllowedVlansRemove(value: string); resetTrunkAllowedVlansRemove(): void; get trunkAllowedVlansRemoveInput(): string; private _trunkNativeVlan?; get trunkNativeVlan(): number; set trunkNativeVlan(value: number); resetTrunkNativeVlan(): void; get trunkNativeVlanInput(): number; private _trunkNativeVlanTag?; get trunkNativeVlanTag(): boolean | cdktf.IResolvable; set trunkNativeVlanTag(value: boolean | cdktf.IResolvable); resetTrunkNativeVlanTag(): void; get trunkNativeVlanTagInput(): any; private _type?; get type(): string; set type(value: string); get typeInput(): string; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }