UNPKG

@pulumi/sdwan

Version:

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

2,108 lines 701 kB
import * as outputs from "../types/output"; export interface AllowUrlListPolicyObjectEntry { /** * URL */ url?: string; } export interface AppProbeClassPolicyObjectMapping { /** * Color * - Choices: `default`, `3g`, `biz-internet`, `blue`, `bronze`, `custom1`, `custom2`, `custom3`, `gold`, `green`, `lte`, `metro-ethernet`, `mpls`, `private1`, `private2`, `private3`, `private4`, `private5`, `private6`, `public-internet`, `red`, `silver` */ color: string; /** * DSCP * - Range: `0`-`63` */ dscp?: number; } export interface ApplicationAwareRoutingPolicyDefinitionSequence { /** * List of action entries */ actionEntries?: outputs.ApplicationAwareRoutingPolicyDefinitionSequenceActionEntry[]; /** * Sequence ID */ id: number; /** * Sequence IP type, either `ipv4`, `ipv6` or `all` * - Choices: `ipv4`, `ipv6`, `all` */ ipType?: string; /** * List of match entries */ matchEntries?: outputs.ApplicationAwareRoutingPolicyDefinitionSequenceMatchEntry[]; /** * Sequence name */ name: string; } export interface ApplicationAwareRoutingPolicyDefinitionSequenceActionEntry { /** * Backup SLA preferred color (Single value or multiple values separated by spaces), Attribute conditional on `type` being equal to `backupSlaPreferredColor` */ backupSlaPreferredColor?: string; /** * Cloud SLA, Attribute conditional on `type` being equal to `cloudSaas` */ cloudSla?: boolean; /** * Counter name, Attribute conditional on `type` being equal to `count` */ counter?: string; /** * Enable logging, Attribute conditional on `type` being equal to `log` */ log?: boolean; /** * List of SLA class parameters, Attribute conditional on `type` being equal to `slaClass` */ slaClassParameters?: outputs.ApplicationAwareRoutingPolicyDefinitionSequenceActionEntrySlaClassParameter[]; /** * Type of action entry * - Choices: `backupSlaPreferredColor`, `count`, `log`, `slaClass`, `cloudSaas` */ type: string; } export interface ApplicationAwareRoutingPolicyDefinitionSequenceActionEntrySlaClassParameter { /** * preferred color (Single value or multiple values separated by spaces), Attribute conditional on `type` being equal to `preferredColor` */ preferredColor?: string; /** * Preferred color group list ID, Attribute conditional on `type` being equal to `preferredColorGroup` */ preferredColorGroupList?: string; /** * Preferred color group list version */ preferredColorGroupListVersion?: number; /** * SLA class list ID, Attribute conditional on `type` being equal to `name` */ slaClassList?: string; /** * SLA class list version */ slaClassListVersion?: number; /** * Type of SLA class parameter * - Choices: `name`, `preferredColor`, `preferredColorGroup`, `strict`, `fallbackToBestPath` */ type: string; } export interface ApplicationAwareRoutingPolicyDefinitionSequenceMatchEntry { /** * Application list ID, Attribute conditional on `type` being equal to `appList` */ applicationListId?: string; /** * Application list version */ applicationListVersion?: number; /** * Destination Data Prefix list ID, Attribute conditional on `type` being equal to `destinationDataPrefixList` */ destinationDataPrefixListId?: string; /** * Destination Data Prefix list version */ destinationDataPrefixListVersion?: number; /** * Destination IP, Attribute conditional on `type` being equal to `destinationIp` */ destinationIp?: string; /** * Destination port, 0-65535 (Single value, range or multiple values separated by spaces), Attribute conditional on `type` being equal to `destinationPort` */ destinationPort?: string; /** * Destination region, Attribute conditional on `type` being equal to `destinationRegion` * - Choices: `primary-region`, `secondary-region`, `other-region` */ destinationRegion?: string; /** * DNS request or response, Attribute conditional on `type` being equal to `dns` * - Choices: `request`, `response` */ dns?: string; /** * DNS Application list ID, Attribute conditional on `type` being equal to `dnsAppList` */ dnsApplicationListId?: string; /** * DNS Application list version */ dnsApplicationListVersion?: number; /** * DSCP value, Attribute conditional on `type` being equal to `dscp` */ dscp?: string; /** * ICMP Message, Attribute conditional on `type` being equal to `icmpMessage` */ icmpMessage?: string; /** * PLP, Attribute conditional on `type` being equal to `plp` * - Choices: `low`, `high` */ plp?: string; /** * IP Protocol, 0-255 (Single value or multiple values separated by spaces), Attribute conditional on `type` being equal to `protocol` */ protocol?: string; /** * Source Data Prefix list ID, Attribute conditional on `type` being equal to `sourceDataPrefixList` */ sourceDataPrefixListId?: string; /** * Source Data Prefix list version */ sourceDataPrefixListVersion?: number; /** * Source IP, Attribute conditional on `type` being equal to `sourceIp` */ sourceIp?: string; /** * Source port, 0-65535 (Single value, range or multiple values separated by spaces), Attribute conditional on `type` being equal to `sourcePort` */ sourcePort?: string; /** * Traffic to, Attribute conditional on `type` being equal to `trafficTo` * - Choices: `access`, `core`, `service` */ trafficTo?: string; /** * Type of match entry * - Choices: `appList`, `dnsAppList`, `dns`, `dscp`, `plp`, `protocol`, `sourceDataPrefixList`, `sourceIp`, `sourcePort`, `destinationDataPrefixList`, `destinationIp`, `destinationRegion`, `destinationPort`, `trafficTo`, `icmpMessage` */ type: string; } export interface ApplicationListPolicyObjectEntry { /** * Application name */ application?: string; /** * Application family name */ applicationFamily?: string; } export interface ApplicationPriorityQosPolicyQosScheduler { /** * bandwidthPercent */ bandwidth?: string; /** * drops */ drops?: string; forwardingClassId?: string; /** * queue */ queue?: string; /** * scheduling */ schedulingType?: string; } export interface ApplicationPriorityTrafficPolicyPolicySequence { actions?: outputs.ApplicationPriorityTrafficPolicyPolicySequenceAction[]; /** * Base Action * - Choices: `drop`, `accept` */ baseAction?: string; matchEntries?: outputs.ApplicationPriorityTrafficPolicyPolicySequenceMatchEntry[]; /** * Sequence IP Type * - Choices: `ipv4`, `ipv6`, `all` */ protocol?: string; /** * Sequence Id * - Range: `1`-`65536` */ sequenceId?: number; /** * Sequence Name */ sequenceName?: string; } export interface ApplicationPriorityTrafficPolicyPolicySequenceAction { /** * Backup SLA perferred color */ backupSlaPreferredColors?: string[]; cloudProbe?: boolean; cloudSaas?: boolean; count?: string; fallbackToRouting?: boolean; log?: boolean; /** * - Range: `1`-`5` */ lossCorrectFecThreshold?: number; /** * - Choices: `fecAdaptive`, `fecAlways`, `packetDuplication` */ lossCorrectType?: string; natBypass?: boolean; natDiaInterfaces?: string[]; natDiaPools?: number[]; natFallback?: boolean; /** * - Range: `1`-`31` */ natPool?: number; natVpn?: boolean; /** * - Choices: `ipAddress`, `redirectDns` */ redirectDnsField?: string; redirectDnsValue?: string; secureInternetGateway?: boolean; setParameters?: outputs.ApplicationPriorityTrafficPolicyPolicySequenceActionSetParameter[]; /** * slaClass */ slaClasses?: outputs.ApplicationPriorityTrafficPolicyPolicySequenceActionSlaClass[]; } export interface ApplicationPriorityTrafficPolicyPolicySequenceActionSetParameter { /** * - Range: `0`-`63` */ dscp?: number; forwardingClassListId?: string; localTlocListColors?: string[]; /** * - Choices: `ipsec`, `gre` */ localTlocListEncapsulation?: string; localTlocListRestrict?: string; nextHopIpv4?: string; nextHopIpv6?: string; nextHopLoose?: boolean; policerId?: string; preferredColorGroupId?: string; preferredRemoteColorIds?: string[]; preferredRemoteColorRestrict?: string; serviceChainFallbackToRouting?: boolean; serviceChainLocal?: boolean; serviceChainTlocColors?: string[]; /** * - Choices: `ipsec`, `gre` */ serviceChainTlocEncapsulation?: string; serviceChainTlocIp?: string; serviceChainTlocListId?: string; /** * - Choices: `SC1`, `SC2`, `SC4`, `SC5`, `SC6`, `SC7`, `SC8`, `SC9`, `SC10`, `SC11`, `SC12`, `SC13`, `SC14`, `SC15`, `SC16` */ serviceChainType?: string; /** * - Range: `0`-`65530` */ serviceChainVpn?: number; serviceTlocColors?: string[]; /** * - Choices: `ipsec`, `gre` */ serviceTlocEncapsulation?: string; serviceTlocIp?: string; serviceTlocListId?: string; /** * - Choices: `FW`, `IDS`, `IDP`, `netsvc1`, `netsvc2`, `netsvc3`, `netsvc4`, `appqoe` */ serviceType?: string; serviceVpn?: string; tlocColors?: string[]; /** * - Choices: `ipsec`, `gre` */ tlocEncapsulation?: string; tlocIp?: string; tlocListId?: string; vpn?: string; } export interface ApplicationPriorityTrafficPolicyPolicySequenceActionSlaClass { fallbackToBestPath?: boolean; preferredColorGroupListId?: string; preferredColors?: string[]; preferredRemoteColors?: string[]; remoteColorRestrict?: boolean; slaClassListId?: string; strict?: boolean; } export interface ApplicationPriorityTrafficPolicyPolicySequenceMatchEntry { applicationListId?: string; destinationDataIpv4PrefixListId?: string; destinationDataIpv6PrefixListId?: string; /** * Destination Data IP Prefix */ destinationIpv4Prefix?: string; /** * Destination Data IP Prefix */ destinationIpv6Prefix?: string; /** * Destination Port (0-65535) range or individual number separated by space */ destinationPorts?: string[]; /** * Destination Region * - Choices: `primary-region`, `secondary-region`, `other-region` */ destinationRegion?: string; /** * Dns * - Choices: `request`, `response` */ dns?: string; dnsApplicationListId?: string; /** * DSCP number * - Range: `0`-`63` */ dscp?: number; /** * ICMP6 Message */ icmp6Messages?: string[]; /** * ICMP Message */ icmpMessages?: string[]; /** * Packet Length */ packetLength?: string; /** * protocol (0-255) range or individual number separated by space */ protocols?: string[]; saasApplicationListId?: string; /** * M365 Service Area */ serviceAreas?: string[]; sourceDataIpv4PrefxListId?: string; sourceDataIpv6PrefxListId?: string; /** * Source Data IP Prefix */ sourceIpv4Prefix?: string; /** * Source Data IP Prefix */ sourceIpv6Prefix?: string; /** * Source Port (0-65535) range or individual number separated by space */ sourcePorts?: string[]; /** * TCP States * - Choices: `syn` */ tcp?: string; /** * M365 Traffic Category * - Choices: `optimize-allow`, `optimize`, `all` */ trafficCategory?: string; /** * Traffic Class * - Choices: `gold-voip-telephony`, `gold-broadcast-video`, `gold-real-time-interactive`, `gold-multimedia-conferencing`, `gold-multimedia-streaming`, `gold-network-control`, `gold-signaling`, `gold-ops-admin-mgmt`, `gold-transactional-data`, `gold-bulk-data`, `silver`, `bronze` */ trafficClass?: string; /** * Traffic to * - Choices: `core`, `service`, `access` */ trafficTo?: string; } export interface AsPathListPolicyObjectEntry { /** * Regular expression to match the BGP AS paths e.g., `^1239_[0-9]*$` */ asPath: string; } export interface AttachFeatureDeviceTemplateDevice { /** * Device ID */ id: string; /** * Device variables */ variables: { [key: string]: string; }; } export interface BlockUrlListPolicyObjectEntry { /** * URL */ url?: string; } export interface CedgeAaaFeatureTemplateAccountingRule { /** * Comma separated list of groups */ groups?: string; /** * Configure Accounting Method * - Choices: `commands`, `exec`, `network`, `system` */ method?: string; /** * Configure Accounting Rule ID */ name?: string; /** * Indicates if list item is considered optional. */ optional?: boolean; /** * Privilege level when method is commands * - Choices: `1`, `15` */ privilegeLevel?: string; /** * Record start and stop without waiting * - Default value: `true` */ startStop?: boolean; /** * Variable name */ startStopVariable?: string; } export interface CedgeAaaFeatureTemplateAuthorizationRule { /** * Succeed if user has authenticated * - Default value: `false` */ authenticated?: boolean; /** * Comma separated list of groups */ groups?: string; /** * Method * - Choices: `commands` */ method?: string; /** * Configure Authorization Rule ID */ name?: string; /** * Indicates if list item is considered optional. */ optional?: boolean; /** * Privilege level when method is commands * - Choices: `1`, `15` */ privilegeLevel?: string; } export interface CedgeAaaFeatureTemplateRadiusClient { /** * Client IP */ clientIp?: string; /** * Variable name */ clientIpVariable?: string; /** * Indicates if list item is considered optional. */ optional?: boolean; /** * VPN configuration */ vpnConfigurations?: outputs.CedgeAaaFeatureTemplateRadiusClientVpnConfiguration[]; } export interface CedgeAaaFeatureTemplateRadiusClientVpnConfiguration { /** * Indicates if list item is considered optional. */ optional?: boolean; /** * Specify a RADIUS client server-key */ serverKey?: string; /** * Variable name */ serverKeyVariable?: string; /** * VPN ID */ vpnId?: number; /** * Variable name */ vpnIdVariable?: string; } export interface CedgeAaaFeatureTemplateRadiusServerGroup { /** * Set Radius server Group Name */ groupName?: string; /** * Indicates if list item is considered optional. */ optional?: boolean; /** * Configure the Radius server */ servers?: outputs.CedgeAaaFeatureTemplateRadiusServerGroupServer[]; /** * Set interface to use to reach Radius server */ sourceInterface?: string; /** * Variable name */ sourceInterfaceVariable?: string; /** * Set VPN in which Radius server is located * - Range: `0`-`65530` * - Default value: `0` */ vpnId?: number; } export interface CedgeAaaFeatureTemplateRadiusServerGroupServer { /** * Set Accounting port to use to connect to Radius server * - Range: `1`-`65534` * - Default value: `1813` */ accountingPort?: number; /** * Variable name */ accountingPortVariable?: string; /** * Set IP address of Radius server */ address?: string; /** * Set Authentication port to use to connect to Radius server * - Range: `1`-`65534` * - Default value: `1812` */ authenticationPort?: number; /** * Variable name */ authenticationPortVariable?: string; /** * Type of encyption. To be used for type 6 * - Choices: `6`, `7` */ encryptionType?: string; /** * Set the Radius server shared key */ key?: string; /** * key type * - Choices: `key`, `pac` * - Default value: `key` */ keyType?: string; /** * Variable name */ keyTypeVariable?: string; /** * Indicates if list item is considered optional. */ optional?: boolean; /** * Configure how many times to contact this Radius server * - Range: `1`-`100` * - Default value: `3` */ retransmit?: number; /** * Variable name */ retransmitVariable?: string; /** * Set the Radius server shared type 7 encrypted key */ secretKey?: string; /** * Variable name */ secretKeyVariable?: string; /** * Configure how long to wait for replies from the Radius server * - Range: `1`-`1000` * - Default value: `5` */ timeout?: number; /** * Variable name */ timeoutVariable?: string; } export interface CedgeAaaFeatureTemplateTacacsServerGroup { /** * Set TACACS server Group Name */ groupName?: string; /** * Indicates if list item is considered optional. */ optional?: boolean; /** * Configure the TACACS server */ servers?: outputs.CedgeAaaFeatureTemplateTacacsServerGroupServer[]; /** * Set interface to use to reach TACACS server */ sourceInterface?: string; /** * Variable name */ sourceInterfaceVariable?: string; /** * Set VPN in which TACACS server is located * - Range: `0`-`65530` * - Default value: `0` */ vpnId?: number; } export interface CedgeAaaFeatureTemplateTacacsServerGroupServer { /** * Set IP address of TACACS server */ address?: string; /** * Type of encyption. To be used for type 6 * - Choices: `6`, `7` */ encryptionType?: string; /** * Set the TACACS server shared key */ key?: string; /** * Indicates if list item is considered optional. */ optional?: boolean; /** * TACACS Port * - Range: `1`-`65535` * - Default value: `49` */ port?: number; /** * Variable name */ portVariable?: string; /** * Set the TACACS server shared type 7 encrypted key */ secretKey?: string; /** * Variable name */ secretKeyVariable?: string; /** * Configure how long to wait for replies from the TACACS server * - Range: `1`-`1000` * - Default value: `5` */ timeout?: number; /** * Variable name */ timeoutVariable?: string; } export interface CedgeAaaFeatureTemplateUser { /** * Set the username */ name?: string; /** * Variable name */ nameVariable?: string; /** * Indicates if list item is considered optional. */ optional?: boolean; /** * Set the user password */ password?: string; /** * Set Privilege Level for this user * - Choices: `1`, `15` * - Default value: `15` */ privilegeLevel?: string; /** * Variable name */ privilegeLevelVariable?: string; /** * Set the user scrypt password/hash */ secret?: string; /** * List of RSA public-keys per user */ sshPubkeys?: outputs.CedgeAaaFeatureTemplateUserSshPubkey[]; } export interface CedgeAaaFeatureTemplateUserSshPubkey { /** * Set the RSA key string */ keyString?: string; /** * Only RSA is supported */ keyType?: string; /** * Variable name */ keyTypeVariable?: string; /** * Indicates if list item is considered optional. */ optional?: boolean; } export interface CedgeIgmpFeatureTemplateInterface { /** * Configure static joins */ joinGroups?: outputs.CedgeIgmpFeatureTemplateInterfaceJoinGroup[]; /** * Set interface name */ name?: string; /** * Variable name */ nameVariable?: string; /** * Indicates if list item is considered optional. */ optional?: boolean; } export interface CedgeIgmpFeatureTemplateInterfaceJoinGroup { /** * Set group address */ groupAddress?: string; /** * Variable name */ groupAddressVariable?: string; /** * Indicates if list item is considered optional. */ optional?: boolean; /** * Set source address */ source?: string; /** * Variable name */ sourceVariable?: string; } export interface CedgePimFeatureTemplateInterface { /** * Set interface name */ interfaceName?: string; /** * Variable name */ interfaceNameVariable?: string; /** * Set interval at which PIM multicast traffic can join or be removed from RPT or SPT * - Range: `10`-`600` * - Default value: `60` */ joinPruneInterval?: number; /** * Variable name */ joinPruneIntervalVariable?: string; /** * Indicates if list item is considered optional. */ optional?: boolean; /** * Set PIM query interval * - Range: `1`-`18725` * - Default value: `30` */ queryInterval?: number; /** * Variable name */ queryIntervalVariable?: string; } export interface CedgePimFeatureTemplateRpAddress { /** * Set Static RP Access List */ accessList?: string; /** * Variable name */ accessListVariable?: string; /** * Set Static RP IP Address */ ipAddress?: string; /** * Variable name */ ipAddressVariable?: string; /** * Indicates if list item is considered optional. */ optional?: boolean; /** * Set override flag * - Default value: `false` */ override?: boolean; /** * Variable name */ overrideVariable?: string; } export interface CedgePimFeatureTemplateRpAnnounceField { /** * Set RP Announce Interface Name */ interfaceName?: string; /** * Variable name */ interfaceNameVariable?: string; /** * Indicates if list item is considered optional. */ optional?: boolean; /** * Set RP Announce Scope * - Range: `1`-`255` */ scope?: number; /** * Variable name */ scopeVariable?: string; } export interface CedgePimFeatureTemplateRpCandidate { /** * Set IP Access List for PIM RP Candidate */ accessList?: string; /** * Variable name */ accessListVariable?: string; /** * Set Autonomic-Networking virtual interface */ interface?: string; /** * Variable name */ interfaceVariable?: string; /** * Set RP candidate advertisement interval * - Range: `1`-`16383` */ interval?: number; /** * Variable name */ intervalVariable?: string; /** * Indicates if list item is considered optional. */ optional?: boolean; /** * Set RP candidate priority * - Range: `0`-`255` */ priority?: number; /** * Variable name */ priorityVariable?: string; } export interface CellularControllerFeatureTemplateDataProfile { /** * Set attach profile * - Range: `1`-`16` */ attachProfile?: number; /** * Variable name */ attachProfileVariable?: string; /** * Set data profile * - Range: `1`-`16` */ dataProfile?: number; /** * Variable name */ dataProfileVariable?: string; /** * Indicates if list item is considered optional. */ optional?: boolean; /** * Set slot number * - Range: `0`-`1` */ slotNumber?: number; /** * Variable name */ slotNumberVariable?: string; } export interface CentralizedPolicyDefinition { /** * List of entries */ entries?: outputs.CentralizedPolicyDefinitionEntry[]; /** * Policy definition ID */ id: string; /** * Policy definition type * - Choices: `hubAndSpoke`, `mesh`, `control`, `vpnMembershipGroup`, `appRoute`, `cflowd`, `data` */ type: string; /** * Policy definition version */ version?: number; } export interface CentralizedPolicyDefinitionEntry { /** * Direction * - Choices: `service`, `tunnel`, `all`, `in`, `out` */ direction?: string; /** * List of region IDs */ regionIds?: string[]; /** * List of region list IDs */ regionListIds?: string[]; /** * List of region list versions */ regionListVersions?: string[]; /** * List of site list IDs */ siteListIds?: string[]; /** * List of site list versions */ siteListVersions?: string[]; /** * List of VPN list IDs */ vpnListIds?: string[]; /** * List of VPN list versions */ vpnListVersions?: string[]; } export interface CflowdPolicyDefinitionCollector { /** * BFD metrics exporting */ bfdMetricsExporting?: boolean; /** * Export spreading * - Choices: `enable`, `disable` */ exportSpreading?: string; /** * Exporting interval */ exportingInterval?: number; /** * IP address */ ipAddress?: string; /** * Port * - Range: `1024`-`65535` */ port?: number; /** * Source interface */ sourceInterface?: string; /** * Transport protocol * - Choices: `transportTcp`, `transportUdp` */ transport?: string; /** * VPN ID * - Range: `1`-`65535` */ vpnId?: number; } export interface CiscoBfdFeatureTemplateColor { /** * Set color that identifies the WAN transport tunnel * - 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` */ color?: string; /** * Variable name */ colorVariable?: string; /** * Set BFD Default DSCP value for tloc color * - Range: `0`-`63` * - Default value: `48` */ dscp?: number; /** * Variable name */ dscpVariable?: string; /** * Set how often BFD sends Hello packets * - Range: `100`-`300000` * - Default value: `1000` */ helloInterval?: number; /** * Variable name */ helloIntervalVariable?: string; /** * Set how many Hello packet intervals to wait before declaring that a tunnel has failed * - Range: `1`-`60` * - Default value: `7` */ multiplier?: number; /** * Variable name */ multiplierVariable?: string; /** * Indicates if list item is considered optional. */ optional?: boolean; /** * Control automatic path MTU discovery * - Default value: `true` */ pmtuDiscovery?: boolean; /** * Variable name */ pmtuDiscoveryVariable?: string; } export interface CiscoBgpFeatureTemplateAddressFamily { /** * BGP Default Information Originate * - Default value: `false` */ defaultInformationOriginate?: boolean; /** * Variable name */ defaultInformationOriginateVariable?: string; /** * Set BGP address family * - Choices: `ipv4-unicast`, `ipv6-unicast` */ familyType?: string; /** * Aggregate prefixes in specific range */ ipv4AggregateAddresses?: outputs.CiscoBgpFeatureTemplateAddressFamilyIpv4AggregateAddress[]; /** * Configure the networks for BGP to advertise */ ipv4Networks?: outputs.CiscoBgpFeatureTemplateAddressFamilyIpv4Network[]; /** * IPv6 Aggregate prefixes in specific range */ ipv6AggregateAddresses?: outputs.CiscoBgpFeatureTemplateAddressFamilyIpv6AggregateAddress[]; /** * Configure the networks for BGP to advertise */ ipv6Networks?: outputs.CiscoBgpFeatureTemplateAddressFamilyIpv6Network[]; /** * Set maximum number of parallel IBGP paths for multipath load sharing * - Range: `0`-`32` */ maximumPaths?: number; /** * Variable name */ maximumPathsVariable?: string; /** * Indicates if list item is considered optional. */ optional?: boolean; /** * Redistribute routes into BGP */ redistributeRoutes?: outputs.CiscoBgpFeatureTemplateAddressFamilyRedistributeRoute[]; /** * Filter * - Default value: `false` */ tableMapFilter?: boolean; /** * Variable name */ tableMapFilterVariable?: string; /** * Map external entry attributes into routing table */ tableMapPolicy?: string; /** * Variable name */ tableMapPolicyVariable?: string; } export interface CiscoBgpFeatureTemplateAddressFamilyIpv4AggregateAddress { /** * Set AS set path information * - Default value: `false` */ asSetPath?: boolean; /** * Variable name */ asSetPathVariable?: string; /** * Indicates if list item is considered optional. */ optional?: boolean; /** * Configure the prefixes to aggregate */ prefix?: string; /** * Variable name */ prefixVariable?: string; /** * Filter out more specific routes from updates * - Default value: `false` */ summaryOnly?: boolean; /** * Variable name */ summaryOnlyVariable?: string; } export interface CiscoBgpFeatureTemplateAddressFamilyIpv4Network { /** * Indicates if list item is considered optional. */ optional?: boolean; /** * Configure the prefixes for BGP to announce */ prefix?: string; /** * Variable name */ prefixVariable?: string; } export interface CiscoBgpFeatureTemplateAddressFamilyIpv6AggregateAddress { /** * Set AS set path information * - Default value: `false` */ asSetPath?: boolean; /** * Variable name */ asSetPathVariable?: string; /** * Indicates if list item is considered optional. */ optional?: boolean; /** * Configure the IPv6 prefixes to aggregate */ prefix?: string; /** * Variable name */ prefixVariable?: string; /** * Filter out more specific routes from updates * - Default value: `false` */ summaryOnly?: boolean; /** * Variable name */ summaryOnlyVariable?: string; } export interface CiscoBgpFeatureTemplateAddressFamilyIpv6Network { /** * Indicates if list item is considered optional. */ optional?: boolean; /** * Configure the prefixes for BGP to announce */ prefix?: string; /** * Variable name */ prefixVariable?: string; } export interface CiscoBgpFeatureTemplateAddressFamilyRedistributeRoute { /** * Indicates if list item is considered optional. */ optional?: boolean; /** * Set the protocol to redistribute routes from * - Choices: `static`, `connected`, `ospf`, `ospfv3`, `omp`, `eigrp`, `nat` */ protocol?: string; /** * Variable name */ protocolVariable?: string; /** * Configure policy to apply to prefixes received from BGP neighbor */ routePolicy?: string; /** * Variable name */ routePolicyVariable?: string; } export interface CiscoBgpFeatureTemplateIpv4Neighbor { /** * Set neighbor address */ address?: string; /** * Set BGP address family */ addressFamilies?: outputs.CiscoBgpFeatureTemplateIpv4NeighborAddressFamily[]; /** * Variable name */ addressVariable?: string; /** * As Number * - Range: `1`-`10` */ allowAsIn?: number; /** * Variable name */ allowAsInVariable?: string; /** * As Override * - Default value: `false` */ asOverride?: boolean; /** * Variable name */ asOverrideVariable?: string; /** * Set description */ description?: string; /** * Variable name */ descriptionVariable?: string; /** * Set TTL value for peers that are not directly connected * - Range: `1`-`255` * - Default value: `1` */ ebgpMultihop?: number; /** * Variable name */ ebgpMultihopVariable?: string; /** * Set how long to wait since receiving a keepalive message to consider BGP peer unavailable * - Range: `0`-`65535` */ holdtime?: number; /** * Variable name */ holdtimeVariable?: string; /** * Set how often to advertise keepalive messages to BGP peer * - Range: `0`-`65535` */ keepalive?: number; /** * Variable name */ keepaliveVariable?: string; /** * Set router to be next hop for routes advertised to neighbor * - Default value: `false` */ nextHopSelf?: boolean; /** * Variable name */ nextHopSelfVariable?: string; /** * Indicates if list item is considered optional. */ optional?: boolean; /** * Set MD5 password on TCP connection with BGP peer */ password?: string; /** * Variable name */ passwordVariable?: string; /** * Set remote autonomous system number */ remoteAs?: string; /** * Variable name */ remoteAsVariable?: string; /** * Send community attribute * - Default value: `true` */ sendCommunity?: boolean; /** * Variable name */ sendCommunityVariable?: string; /** * Send extended community attribute * - Default value: `true` */ sendExtCommunity?: boolean; /** * Variable name */ sendExtCommunityVariable?: string; /** * Send label * - Default value: `false` */ sendLabel?: boolean; /** * Send label * - Default value: `false` */ sendLabelExplicit?: boolean; /** * Variable name */ sendLabelExplicitVariable?: string; /** * Variable name */ sendLabelVariable?: string; /** * Enable or disable a BGP neighbor * - Default value: `false` */ shutdown?: boolean; /** * Variable name */ shutdownVariable?: string; /** * Set IP address of interface for TCP connection to BGP neighbor */ sourceInterface?: string; /** * Variable name */ sourceInterfaceVariable?: string; } export interface CiscoBgpFeatureTemplateIpv4NeighborAddressFamily { /** * Set BGP address family * - Choices: `ipv4-unicast`, `vpnv4-unicast`, `vpnv6-unicast` */ familyType?: string; /** * Set maximum number of prefixes accepted from BGP peer * - Range: `0`-`4294967295` */ maximumPrefixes?: number; /** * Set when to restart BGP connection if threshold is exceeded * - Range: `0`-`65535` */ maximumPrefixesRestart?: number; /** * Variable name */ maximumPrefixesRestartVariable?: string; /** * Set threshold at which to generate a warning message * - Range: `0`-`100` */ maximumPrefixesThreshold?: number; /** * Variable name */ maximumPrefixesThresholdVariable?: string; /** * Variable name */ maximumPrefixesVariable?: string; /** * Display only a warning message when threshold is exceeded * - Default value: `false` */ maximumPrefixesWarningOnly?: boolean; /** * Variable name */ maximumPrefixesWarningOnlyVariable?: string; /** * Indicates if list item is considered optional. */ optional?: boolean; /** * Select route policy to apply to prefixes received from BGP neighbor */ routePolicies?: outputs.CiscoBgpFeatureTemplateIpv4NeighborAddressFamilyRoutePolicy[]; } export interface CiscoBgpFeatureTemplateIpv4NeighborAddressFamilyRoutePolicy { /** * Set direction for applying route policy * - Choices: `in`, `out` */ direction?: string; /** * Indicates if list item is considered optional. */ optional?: boolean; /** * Configure name of route policy */ policyName?: string; /** * Variable name */ policyNameVariable?: string; } export interface CiscoBgpFeatureTemplateIpv4RouteTarget { /** * Export Target-VPN community for IPV4 */ exports?: outputs.CiscoBgpFeatureTemplateIpv4RouteTargetExport[]; /** * Import Target-VPN community for IPV4 */ imports?: outputs.CiscoBgpFeatureTemplateIpv4RouteTargetImport[]; /** * Indicates if list item is considered optional. */ optional?: boolean; /** * VPN ID for IPv4 * - Range: `1`-`65527` */ vpnId?: number; /** * Variable name */ vpnIdVariable?: string; } export interface CiscoBgpFeatureTemplateIpv4RouteTargetExport { /** * asn-ip */ asnIp?: string; /** * Variable name */ asnIpVariable?: string; /** * Indicates if list item is considered optional. */ optional?: boolean; } export interface CiscoBgpFeatureTemplateIpv4RouteTargetImport { /** * asn-ip */ asnIp?: string; /** * Variable name */ asnIpVariable?: string; /** * Indicates if list item is considered optional. */ optional?: boolean; } export interface CiscoBgpFeatureTemplateIpv6Neighbor { /** * Set neighbor address */ address?: string; /** * Set BGP address family */ addressFamilies?: outputs.CiscoBgpFeatureTemplateIpv6NeighborAddressFamily[]; /** * Variable name */ addressVariable?: string; /** * As Number * - Range: `1`-`10` */ allowAsIn?: number; /** * Variable name */ allowAsInVariable?: string; /** * As Override * - Default value: `false` */ asOverride?: boolean; /** * Variable name */ asOverrideVariable?: string; /** * Set description */ description?: string; /** * Variable name */ descriptionVariable?: string; /** * Set TTL value for peers that are not directly connected * - Range: `1`-`255` * - Default value: `1` */ ebgpMultihop?: number; /** * Variable name */ ebgpMultihopVariable?: string; /** * Set how long to wait since receiving a keepalive message to consider BGP peer unavailable * - Range: `0`-`65535` */ holdtime?: number; /** * Variable name */ holdtimeVariable?: string; /** * Set how often to advertise keepalive messages to BGP peer * - Range: `0`-`65535` */ keepalive?: number; /** * Variable name */ keepaliveVariable?: string; /** * Set router to be next hop for routes advertised to neighbor * - Default value: `false` */ nextHopSelf?: boolean; /** * Variable name */ nextHopSelfVariable?: string; /** * Indicates if list item is considered optional. */ optional?: boolean; /** * Set MD5 password on TCP connection with BGP peer */ password?: string; /** * Variable name */ passwordVariable?: string; /** * Set remote autonomous system number */ remoteAs?: string; /** * Variable name */ remoteAsVariable?: string; /** * Send community attribute * - Default value: `true` */ sendCommunity?: boolean; /** * Variable name */ sendCommunityVariable?: string; /** * Send extended community attribute * - Default value: `true` */ sendExtCommunity?: boolean; /** * Variable name */ sendExtCommunityVariable?: string; /** * Send label * - Default value: `false` */ sendLabel?: boolean; /** * Send label Explicit * - Default value: `false` */ sendLabelExplicit?: boolean; /** * Variable name */ sendLabelExplicitVariable?: string; /** * Variable name */ sendLabelVariable?: string; /** * Enable or disable a BGP neighbor * - Default value: `false` */ shutdown?: boolean; /** * Variable name */ shutdownVariable?: string; /** * Set IP address of interface for TCP connection to BGP neighbor */ sourceInterface?: string; /** * Variable name */ sourceInterfaceVariable?: string; } export interface CiscoBgpFeatureTemplateIpv6NeighborAddressFamily { /** * Set BGP address family * - Choices: `ipv6-unicast` */ familyType?: string; /** * Set maximum number of prefixes accepted from BGP peer * - Range: `0`-`4294967295` * - Default value: `0` */ maximumPrefixes?: number; /** * Set when to restart BGP connection if threshold is exceeded * - Range: `0`-`65535` */ maximumPrefixesRestart?: number; /** * Variable name */ maximumPrefixesRestartVariable?: string; /** * Set threshold at which to generate a warning message * - Range: `0`-`100` * - Default value: `0` */ maximumPrefixesThreshold?: number; /** * Variable name */ maximumPrefixesThresholdVariable?: string; /** * Variable name */ maximumPrefixesVariable?: string; /** * Display only a warning message when threshold is exceeded * - Default value: `false` */ maximumPrefixesWarningOnly?: boolean; /** * Variable name */ maximumPrefixesWarningOnlyVariable?: string; /** * Indicates if list item is considered optional. */ optional?: boolean; /** * Select route policy to apply to prefixes received from BGP neighbor */ routePolicies?: outputs.CiscoBgpFeatureTemplateIpv6NeighborAddressFamilyRoutePolicy[]; } export interface CiscoBgpFeatureTemplateIpv6NeighborAddressFamilyRoutePolicy { /** * Set direction for applying route policy * - Choices: `in`, `out` */ direction?: string; /** * Indicates if list item is considered optional. */ optional?: boolean; /** * Configure name of route policy */ policyName?: string; /** * Variable name */ policyNameVariable?: string; } export interface CiscoBgpFeatureTemplateIpv6RouteTarget { /** * Export Target-VPN community for IPV6 */ exports?: outputs.CiscoBgpFeatureTemplateIpv6RouteTargetExport[]; /** * Import Target-VPN community for IPV6 */ imports?: outputs.CiscoBgpFeatureTemplateIpv6RouteTargetImport[]; /** * Indicates if list item is considered optional. */ optional?: boolean; /** * VPN ID for IPv6 * - Range: `1`-`65527` */ vpnId?: number; /** * Variable name */ vpnIdVariable?: string; } export interface CiscoBgpFeatureTemplateIpv6RouteTargetExport { /** * asn-ip */ asnIp?: string; /** * Variable name */ asnIpVariable?: string; /** * Indicates if list item is considered optional. */ optional?: boolean; } export interface CiscoBgpFeatureTemplateIpv6RouteTargetImport { /** * asn-ip */ asnIp?: string; /** * Variable name */ asnIpVariable?: string; /** * Indicates if list item is considered optional. */ optional?: boolean; } export interface CiscoBgpFeatureTemplateMplsInterface { /** * Interface Name */ interfaceName?: string; /** * Variable name */ interfaceNameVariable?: string; /** * Indicates if list item is considered optional. */ optional?: boolean; } export interface CiscoDhcpServerFeatureTemplateOption { /** * Set ASCII value */ ascii?: string; /** * Variable name */ asciiVariable?: string; /** * Set HEX value */ hex?: string; /** * Variable name */ hexVariable?: string; /** * Variable name */ ipAddressVariable?: string; /** * Set ip address */ ipAddresses?: string[]; /** * Set Option Code * - Range: `1`-`254` */ optionCode?: number; /** * Variable name */ optionCodeVariable?: string; /** * Indicates if list item is considered optional. */ optional?: boolean; } export interface CiscoDhcpServerFeatureTemplateStaticLease { /** * Set client’s hostname */ hostname?: string; /** * Variable name */ hostnameVariable?: string; /** * Set client’s static IP address */ ipAddress?: string; /** * Variable name */ ipAddressVariable?: string; /** * Set MAC address of client */ macAddress?: string; /** * Variable name */ macAddressVariable?: string; /** * Indicates if list item is considered optional. */ optional?: boolean; } export interface CiscoLoggingFeatureTemplateIpv4Server { /** * Define custom profile * - Default value: `false` */ customProfile?: boolean; /** * Variable name */ customProfileVariable?: string; /** * Enable TLS * - Default value: `false` */ enableTls?: boolean; /** * Variable name */ enableTlsVariable?: string; /** * Set hostname or IPv4 address of server */ hostnameIp?: string; /** * Variable name */ hostnameIpVariable?: string; /** * Set logging level for messages logged to server * - Choices: `information`, `debugging`, `notice`, `warn`, `error`, `critical`, `alert`, `emergency` * - Default value: `information` */ loggingLevel?: string; /** * Variable name */ loggingLevelVariable?: string; /** * Indicates if list item is considered optional. */ optional?: boolean; /** * Configure a TLS profile */ profile?: string; /** * Variable name */ profileVariable?: string; /** * Set interface to use to reach syslog server */ sourceInterface?: string; /** * Variable name */ sourceInterfaceVariable?: string; /** * Set VPN in which syslog server is located * - Range: `0`-`65530` * - Default value: `0` */ vpnId?: number; /** * Variable name */ vpnIdVariable?: string; } export interface CiscoLoggingFeatureTemplateIpv6Server { /** * Define custom profile * - Default value: `false` */ customProfile?: boolean; /** * Variable name */ customProfileVariable?: string; /** * Enable TLS * - Default value: `false` */ enableTls?: boolean; /** * Variable name */ enableTlsVariable?: string; /** * Set IPv6 hostname or IPv6 address of server */ hostnameIp?: string; /** * Variable name */ hostnameIpVariable?: string; /** * Set logging level for messages logged to server * - Choices: `information`, `debugging`, `notification`, `warn`, `error`, `critical`, `alert`, `emergency` * - Default value: `information` */ loggingLevel?: string; /** * Variable name */ loggingLevelVariable?: string; /** * Indicates if list item is considered optional. */ optional?: boolean; /** * Configure a TLS profile */ profile?: string; /** * Variable name */ profileVariable?: string; /** * Set interface to use to reach syslog server */ sourceInterface?: string; /** * Variable name */ sourceInterfaceVariable?: string; /** * Set VPN in which syslog server is located * - Range: `0`-`65530` * - Default value: `0` */ vpnId?: number; /** * Variable name */ vpnIdVariable?: string; } export interface CiscoLoggingFeatureTemplateTlsProfile { /** * Authentication Type * - Choices: `Server`, `Mutual` */ authenticationType?: string; /** * Variable name */ ciphersuiteListVariable?: string; /** * Syslog secure server ciphersuites. Possible values: `aes-128-cbc-sha`, `aes-256-cbc-sha`, `dhe-aes-cbc-sha2`, `dhe-aes-gcm-sha2`, `ecdhe-ecdsa-aes-gcm-sha2`, `ecdhe-rsa-aes-cbc-sha2`, `ecdhe-rsa-aes-gcm-sha2`, `rsa-aes-cbc-sha2`, `rsa-aes-gcm-sha2` */ ciphersuiteLists?: string[]; /** * Specify the name of the TLS profile */ name?: string; /** * Variable name */ nameVariable?: string; /** * Indicates if list item is considered optional. */ optional?: boolean; /** * TLS Version * - Cho