import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface BgpNeighborConfig extends cdktf.TerraformMetaArguments { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_neighbor#asn BgpNeighbor#asn} */ readonly asn: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_neighbor#cluster_id BgpNeighbor#cluster_id} */ readonly clusterId?: 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/bgp_neighbor#delete_mode BgpNeighbor#delete_mode} */ readonly deleteMode?: string; /** * Neighbor specific description * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_neighbor#description BgpNeighbor#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/bgp_neighbor#device BgpNeighbor#device} */ readonly device?: string; /** * one-hop away EBGP peer using loopback address * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_neighbor#disable_connected_check BgpNeighbor#disable_connected_check} */ readonly disableConnectedCheck?: boolean | cdktf.IResolvable; /** * Allow EBGP neighbors not on directly connected networks. For single-hop ebgp peers, delete ebgp-multihop directly. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_neighbor#ebgp_multihop BgpNeighbor#ebgp_multihop} */ readonly ebgpMultihop?: boolean | cdktf.IResolvable; /** * * - Range: `2`-`255` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_neighbor#ebgp_multihop_max_hop BgpNeighbor#ebgp_multihop_max_hop} */ readonly ebgpMultihopMaxHop?: number; /** * Use BFD to detect failure * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_neighbor#fall_over_bfd BgpNeighbor#fall_over_bfd} */ readonly fallOverBfd?: boolean | cdktf.IResolvable; /** * Retrieve control plane dependent failure info from BFD for BGP GR/NSR operation * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_neighbor#fall_over_bfd_check_control_plane_failure BgpNeighbor#fall_over_bfd_check_control_plane_failure} */ readonly fallOverBfdCheckControlPlaneFailure?: boolean | cdktf.IResolvable; /** * Force BFD multi-hop to detect failure * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_neighbor#fall_over_bfd_multi_hop BgpNeighbor#fall_over_bfd_multi_hop} */ readonly fallOverBfdMultiHop?: boolean | cdktf.IResolvable; /** * Force BFD single-hop to detect failure * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_neighbor#fall_over_bfd_single_hop BgpNeighbor#fall_over_bfd_single_hop} */ readonly fallOverBfdSingleHop?: boolean | cdktf.IResolvable; /** * Enable BFD strict-mode * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_neighbor#fall_over_bfd_strict_mode BgpNeighbor#fall_over_bfd_strict_mode} */ readonly fallOverBfdStrictMode?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_neighbor#fall_over_default_enable BgpNeighbor#fall_over_default_enable} */ readonly fallOverDefaultEnable?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_neighbor#fall_over_default_route_map BgpNeighbor#fall_over_default_route_map} */ readonly fallOverDefaultRouteMap?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_neighbor#fall_over_maximum_metric_route_map BgpNeighbor#fall_over_maximum_metric_route_map} */ readonly fallOverMaximumMetricRouteMap?: string; /** * Inherit a peer-session template * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_neighbor#inherit_peer_session BgpNeighbor#inherit_peer_session} */ readonly inheritPeerSession?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_neighbor#ip BgpNeighbor#ip} */ readonly ip: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_neighbor#local_as BgpNeighbor#local_as} */ readonly localAs?: string; /** * Accept either real AS or local AS from the ebgp peer * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_neighbor#local_as_dual_as BgpNeighbor#local_as_dual_as} */ readonly localAsDualAs?: boolean | cdktf.IResolvable; /** * Do not prepend local-as to updates from ebgp peers * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_neighbor#local_as_no_prepend BgpNeighbor#local_as_no_prepend} */ readonly localAsNoPrepend?: boolean | cdktf.IResolvable; /** * Replace real AS with local AS in the EBGP updates * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_neighbor#local_as_replace_as BgpNeighbor#local_as_replace_as} */ readonly localAsReplaceAs?: boolean | cdktf.IResolvable; /** * Log neighbor up/down and reset reason * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_neighbor#log_neighbor_changes BgpNeighbor#log_neighbor_changes} */ readonly logNeighborChanges?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_neighbor#password BgpNeighbor#password} */ readonly password?: string; /** * Encryption type (0 to disable encryption, 7 for proprietary) * - Range: `0`-`7` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_neighbor#password_type BgpNeighbor#password_type} */ readonly passwordType?: number; /** * peer-group name * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_neighbor#peer_group BgpNeighbor#peer_group} */ readonly peerGroup?: string; /** * Specify a BGP peer-group remote-as * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_neighbor#remote_as BgpNeighbor#remote_as} */ readonly remoteAs?: string; /** * Administratively shut down this neighbor * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_neighbor#shutdown BgpNeighbor#shutdown} */ readonly shutdown?: boolean | cdktf.IResolvable; /** * * - Range: `0`-`65535` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_neighbor#timers_holdtime BgpNeighbor#timers_holdtime} */ readonly timersHoldtime?: number; /** * * - Range: `0`-`65535` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_neighbor#timers_keepalive_interval BgpNeighbor#timers_keepalive_interval} */ readonly timersKeepaliveInterval?: number; /** * * - Range: `0`-`65535` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_neighbor#timers_minimum_neighbor_hold BgpNeighbor#timers_minimum_neighbor_hold} */ readonly timersMinimumNeighborHold?: number; /** * IP hops * - Range: `1`-`254` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_neighbor#ttl_security_hops BgpNeighbor#ttl_security_hops} */ readonly ttlSecurityHops?: number; /** * Loopback interface * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_neighbor#update_source_interface_loopback BgpNeighbor#update_source_interface_loopback} */ readonly updateSourceInterfaceLoopback?: number; /** * Set the BGP version to match a neighbor * - Range: `4`-`4` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_neighbor#version BgpNeighbor#version} */ readonly version?: number; } /** * Represents a {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_neighbor iosxe_bgp_neighbor} */ export declare class BgpNeighbor extends cdktf.TerraformResource { static readonly tfResourceType = "iosxe_bgp_neighbor"; /** * Generates CDKTF code for importing a BgpNeighbor 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 BgpNeighbor to import * @param importFromId The id of the existing BgpNeighbor that should be imported. Refer to the {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/bgp_neighbor#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the BgpNeighbor 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/bgp_neighbor iosxe_bgp_neighbor} 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 BgpNeighborConfig */ constructor(scope: Construct, id: string, config: BgpNeighborConfig); private _asn?; get asn(): string; set asn(value: string); get asnInput(): string; private _clusterId?; get clusterId(): string; set clusterId(value: string); resetClusterId(): void; get clusterIdInput(): string; private _deleteMode?; get deleteMode(): string; set deleteMode(value: string); resetDeleteMode(): void; get deleteModeInput(): string; 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; private _disableConnectedCheck?; get disableConnectedCheck(): boolean | cdktf.IResolvable; set disableConnectedCheck(value: boolean | cdktf.IResolvable); resetDisableConnectedCheck(): void; get disableConnectedCheckInput(): any; private _ebgpMultihop?; get ebgpMultihop(): boolean | cdktf.IResolvable; set ebgpMultihop(value: boolean | cdktf.IResolvable); resetEbgpMultihop(): void; get ebgpMultihopInput(): any; private _ebgpMultihopMaxHop?; get ebgpMultihopMaxHop(): number; set ebgpMultihopMaxHop(value: number); resetEbgpMultihopMaxHop(): void; get ebgpMultihopMaxHopInput(): number; private _fallOverBfd?; get fallOverBfd(): boolean | cdktf.IResolvable; set fallOverBfd(value: boolean | cdktf.IResolvable); resetFallOverBfd(): void; get fallOverBfdInput(): any; private _fallOverBfdCheckControlPlaneFailure?; get fallOverBfdCheckControlPlaneFailure(): boolean | cdktf.IResolvable; set fallOverBfdCheckControlPlaneFailure(value: boolean | cdktf.IResolvable); resetFallOverBfdCheckControlPlaneFailure(): void; get fallOverBfdCheckControlPlaneFailureInput(): any; private _fallOverBfdMultiHop?; get fallOverBfdMultiHop(): boolean | cdktf.IResolvable; set fallOverBfdMultiHop(value: boolean | cdktf.IResolvable); resetFallOverBfdMultiHop(): void; get fallOverBfdMultiHopInput(): any; private _fallOverBfdSingleHop?; get fallOverBfdSingleHop(): boolean | cdktf.IResolvable; set fallOverBfdSingleHop(value: boolean | cdktf.IResolvable); resetFallOverBfdSingleHop(): void; get fallOverBfdSingleHopInput(): any; private _fallOverBfdStrictMode?; get fallOverBfdStrictMode(): boolean | cdktf.IResolvable; set fallOverBfdStrictMode(value: boolean | cdktf.IResolvable); resetFallOverBfdStrictMode(): void; get fallOverBfdStrictModeInput(): any; private _fallOverDefaultEnable?; get fallOverDefaultEnable(): boolean | cdktf.IResolvable; set fallOverDefaultEnable(value: boolean | cdktf.IResolvable); resetFallOverDefaultEnable(): void; get fallOverDefaultEnableInput(): any; private _fallOverDefaultRouteMap?; get fallOverDefaultRouteMap(): string; set fallOverDefaultRouteMap(value: string); resetFallOverDefaultRouteMap(): void; get fallOverDefaultRouteMapInput(): string; private _fallOverMaximumMetricRouteMap?; get fallOverMaximumMetricRouteMap(): string; set fallOverMaximumMetricRouteMap(value: string); resetFallOverMaximumMetricRouteMap(): void; get fallOverMaximumMetricRouteMapInput(): string; get id(): any; private _inheritPeerSession?; get inheritPeerSession(): string; set inheritPeerSession(value: string); resetInheritPeerSession(): void; get inheritPeerSessionInput(): string; private _ip?; get ip(): string; set ip(value: string); get ipInput(): string; private _localAs?; get localAs(): string; set localAs(value: string); resetLocalAs(): void; get localAsInput(): string; private _localAsDualAs?; get localAsDualAs(): boolean | cdktf.IResolvable; set localAsDualAs(value: boolean | cdktf.IResolvable); resetLocalAsDualAs(): void; get localAsDualAsInput(): any; private _localAsNoPrepend?; get localAsNoPrepend(): boolean | cdktf.IResolvable; set localAsNoPrepend(value: boolean | cdktf.IResolvable); resetLocalAsNoPrepend(): void; get localAsNoPrependInput(): any; private _localAsReplaceAs?; get localAsReplaceAs(): boolean | cdktf.IResolvable; set localAsReplaceAs(value: boolean | cdktf.IResolvable); resetLocalAsReplaceAs(): void; get localAsReplaceAsInput(): any; private _logNeighborChanges?; get logNeighborChanges(): boolean | cdktf.IResolvable; set logNeighborChanges(value: boolean | cdktf.IResolvable); resetLogNeighborChanges(): void; get logNeighborChangesInput(): any; private _password?; get password(): string; set password(value: string); resetPassword(): void; get passwordInput(): string; private _passwordType?; get passwordType(): number; set passwordType(value: number); resetPasswordType(): void; get passwordTypeInput(): number; private _peerGroup?; get peerGroup(): string; set peerGroup(value: string); resetPeerGroup(): void; get peerGroupInput(): string; private _remoteAs?; get remoteAs(): string; set remoteAs(value: string); resetRemoteAs(): void; get remoteAsInput(): string; private _shutdown?; get shutdown(): boolean | cdktf.IResolvable; set shutdown(value: boolean | cdktf.IResolvable); resetShutdown(): void; get shutdownInput(): any; private _timersHoldtime?; get timersHoldtime(): number; set timersHoldtime(value: number); resetTimersHoldtime(): void; get timersHoldtimeInput(): number; private _timersKeepaliveInterval?; get timersKeepaliveInterval(): number; set timersKeepaliveInterval(value: number); resetTimersKeepaliveInterval(): void; get timersKeepaliveIntervalInput(): number; private _timersMinimumNeighborHold?; get timersMinimumNeighborHold(): number; set timersMinimumNeighborHold(value: number); resetTimersMinimumNeighborHold(): void; get timersMinimumNeighborHoldInput(): number; private _ttlSecurityHops?; get ttlSecurityHops(): number; set ttlSecurityHops(value: number); resetTtlSecurityHops(): void; get ttlSecurityHopsInput(): number; private _updateSourceInterfaceLoopback?; get updateSourceInterfaceLoopback(): number; set updateSourceInterfaceLoopback(value: number); resetUpdateSourceInterfaceLoopback(): void; get updateSourceInterfaceLoopbackInput(): number; private _version?; get version(): number; set version(value: number); resetVersion(): void; get versionInput(): number; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }