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