import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface InterfaceLoopbackConfig extends cdktf.TerraformMetaArguments { /** * Set ARP cache timeout * - Range: `0`-`2147483` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_loopback#arp_timeout InterfaceLoopback#arp_timeout} */ readonly arpTimeout?: number; /** * 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_loopback#delete_mode InterfaceLoopback#delete_mode} */ readonly deleteMode?: string; /** * Interface specific description * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_loopback#description InterfaceLoopback#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/interface_loopback#device InterfaceLoopback#device} */ readonly device?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_loopback#ip_access_group_in InterfaceLoopback#ip_access_group_in} */ readonly ipAccessGroupIn?: string; /** * inbound packets * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_loopback#ip_access_group_in_enable InterfaceLoopback#ip_access_group_in_enable} */ readonly ipAccessGroupInEnable?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_loopback#ip_access_group_out InterfaceLoopback#ip_access_group_out} */ readonly ipAccessGroupOut?: string; /** * outbound packets * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_loopback#ip_access_group_out_enable InterfaceLoopback#ip_access_group_out_enable} */ readonly ipAccessGroupOutEnable?: boolean | cdktf.IResolvable; /** * IGMP version * - Range: `1`-`3` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_loopback#ip_igmp_version InterfaceLoopback#ip_igmp_version} */ readonly ipIgmpVersion?: number; /** * Inside interface for address translation * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_loopback#ip_nat_inside InterfaceLoopback#ip_nat_inside} */ readonly ipNatInside?: boolean | cdktf.IResolvable; /** * Outside interface for address translation * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_loopback#ip_nat_outside InterfaceLoopback#ip_nat_outside} */ readonly ipNatOutside?: boolean | cdktf.IResolvable; /** * Enable proxy ARP * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_loopback#ip_proxy_arp InterfaceLoopback#ip_proxy_arp} */ readonly ipProxyArp?: boolean | cdktf.IResolvable; /** * Enable sending ICMP Redirect messages * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_loopback#ip_redirects InterfaceLoopback#ip_redirects} */ readonly ipRedirects?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_loopback#ip_router_isis InterfaceLoopback#ip_router_isis} */ readonly ipRouterIsis?: string; /** * Enable sending ICMP Unreachable messages * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_loopback#ip_unreachables InterfaceLoopback#ip_unreachables} */ readonly ipUnreachables?: boolean | cdktf.IResolvable; /** * Ip address * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_loopback#ipv4_address InterfaceLoopback#ipv4_address} */ readonly ipv4Address?: string; /** * Ip subnet mask * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_loopback#ipv4_address_mask InterfaceLoopback#ipv4_address_mask} */ readonly ipv4AddressMask?: string; /** * Insert default route * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_loopback#ipv6_address_autoconfig_default InterfaceLoopback#ipv6_address_autoconfig_default} */ readonly ipv6AddressAutoconfigDefault?: boolean | cdktf.IResolvable; /** * Obtain IPv6 address from DHCP server * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_loopback#ipv6_address_dhcp InterfaceLoopback#ipv6_address_dhcp} */ readonly ipv6AddressDhcp?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_loopback#ipv6_addresses InterfaceLoopback#ipv6_addresses} */ readonly ipv6Addresses?: InterfaceLoopbackIpv6Addresses[] | cdktf.IResolvable; /** * Enable IPv6 on interface * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_loopback#ipv6_enable InterfaceLoopback#ipv6_enable} */ readonly ipv6Enable?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_loopback#ipv6_link_local_addresses InterfaceLoopback#ipv6_link_local_addresses} */ readonly ipv6LinkLocalAddresses?: InterfaceLoopbackIpv6LinkLocalAddresses[] | cdktf.IResolvable; /** * Set IPv6 Maximum Transmission Unit * - Range: `1280`-`9976` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_loopback#ipv6_mtu InterfaceLoopback#ipv6_mtu} */ readonly ipv6Mtu?: number; /** * Suppress all IPv6 RA * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_loopback#ipv6_nd_ra_suppress_all InterfaceLoopback#ipv6_nd_ra_suppress_all} */ readonly ipv6NdRaSuppressAll?: boolean | cdktf.IResolvable; /** * * - Range: `0`-`2147483647` * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_loopback#name InterfaceLoopback#name} */ readonly name: number; /** * Shutdown the selected interface * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_loopback#shutdown InterfaceLoopback#shutdown} */ readonly shutdown?: boolean | cdktf.IResolvable; /** * Configure forwarding table * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_loopback#vrf_forwarding InterfaceLoopback#vrf_forwarding} */ readonly vrfForwarding?: string; } export interface InterfaceLoopbackIpv6Addresses { /** * Use eui-64 interface identifier * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_loopback#eui_64 InterfaceLoopback#eui_64} */ readonly eui64?: boolean | cdktf.IResolvable; /** * IPv6 prefix * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_loopback#prefix InterfaceLoopback#prefix} */ readonly prefix: string; } export declare function interfaceLoopbackIpv6AddressesToTerraform(struct?: InterfaceLoopbackIpv6Addresses | cdktf.IResolvable): any; export declare function interfaceLoopbackIpv6AddressesToHclTerraform(struct?: InterfaceLoopbackIpv6Addresses | cdktf.IResolvable): any; export declare class InterfaceLoopbackIpv6AddressesOutputReference 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(): InterfaceLoopbackIpv6Addresses | cdktf.IResolvable | undefined; set internalValue(value: InterfaceLoopbackIpv6Addresses | cdktf.IResolvable | undefined); private _eui64?; get eui64(): boolean | cdktf.IResolvable; set eui64(value: boolean | cdktf.IResolvable); resetEui64(): void; get eui64Input(): any; private _prefix?; get prefix(): string; set prefix(value: string); get prefixInput(): string; } export declare class InterfaceLoopbackIpv6AddressesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: InterfaceLoopbackIpv6Addresses[] | 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): InterfaceLoopbackIpv6AddressesOutputReference; } export interface InterfaceLoopbackIpv6LinkLocalAddresses { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_loopback#address InterfaceLoopback#address} */ readonly address: string; /** * Use link-local address * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_loopback#link_local InterfaceLoopback#link_local} */ readonly linkLocal?: boolean | cdktf.IResolvable; } export declare function interfaceLoopbackIpv6LinkLocalAddressesToTerraform(struct?: InterfaceLoopbackIpv6LinkLocalAddresses | cdktf.IResolvable): any; export declare function interfaceLoopbackIpv6LinkLocalAddressesToHclTerraform(struct?: InterfaceLoopbackIpv6LinkLocalAddresses | cdktf.IResolvable): any; export declare class InterfaceLoopbackIpv6LinkLocalAddressesOutputReference 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(): InterfaceLoopbackIpv6LinkLocalAddresses | cdktf.IResolvable | undefined; set internalValue(value: InterfaceLoopbackIpv6LinkLocalAddresses | cdktf.IResolvable | undefined); private _address?; get address(): string; set address(value: string); get addressInput(): string; private _linkLocal?; get linkLocal(): boolean | cdktf.IResolvable; set linkLocal(value: boolean | cdktf.IResolvable); resetLinkLocal(): void; get linkLocalInput(): any; } export declare class InterfaceLoopbackIpv6LinkLocalAddressesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: InterfaceLoopbackIpv6LinkLocalAddresses[] | 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): InterfaceLoopbackIpv6LinkLocalAddressesOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_loopback iosxe_interface_loopback} */ export declare class InterfaceLoopback extends cdktf.TerraformResource { static readonly tfResourceType = "iosxe_interface_loopback"; /** * Generates CDKTF code for importing a InterfaceLoopback 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 InterfaceLoopback to import * @param importFromId The id of the existing InterfaceLoopback that should be imported. Refer to the {@link https://registry.terraform.io/providers/ciscodevnet/iosxe/0.15.0/docs/resources/interface_loopback#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the InterfaceLoopback 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_loopback iosxe_interface_loopback} 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 InterfaceLoopbackConfig */ constructor(scope: Construct, id: string, config: InterfaceLoopbackConfig); private _arpTimeout?; get arpTimeout(): number; set arpTimeout(value: number); resetArpTimeout(): void; get arpTimeoutInput(): number; 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; get id(): any; private _ipAccessGroupIn?; get ipAccessGroupIn(): string; set ipAccessGroupIn(value: string); resetIpAccessGroupIn(): void; get ipAccessGroupInInput(): string; private _ipAccessGroupInEnable?; get ipAccessGroupInEnable(): boolean | cdktf.IResolvable; set ipAccessGroupInEnable(value: boolean | cdktf.IResolvable); resetIpAccessGroupInEnable(): void; get ipAccessGroupInEnableInput(): any; private _ipAccessGroupOut?; get ipAccessGroupOut(): string; set ipAccessGroupOut(value: string); resetIpAccessGroupOut(): void; get ipAccessGroupOutInput(): string; private _ipAccessGroupOutEnable?; get ipAccessGroupOutEnable(): boolean | cdktf.IResolvable; set ipAccessGroupOutEnable(value: boolean | cdktf.IResolvable); resetIpAccessGroupOutEnable(): void; get ipAccessGroupOutEnableInput(): any; private _ipIgmpVersion?; get ipIgmpVersion(): number; set ipIgmpVersion(value: number); resetIpIgmpVersion(): void; get ipIgmpVersionInput(): number; private _ipNatInside?; get ipNatInside(): boolean | cdktf.IResolvable; set ipNatInside(value: boolean | cdktf.IResolvable); resetIpNatInside(): void; get ipNatInsideInput(): any; private _ipNatOutside?; get ipNatOutside(): boolean | cdktf.IResolvable; set ipNatOutside(value: boolean | cdktf.IResolvable); resetIpNatOutside(): void; get ipNatOutsideInput(): any; private _ipProxyArp?; get ipProxyArp(): boolean | cdktf.IResolvable; set ipProxyArp(value: boolean | cdktf.IResolvable); resetIpProxyArp(): void; get ipProxyArpInput(): any; private _ipRedirects?; get ipRedirects(): boolean | cdktf.IResolvable; set ipRedirects(value: boolean | cdktf.IResolvable); resetIpRedirects(): void; get ipRedirectsInput(): any; private _ipRouterIsis?; get ipRouterIsis(): string; set ipRouterIsis(value: string); resetIpRouterIsis(): void; get ipRouterIsisInput(): string; private _ipUnreachables?; get ipUnreachables(): boolean | cdktf.IResolvable; set ipUnreachables(value: boolean | cdktf.IResolvable); resetIpUnreachables(): void; get ipUnreachablesInput(): any; private _ipv4Address?; get ipv4Address(): string; set ipv4Address(value: string); resetIpv4Address(): void; get ipv4AddressInput(): string; private _ipv4AddressMask?; get ipv4AddressMask(): string; set ipv4AddressMask(value: string); resetIpv4AddressMask(): void; get ipv4AddressMaskInput(): string; private _ipv6AddressAutoconfigDefault?; get ipv6AddressAutoconfigDefault(): boolean | cdktf.IResolvable; set ipv6AddressAutoconfigDefault(value: boolean | cdktf.IResolvable); resetIpv6AddressAutoconfigDefault(): void; get ipv6AddressAutoconfigDefaultInput(): any; private _ipv6AddressDhcp?; get ipv6AddressDhcp(): boolean | cdktf.IResolvable; set ipv6AddressDhcp(value: boolean | cdktf.IResolvable); resetIpv6AddressDhcp(): void; get ipv6AddressDhcpInput(): any; private _ipv6Addresses; get ipv6Addresses(): InterfaceLoopbackIpv6AddressesList; putIpv6Addresses(value: InterfaceLoopbackIpv6Addresses[] | cdktf.IResolvable): void; resetIpv6Addresses(): void; get ipv6AddressesInput(): any; private _ipv6Enable?; get ipv6Enable(): boolean | cdktf.IResolvable; set ipv6Enable(value: boolean | cdktf.IResolvable); resetIpv6Enable(): void; get ipv6EnableInput(): any; private _ipv6LinkLocalAddresses; get ipv6LinkLocalAddresses(): InterfaceLoopbackIpv6LinkLocalAddressesList; putIpv6LinkLocalAddresses(value: InterfaceLoopbackIpv6LinkLocalAddresses[] | cdktf.IResolvable): void; resetIpv6LinkLocalAddresses(): void; get ipv6LinkLocalAddressesInput(): any; private _ipv6Mtu?; get ipv6Mtu(): number; set ipv6Mtu(value: number); resetIpv6Mtu(): void; get ipv6MtuInput(): number; private _ipv6NdRaSuppressAll?; get ipv6NdRaSuppressAll(): boolean | cdktf.IResolvable; set ipv6NdRaSuppressAll(value: boolean | cdktf.IResolvable); resetIpv6NdRaSuppressAll(): void; get ipv6NdRaSuppressAllInput(): any; private _name?; get name(): number; set name(value: number); get nameInput(): number; private _shutdown?; get shutdown(): boolean | cdktf.IResolvable; set shutdown(value: boolean | cdktf.IResolvable); resetShutdown(): void; get shutdownInput(): any; private _vrfForwarding?; get vrfForwarding(): string; set vrfForwarding(value: string); resetVrfForwarding(): void; get vrfForwardingInput(): string; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }