UNPKG

@pulumi/scm

Version:

A Pulumi package for managing resources on Strata Cloud Manager.. Based on terraform-provider-scm: version v0.2.1

1,974 lines 1.14 MB
import * as outputs from "../types/output"; export interface AddressGroupDynamic { /** * Tag based filter defining group membership */ filter: string; } export interface AggregateInterfaceLayer2 { /** * Lacp */ lacp: outputs.AggregateInterfaceLayer2Lacp; /** * VLAN tag */ vlanTag: string; } export interface AggregateInterfaceLayer2Lacp { /** * Enable LACP? */ enable: boolean; /** * Fast failover */ fastFailover: boolean; /** * Maximum number of physical ports bundled in the LAG */ maxPorts: number; /** * Mode */ mode: string; /** * LACP system priority in system ID */ systemPriority: number; /** * Transmission mode */ transmissionRate: string; } export interface AggregateInterfaceLayer3 { /** * Aggregate Ethernet ARP configuration */ arps: outputs.AggregateInterfaceLayer3Arp[]; /** * Dynamic DNS configuration specific to the Aggregate Interface. */ ddnsConfig: outputs.AggregateInterfaceLayer3DdnsConfig; /** * Aggregate Ethernet DHCP Client Object */ dhcpClient: outputs.AggregateInterfaceLayer3DhcpClient; /** * Interface management profile */ interfaceManagementProfile: string; /** * Aggregate Interface IP addresses * * > ℹ️ **Note:** You must specify exactly one of `dhcpClient` and `ip`. */ ips: outputs.AggregateInterfaceLayer3Ip[]; /** * Lacp */ lacp: outputs.AggregateInterfaceLayer3Lacp; /** * MTU */ mtu: number; } export interface AggregateInterfaceLayer3Arp { /** * MAC address */ hwAddress?: string; /** * IP address */ name?: string; } export interface AggregateInterfaceLayer3DdnsConfig { /** * Certificate profile */ ddnsCertProfile: string; /** * Enable DDNS? */ ddnsEnabled: boolean; /** * Ddns hostname */ ddnsHostname: string; /** * IP to register (static only) */ ddnsIp: string; /** * Update interval (days) */ ddnsUpdateInterval: number; /** * DDNS vendor */ ddnsVendor: string; /** * DDNS vendor */ ddnsVendorConfig: string; } export interface AggregateInterfaceLayer3DhcpClient { /** * Automatically create default route pointing to default gateway provided by server */ createDefaultRoute: boolean; /** * Metric of the default route created */ defaultRouteMetric: number; /** * Enable DHCP? */ enable: boolean; /** * Aggregate Ethernet DHCP Client Send hostname */ sendHostname: outputs.AggregateInterfaceLayer3DhcpClientSendHostname; } export interface AggregateInterfaceLayer3DhcpClientSendHostname { /** * Enable */ enable: boolean; /** * Set interface hostname */ hostname: string; } export interface AggregateInterfaceLayer3Ip { /** * Aggregate Interface IP addresses name */ name: string; } export interface AggregateInterfaceLayer3Lacp { /** * Enable LACP? */ enable: boolean; /** * Fast failover */ fastFailover: boolean; /** * Maximum number of physical ports bundled in the LAG */ maxPorts: number; /** * Mode */ mode: string; /** * LACP system priority in system ID */ systemPriority: number; /** * Transmission mode */ transmissionRate: string; } export interface AntiSpywareProfileMicaEngineSpywareEnabled { /** * Inline policy action */ inlinePolicyAction: string; /** * Name */ name?: string; } export interface AntiSpywareProfileRule { /** * anti spyware profiles rules default action */ action?: outputs.AntiSpywareProfileRuleAction; /** * Category */ category?: string; /** * Name */ name?: string; /** * Packet capture */ packetCapture?: string; /** * Severity */ severities?: string[]; /** * Threat name */ threatName: string; } export interface AntiSpywareProfileRuleAction { /** * Alert */ alert?: outputs.AntiSpywareProfileRuleActionAlert; /** * Allow * * > ℹ️ **Note:** You must specify exactly one of `alert`, `allow`, `blockIp`, `drop`, `resetBoth`, `resetClient`, and `resetServer`. */ allow?: outputs.AntiSpywareProfileRuleActionAllow; /** * anti spyware profiles rules action block ip * * > ℹ️ **Note:** You must specify exactly one of `alert`, `allow`, `blockIp`, `drop`, `resetBoth`, `resetClient`, and `resetServer`. */ blockIp?: outputs.AntiSpywareProfileRuleActionBlockIp; /** * Drop * * > ℹ️ **Note:** You must specify exactly one of `alert`, `allow`, `blockIp`, `drop`, `resetBoth`, `resetClient`, and `resetServer`. */ drop?: outputs.AntiSpywareProfileRuleActionDrop; /** * Reset both * * > ℹ️ **Note:** You must specify exactly one of `alert`, `allow`, `blockIp`, `drop`, `resetBoth`, `resetClient`, and `resetServer`. */ resetBoth?: outputs.AntiSpywareProfileRuleActionResetBoth; /** * Reset client * * > ℹ️ **Note:** You must specify exactly one of `alert`, `allow`, `blockIp`, `drop`, `resetBoth`, `resetClient`, and `resetServer`. */ resetClient?: outputs.AntiSpywareProfileRuleActionResetClient; /** * Reset server * * > ℹ️ **Note:** You must specify exactly one of `alert`, `allow`, `blockIp`, `drop`, `resetBoth`, `resetClient`, and `resetServer`. */ resetServer?: outputs.AntiSpywareProfileRuleActionResetServer; } export interface AntiSpywareProfileRuleActionAlert { } export interface AntiSpywareProfileRuleActionAllow { } export interface AntiSpywareProfileRuleActionBlockIp { /** * Duration */ duration?: number; /** * Track by */ trackBy?: string; } export interface AntiSpywareProfileRuleActionDrop { } export interface AntiSpywareProfileRuleActionResetBoth { } export interface AntiSpywareProfileRuleActionResetClient { } export interface AntiSpywareProfileRuleActionResetServer { } export interface AntiSpywareProfileThreatException { /** * anti spyware profiles threat exception default action */ action?: outputs.AntiSpywareProfileThreatExceptionAction; /** * Exempt ip */ exemptIps?: outputs.AntiSpywareProfileThreatExceptionExemptIp[]; /** * Name */ name?: string; /** * Notes */ notes?: string; /** * Packet capture */ packetCapture?: string; } export interface AntiSpywareProfileThreatExceptionAction { /** * Alert */ alert?: outputs.AntiSpywareProfileThreatExceptionActionAlert; /** * Allow * * > ℹ️ **Note:** You must specify exactly one of `alert`, `allow`, `blockIp`, `default`, `drop`, `resetBoth`, `resetClient`, and `resetServer`. */ allow?: outputs.AntiSpywareProfileThreatExceptionActionAllow; /** * anti spyware profiles threat exception action block ip * * > ℹ️ **Note:** You must specify exactly one of `alert`, `allow`, `blockIp`, `default`, `drop`, `resetBoth`, `resetClient`, and `resetServer`. */ blockIp?: outputs.AntiSpywareProfileThreatExceptionActionBlockIp; /** * Default * * > ℹ️ **Note:** You must specify exactly one of `alert`, `allow`, `blockIp`, `default`, `drop`, `resetBoth`, `resetClient`, and `resetServer`. */ default?: outputs.AntiSpywareProfileThreatExceptionActionDefault; /** * Drop * * > ℹ️ **Note:** You must specify exactly one of `alert`, `allow`, `blockIp`, `default`, `drop`, `resetBoth`, `resetClient`, and `resetServer`. */ drop?: outputs.AntiSpywareProfileThreatExceptionActionDrop; /** * Reset both * * > ℹ️ **Note:** You must specify exactly one of `alert`, `allow`, `blockIp`, `default`, `drop`, `resetBoth`, `resetClient`, and `resetServer`. */ resetBoth?: outputs.AntiSpywareProfileThreatExceptionActionResetBoth; /** * Reset client * * > ℹ️ **Note:** You must specify exactly one of `alert`, `allow`, `blockIp`, `default`, `drop`, `resetBoth`, `resetClient`, and `resetServer`. */ resetClient?: outputs.AntiSpywareProfileThreatExceptionActionResetClient; /** * Reset server * * > ℹ️ **Note:** You must specify exactly one of `alert`, `allow`, `blockIp`, `default`, `drop`, `resetBoth`, `resetClient`, and `resetServer`. */ resetServer?: outputs.AntiSpywareProfileThreatExceptionActionResetServer; } export interface AntiSpywareProfileThreatExceptionActionAlert { } export interface AntiSpywareProfileThreatExceptionActionAllow { } export interface AntiSpywareProfileThreatExceptionActionBlockIp { /** * Duration */ duration?: number; /** * Track by */ trackBy?: string; } export interface AntiSpywareProfileThreatExceptionActionDefault { } export interface AntiSpywareProfileThreatExceptionActionDrop { } export interface AntiSpywareProfileThreatExceptionActionResetBoth { } export interface AntiSpywareProfileThreatExceptionActionResetClient { } export interface AntiSpywareProfileThreatExceptionActionResetServer { } export interface AntiSpywareProfileThreatExceptionExemptIp { /** * Name */ name: string; } export interface AntiSpywareSignatureDefaultAction { /** * Alert */ alert?: outputs.AntiSpywareSignatureDefaultActionAlert; /** * Allow * * > ℹ️ **Note:** You must specify exactly one of `alert`, `allow`, `blockIp`, `drop`, `resetBoth`, `resetClient`, and `resetServer`. */ allow?: outputs.AntiSpywareSignatureDefaultActionAllow; /** * anti spyware signature block ip * * > ℹ️ **Note:** You must specify exactly one of `alert`, `allow`, `blockIp`, `drop`, `resetBoth`, `resetClient`, and `resetServer`. */ blockIp?: outputs.AntiSpywareSignatureDefaultActionBlockIp; /** * Drop * * > ℹ️ **Note:** You must specify exactly one of `alert`, `allow`, `blockIp`, `drop`, `resetBoth`, `resetClient`, and `resetServer`. */ drop?: outputs.AntiSpywareSignatureDefaultActionDrop; /** * Reset both * * > ℹ️ **Note:** You must specify exactly one of `alert`, `allow`, `blockIp`, `drop`, `resetBoth`, `resetClient`, and `resetServer`. */ resetBoth?: outputs.AntiSpywareSignatureDefaultActionResetBoth; /** * Reset client * * > ℹ️ **Note:** You must specify exactly one of `alert`, `allow`, `blockIp`, `drop`, `resetBoth`, `resetClient`, and `resetServer`. */ resetClient?: outputs.AntiSpywareSignatureDefaultActionResetClient; /** * Reset server * * > ℹ️ **Note:** You must specify exactly one of `alert`, `allow`, `blockIp`, `drop`, `resetBoth`, `resetClient`, and `resetServer`. */ resetServer?: outputs.AntiSpywareSignatureDefaultActionResetServer; } export interface AntiSpywareSignatureDefaultActionAlert { } export interface AntiSpywareSignatureDefaultActionAllow { } export interface AntiSpywareSignatureDefaultActionBlockIp { /** * Duration */ duration?: number; /** * Track by */ trackBy?: string; } export interface AntiSpywareSignatureDefaultActionDrop { } export interface AntiSpywareSignatureDefaultActionResetBoth { } export interface AntiSpywareSignatureDefaultActionResetClient { } export interface AntiSpywareSignatureDefaultActionResetServer { } export interface AntiSpywareSignatureSignature { /** * anti spyware signature combination */ combination: outputs.AntiSpywareSignatureSignatureCombination; /** * Standard * * > ℹ️ **Note:** You must specify exactly one of `combination` and `standard`. */ standards: outputs.AntiSpywareSignatureSignatureStandard[]; } export interface AntiSpywareSignatureSignatureCombination { /** * And condition */ andConditions: outputs.AntiSpywareSignatureSignatureCombinationAndCondition[]; /** * Order free */ orderFree: boolean; /** * anti spyware time attribute */ timeAttribute: outputs.AntiSpywareSignatureSignatureCombinationTimeAttribute; } export interface AntiSpywareSignatureSignatureCombinationAndCondition { /** * Name */ name?: string; /** * Or condition */ orConditions?: outputs.AntiSpywareSignatureSignatureCombinationAndConditionOrCondition[]; } export interface AntiSpywareSignatureSignatureCombinationAndConditionOrCondition { /** * Name */ name?: string; /** * Threat id */ threatId?: string; } export interface AntiSpywareSignatureSignatureCombinationTimeAttribute { /** * Interval */ interval: number; /** * Threshold */ threshold: number; /** * Track by */ trackBy: string; } export interface AntiSpywareSignatureSignatureStandard { /** * And condition */ andConditions?: outputs.AntiSpywareSignatureSignatureStandardAndCondition[]; /** * Comment */ comment?: string; /** * Name */ name: string; /** * Order free */ orderFree: boolean; /** * Scope */ scope?: string; } export interface AntiSpywareSignatureSignatureStandardAndCondition { /** * Name */ name?: string; /** * Or condition */ orConditions?: outputs.AntiSpywareSignatureSignatureStandardAndConditionOrCondition[]; } export interface AntiSpywareSignatureSignatureStandardAndConditionOrCondition { /** * Name */ name?: string; /** * Operator */ operator: outputs.AntiSpywareSignatureSignatureStandardAndConditionOrConditionOperator; } export interface AntiSpywareSignatureSignatureStandardAndConditionOrConditionOperator { /** * Equal to */ equalTo: outputs.AntiSpywareSignatureSignatureStandardAndConditionOrConditionOperatorEqualTo; /** * Greater than */ greaterThan: outputs.AntiSpywareSignatureSignatureStandardAndConditionOrConditionOperatorGreaterThan; /** * Less than */ lessThan: outputs.AntiSpywareSignatureSignatureStandardAndConditionOrConditionOperatorLessThan; /** * Pattern match */ patternMatch: outputs.AntiSpywareSignatureSignatureStandardAndConditionOrConditionOperatorPatternMatch; } export interface AntiSpywareSignatureSignatureStandardAndConditionOrConditionOperatorEqualTo { /** * Context */ context: string; /** * Negate */ negate: boolean; /** * Qualifier */ qualifiers: outputs.AntiSpywareSignatureSignatureStandardAndConditionOrConditionOperatorEqualToQualifier[]; /** * Value */ value: number; } export interface AntiSpywareSignatureSignatureStandardAndConditionOrConditionOperatorEqualToQualifier { /** * Name */ name?: string; /** * Value */ value?: string; } export interface AntiSpywareSignatureSignatureStandardAndConditionOrConditionOperatorGreaterThan { /** * Context */ context: string; /** * Qualifier */ qualifiers: outputs.AntiSpywareSignatureSignatureStandardAndConditionOrConditionOperatorGreaterThanQualifier[]; /** * Value */ value: number; } export interface AntiSpywareSignatureSignatureStandardAndConditionOrConditionOperatorGreaterThanQualifier { /** * Name */ name?: string; /** * Value */ value?: string; } export interface AntiSpywareSignatureSignatureStandardAndConditionOrConditionOperatorLessThan { /** * Context */ context: string; /** * Qualifier */ qualifiers: outputs.AntiSpywareSignatureSignatureStandardAndConditionOrConditionOperatorLessThanQualifier[]; /** * Value */ value: number; } export interface AntiSpywareSignatureSignatureStandardAndConditionOrConditionOperatorLessThanQualifier { /** * Name */ name?: string; /** * Value */ value?: string; } export interface AntiSpywareSignatureSignatureStandardAndConditionOrConditionOperatorPatternMatch { /** * Context */ context: string; /** * Negate */ negate: boolean; /** * Pattern */ pattern: string; /** * Qualifier */ qualifiers: outputs.AntiSpywareSignatureSignatureStandardAndConditionOrConditionOperatorPatternMatchQualifier[]; } export interface AntiSpywareSignatureSignatureStandardAndConditionOrConditionOperatorPatternMatchQualifier { /** * Name */ name?: string; /** * Value */ value?: string; } export interface ApplicationDefault { /** * Ident by icmp6 type */ identByIcmp6Type?: outputs.ApplicationDefaultIdentByIcmp6Type; /** * Ident by icmp type * * > ℹ️ **Note:** You must specify exactly one of `identByIcmp6Type`, `identByIcmpType`, `identByIpProtocol`, and `port`. */ identByIcmpType?: outputs.ApplicationDefaultIdentByIcmpType; /** * Ident by ip protocol * * > ℹ️ **Note:** You must specify exactly one of `identByIcmp6Type`, `identByIcmpType`, `identByIpProtocol`, and `port`. */ identByIpProtocol?: string; /** * Port * * > ℹ️ **Note:** You must specify exactly one of `identByIcmp6Type`, `identByIcmpType`, `identByIpProtocol`, and `port`. */ ports?: string[]; } export interface ApplicationDefaultIdentByIcmp6Type { /** * Code */ code?: string; /** * Type */ type: string; } export interface ApplicationDefaultIdentByIcmpType { /** * Code */ code?: string; /** * Type */ type: string; } export interface ApplicationFilterTagging { /** * No tag */ noTag?: boolean; /** * Tag * * > ℹ️ **Note:** You must specify exactly one of `noTag` and `tag`. */ tags?: string[]; } export interface ApplicationSignature { /** * And condition */ andConditions?: outputs.ApplicationSignatureAndCondition[]; /** * Comment */ comment?: string; /** * Alphanumeric string [ 0-9a-zA-Z._-] */ name: string; /** * Order free */ orderFree: boolean; /** * Scope */ scope: string; } export interface ApplicationSignatureAndCondition { /** * Alphanumeric string [ 0-9a-zA-Z._-] */ name: string; /** * Or condition */ orConditions?: outputs.ApplicationSignatureAndConditionOrCondition[]; } export interface ApplicationSignatureAndConditionOrCondition { /** * Alphanumeric string [ 0-9a-zA-Z._-] */ name: string; /** * Operator */ operator: outputs.ApplicationSignatureAndConditionOrConditionOperator; } export interface ApplicationSignatureAndConditionOrConditionOperator { /** * Equal to */ equalTo?: outputs.ApplicationSignatureAndConditionOrConditionOperatorEqualTo; /** * Greater than * * > ℹ️ **Note:** You must specify exactly one of `equalTo`, `greaterThan`, `lessThan`, and `patternMatch`. */ greaterThan?: outputs.ApplicationSignatureAndConditionOrConditionOperatorGreaterThan; /** * Less than * * > ℹ️ **Note:** You must specify exactly one of `equalTo`, `greaterThan`, `lessThan`, and `patternMatch`. */ lessThan?: outputs.ApplicationSignatureAndConditionOrConditionOperatorLessThan; /** * Pattern match * * > ℹ️ **Note:** You must specify exactly one of `equalTo`, `greaterThan`, `lessThan`, and `patternMatch`. */ patternMatch?: outputs.ApplicationSignatureAndConditionOrConditionOperatorPatternMatch; } export interface ApplicationSignatureAndConditionOrConditionOperatorEqualTo { /** * Context */ context: string; /** * 4-byte hex value */ mask?: string; /** * Position */ position?: string; /** * Value */ value: string; } export interface ApplicationSignatureAndConditionOrConditionOperatorGreaterThan { /** * Context */ context: string; /** * Qualifier */ qualifiers?: outputs.ApplicationSignatureAndConditionOrConditionOperatorGreaterThanQualifier[]; /** * Value */ value: number; } export interface ApplicationSignatureAndConditionOrConditionOperatorGreaterThanQualifier { /** * Alphanumeric string [ 0-9a-zA-Z._-] */ name: string; /** * Value */ value: string; } export interface ApplicationSignatureAndConditionOrConditionOperatorLessThan { /** * Context */ context: string; /** * Qualifier */ qualifiers?: outputs.ApplicationSignatureAndConditionOrConditionOperatorLessThanQualifier[]; /** * Value */ value: number; } export interface ApplicationSignatureAndConditionOrConditionOperatorLessThanQualifier { /** * Alphanumeric string [ 0-9a-zA-Z._-] */ name: string; /** * Value */ value: string; } export interface ApplicationSignatureAndConditionOrConditionOperatorPatternMatch { /** * Context */ context: string; /** * Pattern */ pattern: string; /** * Qualifier */ qualifiers?: outputs.ApplicationSignatureAndConditionOrConditionOperatorPatternMatchQualifier[]; } export interface ApplicationSignatureAndConditionOrConditionOperatorPatternMatchQualifier { /** * Alphanumeric string [ 0-9a-zA-Z._-] */ name: string; /** * Value */ value: string; } export interface AuthenticationProfileLockout { /** * Lockout object - failedAttempts of authentication profile */ failedAttempts?: number; /** * Lockout object - lockout-time of authentication profile */ lockoutTime?: number; } export interface AuthenticationProfileMethod { /** * Cloud */ cloud?: outputs.AuthenticationProfileMethodCloud; /** * Kerberos * * > ℹ️ **Note:** You must specify exactly one of `cloud`, `kerberos`, `ldap`, `localDatabase`, `radius`, `samlIdp`, and `tacplus`. */ kerberos?: outputs.AuthenticationProfileMethodKerberos; /** * Ldap * * > ℹ️ **Note:** You must specify exactly one of `cloud`, `kerberos`, `ldap`, `localDatabase`, `radius`, `samlIdp`, and `tacplus`. */ ldap?: outputs.AuthenticationProfileMethodLdap; /** * Local database * * > ℹ️ **Note:** You must specify exactly one of `cloud`, `kerberos`, `ldap`, `localDatabase`, `radius`, `samlIdp`, and `tacplus`. */ localDatabase?: outputs.AuthenticationProfileMethodLocalDatabase; /** * Radius * * > ℹ️ **Note:** You must specify exactly one of `cloud`, `kerberos`, `ldap`, `localDatabase`, `radius`, `samlIdp`, and `tacplus`. */ radius?: outputs.AuthenticationProfileMethodRadius; /** * Saml idp * * > ℹ️ **Note:** You must specify exactly one of `cloud`, `kerberos`, `ldap`, `localDatabase`, `radius`, `samlIdp`, and `tacplus`. */ samlIdp?: outputs.AuthenticationProfileMethodSamlIdp; /** * Tacplus * * > ℹ️ **Note:** You must specify exactly one of `cloud`, `kerberos`, `ldap`, `localDatabase`, `radius`, `samlIdp`, and `tacplus`. */ tacplus?: outputs.AuthenticationProfileMethodTacplus; } export interface AuthenticationProfileMethodCloud { /** * The tenant profile name */ profileName?: string; } export interface AuthenticationProfileMethodKerberos { /** * method kerberos object realm of authentication profile */ realm?: string; /** * method kerberos object server profile of authentication profile */ serverProfile?: string; } export interface AuthenticationProfileMethodLdap { /** * Login attribute */ loginAttribute?: string; /** * Passwd exp days */ passwdExpDays?: number; /** * Server profile */ serverProfile?: string; } export interface AuthenticationProfileMethodLocalDatabase { } export interface AuthenticationProfileMethodRadius { /** * method radius object check group of authentication profile */ checkgroup?: boolean; /** * method radius object server profile of authentication profile */ serverProfile?: string; } export interface AuthenticationProfileMethodSamlIdp { /** * Attribute name usergroup */ attributeNameUsergroup?: string; /** * Attribute name username */ attributeNameUsername?: string; /** * method object saml idp certificate profile of authentication profile */ certificateProfile?: string; /** * Enable single logout */ enableSingleLogout?: boolean; /** * Request signing certificate */ requestSigningCertificate?: string; /** * method object saml idp server profile of authentication profile */ serverProfile?: string; } export interface AuthenticationProfileMethodTacplus { /** * method tacplus object check group of authentication profile */ checkgroup?: boolean; /** * method tacplus object check group of authentication profile */ serverProfile?: string; } export interface AuthenticationProfileMultiFactorAuth { /** * Factors */ factors?: string[]; /** * Mfa enable */ mfaEnable?: boolean; } export interface AuthenticationProfileSingleSignOn { /** * Kerberos keytab */ kerberosKeytab?: string; /** * Realm */ realm?: string; } export interface AutoVpnClusterBranch { /** * BGP redistribution profile */ bgpRedistributionProfile?: string; /** * Interfaces */ interfaces?: outputs.AutoVpnClusterBranchInterface[]; /** * Router */ logicalRouter?: string; /** * Branch firewall serial number */ name?: string; /** * Private interfaces */ privateInterfaces?: outputs.AutoVpnClusterBranchPrivateInterface[]; /** * Site name */ site?: string; } export interface AutoVpnClusterBranchInterface { /** * DHCP IP */ dhcpIp?: string; /** * Ethernet interface */ name?: string; /** * Sdwan link settings */ sdwanLinkSettings: outputs.AutoVpnClusterBranchInterfaceSdwanLinkSettings; } export interface AutoVpnClusterBranchInterfaceSdwanLinkSettings { /** * Next hop gateway */ sdwanGateway: string; /** * SD-WAN interface profile */ sdwanInterfaceProfile: string; /** * Upstream nat */ upstreamNat: outputs.AutoVpnClusterBranchInterfaceSdwanLinkSettingsUpstreamNat; } export interface AutoVpnClusterBranchInterfaceSdwanLinkSettingsUpstreamNat { /** * Upstream NAT? */ enable: boolean; /** * Static ip */ staticIp: outputs.AutoVpnClusterBranchInterfaceSdwanLinkSettingsUpstreamNatStaticIp; } export interface AutoVpnClusterBranchInterfaceSdwanLinkSettingsUpstreamNatStaticIp { /** * FQDN */ fqdn: string; /** * IP address * * > ℹ️ **Note:** You must specify exactly one of `fqdn` and `ipAddress`. */ ipAddress: string; } export interface AutoVpnClusterBranchPrivateInterface { /** * Ethernet interface */ name?: string; /** * Sdwan link settings */ sdwanLinkSettings: outputs.AutoVpnClusterBranchPrivateInterfaceSdwanLinkSettings; } export interface AutoVpnClusterBranchPrivateInterfaceSdwanLinkSettings { /** * Next hop gateway */ sdwanGateway: string; /** * SD-WAN interface profile */ sdwanInterfaceProfile: string; /** * Upstream nat */ upstreamNat: outputs.AutoVpnClusterBranchPrivateInterfaceSdwanLinkSettingsUpstreamNat; } export interface AutoVpnClusterBranchPrivateInterfaceSdwanLinkSettingsUpstreamNat { /** * Upstream NAT? */ enable: boolean; /** * Static ip */ staticIp: outputs.AutoVpnClusterBranchPrivateInterfaceSdwanLinkSettingsUpstreamNatStaticIp; } export interface AutoVpnClusterBranchPrivateInterfaceSdwanLinkSettingsUpstreamNatStaticIp { /** * FQDN */ fqdn: string; /** * IP address * * > ℹ️ **Note:** You must specify exactly one of `fqdn` and `ipAddress`. */ ipAddress: string; } export interface AutoVpnClusterGateway { /** * Allow DIA to VPN failover on branch device for the hub? */ allowDiaVpnFailover?: boolean; /** * BGP redistribution file */ bgpRedistributionProfile?: string; /** * Interfaces */ interfaces?: outputs.AutoVpnClusterGatewayInterface[]; /** * Router */ logicalRouter?: string; /** * Hub firewall serial number */ name?: string; /** * Priority */ priority?: string; /** * Private interfaces */ privateInterfaces?: outputs.AutoVpnClusterGatewayPrivateInterface[]; /** * Site name */ site?: string; } export interface AutoVpnClusterGatewayInterface { /** * DHCP IP */ dhcpIp?: string; /** * Ethernet interface */ name?: string; /** * Sdwan link settings */ sdwanLinkSettings?: outputs.AutoVpnClusterGatewayInterfaceSdwanLinkSettings; } export interface AutoVpnClusterGatewayInterfaceSdwanLinkSettings { /** * Next hop gateway */ sdwanGateway?: string; /** * SD-WAN interface profile */ sdwanInterfaceProfile?: string; /** * Upstream nat */ upstreamNat?: outputs.AutoVpnClusterGatewayInterfaceSdwanLinkSettingsUpstreamNat; } export interface AutoVpnClusterGatewayInterfaceSdwanLinkSettingsUpstreamNat { /** * Upstream NAT? */ enable?: boolean; /** * Static ip */ staticIp?: outputs.AutoVpnClusterGatewayInterfaceSdwanLinkSettingsUpstreamNatStaticIp; } export interface AutoVpnClusterGatewayInterfaceSdwanLinkSettingsUpstreamNatStaticIp { /** * FQDN */ fqdn?: string; /** * IP address * * > ℹ️ **Note:** You must specify exactly one of `fqdn` and `ipAddress`. */ ipAddress?: string; } export interface AutoVpnClusterGatewayPrivateInterface { /** * Ethernet interface */ name?: string; /** * Sdwan link settings */ sdwanLinkSettings?: outputs.AutoVpnClusterGatewayPrivateInterfaceSdwanLinkSettings; } export interface AutoVpnClusterGatewayPrivateInterfaceSdwanLinkSettings { /** * Next hop gateway */ sdwanGateway?: string; /** * SD-WAN interface profile */ sdwanInterfaceProfile?: string; /** * Upstream nat */ upstreamNat?: outputs.AutoVpnClusterGatewayPrivateInterfaceSdwanLinkSettingsUpstreamNat; } export interface AutoVpnClusterGatewayPrivateInterfaceSdwanLinkSettingsUpstreamNat { /** * Upstream NAT? */ enable?: boolean; /** * Static ip */ staticIp?: outputs.AutoVpnClusterGatewayPrivateInterfaceSdwanLinkSettingsUpstreamNatStaticIp; } export interface AutoVpnClusterGatewayPrivateInterfaceSdwanLinkSettingsUpstreamNatStaticIp { /** * FQDN */ fqdn?: string; /** * IP address * * > ℹ️ **Note:** You must specify exactly one of `fqdn` and `ipAddress`. */ ipAddress?: string; } export interface AutoVpnSettingAsRange { /** * End */ end?: number; /** * Start */ start?: number; } export interface BgpAddressFamilyProfileIpv4 { /** * Multicast */ multicast?: outputs.BgpAddressFamilyProfileIpv4Multicast; /** * Unicast */ unicast?: outputs.BgpAddressFamilyProfileIpv4Unicast; } export interface BgpAddressFamilyProfileIpv4Multicast { /** * Add path */ addPath?: outputs.BgpAddressFamilyProfileIpv4MulticastAddPath; /** * Allowas in */ allowasIn?: outputs.BgpAddressFamilyProfileIpv4MulticastAllowasIn; /** * Override ASNs in outbound updates if AS-Path equals Remote-AS? */ asOverride?: boolean; /** * Originate default route? */ defaultOriginate?: boolean; /** * Default originate route map */ defaultOriginateMap?: string; /** * Enable? */ enable?: boolean; /** * Maximum prefix */ maximumPrefix?: outputs.BgpAddressFamilyProfileIpv4MulticastMaximumPrefix; /** * Next hop */ nextHop?: outputs.BgpAddressFamilyProfileIpv4MulticastNextHop; /** * Orf */ orf?: outputs.BgpAddressFamilyProfileIpv4MulticastOrf; /** * Remove private a s */ removePrivateAs?: outputs.BgpAddressFamilyProfileIpv4MulticastRemovePrivateAs; /** * Route reflector client? */ routeReflectorClient?: boolean; /** * Send community */ sendCommunity?: outputs.BgpAddressFamilyProfileIpv4MulticastSendCommunity; /** * Soft reconfiguration of peer with stored routes? */ softReconfigWithStoredInfo?: boolean; } export interface BgpAddressFamilyProfileIpv4MulticastAddPath { /** * Advertise all paths to peer? */ txAllPaths?: boolean; /** * Tx bestpath per a s */ txBestpathPerAs?: boolean; } export interface BgpAddressFamilyProfileIpv4MulticastAllowasIn { /** * Number of times the firewalls own AS can be in an AS_PATH */ occurrence?: number; /** * Origin * * > ℹ️ **Note:** You must specify exactly one of `occurrence` and `origin`. */ origin?: outputs.BgpAddressFamilyProfileIpv4MulticastAllowasInOrigin; } export interface BgpAddressFamilyProfileIpv4MulticastAllowasInOrigin { } export interface BgpAddressFamilyProfileIpv4MulticastMaximumPrefix { /** * Action */ action?: outputs.BgpAddressFamilyProfileIpv4MulticastMaximumPrefixAction; /** * Maximum number of prefixes */ numPrefixes?: number; /** * Threshold percentage of the maximum number of prefixes */ threshold?: number; } export interface BgpAddressFamilyProfileIpv4MulticastMaximumPrefixAction { /** * Restart */ restart?: outputs.BgpAddressFamilyProfileIpv4MulticastMaximumPrefixActionRestart; /** * Warning only * * > ℹ️ **Note:** You must specify exactly one of `restart` and `warningOnly`. */ warningOnly?: outputs.BgpAddressFamilyProfileIpv4MulticastMaximumPrefixActionWarningOnly; } export interface BgpAddressFamilyProfileIpv4MulticastMaximumPrefixActionRestart { /** * Restart interval */ interval?: number; } export interface BgpAddressFamilyProfileIpv4MulticastMaximumPrefixActionWarningOnly { } export interface BgpAddressFamilyProfileIpv4MulticastNextHop { /** * Self */ self?: outputs.BgpAddressFamilyProfileIpv4MulticastNextHopSelf; /** * Self force * * > ℹ️ **Note:** You must specify exactly one of `self` and `selfForce`. */ selfForce?: outputs.BgpAddressFamilyProfileIpv4MulticastNextHopSelfForce; } export interface BgpAddressFamilyProfileIpv4MulticastNextHopSelf { } export interface BgpAddressFamilyProfileIpv4MulticastNextHopSelfForce { } export interface BgpAddressFamilyProfileIpv4MulticastOrf { /** * ORF prefix list */ orfPrefixList?: string; } export interface BgpAddressFamilyProfileIpv4MulticastRemovePrivateAs { /** * All */ all?: outputs.BgpAddressFamilyProfileIpv4MulticastRemovePrivateAsAll; /** * Replace a s */ replaceAs?: outputs.BgpAddressFamilyProfileIpv4MulticastRemovePrivateAsReplaceAs; } export interface BgpAddressFamilyProfileIpv4MulticastRemovePrivateAsAll { } export interface BgpAddressFamilyProfileIpv4MulticastRemovePrivateAsReplaceAs { } export interface BgpAddressFamilyProfileIpv4MulticastSendCommunity { /** * All */ all?: outputs.BgpAddressFamilyProfileIpv4MulticastSendCommunityAll; /** * Both * * > ℹ️ **Note:** You must specify exactly one of `all`, `both`, `extended`, `large`, and `standard`. */ both?: outputs.BgpAddressFamilyProfileIpv4MulticastSendCommunityBoth; /** * Extended * * > ℹ️ **Note:** You must specify exactly one of `all`, `both`, `extended`, `large`, and `standard`. */ extended?: outputs.BgpAddressFamilyProfileIpv4MulticastSendCommunityExtended; /** * Large * * > ℹ️ **Note:** You must specify exactly one of `all`, `both`, `extended`, `large`, and `standard`. */ large?: outputs.BgpAddressFamilyProfileIpv4MulticastSendCommunityLarge; /** * Standard * * > ℹ️ **Note:** You must specify exactly one of `all`, `both`, `extended`, `large`, and `standard`. */ standard?: outputs.BgpAddressFamilyProfileIpv4MulticastSendCommunityStandard; } export interface BgpAddressFamilyProfileIpv4MulticastSendCommunityAll { } export interface BgpAddressFamilyProfileIpv4MulticastSendCommunityBoth { } export interface BgpAddressFamilyProfileIpv4MulticastSendCommunityExtended { } export interface BgpAddressFamilyProfileIpv4MulticastSendCommunityLarge { } export interface BgpAddressFamilyProfileIpv4MulticastSendCommunityStandard { } export interface BgpAddressFamilyProfileIpv4Unicast { /** * Add path */ addPath?: outputs.BgpAddressFamilyProfileIpv4UnicastAddPath; /** * Allowas in */ allowasIn?: outputs.BgpAddressFamilyProfileIpv4UnicastAllowasIn; /** * Override ASNs in outbound updates if AS-Path equals Remote-AS? */ asOverride?: boolean; /** * Originate default route? */ defaultOriginate?: boolean; /** * Default originate route map */ defaultOriginateMap?: string; /** * Enable? */ enable?: boolean; /** * Maximum prefix */ maximumPrefix?: outputs.BgpAddressFamilyProfileIpv4UnicastMaximumPrefix; /** * Next hop */ nextHop?: outputs.BgpAddressFamilyProfileIpv4UnicastNextHop; /** * Orf */ orf?: outputs.BgpAddressFamilyProfileIpv4UnicastOrf; /** * Remove private a s */ removePrivateAs?: outputs.BgpAddressFamilyProfileIpv4UnicastRemovePrivateAs; /** * Route reflector client? */ routeReflectorClient?: boolean; /** * Send community */ sendCommunity?: outputs.BgpAddressFamilyProfileIpv4UnicastSendCommunity; /** * Soft reconfiguration of peer with stored routes? */ softReconfigWithStoredInfo?: boolean; } export interface BgpAddressFamilyProfileIpv4UnicastAddPath { /** * Advertise all paths to peer? */ txAllPaths?: boolean; /** * Tx bestpath per a s */ txBestpathPerAs?: boolean; } export interface BgpAddressFamilyProfileIpv4UnicastAllowasIn { /** * Number of times the firewalls own AS can be in an AS_PATH */ occurrence?: number; /** * Origin * * > ℹ️ **Note:** You must specify exactly one of `occurrence` and `origin`. */ origin?: outputs.BgpAddressFamilyProfileIpv4UnicastAllowasInOrigin; } export interface BgpAddressFamilyProfileIpv4UnicastAllowasInOrigin { } export interface BgpAddressFamilyProfileIpv4UnicastMaximumPrefix { /** * Action */ action?: outputs.BgpAddressFamilyProfileIpv4UnicastMaximumPrefixAction; /** * Maximum number of prefixes */ numPrefixes?: number; /** * Threshold percentage of the maximum number of prefixes */ threshold?: number; } export interface BgpAddressFamilyProfileIpv4UnicastMaximumPrefixAction { /** * Restart */ restart?: outputs.BgpAddressFamilyProfileIpv4UnicastMaximumPrefixActionRestart; /** * Warning only * * > ℹ️ **Note:** You must specify exactly one of `restart` and `warningOnly`. */ warningOnly?: outputs.BgpAddressFamilyProfileIpv4UnicastMaximumPrefixActionWarningOnly; } export interface BgpAddressFamilyProfileIpv4UnicastMaximumPrefixActionRestart { /** * Restart interval */ interval?: number; } export interface BgpAddressFamilyProfileIpv4UnicastMaximumPrefixActionWarningOnly { } export interface BgpAddressFamilyProfileIpv4UnicastNextHop { /** * Self */ self?: outputs.BgpAddressFamilyProfileIpv4UnicastNextHopSelf; /** * Self force * * > ℹ️ **Note:** You must specify exactly one of `self` and `selfForce`. */ selfForce?: outputs.BgpAddressFamilyProfileIpv4UnicastNextHopSelfForce; } export interface BgpAddressFamilyProfileIpv4UnicastNextHopSelf { } export interface BgpAddressFamilyProfileIpv4UnicastNextHopSelfForce { } export interface BgpAddressFamilyProfileIpv4UnicastOrf { /** * ORF prefix list */ orfPrefixList?: string; } export interface BgpAddressFamilyProfileIpv4UnicastRemovePrivateAs { /** * All */ all?: outputs.BgpAddressFamilyProfileIpv4UnicastRemovePrivateAsAll; /** * Replace a s */ replaceAs?: outputs.BgpAddressFamilyProfileIpv4UnicastRemovePrivateAsReplaceAs; } export interface BgpAddressFamilyProfileIpv4UnicastRemovePrivateAsAll { } export interface BgpAddressFamilyProfileIpv4UnicastRemovePrivateAsReplaceAs { } export interface BgpAddressFamilyProfileIpv4UnicastSendCommunity { /** * All */ all?: outputs.BgpAddressFamilyProfileIpv4UnicastSendCommunityAll; /** * Both * * > ℹ️ **Note:** You must specify exactly one of `all`, `both`, `extended`, `large`, and `standard`. */ both?: outputs.BgpAddressFamilyProfileIpv4UnicastSendCommunityBoth; /** * Extended * * > ℹ️ **Note:** You must specify exactly one of `all`, `both`, `extended`, `large`, and `standard`. */ extended?: outputs.BgpAddressFamilyProfileIpv4UnicastSendCommunityExtended; /** * Large * * > ℹ️ **Note:** You must specify exactly one of `all`, `both`, `extended`, `large`, and `standard`. */ large?: outputs.BgpAddressFamilyProfileIpv4UnicastSendCommunityLarge; /** * Standard * * > ℹ️ **Note:** You must specify exactly one of `all`, `both`, `extended`, `large`, and `standard`. */ standard?: outputs.BgpAddressFamilyProfileIpv4UnicastSendCommunityStandard; } export interface BgpAddressFamilyProfileIpv4UnicastSendCommunityAll { } export interface BgpAddressFamilyProfileIpv4UnicastSendCommunityBoth { } export interface BgpAddressFamilyProfileIpv4UnicastSendCommunityExtended { } export interface BgpAddressFamilyProfileIpv4UnicastSendCommunityLarge { } export interface BgpAddressFamilyProfileIpv4UnicastSendCommunityStandard { } export interface BgpFilteringProfileIpv4 { /** * Multicast */ multicast?: outputs.BgpFilteringProfileIpv4Multicast; /** * Unicast */ unicast?: outputs.BgpFilteringProfileIpv4Unicast; } export interface BgpFilteringProfileIpv4Multicast { /** * Conditional advertisement */ conditionalAdvertisement?: outputs.BgpFilteringProfileIpv4MulticastConditionalAdvertisement; /** * Filter list */ filterList?: outputs.BgpFilteringProfileIpv4MulticastFilterList; /** * Inbound network filters */ inboundNetworkFilters?: outputs.BgpFilteringProfileIpv4MulticastInboundNetworkFilters; /** * Inherit from unicast */ inherit?: boolean; /** * Outbound network filters */ outboundNetworkFilters?: outputs.BgpFilteringProfileIpv4MulticastOutboundNetworkFilters; /** * Route maps */ routeMaps?: outputs.BgpFilteringProfileIpv4MulticastRouteMaps; /** * Unsuppress map */ unsuppressMap?: string; } export interface BgpFilteringProfileIpv4MulticastConditionalAdvertisement { /** * Exist */ exist?: outputs.BgpFilteringProfileIpv4MulticastConditionalAdvertisementExist; /** * Non exist */ nonExist?: outputs.BgpFilteringProfileIpv4MulticastConditionalAdvertisementNonExist; } export interface BgpFilteringProfileIpv4MulticastConditionalAdvertisementExist { /** * Advertise map */ advertiseMap?: string; /** * Exist map */ existMap?: string; } export interface BgpFilteringProfileIpv4MulticastConditionalAdvertisementNonExist { /** * Advertise map */ advertiseMap?: string; /** * Non exist map */ nonExistMap?: string; } export interface BgpFilteringProfileIpv4MulticastFilterList { /** * Inbound */ inbound?: string; /** * Outbound */ outbound?: string; } export interface BgpFilteringProfileIpv4MulticastInboundNetworkFilters { /** * Distribute list */ distributeList?: string; /** * Prefix list */ prefixList?: string; } export interface BgpFilteringProfileIpv4MulticastOutboundNetworkFilters { /** * Distribute list */ distributeList?: string; /** * Prefix list */ prefixList?: string; } export interface BgpFilteringProfileIpv4MulticastRouteMaps { /** * Inbound */ inbound?: string; /** * Outbound */ outbound?: string; } export interface BgpFilteringProfileIpv4Unicast { /** * Conditional advertisement */ conditionalAdvertisement?: outputs.BgpFilteringProfileIpv4UnicastConditionalAdvertisement; /** * Filter list */ filterList?: outputs.BgpFilteringProfileIpv4UnicastFilterList; /** * Inbound network filters */ inboundNetworkFilters?: outputs.BgpFilteringProfileIpv4UnicastInboundNetworkFilters; /** * Outbound network filters */ outboundNetworkFilters?: outputs.BgpFilteringProfileIpv4UnicastOutboundNetworkFilters; /** * Route maps */ routeMaps?: outputs.BgpFilteringProfileIpv4UnicastRouteMaps; /** * Unsuppress map */ unsuppressMap?: string; } export interface BgpFilteringProfileIpv4UnicastConditionalAdvertisement { /** * Exist */ exist?: outputs.BgpFilteringProfileIpv4UnicastConditionalAdvertisementExist; /** * Non exist */ nonExist?: outputs.BgpFilteringProfileIpv4UnicastConditionalAdvertisementNonExist; } export interface BgpFilteringProfileIpv4UnicastConditionalAdvertisementExist { /** * Advertise map */ advertiseMap?: string; /** * Exist map */ existMap?: string; } export interface BgpFilteringProfileIpv4UnicastConditionalAdvertisementNonExist { /** * Advertise map */ advertiseMap?: string; /** * Non exist map */ nonExistMap?: string; } export interface BgpFilteringProfileIpv4UnicastFilterList { /** * Inbound */ inbound?: string; /** * Outbound */ outbound?: string; } export interface BgpFilteringProfileIpv4UnicastInboundNetworkFilters { /** * Distribute list */ distributeList?: string; /** * Prefix list */ prefixList?: string; } export interface BgpFilteringProfileIpv4UnicastOutboundNetworkFilters { /** * Distribute list */ distributeList?: string; /** * Prefix list */ prefixList?: string; } export interface BgpFilteringProfileIpv4UnicastRouteMaps { /** * Inbound */ inbound?: string; /** * Outbound */ outbound?: string; } export interface BgpRedistributionProfileIpv4 { /** * Unicast */ unicast?: outputs.BgpRedistributionProfileIpv4Unicast; } export interface BgpRedistributionProfileIpv4Unicast { /** * Connected */ connected?: outputs.BgpRedistributionProfileIpv4UnicastConnected; /** * Ospf */ ospf?: outputs.BgpRedistributionProfileIpv4UnicastOspf; /** * Static */ static?: outputs.BgpRedistributionProfileIpv4UnicastStatic; } export interface BgpRedistributionProfileIpv4UnicastConnected { /** * Enable connected route redistribution? */ enable?: boolean; /** * Route metric */ metric?: number; /** * Route map */ routeMap?: string; } export interface BgpRedistributionProfileIpv4UnicastOspf { /** * Enable OSPF route redistribution? */ enable?: boolean; /** * Route metric */ metric?: number; /** * Route map */ routeMap?: string; } export interface BgpRedistributionProfileIpv4UnicastStatic { /** * Enable static route redistribution? */ enable?: boolean; /** * Route metric */ metric?: number; /** * Route map */ routeMap?: string; } export interface BgpRouteMapRedistributionBgp { /** * Ospf */ ospf?: outputs.BgpRouteMapRedistributionBgpOspf; /** * BGP Root RIB * * > ℹ️ **Note:** You must specify exactly one of `ospf` and `rib`. */ rib?: outputs.BgpRouteMapRedistributionBgpRib; } export interface BgpRouteMapRedistributionBgpOspf { /** * BGP Root OSPF Route maps */ routeMaps?: outputs.BgpRouteMapRedistributionBgpOspfRouteMap[]; } export interface BgpRouteMapRedistributionBgpOspfRouteMap { /** * BGP Root OSPF Route maps Action */ action?: string; /** * BGP Root OSPF Route maps Description */ description?: string; /** * Match */ match?: outputs.BgpRouteMapRedistributionBgpOspfRouteMapMatch; /** * BGP Root OSPF Route maps Seque