@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
TypeScript
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