import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface EvpnInstanceConfig 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/evpn_instance#device EvpnInstance#device} */ readonly device?: string; /** * evpn instance number * - Range: `1`-`65535` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn_instance#evpn_instance_num EvpnInstance#evpn_instance_num} */ readonly evpnInstanceNum: number; /** * Automatically set a route-target * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn_instance#vlan_based_auto_route_target EvpnInstance#vlan_based_auto_route_target} */ readonly vlanBasedAutoRouteTarget?: boolean | cdktf.IResolvable; /** * Automatically set a route-target (OBSOLETE, use auto-route-target-boolean) * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn_instance#vlan_based_auto_route_target_legacy EvpnInstance#vlan_based_auto_route_target_legacy} */ readonly vlanBasedAutoRouteTargetLegacy?: boolean | cdktf.IResolvable; /** * Advertise Default Gateway MAC/IP routes * - Choices: `disable`, `enable` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn_instance#vlan_based_default_gateway_advertise EvpnInstance#vlan_based_default_gateway_advertise} */ readonly vlanBasedDefaultGatewayAdvertise?: string; /** * Data encapsulation method * - Choices: `mpls`, `vxlan` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn_instance#vlan_based_encapsulation EvpnInstance#vlan_based_encapsulation} */ readonly vlanBasedEncapsulation?: string; /** * Disable IP local learning from dataplane * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn_instance#vlan_based_ip_local_learning_disable EvpnInstance#vlan_based_ip_local_learning_disable} */ readonly vlanBasedIpLocalLearningDisable?: boolean | cdktf.IResolvable; /** * Enable IP local learning from dataplane * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn_instance#vlan_based_ip_local_learning_enable EvpnInstance#vlan_based_ip_local_learning_enable} */ readonly vlanBasedIpLocalLearningEnable?: boolean | cdktf.IResolvable; /** * Advertise L2 multicast capability * - Choices: `disable`, `enable`, `sync-only` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn_instance#vlan_based_multicast_advertise EvpnInstance#vlan_based_multicast_advertise} */ readonly vlanBasedMulticastAdvertise?: string; /** * ASN:nn or IP-address:nn * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn_instance#vlan_based_rd EvpnInstance#vlan_based_rd} */ readonly vlanBasedRd?: string; /** * Re-originate route-type 5 * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn_instance#vlan_based_re_originate_route_type5 EvpnInstance#vlan_based_re_originate_route_type5} */ readonly vlanBasedReOriginateRouteType5?: boolean | cdktf.IResolvable; /** * Ingress replication * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn_instance#vlan_based_replication_type_ingress EvpnInstance#vlan_based_replication_type_ingress} */ readonly vlanBasedReplicationTypeIngress?: boolean | cdktf.IResolvable; /** * mp2mp replication * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn_instance#vlan_based_replication_type_mp2mp EvpnInstance#vlan_based_replication_type_mp2mp} */ readonly vlanBasedReplicationTypeMp2Mp?: boolean | cdktf.IResolvable; /** * p2mp replication * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn_instance#vlan_based_replication_type_p2mp EvpnInstance#vlan_based_replication_type_p2mp} */ readonly vlanBasedReplicationTypeP2Mp?: boolean | cdktf.IResolvable; /** * Static replication * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn_instance#vlan_based_replication_type_static EvpnInstance#vlan_based_replication_type_static} */ readonly vlanBasedReplicationTypeStatic?: boolean | cdktf.IResolvable; /** * ASN:nn or IP-address:nn * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn_instance#vlan_based_route_target_both_legacy EvpnInstance#vlan_based_route_target_both_legacy} */ readonly vlanBasedRouteTargetBothLegacy?: string; /** * ASN:nn or IP-address:nn (Obsolete, use rt-value-entry) * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn_instance#vlan_based_route_target_export_legacy EvpnInstance#vlan_based_route_target_export_legacy} */ readonly vlanBasedRouteTargetExportLegacy?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn_instance#vlan_based_route_target_exports EvpnInstance#vlan_based_route_target_exports} */ readonly vlanBasedRouteTargetExports?: EvpnInstanceVlanBasedRouteTargetExports[] | cdktf.IResolvable; /** * ASN:nn or IP-address:nn (Obsolete, use rt-value-entry) * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn_instance#vlan_based_route_target_import_legacy EvpnInstance#vlan_based_route_target_import_legacy} */ readonly vlanBasedRouteTargetImportLegacy?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn_instance#vlan_based_route_target_imports EvpnInstance#vlan_based_route_target_imports} */ readonly vlanBasedRouteTargetImports?: EvpnInstanceVlanBasedRouteTargetImports[] | cdktf.IResolvable; /** * ASN:nn or IP-address:nn * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn_instance#vlan_based_route_target_legacy EvpnInstance#vlan_based_route_target_legacy} */ readonly vlanBasedRouteTargetLegacy?: string; } export interface EvpnInstanceVlanBasedRouteTargetExports { /** * ASN:nn or IP-address:nn * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn_instance#route_target EvpnInstance#route_target} */ readonly routeTarget: string; } export declare function evpnInstanceVlanBasedRouteTargetExportsToTerraform(struct?: EvpnInstanceVlanBasedRouteTargetExports | cdktf.IResolvable): any; export declare function evpnInstanceVlanBasedRouteTargetExportsToHclTerraform(struct?: EvpnInstanceVlanBasedRouteTargetExports | cdktf.IResolvable): any; export declare class EvpnInstanceVlanBasedRouteTargetExportsOutputReference 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(): EvpnInstanceVlanBasedRouteTargetExports | cdktf.IResolvable | undefined; set internalValue(value: EvpnInstanceVlanBasedRouteTargetExports | cdktf.IResolvable | undefined); private _routeTarget?; get routeTarget(): string; set routeTarget(value: string); get routeTargetInput(): string; } export declare class EvpnInstanceVlanBasedRouteTargetExportsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: EvpnInstanceVlanBasedRouteTargetExports[] | 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): EvpnInstanceVlanBasedRouteTargetExportsOutputReference; } export interface EvpnInstanceVlanBasedRouteTargetImports { /** * ASN:nn or IP-address:nn * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn_instance#route_target EvpnInstance#route_target} */ readonly routeTarget: string; } export declare function evpnInstanceVlanBasedRouteTargetImportsToTerraform(struct?: EvpnInstanceVlanBasedRouteTargetImports | cdktf.IResolvable): any; export declare function evpnInstanceVlanBasedRouteTargetImportsToHclTerraform(struct?: EvpnInstanceVlanBasedRouteTargetImports | cdktf.IResolvable): any; export declare class EvpnInstanceVlanBasedRouteTargetImportsOutputReference 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(): EvpnInstanceVlanBasedRouteTargetImports | cdktf.IResolvable | undefined; set internalValue(value: EvpnInstanceVlanBasedRouteTargetImports | cdktf.IResolvable | undefined); private _routeTarget?; get routeTarget(): string; set routeTarget(value: string); get routeTargetInput(): string; } export declare class EvpnInstanceVlanBasedRouteTargetImportsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: EvpnInstanceVlanBasedRouteTargetImports[] | 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): EvpnInstanceVlanBasedRouteTargetImportsOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn_instance iosxe_evpn_instance} */ export declare class EvpnInstance extends cdktf.TerraformResource { static readonly tfResourceType = "iosxe_evpn_instance"; /** * Generates CDKTF code for importing a EvpnInstance 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 EvpnInstance to import * @param importFromId The id of the existing EvpnInstance that should be imported. Refer to the {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/evpn_instance#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the EvpnInstance 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_instance iosxe_evpn_instance} 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 EvpnInstanceConfig */ constructor(scope: Construct, id: string, config: EvpnInstanceConfig); private _device?; get device(): string; set device(value: string); resetDevice(): void; get deviceInput(): string; private _evpnInstanceNum?; get evpnInstanceNum(): number; set evpnInstanceNum(value: number); get evpnInstanceNumInput(): number; get id(): any; private _vlanBasedAutoRouteTarget?; get vlanBasedAutoRouteTarget(): boolean | cdktf.IResolvable; set vlanBasedAutoRouteTarget(value: boolean | cdktf.IResolvable); resetVlanBasedAutoRouteTarget(): void; get vlanBasedAutoRouteTargetInput(): any; private _vlanBasedAutoRouteTargetLegacy?; get vlanBasedAutoRouteTargetLegacy(): boolean | cdktf.IResolvable; set vlanBasedAutoRouteTargetLegacy(value: boolean | cdktf.IResolvable); resetVlanBasedAutoRouteTargetLegacy(): void; get vlanBasedAutoRouteTargetLegacyInput(): any; private _vlanBasedDefaultGatewayAdvertise?; get vlanBasedDefaultGatewayAdvertise(): string; set vlanBasedDefaultGatewayAdvertise(value: string); resetVlanBasedDefaultGatewayAdvertise(): void; get vlanBasedDefaultGatewayAdvertiseInput(): string; private _vlanBasedEncapsulation?; get vlanBasedEncapsulation(): string; set vlanBasedEncapsulation(value: string); resetVlanBasedEncapsulation(): void; get vlanBasedEncapsulationInput(): string; private _vlanBasedIpLocalLearningDisable?; get vlanBasedIpLocalLearningDisable(): boolean | cdktf.IResolvable; set vlanBasedIpLocalLearningDisable(value: boolean | cdktf.IResolvable); resetVlanBasedIpLocalLearningDisable(): void; get vlanBasedIpLocalLearningDisableInput(): any; private _vlanBasedIpLocalLearningEnable?; get vlanBasedIpLocalLearningEnable(): boolean | cdktf.IResolvable; set vlanBasedIpLocalLearningEnable(value: boolean | cdktf.IResolvable); resetVlanBasedIpLocalLearningEnable(): void; get vlanBasedIpLocalLearningEnableInput(): any; private _vlanBasedMulticastAdvertise?; get vlanBasedMulticastAdvertise(): string; set vlanBasedMulticastAdvertise(value: string); resetVlanBasedMulticastAdvertise(): void; get vlanBasedMulticastAdvertiseInput(): string; private _vlanBasedRd?; get vlanBasedRd(): string; set vlanBasedRd(value: string); resetVlanBasedRd(): void; get vlanBasedRdInput(): string; private _vlanBasedReOriginateRouteType5?; get vlanBasedReOriginateRouteType5(): boolean | cdktf.IResolvable; set vlanBasedReOriginateRouteType5(value: boolean | cdktf.IResolvable); resetVlanBasedReOriginateRouteType5(): void; get vlanBasedReOriginateRouteType5Input(): any; private _vlanBasedReplicationTypeIngress?; get vlanBasedReplicationTypeIngress(): boolean | cdktf.IResolvable; set vlanBasedReplicationTypeIngress(value: boolean | cdktf.IResolvable); resetVlanBasedReplicationTypeIngress(): void; get vlanBasedReplicationTypeIngressInput(): any; private _vlanBasedReplicationTypeMp2Mp?; get vlanBasedReplicationTypeMp2Mp(): boolean | cdktf.IResolvable; set vlanBasedReplicationTypeMp2Mp(value: boolean | cdktf.IResolvable); resetVlanBasedReplicationTypeMp2Mp(): void; get vlanBasedReplicationTypeMp2MpInput(): any; private _vlanBasedReplicationTypeP2Mp?; get vlanBasedReplicationTypeP2Mp(): boolean | cdktf.IResolvable; set vlanBasedReplicationTypeP2Mp(value: boolean | cdktf.IResolvable); resetVlanBasedReplicationTypeP2Mp(): void; get vlanBasedReplicationTypeP2MpInput(): any; private _vlanBasedReplicationTypeStatic?; get vlanBasedReplicationTypeStatic(): boolean | cdktf.IResolvable; set vlanBasedReplicationTypeStatic(value: boolean | cdktf.IResolvable); resetVlanBasedReplicationTypeStatic(): void; get vlanBasedReplicationTypeStaticInput(): any; private _vlanBasedRouteTargetBothLegacy?; get vlanBasedRouteTargetBothLegacy(): string; set vlanBasedRouteTargetBothLegacy(value: string); resetVlanBasedRouteTargetBothLegacy(): void; get vlanBasedRouteTargetBothLegacyInput(): string; private _vlanBasedRouteTargetExportLegacy?; get vlanBasedRouteTargetExportLegacy(): string; set vlanBasedRouteTargetExportLegacy(value: string); resetVlanBasedRouteTargetExportLegacy(): void; get vlanBasedRouteTargetExportLegacyInput(): string; private _vlanBasedRouteTargetExports; get vlanBasedRouteTargetExports(): EvpnInstanceVlanBasedRouteTargetExportsList; putVlanBasedRouteTargetExports(value: EvpnInstanceVlanBasedRouteTargetExports[] | cdktf.IResolvable): void; resetVlanBasedRouteTargetExports(): void; get vlanBasedRouteTargetExportsInput(): any; private _vlanBasedRouteTargetImportLegacy?; get vlanBasedRouteTargetImportLegacy(): string; set vlanBasedRouteTargetImportLegacy(value: string); resetVlanBasedRouteTargetImportLegacy(): void; get vlanBasedRouteTargetImportLegacyInput(): string; private _vlanBasedRouteTargetImports; get vlanBasedRouteTargetImports(): EvpnInstanceVlanBasedRouteTargetImportsList; putVlanBasedRouteTargetImports(value: EvpnInstanceVlanBasedRouteTargetImports[] | cdktf.IResolvable): void; resetVlanBasedRouteTargetImports(): void; get vlanBasedRouteTargetImportsInput(): any; private _vlanBasedRouteTargetLegacy?; get vlanBasedRouteTargetLegacy(): string; set vlanBasedRouteTargetLegacy(value: string); resetVlanBasedRouteTargetLegacy(): void; get vlanBasedRouteTargetLegacyInput(): string; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }