@pulumiverse/fortios
Version:
A Pulumi package for creating and managing Fortios resources. Based on terraform-provider-fortios: version v1.16.0
1,012 lines (1,011 loc) • 40.5 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
* Configure BGP.
*
* > The provider supports the definition of Neighbor in Router Bgp `fortios.router.Bgp`, and also allows the definition of separate Neighbor resources `fortios.router/bgp.Neighbor`, but do not use a `fortios.router.Bgp` with in-line Neighbor in conjunction with any `fortios.router/bgp.Neighbor` resources, otherwise conflicts and overwrite will occur.
*
* > The provider supports the definition of Network in Router Bgp `fortios.router.Bgp`, and also allows the definition of separate Network resources `fortios.router/bgp.Network`, but do not use a `fortios.router.Bgp` with in-line Network in conjunction with any `fortios.router/bgp.Network` resources, otherwise conflicts and overwrite will occur.
*
* > The provider supports the definition of Network6 in Router Bgp `fortios.router.Bgp`, and also allows the definition of separate Network6 resources `fortios.router/bgp.Network6`, but do not use a `fortios.router.Bgp` with in-line Network6 in conjunction with any `fortios.router/bgp.Network6` resources, otherwise conflicts and overwrite will occur.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as fortios from "@pulumiverse/fortios";
*
* const trname = new fortios.router.Bgp("trname", {
* additionalPathSelect: 2,
* additionalPathSelect6: 2,
* alwaysCompareMed: "disable",
* as: 0,
* clientToClientReflection: "enable",
* clusterId: "0.0.0.0",
* dampening: "disable",
* dampeningMaxSuppressTime: 60,
* dampeningReachabilityHalfLife: 15,
* dampeningReuse: 750,
* dampeningSuppress: 2000,
* dampeningUnreachabilityHalfLife: 15,
* defaultLocalPreference: 100,
* deterministicMed: "disable",
* distanceExternal: 20,
* distanceInternal: 200,
* distanceLocal: 200,
* gracefulRestartTime: 120,
* gracefulStalepathTime: 360,
* gracefulUpdateDelay: 120,
* holdtimeTimer: 180,
* ibgpMultipath: "disable",
* ignoreOptionalCapability: "enable",
* keepaliveTimer: 60,
* logNeighbourChanges: "enable",
* networkImportCheck: "enable",
* redistributes: [
* {
* name: "connected",
* status: "disable",
* },
* {
* name: "rip",
* status: "disable",
* },
* {
* name: "ospf",
* status: "disable",
* },
* {
* name: "static",
* status: "disable",
* },
* {
* name: "isis",
* status: "disable",
* },
* ],
* redistribute6s: [
* {
* name: "connected",
* status: "disable",
* },
* {
* name: "rip",
* status: "disable",
* },
* {
* name: "ospf",
* status: "disable",
* },
* {
* name: "static",
* status: "disable",
* },
* {
* name: "isis",
* status: "disable",
* },
* ],
* scanTime: 60,
* synchronization: "disable",
* });
* ```
*
* ## Import
*
* Router Bgp can be imported using any of these accepted formats:
*
* ```sh
* $ pulumi import fortios:router/bgp:Bgp labelname RouterBgp
* ```
*
* If you do not want to import arguments of block:
*
* $ export "FORTIOS_IMPORT_TABLE"="false"
*
* ```sh
* $ pulumi import fortios:router/bgp:Bgp labelname RouterBgp
* ```
*
* $ unset "FORTIOS_IMPORT_TABLE"
*/
export declare class Bgp extends pulumi.CustomResource {
/**
* Get an existing Bgp resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: BgpState, opts?: pulumi.CustomResourceOptions): Bgp;
/**
* Returns true if the given object is an instance of Bgp. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is Bgp;
/**
* Enable/disable selection of BGP IPv4 additional paths. Valid values: `enable`, `disable`.
*/
readonly additionalPath: pulumi.Output<string>;
/**
* Enable/disable selection of BGP IPv6 additional paths. Valid values: `enable`, `disable`.
*/
readonly additionalPath6: pulumi.Output<string>;
/**
* Number of additional paths to be selected for each IPv4 NLRI.
*/
readonly additionalPathSelect: pulumi.Output<number>;
/**
* Number of additional paths to be selected for each IPv6 NLRI.
*/
readonly additionalPathSelect6: pulumi.Output<number>;
/**
* Number of additional paths to be selected for each VPNv4 NLRI.
*/
readonly additionalPathSelectVpnv4: pulumi.Output<number>;
/**
* Number of additional paths to be selected for each VPNv6 NLRI.
*/
readonly additionalPathSelectVpnv6: pulumi.Output<number>;
/**
* Enable/disable selection of BGP VPNv4 additional paths. Valid values: `enable`, `disable`.
*/
readonly additionalPathVpnv4: pulumi.Output<string>;
/**
* Enable/disable selection of BGP VPNv6 additional paths. Valid values: `enable`, `disable`.
*/
readonly additionalPathVpnv6: pulumi.Output<string>;
/**
* Administrative distance modifications. The structure of `adminDistance` block is documented below.
*/
readonly adminDistances: pulumi.Output<outputs.router.BgpAdminDistance[] | undefined>;
/**
* BGP IPv6 aggregate address table. The structure of `aggregateAddress6` block is documented below.
*/
readonly aggregateAddress6s: pulumi.Output<outputs.router.BgpAggregateAddress6[] | undefined>;
/**
* BGP aggregate address table. The structure of `aggregateAddress` block is documented below.
*/
readonly aggregateAddresses: pulumi.Output<outputs.router.BgpAggregateAddress[] | undefined>;
/**
* Enable/disable always compare MED. Valid values: `enable`, `disable`.
*/
readonly alwaysCompareMed: pulumi.Output<string>;
/**
* Router AS number, valid from 1 to 4294967295, 0 to disable BGP. *Due to the data type change of API, for other versions of FortiOS, please check variable `asString`.*
*/
readonly as: pulumi.Output<number>;
/**
* Router AS number, asplain/asdot/asdot+ format, 0 to disable BGP. *Due to the data type change of API, for other versions of FortiOS, please check variable `as`.*
*/
readonly asString: pulumi.Output<string>;
/**
* Enable/disable ignore AS path. Valid values: `enable`, `disable`.
*/
readonly bestpathAsPathIgnore: pulumi.Output<string>;
/**
* Enable/disable compare federation AS path length. Valid values: `enable`, `disable`.
*/
readonly bestpathCmpConfedAspath: pulumi.Output<string>;
/**
* Enable/disable compare router ID for identical EBGP paths. Valid values: `enable`, `disable`.
*/
readonly bestpathCmpRouterid: pulumi.Output<string>;
/**
* Enable/disable compare MED among confederation paths. Valid values: `enable`, `disable`.
*/
readonly bestpathMedConfed: pulumi.Output<string>;
/**
* Enable/disable treat missing MED as least preferred. Valid values: `enable`, `disable`.
*/
readonly bestpathMedMissingAsWorst: pulumi.Output<string>;
/**
* Enable/disable client-to-client route reflection. Valid values: `enable`, `disable`.
*/
readonly clientToClientReflection: pulumi.Output<string>;
/**
* Route reflector cluster ID.
*/
readonly clusterId: pulumi.Output<string>;
/**
* Confederation identifier.
*/
readonly confederationIdentifier: pulumi.Output<number>;
/**
* Confederation peers. The structure of `confederationPeers` block is documented below.
*/
readonly confederationPeers: pulumi.Output<outputs.router.BgpConfederationPeer[] | undefined>;
/**
* Enable/disable cross address family conditional advertisement. Valid values: `enable`, `disable`.
*/
readonly crossFamilyConditionalAdv: pulumi.Output<string>;
/**
* Enable/disable route-flap dampening. Valid values: `enable`, `disable`.
*/
readonly dampening: pulumi.Output<string>;
/**
* Maximum minutes a route can be suppressed.
*/
readonly dampeningMaxSuppressTime: pulumi.Output<number>;
/**
* Reachability half-life time for penalty (min).
*/
readonly dampeningReachabilityHalfLife: pulumi.Output<number>;
/**
* Threshold to reuse routes.
*/
readonly dampeningReuse: pulumi.Output<number>;
/**
* Criteria for dampening.
*/
readonly dampeningRouteMap: pulumi.Output<string>;
/**
* Threshold to suppress routes.
*/
readonly dampeningSuppress: pulumi.Output<number>;
/**
* Unreachability half-life time for penalty (min).
*/
readonly dampeningUnreachabilityHalfLife: pulumi.Output<number>;
/**
* Default local preference.
*/
readonly defaultLocalPreference: pulumi.Output<number>;
/**
* Enable/disable enforce deterministic comparison of MED. Valid values: `enable`, `disable`.
*/
readonly deterministicMed: pulumi.Output<string>;
/**
* Distance for routes external to the AS.
*/
readonly distanceExternal: pulumi.Output<number>;
/**
* Distance for routes internal to the AS.
*/
readonly distanceInternal: pulumi.Output<number>;
/**
* Distance for routes local to the AS.
*/
readonly distanceLocal: pulumi.Output<number>;
/**
* Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].
*/
readonly dynamicSortSubtable: pulumi.Output<string | undefined>;
/**
* Enable/disable EBGP multi-path. Valid values: `enable`, `disable`.
*/
readonly ebgpMultipath: pulumi.Output<string>;
/**
* Enable/disable enforce first AS for EBGP routes. Valid values: `enable`, `disable`.
*/
readonly enforceFirstAs: pulumi.Output<string>;
/**
* Enable/disable reset peer BGP session if link goes down. Valid values: `enable`, `disable`.
*/
readonly fastExternalFailover: pulumi.Output<string>;
/**
* Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.
*/
readonly getAllTables: pulumi.Output<string | undefined>;
/**
* Enable/disable to exit graceful restart on timer only. Valid values: `enable`, `disable`.
*/
readonly gracefulEndOnTimer: pulumi.Output<string>;
/**
* Enable/disable BGP graceful restart capabilities. Valid values: `enable`, `disable`.
*/
readonly gracefulRestart: pulumi.Output<string>;
/**
* Time needed for neighbors to restart (sec).
*/
readonly gracefulRestartTime: pulumi.Output<number>;
/**
* Time to hold stale paths of restarting neighbor (sec).
*/
readonly gracefulStalepathTime: pulumi.Output<number>;
/**
* Route advertisement/selection delay after restart (sec).
*/
readonly gracefulUpdateDelay: pulumi.Output<number>;
/**
* Number of seconds to mark peer as dead.
*/
readonly holdtimeTimer: pulumi.Output<number>;
/**
* Enable/disable IBGP multi-path. Valid values: `enable`, `disable`.
*/
readonly ibgpMultipath: pulumi.Output<string>;
/**
* Don't send unknown optional capability notification message Valid values: `enable`, `disable`.
*/
readonly ignoreOptionalCapability: pulumi.Output<string>;
/**
* Frequency to send keep alive requests.
*/
readonly keepaliveTimer: pulumi.Output<number>;
/**
* Enable logging of BGP neighbour's changes Valid values: `enable`, `disable`.
*/
readonly logNeighbourChanges: pulumi.Output<string>;
/**
* Enable/disable use of recursive distance to select multipath. Valid values: `enable`, `disable`.
*/
readonly multipathRecursiveDistance: pulumi.Output<string>;
/**
* BGP neighbor group table. The structure of `neighborGroup` block is documented below.
*/
readonly neighborGroups: pulumi.Output<outputs.router.BgpNeighborGroup[]>;
/**
* BGP IPv6 neighbor range table. The structure of `neighborRange6` block is documented below.
*/
readonly neighborRange6s: pulumi.Output<outputs.router.BgpNeighborRange6[] | undefined>;
/**
* BGP neighbor range table. The structure of `neighborRange` block is documented below.
*/
readonly neighborRanges: pulumi.Output<outputs.router.BgpNeighborRange[] | undefined>;
/**
* BGP neighbor table. The structure of `neighbor` block is documented below.
*/
readonly neighbors: pulumi.Output<outputs.router.BgpNeighbor[]>;
/**
* BGP IPv6 network table. The structure of `network6` block is documented below.
*/
readonly network6s: pulumi.Output<outputs.router.BgpNetwork6[] | undefined>;
/**
* Enable/disable ensure BGP network route exists in IGP. Valid values: `enable`, `disable`.
*/
readonly networkImportCheck: pulumi.Output<string>;
/**
* BGP network table. The structure of `network` block is documented below.
*/
readonly networks: pulumi.Output<outputs.router.BgpNetwork[] | undefined>;
/**
* Enable/disable priority inheritance for recursive resolution. Valid values: `enable`, `disable`.
*/
readonly recursiveInheritPriority: pulumi.Output<string>;
/**
* Enable/disable recursive resolution of next-hop using BGP route. Valid values: `enable`, `disable`.
*/
readonly recursiveNextHop: pulumi.Output<string>;
/**
* BGP IPv6 redistribute table. The structure of `redistribute6` block is documented below.
*/
readonly redistribute6s: pulumi.Output<outputs.router.BgpRedistribute6[] | undefined>;
/**
* BGP IPv4 redistribute table. The structure of `redistribute` block is documented below.
*/
readonly redistributes: pulumi.Output<outputs.router.BgpRedistribute[] | undefined>;
/**
* Router ID.
*/
readonly routerId: pulumi.Output<string>;
/**
* Background scanner interval (sec), 0 to disable it.
*/
readonly scanTime: pulumi.Output<number>;
/**
* Enable/disable only advertise routes from iBGP if routes present in an IGP. Valid values: `enable`, `disable`.
*/
readonly synchronization: pulumi.Output<string>;
/**
* Configure tag-match mode. Resolves BGP routes with other routes containing the same tag. Valid values: `disable`, `preferred`, `merge`.
*/
readonly tagResolveMode: pulumi.Output<string>;
/**
* Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.
*/
readonly vdomparam: pulumi.Output<string>;
/**
* BGP IPv6 VRF leaking table. The structure of `vrf6` block is documented below.
*/
readonly vrf6s: pulumi.Output<outputs.router.BgpVrf6[] | undefined>;
/**
* BGP IPv6 VRF leaking table. The structure of `vrfLeak6` block is documented below.
*/
readonly vrfLeak6s: pulumi.Output<outputs.router.BgpVrfLeak6[] | undefined>;
/**
* BGP VRF leaking table. The structure of `vrfLeak` block is documented below.
*/
readonly vrfLeaks: pulumi.Output<outputs.router.BgpVrfLeak[] | undefined>;
/**
* BGP VRF leaking table. The structure of `vrf` block is documented below.
*/
readonly vrves: pulumi.Output<outputs.router.BgpVrf[] | undefined>;
/**
* Create a Bgp resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: BgpArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering Bgp resources.
*/
export interface BgpState {
/**
* Enable/disable selection of BGP IPv4 additional paths. Valid values: `enable`, `disable`.
*/
additionalPath?: pulumi.Input<string>;
/**
* Enable/disable selection of BGP IPv6 additional paths. Valid values: `enable`, `disable`.
*/
additionalPath6?: pulumi.Input<string>;
/**
* Number of additional paths to be selected for each IPv4 NLRI.
*/
additionalPathSelect?: pulumi.Input<number>;
/**
* Number of additional paths to be selected for each IPv6 NLRI.
*/
additionalPathSelect6?: pulumi.Input<number>;
/**
* Number of additional paths to be selected for each VPNv4 NLRI.
*/
additionalPathSelectVpnv4?: pulumi.Input<number>;
/**
* Number of additional paths to be selected for each VPNv6 NLRI.
*/
additionalPathSelectVpnv6?: pulumi.Input<number>;
/**
* Enable/disable selection of BGP VPNv4 additional paths. Valid values: `enable`, `disable`.
*/
additionalPathVpnv4?: pulumi.Input<string>;
/**
* Enable/disable selection of BGP VPNv6 additional paths. Valid values: `enable`, `disable`.
*/
additionalPathVpnv6?: pulumi.Input<string>;
/**
* Administrative distance modifications. The structure of `adminDistance` block is documented below.
*/
adminDistances?: pulumi.Input<pulumi.Input<inputs.router.BgpAdminDistance>[]>;
/**
* BGP IPv6 aggregate address table. The structure of `aggregateAddress6` block is documented below.
*/
aggregateAddress6s?: pulumi.Input<pulumi.Input<inputs.router.BgpAggregateAddress6>[]>;
/**
* BGP aggregate address table. The structure of `aggregateAddress` block is documented below.
*/
aggregateAddresses?: pulumi.Input<pulumi.Input<inputs.router.BgpAggregateAddress>[]>;
/**
* Enable/disable always compare MED. Valid values: `enable`, `disable`.
*/
alwaysCompareMed?: pulumi.Input<string>;
/**
* Router AS number, valid from 1 to 4294967295, 0 to disable BGP. *Due to the data type change of API, for other versions of FortiOS, please check variable `asString`.*
*/
as?: pulumi.Input<number>;
/**
* Router AS number, asplain/asdot/asdot+ format, 0 to disable BGP. *Due to the data type change of API, for other versions of FortiOS, please check variable `as`.*
*/
asString?: pulumi.Input<string>;
/**
* Enable/disable ignore AS path. Valid values: `enable`, `disable`.
*/
bestpathAsPathIgnore?: pulumi.Input<string>;
/**
* Enable/disable compare federation AS path length. Valid values: `enable`, `disable`.
*/
bestpathCmpConfedAspath?: pulumi.Input<string>;
/**
* Enable/disable compare router ID for identical EBGP paths. Valid values: `enable`, `disable`.
*/
bestpathCmpRouterid?: pulumi.Input<string>;
/**
* Enable/disable compare MED among confederation paths. Valid values: `enable`, `disable`.
*/
bestpathMedConfed?: pulumi.Input<string>;
/**
* Enable/disable treat missing MED as least preferred. Valid values: `enable`, `disable`.
*/
bestpathMedMissingAsWorst?: pulumi.Input<string>;
/**
* Enable/disable client-to-client route reflection. Valid values: `enable`, `disable`.
*/
clientToClientReflection?: pulumi.Input<string>;
/**
* Route reflector cluster ID.
*/
clusterId?: pulumi.Input<string>;
/**
* Confederation identifier.
*/
confederationIdentifier?: pulumi.Input<number>;
/**
* Confederation peers. The structure of `confederationPeers` block is documented below.
*/
confederationPeers?: pulumi.Input<pulumi.Input<inputs.router.BgpConfederationPeer>[]>;
/**
* Enable/disable cross address family conditional advertisement. Valid values: `enable`, `disable`.
*/
crossFamilyConditionalAdv?: pulumi.Input<string>;
/**
* Enable/disable route-flap dampening. Valid values: `enable`, `disable`.
*/
dampening?: pulumi.Input<string>;
/**
* Maximum minutes a route can be suppressed.
*/
dampeningMaxSuppressTime?: pulumi.Input<number>;
/**
* Reachability half-life time for penalty (min).
*/
dampeningReachabilityHalfLife?: pulumi.Input<number>;
/**
* Threshold to reuse routes.
*/
dampeningReuse?: pulumi.Input<number>;
/**
* Criteria for dampening.
*/
dampeningRouteMap?: pulumi.Input<string>;
/**
* Threshold to suppress routes.
*/
dampeningSuppress?: pulumi.Input<number>;
/**
* Unreachability half-life time for penalty (min).
*/
dampeningUnreachabilityHalfLife?: pulumi.Input<number>;
/**
* Default local preference.
*/
defaultLocalPreference?: pulumi.Input<number>;
/**
* Enable/disable enforce deterministic comparison of MED. Valid values: `enable`, `disable`.
*/
deterministicMed?: pulumi.Input<string>;
/**
* Distance for routes external to the AS.
*/
distanceExternal?: pulumi.Input<number>;
/**
* Distance for routes internal to the AS.
*/
distanceInternal?: pulumi.Input<number>;
/**
* Distance for routes local to the AS.
*/
distanceLocal?: pulumi.Input<number>;
/**
* Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].
*/
dynamicSortSubtable?: pulumi.Input<string>;
/**
* Enable/disable EBGP multi-path. Valid values: `enable`, `disable`.
*/
ebgpMultipath?: pulumi.Input<string>;
/**
* Enable/disable enforce first AS for EBGP routes. Valid values: `enable`, `disable`.
*/
enforceFirstAs?: pulumi.Input<string>;
/**
* Enable/disable reset peer BGP session if link goes down. Valid values: `enable`, `disable`.
*/
fastExternalFailover?: pulumi.Input<string>;
/**
* Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.
*/
getAllTables?: pulumi.Input<string>;
/**
* Enable/disable to exit graceful restart on timer only. Valid values: `enable`, `disable`.
*/
gracefulEndOnTimer?: pulumi.Input<string>;
/**
* Enable/disable BGP graceful restart capabilities. Valid values: `enable`, `disable`.
*/
gracefulRestart?: pulumi.Input<string>;
/**
* Time needed for neighbors to restart (sec).
*/
gracefulRestartTime?: pulumi.Input<number>;
/**
* Time to hold stale paths of restarting neighbor (sec).
*/
gracefulStalepathTime?: pulumi.Input<number>;
/**
* Route advertisement/selection delay after restart (sec).
*/
gracefulUpdateDelay?: pulumi.Input<number>;
/**
* Number of seconds to mark peer as dead.
*/
holdtimeTimer?: pulumi.Input<number>;
/**
* Enable/disable IBGP multi-path. Valid values: `enable`, `disable`.
*/
ibgpMultipath?: pulumi.Input<string>;
/**
* Don't send unknown optional capability notification message Valid values: `enable`, `disable`.
*/
ignoreOptionalCapability?: pulumi.Input<string>;
/**
* Frequency to send keep alive requests.
*/
keepaliveTimer?: pulumi.Input<number>;
/**
* Enable logging of BGP neighbour's changes Valid values: `enable`, `disable`.
*/
logNeighbourChanges?: pulumi.Input<string>;
/**
* Enable/disable use of recursive distance to select multipath. Valid values: `enable`, `disable`.
*/
multipathRecursiveDistance?: pulumi.Input<string>;
/**
* BGP neighbor group table. The structure of `neighborGroup` block is documented below.
*/
neighborGroups?: pulumi.Input<pulumi.Input<inputs.router.BgpNeighborGroup>[]>;
/**
* BGP IPv6 neighbor range table. The structure of `neighborRange6` block is documented below.
*/
neighborRange6s?: pulumi.Input<pulumi.Input<inputs.router.BgpNeighborRange6>[]>;
/**
* BGP neighbor range table. The structure of `neighborRange` block is documented below.
*/
neighborRanges?: pulumi.Input<pulumi.Input<inputs.router.BgpNeighborRange>[]>;
/**
* BGP neighbor table. The structure of `neighbor` block is documented below.
*/
neighbors?: pulumi.Input<pulumi.Input<inputs.router.BgpNeighbor>[]>;
/**
* BGP IPv6 network table. The structure of `network6` block is documented below.
*/
network6s?: pulumi.Input<pulumi.Input<inputs.router.BgpNetwork6>[]>;
/**
* Enable/disable ensure BGP network route exists in IGP. Valid values: `enable`, `disable`.
*/
networkImportCheck?: pulumi.Input<string>;
/**
* BGP network table. The structure of `network` block is documented below.
*/
networks?: pulumi.Input<pulumi.Input<inputs.router.BgpNetwork>[]>;
/**
* Enable/disable priority inheritance for recursive resolution. Valid values: `enable`, `disable`.
*/
recursiveInheritPriority?: pulumi.Input<string>;
/**
* Enable/disable recursive resolution of next-hop using BGP route. Valid values: `enable`, `disable`.
*/
recursiveNextHop?: pulumi.Input<string>;
/**
* BGP IPv6 redistribute table. The structure of `redistribute6` block is documented below.
*/
redistribute6s?: pulumi.Input<pulumi.Input<inputs.router.BgpRedistribute6>[]>;
/**
* BGP IPv4 redistribute table. The structure of `redistribute` block is documented below.
*/
redistributes?: pulumi.Input<pulumi.Input<inputs.router.BgpRedistribute>[]>;
/**
* Router ID.
*/
routerId?: pulumi.Input<string>;
/**
* Background scanner interval (sec), 0 to disable it.
*/
scanTime?: pulumi.Input<number>;
/**
* Enable/disable only advertise routes from iBGP if routes present in an IGP. Valid values: `enable`, `disable`.
*/
synchronization?: pulumi.Input<string>;
/**
* Configure tag-match mode. Resolves BGP routes with other routes containing the same tag. Valid values: `disable`, `preferred`, `merge`.
*/
tagResolveMode?: pulumi.Input<string>;
/**
* Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.
*/
vdomparam?: pulumi.Input<string>;
/**
* BGP IPv6 VRF leaking table. The structure of `vrf6` block is documented below.
*/
vrf6s?: pulumi.Input<pulumi.Input<inputs.router.BgpVrf6>[]>;
/**
* BGP IPv6 VRF leaking table. The structure of `vrfLeak6` block is documented below.
*/
vrfLeak6s?: pulumi.Input<pulumi.Input<inputs.router.BgpVrfLeak6>[]>;
/**
* BGP VRF leaking table. The structure of `vrfLeak` block is documented below.
*/
vrfLeaks?: pulumi.Input<pulumi.Input<inputs.router.BgpVrfLeak>[]>;
/**
* BGP VRF leaking table. The structure of `vrf` block is documented below.
*/
vrves?: pulumi.Input<pulumi.Input<inputs.router.BgpVrf>[]>;
}
/**
* The set of arguments for constructing a Bgp resource.
*/
export interface BgpArgs {
/**
* Enable/disable selection of BGP IPv4 additional paths. Valid values: `enable`, `disable`.
*/
additionalPath?: pulumi.Input<string>;
/**
* Enable/disable selection of BGP IPv6 additional paths. Valid values: `enable`, `disable`.
*/
additionalPath6?: pulumi.Input<string>;
/**
* Number of additional paths to be selected for each IPv4 NLRI.
*/
additionalPathSelect?: pulumi.Input<number>;
/**
* Number of additional paths to be selected for each IPv6 NLRI.
*/
additionalPathSelect6?: pulumi.Input<number>;
/**
* Number of additional paths to be selected for each VPNv4 NLRI.
*/
additionalPathSelectVpnv4?: pulumi.Input<number>;
/**
* Number of additional paths to be selected for each VPNv6 NLRI.
*/
additionalPathSelectVpnv6?: pulumi.Input<number>;
/**
* Enable/disable selection of BGP VPNv4 additional paths. Valid values: `enable`, `disable`.
*/
additionalPathVpnv4?: pulumi.Input<string>;
/**
* Enable/disable selection of BGP VPNv6 additional paths. Valid values: `enable`, `disable`.
*/
additionalPathVpnv6?: pulumi.Input<string>;
/**
* Administrative distance modifications. The structure of `adminDistance` block is documented below.
*/
adminDistances?: pulumi.Input<pulumi.Input<inputs.router.BgpAdminDistance>[]>;
/**
* BGP IPv6 aggregate address table. The structure of `aggregateAddress6` block is documented below.
*/
aggregateAddress6s?: pulumi.Input<pulumi.Input<inputs.router.BgpAggregateAddress6>[]>;
/**
* BGP aggregate address table. The structure of `aggregateAddress` block is documented below.
*/
aggregateAddresses?: pulumi.Input<pulumi.Input<inputs.router.BgpAggregateAddress>[]>;
/**
* Enable/disable always compare MED. Valid values: `enable`, `disable`.
*/
alwaysCompareMed?: pulumi.Input<string>;
/**
* Router AS number, valid from 1 to 4294967295, 0 to disable BGP. *Due to the data type change of API, for other versions of FortiOS, please check variable `asString`.*
*/
as?: pulumi.Input<number>;
/**
* Router AS number, asplain/asdot/asdot+ format, 0 to disable BGP. *Due to the data type change of API, for other versions of FortiOS, please check variable `as`.*
*/
asString?: pulumi.Input<string>;
/**
* Enable/disable ignore AS path. Valid values: `enable`, `disable`.
*/
bestpathAsPathIgnore?: pulumi.Input<string>;
/**
* Enable/disable compare federation AS path length. Valid values: `enable`, `disable`.
*/
bestpathCmpConfedAspath?: pulumi.Input<string>;
/**
* Enable/disable compare router ID for identical EBGP paths. Valid values: `enable`, `disable`.
*/
bestpathCmpRouterid?: pulumi.Input<string>;
/**
* Enable/disable compare MED among confederation paths. Valid values: `enable`, `disable`.
*/
bestpathMedConfed?: pulumi.Input<string>;
/**
* Enable/disable treat missing MED as least preferred. Valid values: `enable`, `disable`.
*/
bestpathMedMissingAsWorst?: pulumi.Input<string>;
/**
* Enable/disable client-to-client route reflection. Valid values: `enable`, `disable`.
*/
clientToClientReflection?: pulumi.Input<string>;
/**
* Route reflector cluster ID.
*/
clusterId?: pulumi.Input<string>;
/**
* Confederation identifier.
*/
confederationIdentifier?: pulumi.Input<number>;
/**
* Confederation peers. The structure of `confederationPeers` block is documented below.
*/
confederationPeers?: pulumi.Input<pulumi.Input<inputs.router.BgpConfederationPeer>[]>;
/**
* Enable/disable cross address family conditional advertisement. Valid values: `enable`, `disable`.
*/
crossFamilyConditionalAdv?: pulumi.Input<string>;
/**
* Enable/disable route-flap dampening. Valid values: `enable`, `disable`.
*/
dampening?: pulumi.Input<string>;
/**
* Maximum minutes a route can be suppressed.
*/
dampeningMaxSuppressTime?: pulumi.Input<number>;
/**
* Reachability half-life time for penalty (min).
*/
dampeningReachabilityHalfLife?: pulumi.Input<number>;
/**
* Threshold to reuse routes.
*/
dampeningReuse?: pulumi.Input<number>;
/**
* Criteria for dampening.
*/
dampeningRouteMap?: pulumi.Input<string>;
/**
* Threshold to suppress routes.
*/
dampeningSuppress?: pulumi.Input<number>;
/**
* Unreachability half-life time for penalty (min).
*/
dampeningUnreachabilityHalfLife?: pulumi.Input<number>;
/**
* Default local preference.
*/
defaultLocalPreference?: pulumi.Input<number>;
/**
* Enable/disable enforce deterministic comparison of MED. Valid values: `enable`, `disable`.
*/
deterministicMed?: pulumi.Input<string>;
/**
* Distance for routes external to the AS.
*/
distanceExternal?: pulumi.Input<number>;
/**
* Distance for routes internal to the AS.
*/
distanceInternal?: pulumi.Input<number>;
/**
* Distance for routes local to the AS.
*/
distanceLocal?: pulumi.Input<number>;
/**
* Sort sub-tables, please do not set this parameter when configuring static sub-tables. Options: [ false, true, natural, alphabetical ]. false: Default value, do not sort tables; true/natural: sort tables in natural order. For example: [ a10, a2 ] -> [ a2, a10 ]; alphabetical: sort tables in alphabetical order. For example: [ a10, a2 ] -> [ a10, a2 ].
*/
dynamicSortSubtable?: pulumi.Input<string>;
/**
* Enable/disable EBGP multi-path. Valid values: `enable`, `disable`.
*/
ebgpMultipath?: pulumi.Input<string>;
/**
* Enable/disable enforce first AS for EBGP routes. Valid values: `enable`, `disable`.
*/
enforceFirstAs?: pulumi.Input<string>;
/**
* Enable/disable reset peer BGP session if link goes down. Valid values: `enable`, `disable`.
*/
fastExternalFailover?: pulumi.Input<string>;
/**
* Get all sub-tables including unconfigured tables. Do not set this variable to true if you configure sub-table in another resource, otherwise, conflicts and overwrite will occur. Options: [ false, true ]. false: Default value, do not get unconfigured tables; true: get all tables including unconfigured tables.
*/
getAllTables?: pulumi.Input<string>;
/**
* Enable/disable to exit graceful restart on timer only. Valid values: `enable`, `disable`.
*/
gracefulEndOnTimer?: pulumi.Input<string>;
/**
* Enable/disable BGP graceful restart capabilities. Valid values: `enable`, `disable`.
*/
gracefulRestart?: pulumi.Input<string>;
/**
* Time needed for neighbors to restart (sec).
*/
gracefulRestartTime?: pulumi.Input<number>;
/**
* Time to hold stale paths of restarting neighbor (sec).
*/
gracefulStalepathTime?: pulumi.Input<number>;
/**
* Route advertisement/selection delay after restart (sec).
*/
gracefulUpdateDelay?: pulumi.Input<number>;
/**
* Number of seconds to mark peer as dead.
*/
holdtimeTimer?: pulumi.Input<number>;
/**
* Enable/disable IBGP multi-path. Valid values: `enable`, `disable`.
*/
ibgpMultipath?: pulumi.Input<string>;
/**
* Don't send unknown optional capability notification message Valid values: `enable`, `disable`.
*/
ignoreOptionalCapability?: pulumi.Input<string>;
/**
* Frequency to send keep alive requests.
*/
keepaliveTimer?: pulumi.Input<number>;
/**
* Enable logging of BGP neighbour's changes Valid values: `enable`, `disable`.
*/
logNeighbourChanges?: pulumi.Input<string>;
/**
* Enable/disable use of recursive distance to select multipath. Valid values: `enable`, `disable`.
*/
multipathRecursiveDistance?: pulumi.Input<string>;
/**
* BGP neighbor group table. The structure of `neighborGroup` block is documented below.
*/
neighborGroups?: pulumi.Input<pulumi.Input<inputs.router.BgpNeighborGroup>[]>;
/**
* BGP IPv6 neighbor range table. The structure of `neighborRange6` block is documented below.
*/
neighborRange6s?: pulumi.Input<pulumi.Input<inputs.router.BgpNeighborRange6>[]>;
/**
* BGP neighbor range table. The structure of `neighborRange` block is documented below.
*/
neighborRanges?: pulumi.Input<pulumi.Input<inputs.router.BgpNeighborRange>[]>;
/**
* BGP neighbor table. The structure of `neighbor` block is documented below.
*/
neighbors?: pulumi.Input<pulumi.Input<inputs.router.BgpNeighbor>[]>;
/**
* BGP IPv6 network table. The structure of `network6` block is documented below.
*/
network6s?: pulumi.Input<pulumi.Input<inputs.router.BgpNetwork6>[]>;
/**
* Enable/disable ensure BGP network route exists in IGP. Valid values: `enable`, `disable`.
*/
networkImportCheck?: pulumi.Input<string>;
/**
* BGP network table. The structure of `network` block is documented below.
*/
networks?: pulumi.Input<pulumi.Input<inputs.router.BgpNetwork>[]>;
/**
* Enable/disable priority inheritance for recursive resolution. Valid values: `enable`, `disable`.
*/
recursiveInheritPriority?: pulumi.Input<string>;
/**
* Enable/disable recursive resolution of next-hop using BGP route. Valid values: `enable`, `disable`.
*/
recursiveNextHop?: pulumi.Input<string>;
/**
* BGP IPv6 redistribute table. The structure of `redistribute6` block is documented below.
*/
redistribute6s?: pulumi.Input<pulumi.Input<inputs.router.BgpRedistribute6>[]>;
/**
* BGP IPv4 redistribute table. The structure of `redistribute` block is documented below.
*/
redistributes?: pulumi.Input<pulumi.Input<inputs.router.BgpRedistribute>[]>;
/**
* Router ID.
*/
routerId?: pulumi.Input<string>;
/**
* Background scanner interval (sec), 0 to disable it.
*/
scanTime?: pulumi.Input<number>;
/**
* Enable/disable only advertise routes from iBGP if routes present in an IGP. Valid values: `enable`, `disable`.
*/
synchronization?: pulumi.Input<string>;
/**
* Configure tag-match mode. Resolves BGP routes with other routes containing the same tag. Valid values: `disable`, `preferred`, `merge`.
*/
tagResolveMode?: pulumi.Input<string>;
/**
* Specifies the vdom to which the resource will be applied when the FortiGate unit is running in VDOM mode. Only one vdom can be specified. If you want to inherit the vdom configuration of the provider, please do not set this parameter.
*/
vdomparam?: pulumi.Input<string>;
/**
* BGP IPv6 VRF leaking table. The structure of `vrf6` block is documented below.
*/
vrf6s?: pulumi.Input<pulumi.Input<inputs.router.BgpVrf6>[]>;
/**
* BGP IPv6 VRF leaking table. The structure of `vrfLeak6` block is documented below.
*/
vrfLeak6s?: pulumi.Input<pulumi.Input<inputs.router.BgpVrfLeak6>[]>;
/**
* BGP VRF leaking table. The structure of `vrfLeak` block is documented below.
*/
vrfLeaks?: pulumi.Input<pulumi.Input<inputs.router.BgpVrfLeak>[]>;
/**
* BGP VRF leaking table. The structure of `vrf` block is documented below.
*/
vrves?: pulumi.Input<pulumi.Input<inputs.router.BgpVrf>[]>;
}