import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface EvpnConfig extends cdktf.TerraformMetaArguments { /** * Enable Auto Anycast Gateway MAC * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn#anycast_gateway_mac_auto Evpn#anycast_gateway_mac_auto} */ readonly anycastGatewayMacAuto?: boolean | cdktf.IResolvable; /** * Advertise Default Gateway MAC/IP routes * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn#default_gateway_advertise Evpn#default_gateway_advertise} */ readonly defaultGatewayAdvertise?: boolean | cdktf.IResolvable; /** * 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/evpn#delete_mode Evpn#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/evpn#device Evpn#device} */ readonly device?: string; /** * Disable flooding suppression * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn#flooding_suppression_address_resolution_disable Evpn#flooding_suppression_address_resolution_disable} */ readonly floodingSuppressionAddressResolutionDisable?: boolean | cdktf.IResolvable; /** * Number of IP moves within specified time interval * - Range: `2`-`1000` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn#ip_duplication_limit Evpn#ip_duplication_limit} */ readonly ipDuplicationLimit?: number; /** * IP duplication timer * - Range: `10`-`36000` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn#ip_duplication_time Evpn#ip_duplication_time} */ readonly ipDuplicationTime?: number; /** * Peer state transition logging * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn#logging_peer_state Evpn#logging_peer_state} */ readonly loggingPeerState?: boolean | cdktf.IResolvable; /** * Number of MAC moves within specified time interval * - Range: `2`-`1000` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn#mac_duplication_limit Evpn#mac_duplication_limit} */ readonly macDuplicationLimit?: number; /** * MAC duplication timer * - Range: `10`-`36000` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn#mac_duplication_time Evpn#mac_duplication_time} */ readonly macDuplicationTime?: number; /** * Enable and advertise L2 multicast capability * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn#multicast_advertise Evpn#multicast_advertise} */ readonly multicastAdvertise?: boolean | cdktf.IResolvable; /** * Ingress replication * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn#replication_type_ingress Evpn#replication_type_ingress} */ readonly replicationTypeIngress?: boolean | cdktf.IResolvable; /** * mp2mp replication * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn#replication_type_mp2mp Evpn#replication_type_mp2mp} */ readonly replicationTypeMp2Mp?: boolean | cdktf.IResolvable; /** * p2mp replication * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn#replication_type_p2mp Evpn#replication_type_p2mp} */ readonly replicationTypeP2Mp?: boolean | cdktf.IResolvable; /** * Static replication * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn#replication_type_static Evpn#replication_type_static} */ readonly replicationTypeStatic?: boolean | cdktf.IResolvable; /** * Set vni-based route-target * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn#route_target_auto_vni Evpn#route_target_auto_vni} */ readonly routeTargetAutoVni?: boolean | cdktf.IResolvable; /** * Loopback interface * - Range: `0`-`2147483647` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn#router_id_loopback Evpn#router_id_loopback} */ readonly routerIdLoopback?: number; } /** * Represents a {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn iosxe_evpn} */ export declare class Evpn extends cdktf.TerraformResource { static readonly tfResourceType = "iosxe_evpn"; /** * Generates CDKTF code for importing a Evpn 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 Evpn to import * @param importFromId The id of the existing Evpn that should be imported. Refer to the {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the Evpn 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/evpn iosxe_evpn} 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 EvpnConfig = {} */ constructor(scope: Construct, id: string, config?: EvpnConfig); private _anycastGatewayMacAuto?; get anycastGatewayMacAuto(): boolean | cdktf.IResolvable; set anycastGatewayMacAuto(value: boolean | cdktf.IResolvable); resetAnycastGatewayMacAuto(): void; get anycastGatewayMacAutoInput(): any; private _defaultGatewayAdvertise?; get defaultGatewayAdvertise(): boolean | cdktf.IResolvable; set defaultGatewayAdvertise(value: boolean | cdktf.IResolvable); resetDefaultGatewayAdvertise(): void; get defaultGatewayAdvertiseInput(): any; 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 _floodingSuppressionAddressResolutionDisable?; get floodingSuppressionAddressResolutionDisable(): boolean | cdktf.IResolvable; set floodingSuppressionAddressResolutionDisable(value: boolean | cdktf.IResolvable); resetFloodingSuppressionAddressResolutionDisable(): void; get floodingSuppressionAddressResolutionDisableInput(): any; get id(): any; private _ipDuplicationLimit?; get ipDuplicationLimit(): number; set ipDuplicationLimit(value: number); resetIpDuplicationLimit(): void; get ipDuplicationLimitInput(): number; private _ipDuplicationTime?; get ipDuplicationTime(): number; set ipDuplicationTime(value: number); resetIpDuplicationTime(): void; get ipDuplicationTimeInput(): number; private _loggingPeerState?; get loggingPeerState(): boolean | cdktf.IResolvable; set loggingPeerState(value: boolean | cdktf.IResolvable); resetLoggingPeerState(): void; get loggingPeerStateInput(): any; private _macDuplicationLimit?; get macDuplicationLimit(): number; set macDuplicationLimit(value: number); resetMacDuplicationLimit(): void; get macDuplicationLimitInput(): number; private _macDuplicationTime?; get macDuplicationTime(): number; set macDuplicationTime(value: number); resetMacDuplicationTime(): void; get macDuplicationTimeInput(): number; private _multicastAdvertise?; get multicastAdvertise(): boolean | cdktf.IResolvable; set multicastAdvertise(value: boolean | cdktf.IResolvable); resetMulticastAdvertise(): void; get multicastAdvertiseInput(): any; private _replicationTypeIngress?; get replicationTypeIngress(): boolean | cdktf.IResolvable; set replicationTypeIngress(value: boolean | cdktf.IResolvable); resetReplicationTypeIngress(): void; get replicationTypeIngressInput(): any; private _replicationTypeMp2Mp?; get replicationTypeMp2Mp(): boolean | cdktf.IResolvable; set replicationTypeMp2Mp(value: boolean | cdktf.IResolvable); resetReplicationTypeMp2Mp(): void; get replicationTypeMp2MpInput(): any; private _replicationTypeP2Mp?; get replicationTypeP2Mp(): boolean | cdktf.IResolvable; set replicationTypeP2Mp(value: boolean | cdktf.IResolvable); resetReplicationTypeP2Mp(): void; get replicationTypeP2MpInput(): any; private _replicationTypeStatic?; get replicationTypeStatic(): boolean | cdktf.IResolvable; set replicationTypeStatic(value: boolean | cdktf.IResolvable); resetReplicationTypeStatic(): void; get replicationTypeStaticInput(): any; private _routeTargetAutoVni?; get routeTargetAutoVni(): boolean | cdktf.IResolvable; set routeTargetAutoVni(value: boolean | cdktf.IResolvable); resetRouteTargetAutoVni(): void; get routeTargetAutoVniInput(): any; private _routerIdLoopback?; get routerIdLoopback(): number; set routerIdLoopback(value: number); resetRouterIdLoopback(): void; get routerIdLoopbackInput(): number; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }