import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface LldpConfig extends cdktf.TerraformMetaArguments { /** * 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/lldp#delete_mode Lldp#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/lldp#device Lldp#device} */ readonly device?: string; /** * Specify the holdtime (in sec) to be sent in packets * - Range: `0`-`65535` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/lldp#holdtime Lldp#holdtime} */ readonly holdtime?: number; /** * IPV4 address List * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/lldp#ipv4_management_addresses Lldp#ipv4_management_addresses} */ readonly ipv4ManagementAddresses?: string[]; /** * IPV6 address List * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/lldp#ipv6_management_addresses Lldp#ipv6_management_addresses} */ readonly ipv6ManagementAddresses?: string[]; /** * Custom Management VLAN * - Range: `1`-`4095` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/lldp#management_vlan Lldp#management_vlan} */ readonly managementVlan?: number; /** * Enable LLDP * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/lldp#run Lldp#run} */ readonly run?: boolean | cdktf.IResolvable; /** * System name * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/lldp#system_names Lldp#system_names} */ readonly systemNames?: LldpSystemNames[] | cdktf.IResolvable; /** * Rate at which LLDP packets are sent (in sec) * - Range: `5`-`65534` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/lldp#timer Lldp#timer} */ readonly timer?: number; } export interface LldpSystemNames { /** * System name * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/lldp#name Lldp#name} */ readonly name?: string; /** * Switch identifier * - Range: `0`-`17` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/lldp#switch_id Lldp#switch_id} */ readonly switchId: number; } export declare function lldpSystemNamesToTerraform(struct?: LldpSystemNames | cdktf.IResolvable): any; export declare function lldpSystemNamesToHclTerraform(struct?: LldpSystemNames | cdktf.IResolvable): any; export declare class LldpSystemNamesOutputReference 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(): LldpSystemNames | cdktf.IResolvable | undefined; set internalValue(value: LldpSystemNames | cdktf.IResolvable | undefined); private _name?; get name(): string; set name(value: string); resetName(): void; get nameInput(): string; private _switchId?; get switchId(): number; set switchId(value: number); get switchIdInput(): number; } export declare class LldpSystemNamesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: LldpSystemNames[] | 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): LldpSystemNamesOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/lldp iosxe_lldp} */ export declare class Lldp extends cdktf.TerraformResource { static readonly tfResourceType = "iosxe_lldp"; /** * Generates CDKTF code for importing a Lldp 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 Lldp to import * @param importFromId The id of the existing Lldp that should be imported. Refer to the {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/lldp#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the Lldp 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/lldp iosxe_lldp} 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 LldpConfig = {} */ constructor(scope: Construct, id: string, config?: LldpConfig); 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 _holdtime?; get holdtime(): number; set holdtime(value: number); resetHoldtime(): void; get holdtimeInput(): number; get id(): any; private _ipv4ManagementAddresses?; get ipv4ManagementAddresses(): string[]; set ipv4ManagementAddresses(value: string[]); resetIpv4ManagementAddresses(): void; get ipv4ManagementAddressesInput(): string[]; private _ipv6ManagementAddresses?; get ipv6ManagementAddresses(): string[]; set ipv6ManagementAddresses(value: string[]); resetIpv6ManagementAddresses(): void; get ipv6ManagementAddressesInput(): string[]; private _managementVlan?; get managementVlan(): number; set managementVlan(value: number); resetManagementVlan(): void; get managementVlanInput(): number; private _run?; get run(): boolean | cdktf.IResolvable; set run(value: boolean | cdktf.IResolvable); resetRun(): void; get runInput(): any; private _systemNames; get systemNames(): LldpSystemNamesList; putSystemNames(value: LldpSystemNames[] | cdktf.IResolvable): void; resetSystemNames(): void; get systemNamesInput(): any; private _timer?; get timer(): number; set timer(value: number); resetTimer(): void; get timerInput(): number; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }