UNPKG

@pulumi/sdwan

Version:

A Pulumi package for managing resources on Cisco Catalyst SD-WAN.. Based on terraform-provider-sdwan: version v0.4.1

1,681 lines 59.6 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * This resource can manage a VPN Interface Multilink feature template. * - Minimum SD-WAN Manager version: `15.0.0` * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as sdwan from "@pulumi/sdwan"; * * const example = new sdwan.VpnInterfaceMultilinkFeatureTemplate("example", { * name: "Example", * description: "My Example", * deviceTypes: ["vedge-C8000V"], * interfaceName: "Example", * multilinkGroupNumber: 2147483, * interfaceDescription: "My Description", * ipv4Address: "1.2.3.4", * ipv6Address: "2001:0:0:1::/64", * ipv6AccessLists: [{ * direction: "in", * aclName: "ACL1", * }], * pppAuthenticationProtocol: "chap", * pppAuthenticationProtocolPap: false, * chapHostname: "chap-example", * chapPppAuthPassword: "myPassword", * papUsername: "pap-username", * papPassword: true, * papPppAuthPassword: "myPassword", * pppAuthenticationType: "callin", * enableCoreRegion: true, * coreRegion: "core", * secondaryRegion: "off", * tunnelInterfaceEncapsulations: [{ * encapsulation: "gre", * preference: 4294967, * weight: 250, * }], * tunnelInterfaceGroups: [42949672], * tunnelInterfaceBorder: true, * perTunnelQos: true, * perTunnelQosAggregator: false, * tunnelQosMode: "spoke", * tunnelInterfaceColor: "custom1", * tunnelInterfaceLastResortCircuit: false, * tunnelInterfaceLowBandwidthLink: false, * tunnelInterfaceTunnelTcpMss: 1460, * tunnelInterfaceClearDontFragment: false, * tunnelInterfaceNetworkBroadcast: false, * tunnelInterfaceMaxControlConnections: 8, * tunnelInterfaceControlConnections: true, * tunnelInterfaceVbondAsStunServer: false, * tunnelInterfaceExcludeControllerGroupLists: [100], * tunnelInterfaceVmanageConnectionPreference: 5, * tunnelInterfacePortHop: false, * tunnelInterfaceColorRestrict: false, * tunnelInterfaceCarrier: "carrier1", * tunnelInterfaceNatRefreshInterval: 15, * tunnelInterfaceHelloInterval: 1000, * tunnelInterfaceHelloTolerance: 12, * tunnelInterfaceBindLoopbackTunnel: "12", * tunnelInterfaceAllowAll: false, * tunnelInterfaceAllowBgp: false, * tunnelInterfaceAllowDhcp: true, * tunnelInterfaceAllowDns: true, * tunnelInterfaceAllowIcmp: true, * tunnelInterfaceAllowSsh: false, * tunnelInterfaceAllowNtp: false, * tunnelInterfaceAllowNetconf: false, * tunnelInterfaceAllowOspf: false, * tunnelInterfaceAllowStun: false, * tunnelInterfaceAllowSnmp: false, * tunnelInterfaceAllowHttps: true, * disableFragmentation: true, * fragmentMaxDelay: 1, * interleavingFragment: false, * clearDontFragmentBit: false, * pmtuDiscovery: false, * ipMtu: 1500, * staticIngressQos: 6, * tcpMss: 720, * tlocExtension: "tloc", * shutdown: true, * autonegotiate: true, * shapingRate: 10000000, * qosMap: "test", * qosMapVpn: "test", * bandwidthUpstream: 214748300, * bandwidthDownstream: 214748300, * writeRule: "RULE1", * accessLists: [{ * direction: "in", * aclName: "ACL2", * }], * multilinkInterfaces: [{ * interfaceType: "E1", * slot: "interface-t1", * framing: "example-framing", * lineMode: "primary", * internal: false, * description: "example-interface", * linecode: "ami", * setLengthForLong: "100", * setLengthForShort: "100", * channelGroupList: [{ * channelGroup: 30, * timeSlot: ["example"], * }], * }], * nimInterfaceLists: [{ * nimSerialInterfaceType: "2T", * interfaceName: "nim-interface", * interfaceDescription: "My Description", * bandwidth: 21474836, * clockRate: 120000, * encapsulationSerial: "hdlc", * }], * }); * ``` * * ## Import * * The `pulumi import` command can be used, for example: * * ```sh * $ pulumi import sdwan:index/vpnInterfaceMultilinkFeatureTemplate:VpnInterfaceMultilinkFeatureTemplate example "f6b2c44c-693c-4763-b010-895aa3d236bd" * ``` */ export declare class VpnInterfaceMultilinkFeatureTemplate extends pulumi.CustomResource { /** * Get an existing VpnInterfaceMultilinkFeatureTemplate resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: VpnInterfaceMultilinkFeatureTemplateState, opts?: pulumi.CustomResourceOptions): VpnInterfaceMultilinkFeatureTemplate; /** * Returns true if the given object is an instance of VpnInterfaceMultilinkFeatureTemplate. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is VpnInterfaceMultilinkFeatureTemplate; /** * Apply ACL */ readonly accessLists: pulumi.Output<outputs.VpnInterfaceMultilinkFeatureTemplateAccessList[] | undefined>; /** * Link autonegotiation * - Default value: `true` */ readonly autonegotiate: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly autonegotiateVariable: pulumi.Output<string | undefined>; /** * Interface downstream bandwidth capacity, in kbps * - Range: `1`-`2147483647` */ readonly bandwidthDownstream: pulumi.Output<number | undefined>; /** * Variable name */ readonly bandwidthDownstreamVariable: pulumi.Output<string | undefined>; /** * Interface upstream bandwidth capacity, in kbps * - Range: `1`-`2147483647` */ readonly bandwidthUpstream: pulumi.Output<number | undefined>; /** * Variable name */ readonly bandwidthUpstreamVariable: pulumi.Output<string | undefined>; /** * CHAP Hostname */ readonly chapHostname: pulumi.Output<string | undefined>; /** * Variable name */ readonly chapHostnameVariable: pulumi.Output<string | undefined>; /** * Specify ppp authentication Password */ readonly chapPppAuthPassword: pulumi.Output<string | undefined>; /** * Variable name */ readonly chapPppAuthPasswordVariable: pulumi.Output<string | undefined>; /** * Clear don't fragment bit * - Default value: `false` */ readonly clearDontFragmentBit: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly clearDontFragmentBitVariable: pulumi.Output<string | undefined>; /** * Enable core region * - Choices: `core`, `core-shared` * - Default value: `core` */ readonly coreRegion: pulumi.Output<string | undefined>; /** * Variable name */ readonly coreRegionVariable: pulumi.Output<string | undefined>; /** * The description of the feature template */ readonly description: pulumi.Output<string>; /** * List of supported device types * - Choices: `vedge-C8000V`, `vedge-C8300-1N1S-4T2X`, `vedge-C8300-1N1S-6T`, `vedge-C8300-2N2S-6T`, `vedge-C8300-2N2S-4T2X`, `vedge-C8500-12X4QC`, `vedge-C8500-12X`, `vedge-C8500-20X6C`, `vedge-C8500L-8S4X`, `vedge-C8200-1N-4T`, `vedge-C8200L-1N-4T` */ readonly deviceTypes: pulumi.Output<string[]>; /** * Suppresss multilink fragmentation * - Default value: `false` */ readonly disableFragmentation: pulumi.Output<boolean | undefined>; /** * Enable core region * - Default value: `false` */ readonly enableCoreRegion: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly enableCoreRegionVariable: pulumi.Output<string | undefined>; /** * Maximum delay for each fragment * - Range: `0`-`1000` */ readonly fragmentMaxDelay: pulumi.Output<number | undefined>; /** * Variable name */ readonly fragmentMaxDelayVariable: pulumi.Output<string | undefined>; /** * Interface description */ readonly interfaceDescription: pulumi.Output<string | undefined>; /** * Variable name */ readonly interfaceDescriptionVariable: pulumi.Output<string | undefined>; /** * Interface Name */ readonly interfaceName: pulumi.Output<string | undefined>; /** * Variable name */ readonly interfaceNameVariable: pulumi.Output<string | undefined>; /** * Allow interleaving of packets with fragments * - Default value: `false` */ readonly interleavingFragment: pulumi.Output<boolean | undefined>; /** * Interface MTU <68...2000>, in bytes * - Range: `68`-`2000` * - Default value: `1500` */ readonly ipMtu: pulumi.Output<number | undefined>; /** * Variable name */ readonly ipMtuVariable: pulumi.Output<string | undefined>; /** * Assign IPv4 address */ readonly ipv4Address: pulumi.Output<string | undefined>; /** * Variable name */ readonly ipv4AddressVariable: pulumi.Output<string | undefined>; /** * Apply IPv6 access list */ readonly ipv6AccessLists: pulumi.Output<outputs.VpnInterfaceMultilinkFeatureTemplateIpv6AccessList[] | undefined>; /** * Assign IPv6 address */ readonly ipv6Address: pulumi.Output<string | undefined>; /** * Variable name */ readonly ipv6AddressVariable: pulumi.Output<string | undefined>; /** * MultiLink Group Number * - Range: `1`-`2147483647` */ readonly multilinkGroupNumber: pulumi.Output<number | undefined>; /** * Variable name */ readonly multilinkGroupNumberVariable: pulumi.Output<string | undefined>; /** * Controller tx-ex List */ readonly multilinkInterfaces: pulumi.Output<outputs.VpnInterfaceMultilinkFeatureTemplateMultilinkInterface[] | undefined>; /** * The name of the feature template */ readonly name: pulumi.Output<string>; /** * Nim Interface List */ readonly nimInterfaceLists: pulumi.Output<outputs.VpnInterfaceMultilinkFeatureTemplateNimInterfaceList[] | undefined>; /** * PAP outbound Password */ readonly papPassword: pulumi.Output<boolean | undefined>; /** * Specify ppp authentication Password */ readonly papPppAuthPassword: pulumi.Output<string | undefined>; /** * Variable name */ readonly papPppAuthPasswordVariable: pulumi.Output<string | undefined>; /** * PAP outbound Sent Username */ readonly papUsername: pulumi.Output<string | undefined>; /** * Variable name */ readonly papUsernameVariable: pulumi.Output<string | undefined>; /** * Per-tunnel Qos * - Default value: `false` */ readonly perTunnelQos: pulumi.Output<boolean | undefined>; /** * Per-tunnel QoS Aggregator * - Default value: `false` */ readonly perTunnelQosAggregator: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly perTunnelQosAggregatorVariable: pulumi.Output<string | undefined>; /** * Variable name */ readonly perTunnelQosVariable: pulumi.Output<string | undefined>; /** * Path MTU Discovery * - Default value: `false` */ readonly pmtuDiscovery: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly pmtuDiscoveryVariable: pulumi.Output<string | undefined>; /** * PPP Link Authentication Protocol * - Choices: `chap`, `pap` */ readonly pppAuthenticationProtocol: pulumi.Output<string | undefined>; /** * PPP Authentication Protocol PAP * - Default value: `false` */ readonly pppAuthenticationProtocolPap: pulumi.Output<boolean | undefined>; /** * Authenticate remote on incoming call only * - Choices: `callin`, `false` * - Default value: `callin` */ readonly pppAuthenticationType: pulumi.Output<string | undefined>; /** * Name of QoS map */ readonly qosMap: pulumi.Output<string | undefined>; /** * Variable name */ readonly qosMapVariable: pulumi.Output<string | undefined>; /** * Name of VPN QoS map */ readonly qosMapVpn: pulumi.Output<string | undefined>; /** * Variable name */ readonly qosMapVpnVariable: pulumi.Output<string | undefined>; /** * Enable secondary region * - Choices: `off`, `secondary-only`, `secondary-shared` * - Default value: `off` */ readonly secondaryRegion: pulumi.Output<string | undefined>; /** * Variable name */ readonly secondaryRegionVariable: pulumi.Output<string | undefined>; /** * 1ge interfaces: [0..1000000]kbps; 10ge interfaces: [0..10000000]kbps * - Range: `8`-`100000000` */ readonly shapingRate: pulumi.Output<number | undefined>; /** * Variable name */ readonly shapingRateVariable: pulumi.Output<string | undefined>; /** * Administrative state * - Default value: `true` */ readonly shutdown: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly shutdownVariable: pulumi.Output<string | undefined>; /** * Static ingress QoS for the port * - Range: `0`-`7` */ readonly staticIngressQos: pulumi.Output<number | undefined>; /** * Variable name */ readonly staticIngressQosVariable: pulumi.Output<string | undefined>; /** * TCP MSS on SYN packets, in bytes * - Range: `552`-`1960` */ readonly tcpMss: pulumi.Output<number | undefined>; /** * Variable name */ readonly tcpMssVariable: pulumi.Output<string | undefined>; /** * The template type */ readonly templateType: pulumi.Output<string>; /** * Extends a local TLOC to a remote node only for vpn 0 */ readonly tlocExtension: pulumi.Output<string | undefined>; /** * Variable name */ readonly tlocExtensionVariable: pulumi.Output<string | undefined>; /** * Allow all traffic. Overrides all other allow-service options if allow-service all is set * - Default value: `false` */ readonly tunnelInterfaceAllowAll: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly tunnelInterfaceAllowAllVariable: pulumi.Output<string | undefined>; /** * Allow/deny BGP * - Default value: `false` */ readonly tunnelInterfaceAllowBgp: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly tunnelInterfaceAllowBgpVariable: pulumi.Output<string | undefined>; /** * Allow/Deny DHCP * - Default value: `true` */ readonly tunnelInterfaceAllowDhcp: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly tunnelInterfaceAllowDhcpVariable: pulumi.Output<string | undefined>; /** * Allow/Deny DNS * - Default value: `true` */ readonly tunnelInterfaceAllowDns: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly tunnelInterfaceAllowDnsVariable: pulumi.Output<string | undefined>; /** * Allow/Deny Https * - Default value: `true` */ readonly tunnelInterfaceAllowHttps: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly tunnelInterfaceAllowHttpsVariable: pulumi.Output<string | undefined>; /** * Allow/Deny ICMP * - Default value: `true` */ readonly tunnelInterfaceAllowIcmp: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly tunnelInterfaceAllowIcmpVariable: pulumi.Output<string | undefined>; /** * Allow/Deny NETCONF * - Default value: `false` */ readonly tunnelInterfaceAllowNetconf: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly tunnelInterfaceAllowNetconfVariable: pulumi.Output<string | undefined>; /** * Allow/Deny NTP * - Default value: `false` */ readonly tunnelInterfaceAllowNtp: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly tunnelInterfaceAllowNtpVariable: pulumi.Output<string | undefined>; /** * Allow/Deny OSPF * - Default value: `false` */ readonly tunnelInterfaceAllowOspf: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly tunnelInterfaceAllowOspfVariable: pulumi.Output<string | undefined>; /** * Allow/Deny SNMP * - Default value: `false` */ readonly tunnelInterfaceAllowSnmp: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly tunnelInterfaceAllowSnmpVariable: pulumi.Output<string | undefined>; /** * Allow/Deny SSH * - Default value: `false` */ readonly tunnelInterfaceAllowSsh: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly tunnelInterfaceAllowSshVariable: pulumi.Output<string | undefined>; /** * Allow/Deny STUN * - Default value: `false` */ readonly tunnelInterfaceAllowStun: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly tunnelInterfaceAllowStunVariable: pulumi.Output<string | undefined>; /** * Bind loopback tunnel interface to a physical interface */ readonly tunnelInterfaceBindLoopbackTunnel: pulumi.Output<string | undefined>; /** * Variable name */ readonly tunnelInterfaceBindLoopbackTunnelVariable: pulumi.Output<string | undefined>; /** * Set TLOC as border TLOC * - Default value: `false` */ readonly tunnelInterfaceBorder: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly tunnelInterfaceBorderVariable: pulumi.Output<string | undefined>; /** * Set carrier for TLOC * - Choices: `default`, `carrier1`, `carrier2`, `carrier3`, `carrier4`, `carrier5`, `carrier6`, `carrier7`, `carrier8` * - Default value: `default` */ readonly tunnelInterfaceCarrier: pulumi.Output<string | undefined>; /** * Variable name */ readonly tunnelInterfaceCarrierVariable: pulumi.Output<string | undefined>; /** * Enable clear dont fragment (Currently Only SDWAN Tunnel Interface) * - Default value: `false` */ readonly tunnelInterfaceClearDontFragment: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly tunnelInterfaceClearDontFragmentVariable: pulumi.Output<string | undefined>; /** * Set color for TLOC * - Choices: `default`, `mpls`, `metro-ethernet`, `biz-internet`, `public-internet`, `lte`, `3g`, `red`, `green`, `blue`, `gold`, `silver`, `bronze`, `custom1`, `custom2`, `custom3`, `private1`, `private2`, `private3`, `private4`, `private5`, `private6` * - Default value: `default` */ readonly tunnelInterfaceColor: pulumi.Output<string | undefined>; /** * Restrict this TLOC behavior * - Default value: `false` */ readonly tunnelInterfaceColorRestrict: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly tunnelInterfaceColorVariable: pulumi.Output<string | undefined>; /** * Allow Control Connection * - Default value: `true` */ readonly tunnelInterfaceControlConnections: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly tunnelInterfaceControlConnectionsVariable: pulumi.Output<string | undefined>; /** * Encapsulation for TLOC */ readonly tunnelInterfaceEncapsulations: pulumi.Output<outputs.VpnInterfaceMultilinkFeatureTemplateTunnelInterfaceEncapsulation[] | undefined>; /** * Variable name */ readonly tunnelInterfaceExcludeControllerGroupListVariable: pulumi.Output<string | undefined>; /** * Exclude the following controller groups defined in this list */ readonly tunnelInterfaceExcludeControllerGroupLists: pulumi.Output<number[] | undefined>; /** * List of groups */ readonly tunnelInterfaceGroups: pulumi.Output<number[] | undefined>; /** * Variable name */ readonly tunnelInterfaceGroupsVariable: pulumi.Output<string | undefined>; /** * Set time period of control hello packets <100..600000> milli seconds * - Range: `100`-`600000` * - Default value: `1000` */ readonly tunnelInterfaceHelloInterval: pulumi.Output<number | undefined>; /** * Variable name */ readonly tunnelInterfaceHelloIntervalVariable: pulumi.Output<string | undefined>; /** * Set tolerance of control hello packets <12..6000> seconds * - Range: `12`-`6000` * - Default value: `12` */ readonly tunnelInterfaceHelloTolerance: pulumi.Output<number | undefined>; /** * Variable name */ readonly tunnelInterfaceHelloToleranceVariable: pulumi.Output<string | undefined>; /** * Set TLOC as last resort * - Default value: `false` */ readonly tunnelInterfaceLastResortCircuit: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly tunnelInterfaceLastResortCircuitVariable: pulumi.Output<string | undefined>; /** * Set the interface as a low-bandwidth circuit * - Default value: `false` */ readonly tunnelInterfaceLowBandwidthLink: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly tunnelInterfaceLowBandwidthLinkVariable: pulumi.Output<string | undefined>; /** * Set the maximum number of control connections for this TLOC * - Range: `0`-`8` */ readonly tunnelInterfaceMaxControlConnections: pulumi.Output<number | undefined>; /** * Variable name */ readonly tunnelInterfaceMaxControlConnectionsVariable: pulumi.Output<string | undefined>; /** * Set time period of nat refresh packets <1...60> seconds * - Range: `1`-`60` * - Default value: `5` */ readonly tunnelInterfaceNatRefreshInterval: pulumi.Output<number | undefined>; /** * Variable name */ readonly tunnelInterfaceNatRefreshIntervalVariable: pulumi.Output<string | undefined>; /** * Accept and respond to network-prefix-directed broadcasts) * - Default value: `false` */ readonly tunnelInterfaceNetworkBroadcast: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly tunnelInterfaceNetworkBroadcastVariable: pulumi.Output<string | undefined>; /** * Disallow port hopping on the tunnel interface * - Default value: `true` */ readonly tunnelInterfacePortHop: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly tunnelInterfacePortHopVariable: pulumi.Output<string | undefined>; /** * Tunnel TCP MSS on SYN packets, in bytes * - Range: `500`-`1460` */ readonly tunnelInterfaceTunnelTcpMss: pulumi.Output<number | undefined>; /** * Variable name */ readonly tunnelInterfaceTunnelTcpMssVariable: pulumi.Output<string | undefined>; /** * Put this wan interface in STUN mode only * - Default value: `false` */ readonly tunnelInterfaceVbondAsStunServer: pulumi.Output<boolean | undefined>; /** * Variable name */ readonly tunnelInterfaceVbondAsStunServerVariable: pulumi.Output<string | undefined>; /** * Set interface preference for control connection to vManage <0..8> * - Range: `0`-`8` * - Default value: `5` */ readonly tunnelInterfaceVmanageConnectionPreference: pulumi.Output<number | undefined>; /** * Variable name */ readonly tunnelInterfaceVmanageConnectionPreferenceVariable: pulumi.Output<string | undefined>; /** * Set tunnel QoS mode * - Choices: `spoke` */ readonly tunnelQosMode: pulumi.Output<string | undefined>; /** * Variable name */ readonly tunnelQosModeVariable: pulumi.Output<string | undefined>; /** * The version of the feature template */ readonly version: pulumi.Output<number>; /** * Name of rewrite rule */ readonly writeRule: pulumi.Output<string | undefined>; /** * Variable name */ readonly writeRuleVariable: pulumi.Output<string | undefined>; /** * Create a VpnInterfaceMultilinkFeatureTemplate resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: VpnInterfaceMultilinkFeatureTemplateArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering VpnInterfaceMultilinkFeatureTemplate resources. */ export interface VpnInterfaceMultilinkFeatureTemplateState { /** * Apply ACL */ accessLists?: pulumi.Input<pulumi.Input<inputs.VpnInterfaceMultilinkFeatureTemplateAccessList>[]>; /** * Link autonegotiation * - Default value: `true` */ autonegotiate?: pulumi.Input<boolean>; /** * Variable name */ autonegotiateVariable?: pulumi.Input<string>; /** * Interface downstream bandwidth capacity, in kbps * - Range: `1`-`2147483647` */ bandwidthDownstream?: pulumi.Input<number>; /** * Variable name */ bandwidthDownstreamVariable?: pulumi.Input<string>; /** * Interface upstream bandwidth capacity, in kbps * - Range: `1`-`2147483647` */ bandwidthUpstream?: pulumi.Input<number>; /** * Variable name */ bandwidthUpstreamVariable?: pulumi.Input<string>; /** * CHAP Hostname */ chapHostname?: pulumi.Input<string>; /** * Variable name */ chapHostnameVariable?: pulumi.Input<string>; /** * Specify ppp authentication Password */ chapPppAuthPassword?: pulumi.Input<string>; /** * Variable name */ chapPppAuthPasswordVariable?: pulumi.Input<string>; /** * Clear don't fragment bit * - Default value: `false` */ clearDontFragmentBit?: pulumi.Input<boolean>; /** * Variable name */ clearDontFragmentBitVariable?: pulumi.Input<string>; /** * Enable core region * - Choices: `core`, `core-shared` * - Default value: `core` */ coreRegion?: pulumi.Input<string>; /** * Variable name */ coreRegionVariable?: pulumi.Input<string>; /** * The description of the feature template */ description?: pulumi.Input<string>; /** * List of supported device types * - Choices: `vedge-C8000V`, `vedge-C8300-1N1S-4T2X`, `vedge-C8300-1N1S-6T`, `vedge-C8300-2N2S-6T`, `vedge-C8300-2N2S-4T2X`, `vedge-C8500-12X4QC`, `vedge-C8500-12X`, `vedge-C8500-20X6C`, `vedge-C8500L-8S4X`, `vedge-C8200-1N-4T`, `vedge-C8200L-1N-4T` */ deviceTypes?: pulumi.Input<pulumi.Input<string>[]>; /** * Suppresss multilink fragmentation * - Default value: `false` */ disableFragmentation?: pulumi.Input<boolean>; /** * Enable core region * - Default value: `false` */ enableCoreRegion?: pulumi.Input<boolean>; /** * Variable name */ enableCoreRegionVariable?: pulumi.Input<string>; /** * Maximum delay for each fragment * - Range: `0`-`1000` */ fragmentMaxDelay?: pulumi.Input<number>; /** * Variable name */ fragmentMaxDelayVariable?: pulumi.Input<string>; /** * Interface description */ interfaceDescription?: pulumi.Input<string>; /** * Variable name */ interfaceDescriptionVariable?: pulumi.Input<string>; /** * Interface Name */ interfaceName?: pulumi.Input<string>; /** * Variable name */ interfaceNameVariable?: pulumi.Input<string>; /** * Allow interleaving of packets with fragments * - Default value: `false` */ interleavingFragment?: pulumi.Input<boolean>; /** * Interface MTU <68...2000>, in bytes * - Range: `68`-`2000` * - Default value: `1500` */ ipMtu?: pulumi.Input<number>; /** * Variable name */ ipMtuVariable?: pulumi.Input<string>; /** * Assign IPv4 address */ ipv4Address?: pulumi.Input<string>; /** * Variable name */ ipv4AddressVariable?: pulumi.Input<string>; /** * Apply IPv6 access list */ ipv6AccessLists?: pulumi.Input<pulumi.Input<inputs.VpnInterfaceMultilinkFeatureTemplateIpv6AccessList>[]>; /** * Assign IPv6 address */ ipv6Address?: pulumi.Input<string>; /** * Variable name */ ipv6AddressVariable?: pulumi.Input<string>; /** * MultiLink Group Number * - Range: `1`-`2147483647` */ multilinkGroupNumber?: pulumi.Input<number>; /** * Variable name */ multilinkGroupNumberVariable?: pulumi.Input<string>; /** * Controller tx-ex List */ multilinkInterfaces?: pulumi.Input<pulumi.Input<inputs.VpnInterfaceMultilinkFeatureTemplateMultilinkInterface>[]>; /** * The name of the feature template */ name?: pulumi.Input<string>; /** * Nim Interface List */ nimInterfaceLists?: pulumi.Input<pulumi.Input<inputs.VpnInterfaceMultilinkFeatureTemplateNimInterfaceList>[]>; /** * PAP outbound Password */ papPassword?: pulumi.Input<boolean>; /** * Specify ppp authentication Password */ papPppAuthPassword?: pulumi.Input<string>; /** * Variable name */ papPppAuthPasswordVariable?: pulumi.Input<string>; /** * PAP outbound Sent Username */ papUsername?: pulumi.Input<string>; /** * Variable name */ papUsernameVariable?: pulumi.Input<string>; /** * Per-tunnel Qos * - Default value: `false` */ perTunnelQos?: pulumi.Input<boolean>; /** * Per-tunnel QoS Aggregator * - Default value: `false` */ perTunnelQosAggregator?: pulumi.Input<boolean>; /** * Variable name */ perTunnelQosAggregatorVariable?: pulumi.Input<string>; /** * Variable name */ perTunnelQosVariable?: pulumi.Input<string>; /** * Path MTU Discovery * - Default value: `false` */ pmtuDiscovery?: pulumi.Input<boolean>; /** * Variable name */ pmtuDiscoveryVariable?: pulumi.Input<string>; /** * PPP Link Authentication Protocol * - Choices: `chap`, `pap` */ pppAuthenticationProtocol?: pulumi.Input<string>; /** * PPP Authentication Protocol PAP * - Default value: `false` */ pppAuthenticationProtocolPap?: pulumi.Input<boolean>; /** * Authenticate remote on incoming call only * - Choices: `callin`, `false` * - Default value: `callin` */ pppAuthenticationType?: pulumi.Input<string>; /** * Name of QoS map */ qosMap?: pulumi.Input<string>; /** * Variable name */ qosMapVariable?: pulumi.Input<string>; /** * Name of VPN QoS map */ qosMapVpn?: pulumi.Input<string>; /** * Variable name */ qosMapVpnVariable?: pulumi.Input<string>; /** * Enable secondary region * - Choices: `off`, `secondary-only`, `secondary-shared` * - Default value: `off` */ secondaryRegion?: pulumi.Input<string>; /** * Variable name */ secondaryRegionVariable?: pulumi.Input<string>; /** * 1ge interfaces: [0..1000000]kbps; 10ge interfaces: [0..10000000]kbps * - Range: `8`-`100000000` */ shapingRate?: pulumi.Input<number>; /** * Variable name */ shapingRateVariable?: pulumi.Input<string>; /** * Administrative state * - Default value: `true` */ shutdown?: pulumi.Input<boolean>; /** * Variable name */ shutdownVariable?: pulumi.Input<string>; /** * Static ingress QoS for the port * - Range: `0`-`7` */ staticIngressQos?: pulumi.Input<number>; /** * Variable name */ staticIngressQosVariable?: pulumi.Input<string>; /** * TCP MSS on SYN packets, in bytes * - Range: `552`-`1960` */ tcpMss?: pulumi.Input<number>; /** * Variable name */ tcpMssVariable?: pulumi.Input<string>; /** * The template type */ templateType?: pulumi.Input<string>; /** * Extends a local TLOC to a remote node only for vpn 0 */ tlocExtension?: pulumi.Input<string>; /** * Variable name */ tlocExtensionVariable?: pulumi.Input<string>; /** * Allow all traffic. Overrides all other allow-service options if allow-service all is set * - Default value: `false` */ tunnelInterfaceAllowAll?: pulumi.Input<boolean>; /** * Variable name */ tunnelInterfaceAllowAllVariable?: pulumi.Input<string>; /** * Allow/deny BGP * - Default value: `false` */ tunnelInterfaceAllowBgp?: pulumi.Input<boolean>; /** * Variable name */ tunnelInterfaceAllowBgpVariable?: pulumi.Input<string>; /** * Allow/Deny DHCP * - Default value: `true` */ tunnelInterfaceAllowDhcp?: pulumi.Input<boolean>; /** * Variable name */ tunnelInterfaceAllowDhcpVariable?: pulumi.Input<string>; /** * Allow/Deny DNS * - Default value: `true` */ tunnelInterfaceAllowDns?: pulumi.Input<boolean>; /** * Variable name */ tunnelInterfaceAllowDnsVariable?: pulumi.Input<string>; /** * Allow/Deny Https * - Default value: `true` */ tunnelInterfaceAllowHttps?: pulumi.Input<boolean>; /** * Variable name */ tunnelInterfaceAllowHttpsVariable?: pulumi.Input<string>; /** * Allow/Deny ICMP * - Default value: `true` */ tunnelInterfaceAllowIcmp?: pulumi.Input<boolean>; /** * Variable name */ tunnelInterfaceAllowIcmpVariable?: pulumi.Input<string>; /** * Allow/Deny NETCONF * - Default value: `false` */ tunnelInterfaceAllowNetconf?: pulumi.Input<boolean>; /** * Variable name */ tunnelInterfaceAllowNetconfVariable?: pulumi.Input<string>; /** * Allow/Deny NTP * - Default value: `false` */ tunnelInterfaceAllowNtp?: pulumi.Input<boolean>; /** * Variable name */ tunnelInterfaceAllowNtpVariable?: pulumi.Input<string>; /** * Allow/Deny OSPF * - Default value: `false` */ tunnelInterfaceAllowOspf?: pulumi.Input<boolean>; /** * Variable name */ tunnelInterfaceAllowOspfVariable?: pulumi.Input<string>; /** * Allow/Deny SNMP * - Default value: `false` */ tunnelInterfaceAllowSnmp?: pulumi.Input<boolean>; /** * Variable name */ tunnelInterfaceAllowSnmpVariable?: pulumi.Input<string>; /** * Allow/Deny SSH * - Default value: `false` */ tunnelInterfaceAllowSsh?: pulumi.Input<boolean>; /** * Variable name */ tunnelInterfaceAllowSshVariable?: pulumi.Input<string>; /** * Allow/Deny STUN * - Default value: `false` */ tunnelInterfaceAllowStun?: pulumi.Input<boolean>; /** * Variable name */ tunnelInterfaceAllowStunVariable?: pulumi.Input<string>; /** * Bind loopback tunnel interface to a physical interface */ tunnelInterfaceBindLoopbackTunnel?: pulumi.Input<string>; /** * Variable name */ tunnelInterfaceBindLoopbackTunnelVariable?: pulumi.Input<string>; /** * Set TLOC as border TLOC * - Default value: `false` */ tunnelInterfaceBorder?: pulumi.Input<boolean>; /** * Variable name */ tunnelInterfaceBorderVariable?: pulumi.Input<string>; /** * Set carrier for TLOC * - Choices: `default`, `carrier1`, `carrier2`, `carrier3`, `carrier4`, `carrier5`, `carrier6`, `carrier7`, `carrier8` * - Default value: `default` */ tunnelInterfaceCarrier?: pulumi.Input<string>; /** * Variable name */ tunnelInterfaceCarrierVariable?: pulumi.Input<string>; /** * Enable clear dont fragment (Currently Only SDWAN Tunnel Interface) * - Default value: `false` */ tunnelInterfaceClearDontFragment?: pulumi.Input<boolean>; /** * Variable name */ tunnelInterfaceClearDontFragmentVariable?: pulumi.Input<string>; /** * Set color for TLOC * - Choices: `default`, `mpls`, `metro-ethernet`, `biz-internet`, `public-internet`, `lte`, `3g`, `red`, `green`, `blue`, `gold`, `silver`, `bronze`, `custom1`, `custom2`, `custom3`, `private1`, `private2`, `private3`, `private4`, `private5`, `private6` * - Default value: `default` */ tunnelInterfaceColor?: pulumi.Input<string>; /** * Restrict this TLOC behavior * - Default value: `false` */ tunnelInterfaceColorRestrict?: pulumi.Input<boolean>; /** * Variable name */ tunnelInterfaceColorVariable?: pulumi.Input<string>; /** * Allow Control Connection * - Default value: `true` */ tunnelInterfaceControlConnections?: pulumi.Input<boolean>; /** * Variable name */ tunnelInterfaceControlConnectionsVariable?: pulumi.Input<string>; /** * Encapsulation for TLOC */ tunnelInterfaceEncapsulations?: pulumi.Input<pulumi.Input<inputs.VpnInterfaceMultilinkFeatureTemplateTunnelInterfaceEncapsulation>[]>; /** * Variable name */ tunnelInterfaceExcludeControllerGroupListVariable?: pulumi.Input<string>; /** * Exclude the following controller groups defined in this list */ tunnelInterfaceExcludeControllerGroupLists?: pulumi.Input<pulumi.Input<number>[]>; /** * List of groups */ tunnelInterfaceGroups?: pulumi.Input<pulumi.Input<number>[]>; /** * Variable name */ tunnelInterfaceGroupsVariable?: pulumi.Input<string>; /** * Set time period of control hello packets <100..600000> milli seconds * - Range: `100`-`600000` * - Default value: `1000` */ tunnelInterfaceHelloInterval?: pulumi.Input<number>; /** * Variable name */ tunnelInterfaceHelloIntervalVariable?: pulumi.Input<string>; /** * Set tolerance of control hello packets <12..6000> seconds * - Range: `12`-`6000` * - Default value: `12` */ tunnelInterfaceHelloTolerance?: pulumi.Input<number>; /** * Variable name */ tunnelInterfaceHelloToleranceVariable?: pulumi.Input<string>; /** * Set TLOC as last resort * - Default value: `false` */ tunnelInterfaceLastResortCircuit?: pulumi.Input<boolean>; /** * Variable name */ tunnelInterfaceLastResortCircuitVariable?: pulumi.Input<string>; /** * Set the interface as a low-bandwidth circuit * - Default value: `false` */ tunnelInterfaceLowBandwidthLink?: pulumi.Input<boolean>; /** * Variable name */ tunnelInterfaceLowBandwidthLinkVariable?: pulumi.Input<string>; /** * Set the maximum number of control connections for this TLOC * - Range: `0`-`8` */ tunnelInterfaceMaxControlConnections?: pulumi.Input<number>; /** * Variable name */ tunnelInterfaceMaxControlConnectionsVariable?: pulumi.Input<string>; /** * Set time period of nat refresh packets <1...60> seconds * - Range: `1`-`60` * - Default value: `5` */ tunnelInterfaceNatRefreshInterval?: pulumi.Input<number>; /** * Variable name */ tunnelInterfaceNatRefreshIntervalVariable?: pulumi.Input<string>; /** * Accept and respond to network-prefix-directed broadcasts) * - Default value: `false` */ tunnelInterfaceNetworkBroadcast?: pulumi.Input<boolean>; /** * Variable name */ tunnelInterfaceNetworkBroadcastVariable?: pulumi.Input<string>; /** * Disallow port hopping on the tunnel interface * - Default value: `true` */ tunnelInterfacePortHop?: pulumi.Input<boolean>; /** * Variable name */ tunnelInterfacePortHopVariable?: pulumi.Input<string>; /** * Tunnel TCP MSS on SYN packets, in bytes * - Range: `500`-`1460` */ tunnelInterfaceTunnelTcpMss?: pulumi.Input<number>; /** * Variable name */ tunnelInterfaceTunnelTcpMssVariable?: pulumi.Input<string>; /** * Put this wan interface in STUN mode only * - Default value: `false` */ tunnelInterfaceVbondAsStunServer?: pulumi.Input<boolean>; /** * Variable name */ tunnelInterfaceVbondAsStunServerVariable?: pulumi.Input<string>; /** * Set interface preference for control connection to vManage <0..8> * - Range: `0`-`8` * - Default value: `5` */ tunnelInterfaceVmanageConnectionPreference?: pulumi.Input<number>; /** * Variable name */ tunnelInterfaceVmanageConnectionPreferenceVariable?: pulumi.Input<string>; /** * Set tunnel QoS mode * - Choices: `spoke` */ tunnelQosMode?: pulumi.Input<string>; /** * Variable name */ tunnelQosModeVariable?: pulumi.Input<string>; /** * The version of the feature template */ version?: pulumi.Input<number>; /** * Name of rewrite rule */ writeRule?: pulumi.Input<string>; /** * Variable name */ writeRuleVariable?: pulumi.Input<string>; } /** * The set of arguments for constructing a VpnInterfaceMultilinkFeatureTemplate resource. */ export interface VpnInterfaceMultilinkFeatureTemplateArgs { /** * Apply ACL */ accessLists?: pulumi.Input<pulumi.Input<inputs.VpnInterfaceMultilinkFeatureTemplateAccessList>[]>; /** * Link autonegotiation * - Default value: `true` */ autonegotiate?: pulumi.Input<boolean>; /** * Variable name */ autonegotiateVariable?: pulumi.Input<string>; /** * Interface downstream bandwidth capacity, in kbps * - Range: `1`-`2147483647` */ bandwidthDownstream?: pulumi.Input<number>; /** * Variable name */ bandwidthDownstreamVariable?: pulumi.Input<string>; /** * Interface upstream bandwidth capacity, in kbps * - Range: `1`-`2147483647` */ bandwidthUpstream?: pulumi.Input<number>; /** * Variable name */ bandwidthUpstreamVariable?: pulumi.Input<string>; /** * CHAP Hostname */ chapHostname?: pulumi.Input<string>; /** * Variable name */ chapHostnameVariable?: pulumi.Input<string>; /** * Specify ppp authentication Password */ chapPppAuthPassword?: pulumi.Input<string>; /** * Variable name */ chapPppAuthPasswordVariable?: pulumi.Input<string>; /** * Clear don't fragment bit * - Default value: `false` */ clearDontFragmentBit?: pulumi.Input<boolean>; /** * Variable name */ clearDontFragmentBitVariable?: pulumi.Input<string>; /** * Enable core region * - Choices: `core`, `core-shared` * - Default value: `core` */ coreRegion?: pulumi.Input<string>; /** * Variable name */ coreRegionVariable?: pulumi.Input<string>; /** * The description of the feature template */ description: pulumi.Input<string>; /** * List of supported device types * - Choices: `vedge-C8000V`, `vedge-C8300-1N1S-4T2X`, `vedge-C8300-1N1S-6T`, `vedge-C8300-2N2S-6T`, `vedge-C8300-2N2S-4T2X`, `vedge-C8500-12X4QC`, `vedge-C8500-12X`, `vedge-C8500-20X6C`, `vedge-C8500L-8S4X`, `vedge-C8200-1N-4T`, `vedge-C8200L-1N-4T` */ deviceTypes: pulumi.Input<pulumi.Input<string>[]>; /** * Suppresss multilink fragmentation * - Default value: `false` */ disableFragmentation?: pulumi.Input<boolean>; /** * Enable core region * - Default value: `false` */ enableCoreRegion?: pulumi.Input<boolean>; /** * Variable name */ enableCoreRegionVariable?: pulumi.Input<string>; /** * Maximum delay for each fragment * - Range: `0`-`1000` */ fragmentMaxDelay?: pulumi.Input<number>; /** * Variable name */ fragmentMaxDelayVariable?: pulumi.Input<string>; /** * Interface description */ interfaceDescription?: pulumi.Input<string>; /** * Variable name */ interfaceDescriptionVariable?: pulumi.Input<string>; /** * Interface Name */ interfaceName?: pulumi.Input<string>; /** * Variable name */ interfaceNameVariable?: pulumi.Input<string>; /** * Allow interleaving of packets with fragments * - Default value: `false` */ interleavingFragment?: pulumi.Input<boolean>; /** * Interface MTU <68...2000>, in bytes * - Range: `68`-`2000` * - Default value: `1500` */ ipMtu?: pulumi.Input<number>; /** * Variable name */ ipMtuVariable?: pulumi.Input<string>; /** * Assign IPv4 address */ ipv4Address?: pulumi.Input<string>; /** * Variable name */ ipv4AddressVariable?: pulumi.Input<string>; /** * Apply IPv6 access list */ ipv6AccessLists?: pulumi.Input<pulumi.Input<inputs.VpnInterfaceMultilinkFeatureTemplateIpv6AccessList>[]>; /** * Assign IPv6 address */ ipv6Address?: pulumi.Input<string>; /** * Variable name */ ipv6AddressVariable?: pulumi.Input<string>; /** * MultiLink Group Number * - Range: `1`-`2147483647` */ multilinkGroupNumber?: pulumi.Input<number>; /** * Variable name */ multilinkGroupNumberVariable?: pulumi.Input<string>; /** * Controller tx-ex List */ multilinkInterfaces?: pulumi.Input<pulumi.Input<inputs.VpnInterfaceMultilinkFeatureTemplateMultilinkInterface>[]>; /** * The name of the feature template */ name?: pulumi.Input<string>; /** * Nim Interface List */ nimInterfaceLists?: pulumi.Input<pulumi.Input<inputs.VpnInterfaceMultilinkFeatureTemplateNimInterfaceList>[]>; /** * PAP outbound Password */ papPassword?: pulumi.Input<boolean>; /** * Specify ppp authentication Password */ papPppAuthPassword?: pulumi.Input<string>; /** * Variable name */ papPppAuthPasswordVariable?: pulumi.Input<string>; /** * PAP outbound Sent Username */ papUsername?: pulumi.Input<string>; /** * Variable name */ papUsernameVariable?: pulumi.Input<string>; /** * Per-tunnel Qos * - Default value: `false` */ perTunnelQos?: pulumi.Input<boolean>; /** * Per-tunnel QoS Aggregator * - Default value: `false` */ perTunnelQosAggregator?: pulumi.Input<boolean>; /** * Variable name */ perTunnelQosAggregatorVariable?: pulumi.Input<string>; /** * Variable name */ perTunnelQosVariable?: pulumi.Input<string>; /** * Path MTU Discovery * - Default value: `false` */ pmtuDiscovery?: pulumi.Input<boolean>; /** * Variable name */ pmtuDiscoveryVariable?: pulumi.Input<string>; /** * PPP Link Authentication Protocol * - Choices: `chap`, `pap` */ pppAuthenticationProtocol?: pulumi.Input<string>; /** * PPP Authentication Protocol PAP * - Default value: `false` */ pppAuthenticationProtocolPap?: pulumi.Input<boolean>; /** * Authenticate remote on incoming call only * - Choices: `callin`, `false` * - Default value: `callin` */ pppAuthenticationType?: pulumi.Input<string>; /** * Name of QoS map */ qosMap?: pulumi.Input<string>; /** * Variable name */ qosMapVariable?: pulumi.Input<string>; /** * Name of VPN QoS map */ qosMapVpn?: pulumi.Input<string>; /** * Variable name */ qosMapVpnVariable?: pulumi.Input<string>; /** * Enable secondary region * - Choices: `off`, `secondary-only`, `secondary-shared` * - Default value: `off` */ secondaryRegion?: pulumi.Input<string>; /** * Variable name */ secondaryRegionVariable?: pulumi.Input<string>; /** * 1ge interfaces: [0..1000000]kbps; 10ge interfaces: [0..10000000]kbps * - Range: `8`-`100000000` */ shapingRate?: pulumi.Input<number>; /** * Variable name */ shapingRateVariable?: pulumi.Input<string>; /** * Administrative state * - Default value: `true` */ shutdown?: pulumi.Input<boolean>; /** * Variable name */ shut