1. Packages
  2. Fortios
  3. API Docs
  4. router
  5. Bgp
Fortios v0.0.6 published on Tuesday, Jul 9, 2024 by pulumiverse

fortios.router.Bgp

Explore with Pulumi AI

fortios logo
Fortios v0.0.6 published on Tuesday, Jul 9, 2024 by pulumiverse

    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

    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 pulumi
    import pulumiverse_fortios as fortios
    
    trname = fortios.router.Bgp("trname",
        additional_path_select=2,
        additional_path_select6=2,
        always_compare_med="disable",
        as_=0,
        client_to_client_reflection="enable",
        cluster_id="0.0.0.0",
        dampening="disable",
        dampening_max_suppress_time=60,
        dampening_reachability_half_life=15,
        dampening_reuse=750,
        dampening_suppress=2000,
        dampening_unreachability_half_life=15,
        default_local_preference=100,
        deterministic_med="disable",
        distance_external=20,
        distance_internal=200,
        distance_local=200,
        graceful_restart_time=120,
        graceful_stalepath_time=360,
        graceful_update_delay=120,
        holdtime_timer=180,
        ibgp_multipath="disable",
        ignore_optional_capability="enable",
        keepalive_timer=60,
        log_neighbour_changes="enable",
        network_import_check="enable",
        redistributes=[
            fortios.router.BgpRedistributeArgs(
                name="connected",
                status="disable",
            ),
            fortios.router.BgpRedistributeArgs(
                name="rip",
                status="disable",
            ),
            fortios.router.BgpRedistributeArgs(
                name="ospf",
                status="disable",
            ),
            fortios.router.BgpRedistributeArgs(
                name="static",
                status="disable",
            ),
            fortios.router.BgpRedistributeArgs(
                name="isis",
                status="disable",
            ),
        ],
        redistribute6s=[
            fortios.router.BgpRedistribute6Args(
                name="connected",
                status="disable",
            ),
            fortios.router.BgpRedistribute6Args(
                name="rip",
                status="disable",
            ),
            fortios.router.BgpRedistribute6Args(
                name="ospf",
                status="disable",
            ),
            fortios.router.BgpRedistribute6Args(
                name="static",
                status="disable",
            ),
            fortios.router.BgpRedistribute6Args(
                name="isis",
                status="disable",
            ),
        ],
        scan_time=60,
        synchronization="disable")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-fortios/sdk/go/fortios/router"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := router.NewBgp(ctx, "trname", &router.BgpArgs{
    			AdditionalPathSelect:            pulumi.Int(2),
    			AdditionalPathSelect6:           pulumi.Int(2),
    			AlwaysCompareMed:                pulumi.String("disable"),
    			As:                              pulumi.Int(0),
    			ClientToClientReflection:        pulumi.String("enable"),
    			ClusterId:                       pulumi.String("0.0.0.0"),
    			Dampening:                       pulumi.String("disable"),
    			DampeningMaxSuppressTime:        pulumi.Int(60),
    			DampeningReachabilityHalfLife:   pulumi.Int(15),
    			DampeningReuse:                  pulumi.Int(750),
    			DampeningSuppress:               pulumi.Int(2000),
    			DampeningUnreachabilityHalfLife: pulumi.Int(15),
    			DefaultLocalPreference:          pulumi.Int(100),
    			DeterministicMed:                pulumi.String("disable"),
    			DistanceExternal:                pulumi.Int(20),
    			DistanceInternal:                pulumi.Int(200),
    			DistanceLocal:                   pulumi.Int(200),
    			GracefulRestartTime:             pulumi.Int(120),
    			GracefulStalepathTime:           pulumi.Int(360),
    			GracefulUpdateDelay:             pulumi.Int(120),
    			HoldtimeTimer:                   pulumi.Int(180),
    			IbgpMultipath:                   pulumi.String("disable"),
    			IgnoreOptionalCapability:        pulumi.String("enable"),
    			KeepaliveTimer:                  pulumi.Int(60),
    			LogNeighbourChanges:             pulumi.String("enable"),
    			NetworkImportCheck:              pulumi.String("enable"),
    			Redistributes: router.BgpRedistributeArray{
    				&router.BgpRedistributeArgs{
    					Name:   pulumi.String("connected"),
    					Status: pulumi.String("disable"),
    				},
    				&router.BgpRedistributeArgs{
    					Name:   pulumi.String("rip"),
    					Status: pulumi.String("disable"),
    				},
    				&router.BgpRedistributeArgs{
    					Name:   pulumi.String("ospf"),
    					Status: pulumi.String("disable"),
    				},
    				&router.BgpRedistributeArgs{
    					Name:   pulumi.String("static"),
    					Status: pulumi.String("disable"),
    				},
    				&router.BgpRedistributeArgs{
    					Name:   pulumi.String("isis"),
    					Status: pulumi.String("disable"),
    				},
    			},
    			Redistribute6s: router.BgpRedistribute6Array{
    				&router.BgpRedistribute6Args{
    					Name:   pulumi.String("connected"),
    					Status: pulumi.String("disable"),
    				},
    				&router.BgpRedistribute6Args{
    					Name:   pulumi.String("rip"),
    					Status: pulumi.String("disable"),
    				},
    				&router.BgpRedistribute6Args{
    					Name:   pulumi.String("ospf"),
    					Status: pulumi.String("disable"),
    				},
    				&router.BgpRedistribute6Args{
    					Name:   pulumi.String("static"),
    					Status: pulumi.String("disable"),
    				},
    				&router.BgpRedistribute6Args{
    					Name:   pulumi.String("isis"),
    					Status: pulumi.String("disable"),
    				},
    			},
    			ScanTime:        pulumi.Int(60),
    			Synchronization: pulumi.String("disable"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Fortios = Pulumiverse.Fortios;
    
    return await Deployment.RunAsync(() => 
    {
        var trname = new Fortios.Router.BgpRouter("trname", new()
        {
            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 = new[]
            {
                new Fortios.Router.Inputs.BgpRedistributeArgs
                {
                    Name = "connected",
                    Status = "disable",
                },
                new Fortios.Router.Inputs.BgpRedistributeArgs
                {
                    Name = "rip",
                    Status = "disable",
                },
                new Fortios.Router.Inputs.BgpRedistributeArgs
                {
                    Name = "ospf",
                    Status = "disable",
                },
                new Fortios.Router.Inputs.BgpRedistributeArgs
                {
                    Name = "static",
                    Status = "disable",
                },
                new Fortios.Router.Inputs.BgpRedistributeArgs
                {
                    Name = "isis",
                    Status = "disable",
                },
            },
            Redistribute6s = new[]
            {
                new Fortios.Router.Inputs.BgpRedistribute6Args
                {
                    Name = "connected",
                    Status = "disable",
                },
                new Fortios.Router.Inputs.BgpRedistribute6Args
                {
                    Name = "rip",
                    Status = "disable",
                },
                new Fortios.Router.Inputs.BgpRedistribute6Args
                {
                    Name = "ospf",
                    Status = "disable",
                },
                new Fortios.Router.Inputs.BgpRedistribute6Args
                {
                    Name = "static",
                    Status = "disable",
                },
                new Fortios.Router.Inputs.BgpRedistribute6Args
                {
                    Name = "isis",
                    Status = "disable",
                },
            },
            ScanTime = 60,
            Synchronization = "disable",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.fortios.router.Bgp;
    import com.pulumi.fortios.router.BgpArgs;
    import com.pulumi.fortios.router.inputs.BgpRedistributeArgs;
    import com.pulumi.fortios.router.inputs.BgpRedistribute6Args;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var trname = new Bgp("trname", BgpArgs.builder()
                .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(            
                    BgpRedistributeArgs.builder()
                        .name("connected")
                        .status("disable")
                        .build(),
                    BgpRedistributeArgs.builder()
                        .name("rip")
                        .status("disable")
                        .build(),
                    BgpRedistributeArgs.builder()
                        .name("ospf")
                        .status("disable")
                        .build(),
                    BgpRedistributeArgs.builder()
                        .name("static")
                        .status("disable")
                        .build(),
                    BgpRedistributeArgs.builder()
                        .name("isis")
                        .status("disable")
                        .build())
                .redistribute6s(            
                    BgpRedistribute6Args.builder()
                        .name("connected")
                        .status("disable")
                        .build(),
                    BgpRedistribute6Args.builder()
                        .name("rip")
                        .status("disable")
                        .build(),
                    BgpRedistribute6Args.builder()
                        .name("ospf")
                        .status("disable")
                        .build(),
                    BgpRedistribute6Args.builder()
                        .name("static")
                        .status("disable")
                        .build(),
                    BgpRedistribute6Args.builder()
                        .name("isis")
                        .status("disable")
                        .build())
                .scanTime(60)
                .synchronization("disable")
                .build());
    
        }
    }
    
    resources:
      trname:
        type: fortios:router:Bgp
        properties:
          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
    

    Create Bgp Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new Bgp(name: string, args?: BgpArgs, opts?: CustomResourceOptions);
    @overload
    def Bgp(resource_name: str,
            args: Optional[BgpArgs] = None,
            opts: Optional[ResourceOptions] = None)
    
    @overload
    def Bgp(resource_name: str,
            opts: Optional[ResourceOptions] = None,
            additional_path: Optional[str] = None,
            additional_path6: Optional[str] = None,
            additional_path_select: Optional[int] = None,
            additional_path_select6: Optional[int] = None,
            additional_path_select_vpnv4: Optional[int] = None,
            additional_path_select_vpnv6: Optional[int] = None,
            additional_path_vpnv4: Optional[str] = None,
            additional_path_vpnv6: Optional[str] = None,
            admin_distances: Optional[Sequence[BgpAdminDistanceArgs]] = None,
            aggregate_address6s: Optional[Sequence[BgpAggregateAddress6Args]] = None,
            aggregate_addresses: Optional[Sequence[BgpAggregateAddressArgs]] = None,
            always_compare_med: Optional[str] = None,
            as_: Optional[int] = None,
            as_string: Optional[str] = None,
            bestpath_as_path_ignore: Optional[str] = None,
            bestpath_cmp_confed_aspath: Optional[str] = None,
            bestpath_cmp_routerid: Optional[str] = None,
            bestpath_med_confed: Optional[str] = None,
            bestpath_med_missing_as_worst: Optional[str] = None,
            client_to_client_reflection: Optional[str] = None,
            cluster_id: Optional[str] = None,
            confederation_identifier: Optional[int] = None,
            confederation_peers: Optional[Sequence[BgpConfederationPeerArgs]] = None,
            cross_family_conditional_adv: Optional[str] = None,
            dampening: Optional[str] = None,
            dampening_max_suppress_time: Optional[int] = None,
            dampening_reachability_half_life: Optional[int] = None,
            dampening_reuse: Optional[int] = None,
            dampening_route_map: Optional[str] = None,
            dampening_suppress: Optional[int] = None,
            dampening_unreachability_half_life: Optional[int] = None,
            default_local_preference: Optional[int] = None,
            deterministic_med: Optional[str] = None,
            distance_external: Optional[int] = None,
            distance_internal: Optional[int] = None,
            distance_local: Optional[int] = None,
            dynamic_sort_subtable: Optional[str] = None,
            ebgp_multipath: Optional[str] = None,
            enforce_first_as: Optional[str] = None,
            fast_external_failover: Optional[str] = None,
            get_all_tables: Optional[str] = None,
            graceful_end_on_timer: Optional[str] = None,
            graceful_restart: Optional[str] = None,
            graceful_restart_time: Optional[int] = None,
            graceful_stalepath_time: Optional[int] = None,
            graceful_update_delay: Optional[int] = None,
            holdtime_timer: Optional[int] = None,
            ibgp_multipath: Optional[str] = None,
            ignore_optional_capability: Optional[str] = None,
            keepalive_timer: Optional[int] = None,
            log_neighbour_changes: Optional[str] = None,
            multipath_recursive_distance: Optional[str] = None,
            neighbor_groups: Optional[Sequence[BgpNeighborGroupArgs]] = None,
            neighbor_range6s: Optional[Sequence[BgpNeighborRange6Args]] = None,
            neighbor_ranges: Optional[Sequence[BgpNeighborRangeArgs]] = None,
            neighbors: Optional[Sequence[BgpNeighborArgs]] = None,
            network6s: Optional[Sequence[BgpNetwork6Args]] = None,
            network_import_check: Optional[str] = None,
            networks: Optional[Sequence[BgpNetworkArgs]] = None,
            recursive_inherit_priority: Optional[str] = None,
            recursive_next_hop: Optional[str] = None,
            redistribute6s: Optional[Sequence[BgpRedistribute6Args]] = None,
            redistributes: Optional[Sequence[BgpRedistributeArgs]] = None,
            router_id: Optional[str] = None,
            scan_time: Optional[int] = None,
            synchronization: Optional[str] = None,
            tag_resolve_mode: Optional[str] = None,
            vdomparam: Optional[str] = None,
            vrf6s: Optional[Sequence[BgpVrf6Args]] = None,
            vrf_leak6s: Optional[Sequence[BgpVrfLeak6Args]] = None,
            vrf_leaks: Optional[Sequence[BgpVrfLeakArgs]] = None,
            vrves: Optional[Sequence[BgpVrfArgs]] = None)
    func NewBgp(ctx *Context, name string, args *BgpArgs, opts ...ResourceOption) (*Bgp, error)
    public Bgp(string name, BgpArgs? args = null, CustomResourceOptions? opts = null)
    public Bgp(String name, BgpArgs args)
    public Bgp(String name, BgpArgs args, CustomResourceOptions options)
    
    type: fortios:router:Bgp
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args BgpArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args BgpArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args BgpArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args BgpArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args BgpArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var bgpResource = new Fortios.Router.BgpRouter("bgpResource", new()
    {
        AdditionalPath = "string",
        AdditionalPath6 = "string",
        AdditionalPathSelect = 0,
        AdditionalPathSelect6 = 0,
        AdditionalPathSelectVpnv4 = 0,
        AdditionalPathSelectVpnv6 = 0,
        AdditionalPathVpnv4 = "string",
        AdditionalPathVpnv6 = "string",
        AdminDistances = new[]
        {
            new Fortios.Router.Inputs.BgpAdminDistanceArgs
            {
                Distance = 0,
                Id = 0,
                NeighbourPrefix = "string",
                RouteList = "string",
            },
        },
        AggregateAddress6s = new[]
        {
            new Fortios.Router.Inputs.BgpAggregateAddress6Args
            {
                AsSet = "string",
                Id = 0,
                Prefix6 = "string",
                SummaryOnly = "string",
            },
        },
        AggregateAddresses = new[]
        {
            new Fortios.Router.Inputs.BgpAggregateAddressArgs
            {
                AsSet = "string",
                Id = 0,
                Prefix = "string",
                SummaryOnly = "string",
            },
        },
        AlwaysCompareMed = "string",
        As = 0,
        AsString = "string",
        BestpathAsPathIgnore = "string",
        BestpathCmpConfedAspath = "string",
        BestpathCmpRouterid = "string",
        BestpathMedConfed = "string",
        BestpathMedMissingAsWorst = "string",
        ClientToClientReflection = "string",
        ClusterId = "string",
        ConfederationIdentifier = 0,
        ConfederationPeers = new[]
        {
            new Fortios.Router.Inputs.BgpConfederationPeerArgs
            {
                Peer = "string",
            },
        },
        CrossFamilyConditionalAdv = "string",
        Dampening = "string",
        DampeningMaxSuppressTime = 0,
        DampeningReachabilityHalfLife = 0,
        DampeningReuse = 0,
        DampeningRouteMap = "string",
        DampeningSuppress = 0,
        DampeningUnreachabilityHalfLife = 0,
        DefaultLocalPreference = 0,
        DeterministicMed = "string",
        DistanceExternal = 0,
        DistanceInternal = 0,
        DistanceLocal = 0,
        DynamicSortSubtable = "string",
        EbgpMultipath = "string",
        EnforceFirstAs = "string",
        FastExternalFailover = "string",
        GetAllTables = "string",
        GracefulEndOnTimer = "string",
        GracefulRestart = "string",
        GracefulRestartTime = 0,
        GracefulStalepathTime = 0,
        GracefulUpdateDelay = 0,
        HoldtimeTimer = 0,
        IbgpMultipath = "string",
        IgnoreOptionalCapability = "string",
        KeepaliveTimer = 0,
        LogNeighbourChanges = "string",
        MultipathRecursiveDistance = "string",
        NeighborGroups = new[]
        {
            new Fortios.Router.Inputs.BgpNeighborGroupArgs
            {
                Activate = "string",
                Activate6 = "string",
                ActivateEvpn = "string",
                ActivateVpnv4 = "string",
                ActivateVpnv6 = "string",
                AdditionalPath = "string",
                AdditionalPath6 = "string",
                AdditionalPathVpnv4 = "string",
                AdditionalPathVpnv6 = "string",
                AdvAdditionalPath = 0,
                AdvAdditionalPath6 = 0,
                AdvAdditionalPathVpnv4 = 0,
                AdvAdditionalPathVpnv6 = 0,
                AdvertisementInterval = 0,
                AllowasIn = 0,
                AllowasIn6 = 0,
                AllowasInEnable = "string",
                AllowasInEnable6 = "string",
                AllowasInEnableEvpn = "string",
                AllowasInEnableVpnv4 = "string",
                AllowasInEnableVpnv6 = "string",
                AllowasInEvpn = 0,
                AllowasInVpnv4 = 0,
                AllowasInVpnv6 = 0,
                AsOverride = "string",
                AsOverride6 = "string",
                AttributeUnchanged = "string",
                AttributeUnchanged6 = "string",
                AttributeUnchangedVpnv4 = "string",
                AttributeUnchangedVpnv6 = "string",
                AuthOptions = "string",
                Bfd = "string",
                CapabilityDefaultOriginate = "string",
                CapabilityDefaultOriginate6 = "string",
                CapabilityDynamic = "string",
                CapabilityGracefulRestart = "string",
                CapabilityGracefulRestart6 = "string",
                CapabilityGracefulRestartEvpn = "string",
                CapabilityGracefulRestartVpnv4 = "string",
                CapabilityGracefulRestartVpnv6 = "string",
                CapabilityOrf = "string",
                CapabilityOrf6 = "string",
                CapabilityRouteRefresh = "string",
                ConnectTimer = 0,
                DefaultOriginateRoutemap = "string",
                DefaultOriginateRoutemap6 = "string",
                Description = "string",
                DistributeListIn = "string",
                DistributeListIn6 = "string",
                DistributeListInVpnv4 = "string",
                DistributeListInVpnv6 = "string",
                DistributeListOut = "string",
                DistributeListOut6 = "string",
                DistributeListOutVpnv4 = "string",
                DistributeListOutVpnv6 = "string",
                DontCapabilityNegotiate = "string",
                EbgpEnforceMultihop = "string",
                EbgpMultihopTtl = 0,
                FilterListIn = "string",
                FilterListIn6 = "string",
                FilterListInVpnv4 = "string",
                FilterListInVpnv6 = "string",
                FilterListOut = "string",
                FilterListOut6 = "string",
                FilterListOutVpnv4 = "string",
                FilterListOutVpnv6 = "string",
                HoldtimeTimer = 0,
                Interface = "string",
                KeepAliveTimer = 0,
                LinkDownFailover = "string",
                LocalAs = 0,
                LocalAsNoPrepend = "string",
                LocalAsReplaceAs = "string",
                MaximumPrefix = 0,
                MaximumPrefix6 = 0,
                MaximumPrefixEvpn = 0,
                MaximumPrefixThreshold = 0,
                MaximumPrefixThreshold6 = 0,
                MaximumPrefixThresholdEvpn = 0,
                MaximumPrefixThresholdVpnv4 = 0,
                MaximumPrefixThresholdVpnv6 = 0,
                MaximumPrefixVpnv4 = 0,
                MaximumPrefixVpnv6 = 0,
                MaximumPrefixWarningOnly = "string",
                MaximumPrefixWarningOnly6 = "string",
                MaximumPrefixWarningOnlyEvpn = "string",
                MaximumPrefixWarningOnlyVpnv4 = "string",
                MaximumPrefixWarningOnlyVpnv6 = "string",
                Name = "string",
                NextHopSelf = "string",
                NextHopSelf6 = "string",
                NextHopSelfRr = "string",
                NextHopSelfRr6 = "string",
                NextHopSelfVpnv4 = "string",
                NextHopSelfVpnv6 = "string",
                OverrideCapability = "string",
                Passive = "string",
                Password = "string",
                PrefixListIn = "string",
                PrefixListIn6 = "string",
                PrefixListInVpnv4 = "string",
                PrefixListInVpnv6 = "string",
                PrefixListOut = "string",
                PrefixListOut6 = "string",
                PrefixListOutVpnv4 = "string",
                PrefixListOutVpnv6 = "string",
                RemoteAs = 0,
                RemoteAsFilter = "string",
                RemovePrivateAs = "string",
                RemovePrivateAs6 = "string",
                RemovePrivateAsEvpn = "string",
                RemovePrivateAsVpnv4 = "string",
                RemovePrivateAsVpnv6 = "string",
                RestartTime = 0,
                RetainStaleTime = 0,
                RouteMapIn = "string",
                RouteMapIn6 = "string",
                RouteMapInEvpn = "string",
                RouteMapInVpnv4 = "string",
                RouteMapInVpnv6 = "string",
                RouteMapOut = "string",
                RouteMapOut6 = "string",
                RouteMapOut6Preferable = "string",
                RouteMapOutEvpn = "string",
                RouteMapOutPreferable = "string",
                RouteMapOutVpnv4 = "string",
                RouteMapOutVpnv4Preferable = "string",
                RouteMapOutVpnv6 = "string",
                RouteMapOutVpnv6Preferable = "string",
                RouteReflectorClient = "string",
                RouteReflectorClient6 = "string",
                RouteReflectorClientEvpn = "string",
                RouteReflectorClientVpnv4 = "string",
                RouteReflectorClientVpnv6 = "string",
                RouteServerClient = "string",
                RouteServerClient6 = "string",
                RouteServerClientEvpn = "string",
                RouteServerClientVpnv4 = "string",
                RouteServerClientVpnv6 = "string",
                SendCommunity = "string",
                SendCommunity6 = "string",
                SendCommunityEvpn = "string",
                SendCommunityVpnv4 = "string",
                SendCommunityVpnv6 = "string",
                Shutdown = "string",
                SoftReconfiguration = "string",
                SoftReconfiguration6 = "string",
                SoftReconfigurationEvpn = "string",
                SoftReconfigurationVpnv4 = "string",
                SoftReconfigurationVpnv6 = "string",
                StaleRoute = "string",
                StrictCapabilityMatch = "string",
                UnsuppressMap = "string",
                UnsuppressMap6 = "string",
                UpdateSource = "string",
                Weight = 0,
            },
        },
        NeighborRange6s = new[]
        {
            new Fortios.Router.Inputs.BgpNeighborRange6Args
            {
                Id = 0,
                MaxNeighborNum = 0,
                NeighborGroup = "string",
                Prefix6 = "string",
            },
        },
        NeighborRanges = new[]
        {
            new Fortios.Router.Inputs.BgpNeighborRangeArgs
            {
                Id = 0,
                MaxNeighborNum = 0,
                NeighborGroup = "string",
                Prefix = "string",
            },
        },
        Neighbors = new[]
        {
            new Fortios.Router.Inputs.BgpNeighborArgs
            {
                Activate = "string",
                Activate6 = "string",
                ActivateEvpn = "string",
                ActivateVpnv4 = "string",
                ActivateVpnv6 = "string",
                AdditionalPath = "string",
                AdditionalPath6 = "string",
                AdditionalPathVpnv4 = "string",
                AdditionalPathVpnv6 = "string",
                AdvAdditionalPath = 0,
                AdvAdditionalPath6 = 0,
                AdvAdditionalPathVpnv4 = 0,
                AdvAdditionalPathVpnv6 = 0,
                AdvertisementInterval = 0,
                AllowasIn = 0,
                AllowasIn6 = 0,
                AllowasInEnable = "string",
                AllowasInEnable6 = "string",
                AllowasInEnableEvpn = "string",
                AllowasInEnableVpnv4 = "string",
                AllowasInEnableVpnv6 = "string",
                AllowasInEvpn = 0,
                AllowasInVpnv4 = 0,
                AllowasInVpnv6 = 0,
                AsOverride = "string",
                AsOverride6 = "string",
                AttributeUnchanged = "string",
                AttributeUnchanged6 = "string",
                AttributeUnchangedVpnv4 = "string",
                AttributeUnchangedVpnv6 = "string",
                AuthOptions = "string",
                Bfd = "string",
                CapabilityDefaultOriginate = "string",
                CapabilityDefaultOriginate6 = "string",
                CapabilityDynamic = "string",
                CapabilityGracefulRestart = "string",
                CapabilityGracefulRestart6 = "string",
                CapabilityGracefulRestartEvpn = "string",
                CapabilityGracefulRestartVpnv4 = "string",
                CapabilityGracefulRestartVpnv6 = "string",
                CapabilityOrf = "string",
                CapabilityOrf6 = "string",
                CapabilityRouteRefresh = "string",
                ConditionalAdvertise6s = new[]
                {
                    new Fortios.Router.Inputs.BgpNeighborConditionalAdvertise6Args
                    {
                        AdvertiseRoutemap = "string",
                        ConditionRoutemap = "string",
                        ConditionType = "string",
                    },
                },
                ConditionalAdvertises = new[]
                {
                    new Fortios.Router.Inputs.BgpNeighborConditionalAdvertiseArgs
                    {
                        AdvertiseRoutemap = "string",
                        ConditionRoutemap = "string",
                        ConditionType = "string",
                    },
                },
                ConnectTimer = 0,
                DefaultOriginateRoutemap = "string",
                DefaultOriginateRoutemap6 = "string",
                Description = "string",
                DistributeListIn = "string",
                DistributeListIn6 = "string",
                DistributeListInVpnv4 = "string",
                DistributeListInVpnv6 = "string",
                DistributeListOut = "string",
                DistributeListOut6 = "string",
                DistributeListOutVpnv4 = "string",
                DistributeListOutVpnv6 = "string",
                DontCapabilityNegotiate = "string",
                EbgpEnforceMultihop = "string",
                EbgpMultihopTtl = 0,
                FilterListIn = "string",
                FilterListIn6 = "string",
                FilterListInVpnv4 = "string",
                FilterListInVpnv6 = "string",
                FilterListOut = "string",
                FilterListOut6 = "string",
                FilterListOutVpnv4 = "string",
                FilterListOutVpnv6 = "string",
                HoldtimeTimer = 0,
                Interface = "string",
                Ip = "string",
                KeepAliveTimer = 0,
                LinkDownFailover = "string",
                LocalAs = 0,
                LocalAsNoPrepend = "string",
                LocalAsReplaceAs = "string",
                MaximumPrefix = 0,
                MaximumPrefix6 = 0,
                MaximumPrefixEvpn = 0,
                MaximumPrefixThreshold = 0,
                MaximumPrefixThreshold6 = 0,
                MaximumPrefixThresholdEvpn = 0,
                MaximumPrefixThresholdVpnv4 = 0,
                MaximumPrefixThresholdVpnv6 = 0,
                MaximumPrefixVpnv4 = 0,
                MaximumPrefixVpnv6 = 0,
                MaximumPrefixWarningOnly = "string",
                MaximumPrefixWarningOnly6 = "string",
                MaximumPrefixWarningOnlyEvpn = "string",
                MaximumPrefixWarningOnlyVpnv4 = "string",
                MaximumPrefixWarningOnlyVpnv6 = "string",
                NextHopSelf = "string",
                NextHopSelf6 = "string",
                NextHopSelfRr = "string",
                NextHopSelfRr6 = "string",
                NextHopSelfVpnv4 = "string",
                NextHopSelfVpnv6 = "string",
                OverrideCapability = "string",
                Passive = "string",
                Password = "string",
                PrefixListIn = "string",
                PrefixListIn6 = "string",
                PrefixListInVpnv4 = "string",
                PrefixListInVpnv6 = "string",
                PrefixListOut = "string",
                PrefixListOut6 = "string",
                PrefixListOutVpnv4 = "string",
                PrefixListOutVpnv6 = "string",
                RemoteAs = 0,
                RemovePrivateAs = "string",
                RemovePrivateAs6 = "string",
                RemovePrivateAsEvpn = "string",
                RemovePrivateAsVpnv4 = "string",
                RemovePrivateAsVpnv6 = "string",
                RestartTime = 0,
                RetainStaleTime = 0,
                RouteMapIn = "string",
                RouteMapIn6 = "string",
                RouteMapInEvpn = "string",
                RouteMapInVpnv4 = "string",
                RouteMapInVpnv6 = "string",
                RouteMapOut = "string",
                RouteMapOut6 = "string",
                RouteMapOut6Preferable = "string",
                RouteMapOutEvpn = "string",
                RouteMapOutPreferable = "string",
                RouteMapOutVpnv4 = "string",
                RouteMapOutVpnv4Preferable = "string",
                RouteMapOutVpnv6 = "string",
                RouteMapOutVpnv6Preferable = "string",
                RouteReflectorClient = "string",
                RouteReflectorClient6 = "string",
                RouteReflectorClientEvpn = "string",
                RouteReflectorClientVpnv4 = "string",
                RouteReflectorClientVpnv6 = "string",
                RouteServerClient = "string",
                RouteServerClient6 = "string",
                RouteServerClientEvpn = "string",
                RouteServerClientVpnv4 = "string",
                RouteServerClientVpnv6 = "string",
                SendCommunity = "string",
                SendCommunity6 = "string",
                SendCommunityEvpn = "string",
                SendCommunityVpnv4 = "string",
                SendCommunityVpnv6 = "string",
                Shutdown = "string",
                SoftReconfiguration = "string",
                SoftReconfiguration6 = "string",
                SoftReconfigurationEvpn = "string",
                SoftReconfigurationVpnv4 = "string",
                SoftReconfigurationVpnv6 = "string",
                StaleRoute = "string",
                StrictCapabilityMatch = "string",
                UnsuppressMap = "string",
                UnsuppressMap6 = "string",
                UpdateSource = "string",
                Weight = 0,
            },
        },
        Network6s = new[]
        {
            new Fortios.Router.Inputs.BgpNetwork6Args
            {
                Backdoor = "string",
                Id = 0,
                NetworkImportCheck = "string",
                Prefix6 = "string",
                RouteMap = "string",
            },
        },
        NetworkImportCheck = "string",
        Networks = new[]
        {
            new Fortios.Router.Inputs.BgpNetworkArgs
            {
                Backdoor = "string",
                Id = 0,
                NetworkImportCheck = "string",
                Prefix = "string",
                RouteMap = "string",
            },
        },
        RecursiveInheritPriority = "string",
        RecursiveNextHop = "string",
        Redistribute6s = new[]
        {
            new Fortios.Router.Inputs.BgpRedistribute6Args
            {
                Name = "string",
                RouteMap = "string",
                Status = "string",
            },
        },
        Redistributes = new[]
        {
            new Fortios.Router.Inputs.BgpRedistributeArgs
            {
                Name = "string",
                RouteMap = "string",
                Status = "string",
            },
        },
        RouterId = "string",
        ScanTime = 0,
        Synchronization = "string",
        TagResolveMode = "string",
        Vdomparam = "string",
        Vrf6s = new[]
        {
            new Fortios.Router.Inputs.BgpVrf6Args
            {
                ExportRts = new[]
                {
                    new Fortios.Router.Inputs.BgpVrf6ExportRtArgs
                    {
                        RouteTarget = "string",
                    },
                },
                ImportRouteMap = "string",
                ImportRts = new[]
                {
                    new Fortios.Router.Inputs.BgpVrf6ImportRtArgs
                    {
                        RouteTarget = "string",
                    },
                },
                LeakTargets = new[]
                {
                    new Fortios.Router.Inputs.BgpVrf6LeakTargetArgs
                    {
                        Interface = "string",
                        RouteMap = "string",
                        Vrf = "string",
                    },
                },
                Rd = "string",
                Role = "string",
                Vrf = "string",
            },
        },
        VrfLeak6s = new[]
        {
            new Fortios.Router.Inputs.BgpVrfLeak6Args
            {
                Targets = new[]
                {
                    new Fortios.Router.Inputs.BgpVrfLeak6TargetArgs
                    {
                        Interface = "string",
                        RouteMap = "string",
                        Vrf = "string",
                    },
                },
                Vrf = "string",
            },
        },
        VrfLeaks = new[]
        {
            new Fortios.Router.Inputs.BgpVrfLeakArgs
            {
                Targets = new[]
                {
                    new Fortios.Router.Inputs.BgpVrfLeakTargetArgs
                    {
                        Interface = "string",
                        RouteMap = "string",
                        Vrf = "string",
                    },
                },
                Vrf = "string",
            },
        },
        Vrves = new[]
        {
            new Fortios.Router.Inputs.BgpVrfArgs
            {
                ExportRts = new[]
                {
                    new Fortios.Router.Inputs.BgpVrfExportRtArgs
                    {
                        RouteTarget = "string",
                    },
                },
                ImportRouteMap = "string",
                ImportRts = new[]
                {
                    new Fortios.Router.Inputs.BgpVrfImportRtArgs
                    {
                        RouteTarget = "string",
                    },
                },
                LeakTargets = new[]
                {
                    new Fortios.Router.Inputs.BgpVrfLeakTargetArgs
                    {
                        Interface = "string",
                        RouteMap = "string",
                        Vrf = "string",
                    },
                },
                Rd = "string",
                Role = "string",
                Vrf = "string",
            },
        },
    });
    
    example, err := router.NewBgp(ctx, "bgpResource", &router.BgpArgs{
    	AdditionalPath:            pulumi.String("string"),
    	AdditionalPath6:           pulumi.String("string"),
    	AdditionalPathSelect:      pulumi.Int(0),
    	AdditionalPathSelect6:     pulumi.Int(0),
    	AdditionalPathSelectVpnv4: pulumi.Int(0),
    	AdditionalPathSelectVpnv6: pulumi.Int(0),
    	AdditionalPathVpnv4:       pulumi.String("string"),
    	AdditionalPathVpnv6:       pulumi.String("string"),
    	AdminDistances: router.BgpAdminDistanceArray{
    		&router.BgpAdminDistanceArgs{
    			Distance:        pulumi.Int(0),
    			Id:              pulumi.Int(0),
    			NeighbourPrefix: pulumi.String("string"),
    			RouteList:       pulumi.String("string"),
    		},
    	},
    	AggregateAddress6s: router.BgpAggregateAddress6Array{
    		&router.BgpAggregateAddress6Args{
    			AsSet:       pulumi.String("string"),
    			Id:          pulumi.Int(0),
    			Prefix6:     pulumi.String("string"),
    			SummaryOnly: pulumi.String("string"),
    		},
    	},
    	AggregateAddresses: router.BgpAggregateAddressArray{
    		&router.BgpAggregateAddressArgs{
    			AsSet:       pulumi.String("string"),
    			Id:          pulumi.Int(0),
    			Prefix:      pulumi.String("string"),
    			SummaryOnly: pulumi.String("string"),
    		},
    	},
    	AlwaysCompareMed:          pulumi.String("string"),
    	As:                        pulumi.Int(0),
    	AsString:                  pulumi.String("string"),
    	BestpathAsPathIgnore:      pulumi.String("string"),
    	BestpathCmpConfedAspath:   pulumi.String("string"),
    	BestpathCmpRouterid:       pulumi.String("string"),
    	BestpathMedConfed:         pulumi.String("string"),
    	BestpathMedMissingAsWorst: pulumi.String("string"),
    	ClientToClientReflection:  pulumi.String("string"),
    	ClusterId:                 pulumi.String("string"),
    	ConfederationIdentifier:   pulumi.Int(0),
    	ConfederationPeers: router.BgpConfederationPeerArray{
    		&router.BgpConfederationPeerArgs{
    			Peer: pulumi.String("string"),
    		},
    	},
    	CrossFamilyConditionalAdv:       pulumi.String("string"),
    	Dampening:                       pulumi.String("string"),
    	DampeningMaxSuppressTime:        pulumi.Int(0),
    	DampeningReachabilityHalfLife:   pulumi.Int(0),
    	DampeningReuse:                  pulumi.Int(0),
    	DampeningRouteMap:               pulumi.String("string"),
    	DampeningSuppress:               pulumi.Int(0),
    	DampeningUnreachabilityHalfLife: pulumi.Int(0),
    	DefaultLocalPreference:          pulumi.Int(0),
    	DeterministicMed:                pulumi.String("string"),
    	DistanceExternal:                pulumi.Int(0),
    	DistanceInternal:                pulumi.Int(0),
    	DistanceLocal:                   pulumi.Int(0),
    	DynamicSortSubtable:             pulumi.String("string"),
    	EbgpMultipath:                   pulumi.String("string"),
    	EnforceFirstAs:                  pulumi.String("string"),
    	FastExternalFailover:            pulumi.String("string"),
    	GetAllTables:                    pulumi.String("string"),
    	GracefulEndOnTimer:              pulumi.String("string"),
    	GracefulRestart:                 pulumi.String("string"),
    	GracefulRestartTime:             pulumi.Int(0),
    	GracefulStalepathTime:           pulumi.Int(0),
    	GracefulUpdateDelay:             pulumi.Int(0),
    	HoldtimeTimer:                   pulumi.Int(0),
    	IbgpMultipath:                   pulumi.String("string"),
    	IgnoreOptionalCapability:        pulumi.String("string"),
    	KeepaliveTimer:                  pulumi.Int(0),
    	LogNeighbourChanges:             pulumi.String("string"),
    	MultipathRecursiveDistance:      pulumi.String("string"),
    	NeighborGroups: router.BgpNeighborGroupArray{
    		&router.BgpNeighborGroupArgs{
    			Activate:                       pulumi.String("string"),
    			Activate6:                      pulumi.String("string"),
    			ActivateEvpn:                   pulumi.String("string"),
    			ActivateVpnv4:                  pulumi.String("string"),
    			ActivateVpnv6:                  pulumi.String("string"),
    			AdditionalPath:                 pulumi.String("string"),
    			AdditionalPath6:                pulumi.String("string"),
    			AdditionalPathVpnv4:            pulumi.String("string"),
    			AdditionalPathVpnv6:            pulumi.String("string"),
    			AdvAdditionalPath:              pulumi.Int(0),
    			AdvAdditionalPath6:             pulumi.Int(0),
    			AdvAdditionalPathVpnv4:         pulumi.Int(0),
    			AdvAdditionalPathVpnv6:         pulumi.Int(0),
    			AdvertisementInterval:          pulumi.Int(0),
    			AllowasIn:                      pulumi.Int(0),
    			AllowasIn6:                     pulumi.Int(0),
    			AllowasInEnable:                pulumi.String("string"),
    			AllowasInEnable6:               pulumi.String("string"),
    			AllowasInEnableEvpn:            pulumi.String("string"),
    			AllowasInEnableVpnv4:           pulumi.String("string"),
    			AllowasInEnableVpnv6:           pulumi.String("string"),
    			AllowasInEvpn:                  pulumi.Int(0),
    			AllowasInVpnv4:                 pulumi.Int(0),
    			AllowasInVpnv6:                 pulumi.Int(0),
    			AsOverride:                     pulumi.String("string"),
    			AsOverride6:                    pulumi.String("string"),
    			AttributeUnchanged:             pulumi.String("string"),
    			AttributeUnchanged6:            pulumi.String("string"),
    			AttributeUnchangedVpnv4:        pulumi.String("string"),
    			AttributeUnchangedVpnv6:        pulumi.String("string"),
    			AuthOptions:                    pulumi.String("string"),
    			Bfd:                            pulumi.String("string"),
    			CapabilityDefaultOriginate:     pulumi.String("string"),
    			CapabilityDefaultOriginate6:    pulumi.String("string"),
    			CapabilityDynamic:              pulumi.String("string"),
    			CapabilityGracefulRestart:      pulumi.String("string"),
    			CapabilityGracefulRestart6:     pulumi.String("string"),
    			CapabilityGracefulRestartEvpn:  pulumi.String("string"),
    			CapabilityGracefulRestartVpnv4: pulumi.String("string"),
    			CapabilityGracefulRestartVpnv6: pulumi.String("string"),
    			CapabilityOrf:                  pulumi.String("string"),
    			CapabilityOrf6:                 pulumi.String("string"),
    			CapabilityRouteRefresh:         pulumi.String("string"),
    			ConnectTimer:                   pulumi.Int(0),
    			DefaultOriginateRoutemap:       pulumi.String("string"),
    			DefaultOriginateRoutemap6:      pulumi.String("string"),
    			Description:                    pulumi.String("string"),
    			DistributeListIn:               pulumi.String("string"),
    			DistributeListIn6:              pulumi.String("string"),
    			DistributeListInVpnv4:          pulumi.String("string"),
    			DistributeListInVpnv6:          pulumi.String("string"),
    			DistributeListOut:              pulumi.String("string"),
    			DistributeListOut6:             pulumi.String("string"),
    			DistributeListOutVpnv4:         pulumi.String("string"),
    			DistributeListOutVpnv6:         pulumi.String("string"),
    			DontCapabilityNegotiate:        pulumi.String("string"),
    			EbgpEnforceMultihop:            pulumi.String("string"),
    			EbgpMultihopTtl:                pulumi.Int(0),
    			FilterListIn:                   pulumi.String("string"),
    			FilterListIn6:                  pulumi.String("string"),
    			FilterListInVpnv4:              pulumi.String("string"),
    			FilterListInVpnv6:              pulumi.String("string"),
    			FilterListOut:                  pulumi.String("string"),
    			FilterListOut6:                 pulumi.String("string"),
    			FilterListOutVpnv4:             pulumi.String("string"),
    			FilterListOutVpnv6:             pulumi.String("string"),
    			HoldtimeTimer:                  pulumi.Int(0),
    			Interface:                      pulumi.String("string"),
    			KeepAliveTimer:                 pulumi.Int(0),
    			LinkDownFailover:               pulumi.String("string"),
    			LocalAs:                        pulumi.Int(0),
    			LocalAsNoPrepend:               pulumi.String("string"),
    			LocalAsReplaceAs:               pulumi.String("string"),
    			MaximumPrefix:                  pulumi.Int(0),
    			MaximumPrefix6:                 pulumi.Int(0),
    			MaximumPrefixEvpn:              pulumi.Int(0),
    			MaximumPrefixThreshold:         pulumi.Int(0),
    			MaximumPrefixThreshold6:        pulumi.Int(0),
    			MaximumPrefixThresholdEvpn:     pulumi.Int(0),
    			MaximumPrefixThresholdVpnv4:    pulumi.Int(0),
    			MaximumPrefixThresholdVpnv6:    pulumi.Int(0),
    			MaximumPrefixVpnv4:             pulumi.Int(0),
    			MaximumPrefixVpnv6:             pulumi.Int(0),
    			MaximumPrefixWarningOnly:       pulumi.String("string"),
    			MaximumPrefixWarningOnly6:      pulumi.String("string"),
    			MaximumPrefixWarningOnlyEvpn:   pulumi.String("string"),
    			MaximumPrefixWarningOnlyVpnv4:  pulumi.String("string"),
    			MaximumPrefixWarningOnlyVpnv6:  pulumi.String("string"),
    			Name:                           pulumi.String("string"),
    			NextHopSelf:                    pulumi.String("string"),
    			NextHopSelf6:                   pulumi.String("string"),
    			NextHopSelfRr:                  pulumi.String("string"),
    			NextHopSelfRr6:                 pulumi.String("string"),
    			NextHopSelfVpnv4:               pulumi.String("string"),
    			NextHopSelfVpnv6:               pulumi.String("string"),
    			OverrideCapability:             pulumi.String("string"),
    			Passive:                        pulumi.String("string"),
    			Password:                       pulumi.String("string"),
    			PrefixListIn:                   pulumi.String("string"),
    			PrefixListIn6:                  pulumi.String("string"),
    			PrefixListInVpnv4:              pulumi.String("string"),
    			PrefixListInVpnv6:              pulumi.String("string"),
    			PrefixListOut:                  pulumi.String("string"),
    			PrefixListOut6:                 pulumi.String("string"),
    			PrefixListOutVpnv4:             pulumi.String("string"),
    			PrefixListOutVpnv6:             pulumi.String("string"),
    			RemoteAs:                       pulumi.Int(0),
    			RemoteAsFilter:                 pulumi.String("string"),
    			RemovePrivateAs:                pulumi.String("string"),
    			RemovePrivateAs6:               pulumi.String("string"),
    			RemovePrivateAsEvpn:            pulumi.String("string"),
    			RemovePrivateAsVpnv4:           pulumi.String("string"),
    			RemovePrivateAsVpnv6:           pulumi.String("string"),
    			RestartTime:                    pulumi.Int(0),
    			RetainStaleTime:                pulumi.Int(0),
    			RouteMapIn:                     pulumi.String("string"),
    			RouteMapIn6:                    pulumi.String("string"),
    			RouteMapInEvpn:                 pulumi.String("string"),
    			RouteMapInVpnv4:                pulumi.String("string"),
    			RouteMapInVpnv6:                pulumi.String("string"),
    			RouteMapOut:                    pulumi.String("string"),
    			RouteMapOut6:                   pulumi.String("string"),
    			RouteMapOut6Preferable:         pulumi.String("string"),
    			RouteMapOutEvpn:                pulumi.String("string"),
    			RouteMapOutPreferable:          pulumi.String("string"),
    			RouteMapOutVpnv4:               pulumi.String("string"),
    			RouteMapOutVpnv4Preferable:     pulumi.String("string"),
    			RouteMapOutVpnv6:               pulumi.String("string"),
    			RouteMapOutVpnv6Preferable:     pulumi.String("string"),
    			RouteReflectorClient:           pulumi.String("string"),
    			RouteReflectorClient6:          pulumi.String("string"),
    			RouteReflectorClientEvpn:       pulumi.String("string"),
    			RouteReflectorClientVpnv4:      pulumi.String("string"),
    			RouteReflectorClientVpnv6:      pulumi.String("string"),
    			RouteServerClient:              pulumi.String("string"),
    			RouteServerClient6:             pulumi.String("string"),
    			RouteServerClientEvpn:          pulumi.String("string"),
    			RouteServerClientVpnv4:         pulumi.String("string"),
    			RouteServerClientVpnv6:         pulumi.String("string"),
    			SendCommunity:                  pulumi.String("string"),
    			SendCommunity6:                 pulumi.String("string"),
    			SendCommunityEvpn:              pulumi.String("string"),
    			SendCommunityVpnv4:             pulumi.String("string"),
    			SendCommunityVpnv6:             pulumi.String("string"),
    			Shutdown:                       pulumi.String("string"),
    			SoftReconfiguration:            pulumi.String("string"),
    			SoftReconfiguration6:           pulumi.String("string"),
    			SoftReconfigurationEvpn:        pulumi.String("string"),
    			SoftReconfigurationVpnv4:       pulumi.String("string"),
    			SoftReconfigurationVpnv6:       pulumi.String("string"),
    			StaleRoute:                     pulumi.String("string"),
    			StrictCapabilityMatch:          pulumi.String("string"),
    			UnsuppressMap:                  pulumi.String("string"),
    			UnsuppressMap6:                 pulumi.String("string"),
    			UpdateSource:                   pulumi.String("string"),
    			Weight:                         pulumi.Int(0),
    		},
    	},
    	NeighborRange6s: router.BgpNeighborRange6Array{
    		&router.BgpNeighborRange6Args{
    			Id:             pulumi.Int(0),
    			MaxNeighborNum: pulumi.Int(0),
    			NeighborGroup:  pulumi.String("string"),
    			Prefix6:        pulumi.String("string"),
    		},
    	},
    	NeighborRanges: router.BgpNeighborRangeArray{
    		&router.BgpNeighborRangeArgs{
    			Id:             pulumi.Int(0),
    			MaxNeighborNum: pulumi.Int(0),
    			NeighborGroup:  pulumi.String("string"),
    			Prefix:         pulumi.String("string"),
    		},
    	},
    	Neighbors: router.BgpNeighborArray{
    		&router.BgpNeighborArgs{
    			Activate:                       pulumi.String("string"),
    			Activate6:                      pulumi.String("string"),
    			ActivateEvpn:                   pulumi.String("string"),
    			ActivateVpnv4:                  pulumi.String("string"),
    			ActivateVpnv6:                  pulumi.String("string"),
    			AdditionalPath:                 pulumi.String("string"),
    			AdditionalPath6:                pulumi.String("string"),
    			AdditionalPathVpnv4:            pulumi.String("string"),
    			AdditionalPathVpnv6:            pulumi.String("string"),
    			AdvAdditionalPath:              pulumi.Int(0),
    			AdvAdditionalPath6:             pulumi.Int(0),
    			AdvAdditionalPathVpnv4:         pulumi.Int(0),
    			AdvAdditionalPathVpnv6:         pulumi.Int(0),
    			AdvertisementInterval:          pulumi.Int(0),
    			AllowasIn:                      pulumi.Int(0),
    			AllowasIn6:                     pulumi.Int(0),
    			AllowasInEnable:                pulumi.String("string"),
    			AllowasInEnable6:               pulumi.String("string"),
    			AllowasInEnableEvpn:            pulumi.String("string"),
    			AllowasInEnableVpnv4:           pulumi.String("string"),
    			AllowasInEnableVpnv6:           pulumi.String("string"),
    			AllowasInEvpn:                  pulumi.Int(0),
    			AllowasInVpnv4:                 pulumi.Int(0),
    			AllowasInVpnv6:                 pulumi.Int(0),
    			AsOverride:                     pulumi.String("string"),
    			AsOverride6:                    pulumi.String("string"),
    			AttributeUnchanged:             pulumi.String("string"),
    			AttributeUnchanged6:            pulumi.String("string"),
    			AttributeUnchangedVpnv4:        pulumi.String("string"),
    			AttributeUnchangedVpnv6:        pulumi.String("string"),
    			AuthOptions:                    pulumi.String("string"),
    			Bfd:                            pulumi.String("string"),
    			CapabilityDefaultOriginate:     pulumi.String("string"),
    			CapabilityDefaultOriginate6:    pulumi.String("string"),
    			CapabilityDynamic:              pulumi.String("string"),
    			CapabilityGracefulRestart:      pulumi.String("string"),
    			CapabilityGracefulRestart6:     pulumi.String("string"),
    			CapabilityGracefulRestartEvpn:  pulumi.String("string"),
    			CapabilityGracefulRestartVpnv4: pulumi.String("string"),
    			CapabilityGracefulRestartVpnv6: pulumi.String("string"),
    			CapabilityOrf:                  pulumi.String("string"),
    			CapabilityOrf6:                 pulumi.String("string"),
    			CapabilityRouteRefresh:         pulumi.String("string"),
    			ConditionalAdvertise6s: router.BgpNeighborConditionalAdvertise6Array{
    				&router.BgpNeighborConditionalAdvertise6Args{
    					AdvertiseRoutemap: pulumi.String("string"),
    					ConditionRoutemap: pulumi.String("string"),
    					ConditionType:     pulumi.String("string"),
    				},
    			},
    			ConditionalAdvertises: router.BgpNeighborConditionalAdvertiseArray{
    				&router.BgpNeighborConditionalAdvertiseArgs{
    					AdvertiseRoutemap: pulumi.String("string"),
    					ConditionRoutemap: pulumi.String("string"),
    					ConditionType:     pulumi.String("string"),
    				},
    			},
    			ConnectTimer:                  pulumi.Int(0),
    			DefaultOriginateRoutemap:      pulumi.String("string"),
    			DefaultOriginateRoutemap6:     pulumi.String("string"),
    			Description:                   pulumi.String("string"),
    			DistributeListIn:              pulumi.String("string"),
    			DistributeListIn6:             pulumi.String("string"),
    			DistributeListInVpnv4:         pulumi.String("string"),
    			DistributeListInVpnv6:         pulumi.String("string"),
    			DistributeListOut:             pulumi.String("string"),
    			DistributeListOut6:            pulumi.String("string"),
    			DistributeListOutVpnv4:        pulumi.String("string"),
    			DistributeListOutVpnv6:        pulumi.String("string"),
    			DontCapabilityNegotiate:       pulumi.String("string"),
    			EbgpEnforceMultihop:           pulumi.String("string"),
    			EbgpMultihopTtl:               pulumi.Int(0),
    			FilterListIn:                  pulumi.String("string"),
    			FilterListIn6:                 pulumi.String("string"),
    			FilterListInVpnv4:             pulumi.String("string"),
    			FilterListInVpnv6:             pulumi.String("string"),
    			FilterListOut:                 pulumi.String("string"),
    			FilterListOut6:                pulumi.String("string"),
    			FilterListOutVpnv4:            pulumi.String("string"),
    			FilterListOutVpnv6:            pulumi.String("string"),
    			HoldtimeTimer:                 pulumi.Int(0),
    			Interface:                     pulumi.String("string"),
    			Ip:                            pulumi.String("string"),
    			KeepAliveTimer:                pulumi.Int(0),
    			LinkDownFailover:              pulumi.String("string"),
    			LocalAs:                       pulumi.Int(0),
    			LocalAsNoPrepend:              pulumi.String("string"),
    			LocalAsReplaceAs:              pulumi.String("string"),
    			MaximumPrefix:                 pulumi.Int(0),
    			MaximumPrefix6:                pulumi.Int(0),
    			MaximumPrefixEvpn:             pulumi.Int(0),
    			MaximumPrefixThreshold:        pulumi.Int(0),
    			MaximumPrefixThreshold6:       pulumi.Int(0),
    			MaximumPrefixThresholdEvpn:    pulumi.Int(0),
    			MaximumPrefixThresholdVpnv4:   pulumi.Int(0),
    			MaximumPrefixThresholdVpnv6:   pulumi.Int(0),
    			MaximumPrefixVpnv4:            pulumi.Int(0),
    			MaximumPrefixVpnv6:            pulumi.Int(0),
    			MaximumPrefixWarningOnly:      pulumi.String("string"),
    			MaximumPrefixWarningOnly6:     pulumi.String("string"),
    			MaximumPrefixWarningOnlyEvpn:  pulumi.String("string"),
    			MaximumPrefixWarningOnlyVpnv4: pulumi.String("string"),
    			MaximumPrefixWarningOnlyVpnv6: pulumi.String("string"),
    			NextHopSelf:                   pulumi.String("string"),
    			NextHopSelf6:                  pulumi.String("string"),
    			NextHopSelfRr:                 pulumi.String("string"),
    			NextHopSelfRr6:                pulumi.String("string"),
    			NextHopSelfVpnv4:              pulumi.String("string"),
    			NextHopSelfVpnv6:              pulumi.String("string"),
    			OverrideCapability:            pulumi.String("string"),
    			Passive:                       pulumi.String("string"),
    			Password:                      pulumi.String("string"),
    			PrefixListIn:                  pulumi.String("string"),
    			PrefixListIn6:                 pulumi.String("string"),
    			PrefixListInVpnv4:             pulumi.String("string"),
    			PrefixListInVpnv6:             pulumi.String("string"),
    			PrefixListOut:                 pulumi.String("string"),
    			PrefixListOut6:                pulumi.String("string"),
    			PrefixListOutVpnv4:            pulumi.String("string"),
    			PrefixListOutVpnv6:            pulumi.String("string"),
    			RemoteAs:                      pulumi.Int(0),
    			RemovePrivateAs:               pulumi.String("string"),
    			RemovePrivateAs6:              pulumi.String("string"),
    			RemovePrivateAsEvpn:           pulumi.String("string"),
    			RemovePrivateAsVpnv4:          pulumi.String("string"),
    			RemovePrivateAsVpnv6:          pulumi.String("string"),
    			RestartTime:                   pulumi.Int(0),
    			RetainStaleTime:               pulumi.Int(0),
    			RouteMapIn:                    pulumi.String("string"),
    			RouteMapIn6:                   pulumi.String("string"),
    			RouteMapInEvpn:                pulumi.String("string"),
    			RouteMapInVpnv4:               pulumi.String("string"),
    			RouteMapInVpnv6:               pulumi.String("string"),
    			RouteMapOut:                   pulumi.String("string"),
    			RouteMapOut6:                  pulumi.String("string"),
    			RouteMapOut6Preferable:        pulumi.String("string"),
    			RouteMapOutEvpn:               pulumi.String("string"),
    			RouteMapOutPreferable:         pulumi.String("string"),
    			RouteMapOutVpnv4:              pulumi.String("string"),
    			RouteMapOutVpnv4Preferable:    pulumi.String("string"),
    			RouteMapOutVpnv6:              pulumi.String("string"),
    			RouteMapOutVpnv6Preferable:    pulumi.String("string"),
    			RouteReflectorClient:          pulumi.String("string"),
    			RouteReflectorClient6:         pulumi.String("string"),
    			RouteReflectorClientEvpn:      pulumi.String("string"),
    			RouteReflectorClientVpnv4:     pulumi.String("string"),
    			RouteReflectorClientVpnv6:     pulumi.String("string"),
    			RouteServerClient:             pulumi.String("string"),
    			RouteServerClient6:            pulumi.String("string"),
    			RouteServerClientEvpn:         pulumi.String("string"),
    			RouteServerClientVpnv4:        pulumi.String("string"),
    			RouteServerClientVpnv6:        pulumi.String("string"),
    			SendCommunity:                 pulumi.String("string"),
    			SendCommunity6:                pulumi.String("string"),
    			SendCommunityEvpn:             pulumi.String("string"),
    			SendCommunityVpnv4:            pulumi.String("string"),
    			SendCommunityVpnv6:            pulumi.String("string"),
    			Shutdown:                      pulumi.String("string"),
    			SoftReconfiguration:           pulumi.String("string"),
    			SoftReconfiguration6:          pulumi.String("string"),
    			SoftReconfigurationEvpn:       pulumi.String("string"),
    			SoftReconfigurationVpnv4:      pulumi.String("string"),
    			SoftReconfigurationVpnv6:      pulumi.String("string"),
    			StaleRoute:                    pulumi.String("string"),
    			StrictCapabilityMatch:         pulumi.String("string"),
    			UnsuppressMap:                 pulumi.String("string"),
    			UnsuppressMap6:                pulumi.String("string"),
    			UpdateSource:                  pulumi.String("string"),
    			Weight:                        pulumi.Int(0),
    		},
    	},
    	Network6s: router.BgpNetwork6Array{
    		&router.BgpNetwork6Args{
    			Backdoor:           pulumi.String("string"),
    			Id:                 pulumi.Int(0),
    			NetworkImportCheck: pulumi.String("string"),
    			Prefix6:            pulumi.String("string"),
    			RouteMap:           pulumi.String("string"),
    		},
    	},
    	NetworkImportCheck: pulumi.String("string"),
    	Networks: router.BgpNetworkArray{
    		&router.BgpNetworkArgs{
    			Backdoor:           pulumi.String("string"),
    			Id:                 pulumi.Int(0),
    			NetworkImportCheck: pulumi.String("string"),
    			Prefix:             pulumi.String("string"),
    			RouteMap:           pulumi.String("string"),
    		},
    	},
    	RecursiveInheritPriority: pulumi.String("string"),
    	RecursiveNextHop:         pulumi.String("string"),
    	Redistribute6s: router.BgpRedistribute6Array{
    		&router.BgpRedistribute6Args{
    			Name:     pulumi.String("string"),
    			RouteMap: pulumi.String("string"),
    			Status:   pulumi.String("string"),
    		},
    	},
    	Redistributes: router.BgpRedistributeArray{
    		&router.BgpRedistributeArgs{
    			Name:     pulumi.String("string"),
    			RouteMap: pulumi.String("string"),
    			Status:   pulumi.String("string"),
    		},
    	},
    	RouterId:        pulumi.String("string"),
    	ScanTime:        pulumi.Int(0),
    	Synchronization: pulumi.String("string"),
    	TagResolveMode:  pulumi.String("string"),
    	Vdomparam:       pulumi.String("string"),
    	Vrf6s: router.BgpVrf6Array{
    		&router.BgpVrf6Args{
    			ExportRts: router.BgpVrf6ExportRtArray{
    				&router.BgpVrf6ExportRtArgs{
    					RouteTarget: pulumi.String("string"),
    				},
    			},
    			ImportRouteMap: pulumi.String("string"),
    			ImportRts: router.BgpVrf6ImportRtArray{
    				&router.BgpVrf6ImportRtArgs{
    					RouteTarget: pulumi.String("string"),
    				},
    			},
    			LeakTargets: router.BgpVrf6LeakTargetArray{
    				&router.BgpVrf6LeakTargetArgs{
    					Interface: pulumi.String("string"),
    					RouteMap:  pulumi.String("string"),
    					Vrf:       pulumi.String("string"),
    				},
    			},
    			Rd:   pulumi.String("string"),
    			Role: pulumi.String("string"),
    			Vrf:  pulumi.String("string"),
    		},
    	},
    	VrfLeak6s: router.BgpVrfLeak6Array{
    		&router.BgpVrfLeak6Args{
    			Targets: router.BgpVrfLeak6TargetArray{
    				&router.BgpVrfLeak6TargetArgs{
    					Interface: pulumi.String("string"),
    					RouteMap:  pulumi.String("string"),
    					Vrf:       pulumi.String("string"),
    				},
    			},
    			Vrf: pulumi.String("string"),
    		},
    	},
    	VrfLeaks: router.BgpVrfLeakArray{
    		&router.BgpVrfLeakArgs{
    			Targets: router.BgpVrfLeakTargetArray{
    				&router.BgpVrfLeakTargetArgs{
    					Interface: pulumi.String("string"),
    					RouteMap:  pulumi.String("string"),
    					Vrf:       pulumi.String("string"),
    				},
    			},
    			Vrf: pulumi.String("string"),
    		},
    	},
    	Vrves: router.BgpVrfArray{
    		&router.BgpVrfArgs{
    			ExportRts: router.BgpVrfExportRtArray{
    				&router.BgpVrfExportRtArgs{
    					RouteTarget: pulumi.String("string"),
    				},
    			},
    			ImportRouteMap: pulumi.String("string"),
    			ImportRts: router.BgpVrfImportRtArray{
    				&router.BgpVrfImportRtArgs{
    					RouteTarget: pulumi.String("string"),
    				},
    			},
    			LeakTargets: router.BgpVrfLeakTargetArray{
    				&router.BgpVrfLeakTargetArgs{
    					Interface: pulumi.String("string"),
    					RouteMap:  pulumi.String("string"),
    					Vrf:       pulumi.String("string"),
    				},
    			},
    			Rd:   pulumi.String("string"),
    			Role: pulumi.String("string"),
    			Vrf:  pulumi.String("string"),
    		},
    	},
    })
    
    var bgpResource = new Bgp("bgpResource", BgpArgs.builder()
        .additionalPath("string")
        .additionalPath6("string")
        .additionalPathSelect(0)
        .additionalPathSelect6(0)
        .additionalPathSelectVpnv4(0)
        .additionalPathSelectVpnv6(0)
        .additionalPathVpnv4("string")
        .additionalPathVpnv6("string")
        .adminDistances(BgpAdminDistanceArgs.builder()
            .distance(0)
            .id(0)
            .neighbourPrefix("string")
            .routeList("string")
            .build())
        .aggregateAddress6s(BgpAggregateAddress6Args.builder()
            .asSet("string")
            .id(0)
            .prefix6("string")
            .summaryOnly("string")
            .build())
        .aggregateAddresses(BgpAggregateAddressArgs.builder()
            .asSet("string")
            .id(0)
            .prefix("string")
            .summaryOnly("string")
            .build())
        .alwaysCompareMed("string")
        .as(0)
        .asString("string")
        .bestpathAsPathIgnore("string")
        .bestpathCmpConfedAspath("string")
        .bestpathCmpRouterid("string")
        .bestpathMedConfed("string")
        .bestpathMedMissingAsWorst("string")
        .clientToClientReflection("string")
        .clusterId("string")
        .confederationIdentifier(0)
        .confederationPeers(BgpConfederationPeerArgs.builder()
            .peer("string")
            .build())
        .crossFamilyConditionalAdv("string")
        .dampening("string")
        .dampeningMaxSuppressTime(0)
        .dampeningReachabilityHalfLife(0)
        .dampeningReuse(0)
        .dampeningRouteMap("string")
        .dampeningSuppress(0)
        .dampeningUnreachabilityHalfLife(0)
        .defaultLocalPreference(0)
        .deterministicMed("string")
        .distanceExternal(0)
        .distanceInternal(0)
        .distanceLocal(0)
        .dynamicSortSubtable("string")
        .ebgpMultipath("string")
        .enforceFirstAs("string")
        .fastExternalFailover("string")
        .getAllTables("string")
        .gracefulEndOnTimer("string")
        .gracefulRestart("string")
        .gracefulRestartTime(0)
        .gracefulStalepathTime(0)
        .gracefulUpdateDelay(0)
        .holdtimeTimer(0)
        .ibgpMultipath("string")
        .ignoreOptionalCapability("string")
        .keepaliveTimer(0)
        .logNeighbourChanges("string")
        .multipathRecursiveDistance("string")
        .neighborGroups(BgpNeighborGroupArgs.builder()
            .activate("string")
            .activate6("string")
            .activateEvpn("string")
            .activateVpnv4("string")
            .activateVpnv6("string")
            .additionalPath("string")
            .additionalPath6("string")
            .additionalPathVpnv4("string")
            .additionalPathVpnv6("string")
            .advAdditionalPath(0)
            .advAdditionalPath6(0)
            .advAdditionalPathVpnv4(0)
            .advAdditionalPathVpnv6(0)
            .advertisementInterval(0)
            .allowasIn(0)
            .allowasIn6(0)
            .allowasInEnable("string")
            .allowasInEnable6("string")
            .allowasInEnableEvpn("string")
            .allowasInEnableVpnv4("string")
            .allowasInEnableVpnv6("string")
            .allowasInEvpn(0)
            .allowasInVpnv4(0)
            .allowasInVpnv6(0)
            .asOverride("string")
            .asOverride6("string")
            .attributeUnchanged("string")
            .attributeUnchanged6("string")
            .attributeUnchangedVpnv4("string")
            .attributeUnchangedVpnv6("string")
            .authOptions("string")
            .bfd("string")
            .capabilityDefaultOriginate("string")
            .capabilityDefaultOriginate6("string")
            .capabilityDynamic("string")
            .capabilityGracefulRestart("string")
            .capabilityGracefulRestart6("string")
            .capabilityGracefulRestartEvpn("string")
            .capabilityGracefulRestartVpnv4("string")
            .capabilityGracefulRestartVpnv6("string")
            .capabilityOrf("string")
            .capabilityOrf6("string")
            .capabilityRouteRefresh("string")
            .connectTimer(0)
            .defaultOriginateRoutemap("string")
            .defaultOriginateRoutemap6("string")
            .description("string")
            .distributeListIn("string")
            .distributeListIn6("string")
            .distributeListInVpnv4("string")
            .distributeListInVpnv6("string")
            .distributeListOut("string")
            .distributeListOut6("string")
            .distributeListOutVpnv4("string")
            .distributeListOutVpnv6("string")
            .dontCapabilityNegotiate("string")
            .ebgpEnforceMultihop("string")
            .ebgpMultihopTtl(0)
            .filterListIn("string")
            .filterListIn6("string")
            .filterListInVpnv4("string")
            .filterListInVpnv6("string")
            .filterListOut("string")
            .filterListOut6("string")
            .filterListOutVpnv4("string")
            .filterListOutVpnv6("string")
            .holdtimeTimer(0)
            .interface_("string")
            .keepAliveTimer(0)
            .linkDownFailover("string")
            .localAs(0)
            .localAsNoPrepend("string")
            .localAsReplaceAs("string")
            .maximumPrefix(0)
            .maximumPrefix6(0)
            .maximumPrefixEvpn(0)
            .maximumPrefixThreshold(0)
            .maximumPrefixThreshold6(0)
            .maximumPrefixThresholdEvpn(0)
            .maximumPrefixThresholdVpnv4(0)
            .maximumPrefixThresholdVpnv6(0)
            .maximumPrefixVpnv4(0)
            .maximumPrefixVpnv6(0)
            .maximumPrefixWarningOnly("string")
            .maximumPrefixWarningOnly6("string")
            .maximumPrefixWarningOnlyEvpn("string")
            .maximumPrefixWarningOnlyVpnv4("string")
            .maximumPrefixWarningOnlyVpnv6("string")
            .name("string")
            .nextHopSelf("string")
            .nextHopSelf6("string")
            .nextHopSelfRr("string")
            .nextHopSelfRr6("string")
            .nextHopSelfVpnv4("string")
            .nextHopSelfVpnv6("string")
            .overrideCapability("string")
            .passive("string")
            .password("string")
            .prefixListIn("string")
            .prefixListIn6("string")
            .prefixListInVpnv4("string")
            .prefixListInVpnv6("string")
            .prefixListOut("string")
            .prefixListOut6("string")
            .prefixListOutVpnv4("string")
            .prefixListOutVpnv6("string")
            .remoteAs(0)
            .remoteAsFilter("string")
            .removePrivateAs("string")
            .removePrivateAs6("string")
            .removePrivateAsEvpn("string")
            .removePrivateAsVpnv4("string")
            .removePrivateAsVpnv6("string")
            .restartTime(0)
            .retainStaleTime(0)
            .routeMapIn("string")
            .routeMapIn6("string")
            .routeMapInEvpn("string")
            .routeMapInVpnv4("string")
            .routeMapInVpnv6("string")
            .routeMapOut("string")
            .routeMapOut6("string")
            .routeMapOut6Preferable("string")
            .routeMapOutEvpn("string")
            .routeMapOutPreferable("string")
            .routeMapOutVpnv4("string")
            .routeMapOutVpnv4Preferable("string")
            .routeMapOutVpnv6("string")
            .routeMapOutVpnv6Preferable("string")
            .routeReflectorClient("string")
            .routeReflectorClient6("string")
            .routeReflectorClientEvpn("string")
            .routeReflectorClientVpnv4("string")
            .routeReflectorClientVpnv6("string")
            .routeServerClient("string")
            .routeServerClient6("string")
            .routeServerClientEvpn("string")
            .routeServerClientVpnv4("string")
            .routeServerClientVpnv6("string")
            .sendCommunity("string")
            .sendCommunity6("string")
            .sendCommunityEvpn("string")
            .sendCommunityVpnv4("string")
            .sendCommunityVpnv6("string")
            .shutdown("string")
            .softReconfiguration("string")
            .softReconfiguration6("string")
            .softReconfigurationEvpn("string")
            .softReconfigurationVpnv4("string")
            .softReconfigurationVpnv6("string")
            .staleRoute("string")
            .strictCapabilityMatch("string")
            .unsuppressMap("string")
            .unsuppressMap6("string")
            .updateSource("string")
            .weight(0)
            .build())
        .neighborRange6s(BgpNeighborRange6Args.builder()
            .id(0)
            .maxNeighborNum(0)
            .neighborGroup("string")
            .prefix6("string")
            .build())
        .neighborRanges(BgpNeighborRangeArgs.builder()
            .id(0)
            .maxNeighborNum(0)
            .neighborGroup("string")
            .prefix("string")
            .build())
        .neighbors(BgpNeighborArgs.builder()
            .activate("string")
            .activate6("string")
            .activateEvpn("string")
            .activateVpnv4("string")
            .activateVpnv6("string")
            .additionalPath("string")
            .additionalPath6("string")
            .additionalPathVpnv4("string")
            .additionalPathVpnv6("string")
            .advAdditionalPath(0)
            .advAdditionalPath6(0)
            .advAdditionalPathVpnv4(0)
            .advAdditionalPathVpnv6(0)
            .advertisementInterval(0)
            .allowasIn(0)
            .allowasIn6(0)
            .allowasInEnable("string")
            .allowasInEnable6("string")
            .allowasInEnableEvpn("string")
            .allowasInEnableVpnv4("string")
            .allowasInEnableVpnv6("string")
            .allowasInEvpn(0)
            .allowasInVpnv4(0)
            .allowasInVpnv6(0)
            .asOverride("string")
            .asOverride6("string")
            .attributeUnchanged("string")
            .attributeUnchanged6("string")
            .attributeUnchangedVpnv4("string")
            .attributeUnchangedVpnv6("string")
            .authOptions("string")
            .bfd("string")
            .capabilityDefaultOriginate("string")
            .capabilityDefaultOriginate6("string")
            .capabilityDynamic("string")
            .capabilityGracefulRestart("string")
            .capabilityGracefulRestart6("string")
            .capabilityGracefulRestartEvpn("string")
            .capabilityGracefulRestartVpnv4("string")
            .capabilityGracefulRestartVpnv6("string")
            .capabilityOrf("string")
            .capabilityOrf6("string")
            .capabilityRouteRefresh("string")
            .conditionalAdvertise6s(BgpNeighborConditionalAdvertise6Args.builder()
                .advertiseRoutemap("string")
                .conditionRoutemap("string")
                .conditionType("string")
                .build())
            .conditionalAdvertises(BgpNeighborConditionalAdvertiseArgs.builder()
                .advertiseRoutemap("string")
                .conditionRoutemap("string")
                .conditionType("string")
                .build())
            .connectTimer(0)
            .defaultOriginateRoutemap("string")
            .defaultOriginateRoutemap6("string")
            .description("string")
            .distributeListIn("string")
            .distributeListIn6("string")
            .distributeListInVpnv4("string")
            .distributeListInVpnv6("string")
            .distributeListOut("string")
            .distributeListOut6("string")
            .distributeListOutVpnv4("string")
            .distributeListOutVpnv6("string")
            .dontCapabilityNegotiate("string")
            .ebgpEnforceMultihop("string")
            .ebgpMultihopTtl(0)
            .filterListIn("string")
            .filterListIn6("string")
            .filterListInVpnv4("string")
            .filterListInVpnv6("string")
            .filterListOut("string")
            .filterListOut6("string")
            .filterListOutVpnv4("string")
            .filterListOutVpnv6("string")
            .holdtimeTimer(0)
            .interface_("string")
            .ip("string")
            .keepAliveTimer(0)
            .linkDownFailover("string")
            .localAs(0)
            .localAsNoPrepend("string")
            .localAsReplaceAs("string")
            .maximumPrefix(0)
            .maximumPrefix6(0)
            .maximumPrefixEvpn(0)
            .maximumPrefixThreshold(0)
            .maximumPrefixThreshold6(0)
            .maximumPrefixThresholdEvpn(0)
            .maximumPrefixThresholdVpnv4(0)
            .maximumPrefixThresholdVpnv6(0)
            .maximumPrefixVpnv4(0)
            .maximumPrefixVpnv6(0)
            .maximumPrefixWarningOnly("string")
            .maximumPrefixWarningOnly6("string")
            .maximumPrefixWarningOnlyEvpn("string")
            .maximumPrefixWarningOnlyVpnv4("string")
            .maximumPrefixWarningOnlyVpnv6("string")
            .nextHopSelf("string")
            .nextHopSelf6("string")
            .nextHopSelfRr("string")
            .nextHopSelfRr6("string")
            .nextHopSelfVpnv4("string")
            .nextHopSelfVpnv6("string")
            .overrideCapability("string")
            .passive("string")
            .password("string")
            .prefixListIn("string")
            .prefixListIn6("string")
            .prefixListInVpnv4("string")
            .prefixListInVpnv6("string")
            .prefixListOut("string")
            .prefixListOut6("string")
            .prefixListOutVpnv4("string")
            .prefixListOutVpnv6("string")
            .remoteAs(0)
            .removePrivateAs("string")
            .removePrivateAs6("string")
            .removePrivateAsEvpn("string")
            .removePrivateAsVpnv4("string")
            .removePrivateAsVpnv6("string")
            .restartTime(0)
            .retainStaleTime(0)
            .routeMapIn("string")
            .routeMapIn6("string")
            .routeMapInEvpn("string")
            .routeMapInVpnv4("string")
            .routeMapInVpnv6("string")
            .routeMapOut("string")
            .routeMapOut6("string")
            .routeMapOut6Preferable("string")
            .routeMapOutEvpn("string")
            .routeMapOutPreferable("string")
            .routeMapOutVpnv4("string")
            .routeMapOutVpnv4Preferable("string")
            .routeMapOutVpnv6("string")
            .routeMapOutVpnv6Preferable("string")
            .routeReflectorClient("string")
            .routeReflectorClient6("string")
            .routeReflectorClientEvpn("string")
            .routeReflectorClientVpnv4("string")
            .routeReflectorClientVpnv6("string")
            .routeServerClient("string")
            .routeServerClient6("string")
            .routeServerClientEvpn("string")
            .routeServerClientVpnv4("string")
            .routeServerClientVpnv6("string")
            .sendCommunity("string")
            .sendCommunity6("string")
            .sendCommunityEvpn("string")
            .sendCommunityVpnv4("string")
            .sendCommunityVpnv6("string")
            .shutdown("string")
            .softReconfiguration("string")
            .softReconfiguration6("string")
            .softReconfigurationEvpn("string")
            .softReconfigurationVpnv4("string")
            .softReconfigurationVpnv6("string")
            .staleRoute("string")
            .strictCapabilityMatch("string")
            .unsuppressMap("string")
            .unsuppressMap6("string")
            .updateSource("string")
            .weight(0)
            .build())
        .network6s(BgpNetwork6Args.builder()
            .backdoor("string")
            .id(0)
            .networkImportCheck("string")
            .prefix6("string")
            .routeMap("string")
            .build())
        .networkImportCheck("string")
        .networks(BgpNetworkArgs.builder()
            .backdoor("string")
            .id(0)
            .networkImportCheck("string")
            .prefix("string")
            .routeMap("string")
            .build())
        .recursiveInheritPriority("string")
        .recursiveNextHop("string")
        .redistribute6s(BgpRedistribute6Args.builder()
            .name("string")
            .routeMap("string")
            .status("string")
            .build())
        .redistributes(BgpRedistributeArgs.builder()
            .name("string")
            .routeMap("string")
            .status("string")
            .build())
        .routerId("string")
        .scanTime(0)
        .synchronization("string")
        .tagResolveMode("string")
        .vdomparam("string")
        .vrf6s(BgpVrf6Args.builder()
            .exportRts(BgpVrf6ExportRtArgs.builder()
                .routeTarget("string")
                .build())
            .importRouteMap("string")
            .importRts(BgpVrf6ImportRtArgs.builder()
                .routeTarget("string")
                .build())
            .leakTargets(BgpVrf6LeakTargetArgs.builder()
                .interface_("string")
                .routeMap("string")
                .vrf("string")
                .build())
            .rd("string")
            .role("string")
            .vrf("string")
            .build())
        .vrfLeak6s(BgpVrfLeak6Args.builder()
            .targets(BgpVrfLeak6TargetArgs.builder()
                .interface_("string")
                .routeMap("string")
                .vrf("string")
                .build())
            .vrf("string")
            .build())
        .vrfLeaks(BgpVrfLeakArgs.builder()
            .targets(BgpVrfLeakTargetArgs.builder()
                .interface_("string")
                .routeMap("string")
                .vrf("string")
                .build())
            .vrf("string")
            .build())
        .vrves(BgpVrfArgs.builder()
            .exportRts(BgpVrfExportRtArgs.builder()
                .routeTarget("string")
                .build())
            .importRouteMap("string")
            .importRts(BgpVrfImportRtArgs.builder()
                .routeTarget("string")
                .build())
            .leakTargets(BgpVrfLeakTargetArgs.builder()
                .interface_("string")
                .routeMap("string")
                .vrf("string")
                .build())
            .rd("string")
            .role("string")
            .vrf("string")
            .build())
        .build());
    
    bgp_resource = fortios.router.Bgp("bgpResource",
        additional_path="string",
        additional_path6="string",
        additional_path_select=0,
        additional_path_select6=0,
        additional_path_select_vpnv4=0,
        additional_path_select_vpnv6=0,
        additional_path_vpnv4="string",
        additional_path_vpnv6="string",
        admin_distances=[fortios.router.BgpAdminDistanceArgs(
            distance=0,
            id=0,
            neighbour_prefix="string",
            route_list="string",
        )],
        aggregate_address6s=[fortios.router.BgpAggregateAddress6Args(
            as_set="string",
            id=0,
            prefix6="string",
            summary_only="string",
        )],
        aggregate_addresses=[fortios.router.BgpAggregateAddressArgs(
            as_set="string",
            id=0,
            prefix="string",
            summary_only="string",
        )],
        always_compare_med="string",
        as_=0,
        as_string="string",
        bestpath_as_path_ignore="string",
        bestpath_cmp_confed_aspath="string",
        bestpath_cmp_routerid="string",
        bestpath_med_confed="string",
        bestpath_med_missing_as_worst="string",
        client_to_client_reflection="string",
        cluster_id="string",
        confederation_identifier=0,
        confederation_peers=[fortios.router.BgpConfederationPeerArgs(
            peer="string",
        )],
        cross_family_conditional_adv="string",
        dampening="string",
        dampening_max_suppress_time=0,
        dampening_reachability_half_life=0,
        dampening_reuse=0,
        dampening_route_map="string",
        dampening_suppress=0,
        dampening_unreachability_half_life=0,
        default_local_preference=0,
        deterministic_med="string",
        distance_external=0,
        distance_internal=0,
        distance_local=0,
        dynamic_sort_subtable="string",
        ebgp_multipath="string",
        enforce_first_as="string",
        fast_external_failover="string",
        get_all_tables="string",
        graceful_end_on_timer="string",
        graceful_restart="string",
        graceful_restart_time=0,
        graceful_stalepath_time=0,
        graceful_update_delay=0,
        holdtime_timer=0,
        ibgp_multipath="string",
        ignore_optional_capability="string",
        keepalive_timer=0,
        log_neighbour_changes="string",
        multipath_recursive_distance="string",
        neighbor_groups=[fortios.router.BgpNeighborGroupArgs(
            activate="string",
            activate6="string",
            activate_evpn="string",
            activate_vpnv4="string",
            activate_vpnv6="string",
            additional_path="string",
            additional_path6="string",
            additional_path_vpnv4="string",
            additional_path_vpnv6="string",
            adv_additional_path=0,
            adv_additional_path6=0,
            adv_additional_path_vpnv4=0,
            adv_additional_path_vpnv6=0,
            advertisement_interval=0,
            allowas_in=0,
            allowas_in6=0,
            allowas_in_enable="string",
            allowas_in_enable6="string",
            allowas_in_enable_evpn="string",
            allowas_in_enable_vpnv4="string",
            allowas_in_enable_vpnv6="string",
            allowas_in_evpn=0,
            allowas_in_vpnv4=0,
            allowas_in_vpnv6=0,
            as_override="string",
            as_override6="string",
            attribute_unchanged="string",
            attribute_unchanged6="string",
            attribute_unchanged_vpnv4="string",
            attribute_unchanged_vpnv6="string",
            auth_options="string",
            bfd="string",
            capability_default_originate="string",
            capability_default_originate6="string",
            capability_dynamic="string",
            capability_graceful_restart="string",
            capability_graceful_restart6="string",
            capability_graceful_restart_evpn="string",
            capability_graceful_restart_vpnv4="string",
            capability_graceful_restart_vpnv6="string",
            capability_orf="string",
            capability_orf6="string",
            capability_route_refresh="string",
            connect_timer=0,
            default_originate_routemap="string",
            default_originate_routemap6="string",
            description="string",
            distribute_list_in="string",
            distribute_list_in6="string",
            distribute_list_in_vpnv4="string",
            distribute_list_in_vpnv6="string",
            distribute_list_out="string",
            distribute_list_out6="string",
            distribute_list_out_vpnv4="string",
            distribute_list_out_vpnv6="string",
            dont_capability_negotiate="string",
            ebgp_enforce_multihop="string",
            ebgp_multihop_ttl=0,
            filter_list_in="string",
            filter_list_in6="string",
            filter_list_in_vpnv4="string",
            filter_list_in_vpnv6="string",
            filter_list_out="string",
            filter_list_out6="string",
            filter_list_out_vpnv4="string",
            filter_list_out_vpnv6="string",
            holdtime_timer=0,
            interface="string",
            keep_alive_timer=0,
            link_down_failover="string",
            local_as=0,
            local_as_no_prepend="string",
            local_as_replace_as="string",
            maximum_prefix=0,
            maximum_prefix6=0,
            maximum_prefix_evpn=0,
            maximum_prefix_threshold=0,
            maximum_prefix_threshold6=0,
            maximum_prefix_threshold_evpn=0,
            maximum_prefix_threshold_vpnv4=0,
            maximum_prefix_threshold_vpnv6=0,
            maximum_prefix_vpnv4=0,
            maximum_prefix_vpnv6=0,
            maximum_prefix_warning_only="string",
            maximum_prefix_warning_only6="string",
            maximum_prefix_warning_only_evpn="string",
            maximum_prefix_warning_only_vpnv4="string",
            maximum_prefix_warning_only_vpnv6="string",
            name="string",
            next_hop_self="string",
            next_hop_self6="string",
            next_hop_self_rr="string",
            next_hop_self_rr6="string",
            next_hop_self_vpnv4="string",
            next_hop_self_vpnv6="string",
            override_capability="string",
            passive="string",
            password="string",
            prefix_list_in="string",
            prefix_list_in6="string",
            prefix_list_in_vpnv4="string",
            prefix_list_in_vpnv6="string",
            prefix_list_out="string",
            prefix_list_out6="string",
            prefix_list_out_vpnv4="string",
            prefix_list_out_vpnv6="string",
            remote_as=0,
            remote_as_filter="string",
            remove_private_as="string",
            remove_private_as6="string",
            remove_private_as_evpn="string",
            remove_private_as_vpnv4="string",
            remove_private_as_vpnv6="string",
            restart_time=0,
            retain_stale_time=0,
            route_map_in="string",
            route_map_in6="string",
            route_map_in_evpn="string",
            route_map_in_vpnv4="string",
            route_map_in_vpnv6="string",
            route_map_out="string",
            route_map_out6="string",
            route_map_out6_preferable="string",
            route_map_out_evpn="string",
            route_map_out_preferable="string",
            route_map_out_vpnv4="string",
            route_map_out_vpnv4_preferable="string",
            route_map_out_vpnv6="string",
            route_map_out_vpnv6_preferable="string",
            route_reflector_client="string",
            route_reflector_client6="string",
            route_reflector_client_evpn="string",
            route_reflector_client_vpnv4="string",
            route_reflector_client_vpnv6="string",
            route_server_client="string",
            route_server_client6="string",
            route_server_client_evpn="string",
            route_server_client_vpnv4="string",
            route_server_client_vpnv6="string",
            send_community="string",
            send_community6="string",
            send_community_evpn="string",
            send_community_vpnv4="string",
            send_community_vpnv6="string",
            shutdown="string",
            soft_reconfiguration="string",
            soft_reconfiguration6="string",
            soft_reconfiguration_evpn="string",
            soft_reconfiguration_vpnv4="string",
            soft_reconfiguration_vpnv6="string",
            stale_route="string",
            strict_capability_match="string",
            unsuppress_map="string",
            unsuppress_map6="string",
            update_source="string",
            weight=0,
        )],
        neighbor_range6s=[fortios.router.BgpNeighborRange6Args(
            id=0,
            max_neighbor_num=0,
            neighbor_group="string",
            prefix6="string",
        )],
        neighbor_ranges=[fortios.router.BgpNeighborRangeArgs(
            id=0,
            max_neighbor_num=0,
            neighbor_group="string",
            prefix="string",
        )],
        neighbors=[fortios.router.BgpNeighborArgs(
            activate="string",
            activate6="string",
            activate_evpn="string",
            activate_vpnv4="string",
            activate_vpnv6="string",
            additional_path="string",
            additional_path6="string",
            additional_path_vpnv4="string",
            additional_path_vpnv6="string",
            adv_additional_path=0,
            adv_additional_path6=0,
            adv_additional_path_vpnv4=0,
            adv_additional_path_vpnv6=0,
            advertisement_interval=0,
            allowas_in=0,
            allowas_in6=0,
            allowas_in_enable="string",
            allowas_in_enable6="string",
            allowas_in_enable_evpn="string",
            allowas_in_enable_vpnv4="string",
            allowas_in_enable_vpnv6="string",
            allowas_in_evpn=0,
            allowas_in_vpnv4=0,
            allowas_in_vpnv6=0,
            as_override="string",
            as_override6="string",
            attribute_unchanged="string",
            attribute_unchanged6="string",
            attribute_unchanged_vpnv4="string",
            attribute_unchanged_vpnv6="string",
            auth_options="string",
            bfd="string",
            capability_default_originate="string",
            capability_default_originate6="string",
            capability_dynamic="string",
            capability_graceful_restart="string",
            capability_graceful_restart6="string",
            capability_graceful_restart_evpn="string",
            capability_graceful_restart_vpnv4="string",
            capability_graceful_restart_vpnv6="string",
            capability_orf="string",
            capability_orf6="string",
            capability_route_refresh="string",
            conditional_advertise6s=[fortios.router.BgpNeighborConditionalAdvertise6Args(
                advertise_routemap="string",
                condition_routemap="string",
                condition_type="string",
            )],
            conditional_advertises=[fortios.router.BgpNeighborConditionalAdvertiseArgs(
                advertise_routemap="string",
                condition_routemap="string",
                condition_type="string",
            )],
            connect_timer=0,
            default_originate_routemap="string",
            default_originate_routemap6="string",
            description="string",
            distribute_list_in="string",
            distribute_list_in6="string",
            distribute_list_in_vpnv4="string",
            distribute_list_in_vpnv6="string",
            distribute_list_out="string",
            distribute_list_out6="string",
            distribute_list_out_vpnv4="string",
            distribute_list_out_vpnv6="string",
            dont_capability_negotiate="string",
            ebgp_enforce_multihop="string",
            ebgp_multihop_ttl=0,
            filter_list_in="string",
            filter_list_in6="string",
            filter_list_in_vpnv4="string",
            filter_list_in_vpnv6="string",
            filter_list_out="string",
            filter_list_out6="string",
            filter_list_out_vpnv4="string",
            filter_list_out_vpnv6="string",
            holdtime_timer=0,
            interface="string",
            ip="string",
            keep_alive_timer=0,
            link_down_failover="string",
            local_as=0,
            local_as_no_prepend="string",
            local_as_replace_as="string",
            maximum_prefix=0,
            maximum_prefix6=0,
            maximum_prefix_evpn=0,
            maximum_prefix_threshold=0,
            maximum_prefix_threshold6=0,
            maximum_prefix_threshold_evpn=0,
            maximum_prefix_threshold_vpnv4=0,
            maximum_prefix_threshold_vpnv6=0,
            maximum_prefix_vpnv4=0,
            maximum_prefix_vpnv6=0,
            maximum_prefix_warning_only="string",
            maximum_prefix_warning_only6="string",
            maximum_prefix_warning_only_evpn="string",
            maximum_prefix_warning_only_vpnv4="string",
            maximum_prefix_warning_only_vpnv6="string",
            next_hop_self="string",
            next_hop_self6="string",
            next_hop_self_rr="string",
            next_hop_self_rr6="string",
            next_hop_self_vpnv4="string",
            next_hop_self_vpnv6="string",
            override_capability="string",
            passive="string",
            password="string",
            prefix_list_in="string",
            prefix_list_in6="string",
            prefix_list_in_vpnv4="string",
            prefix_list_in_vpnv6="string",
            prefix_list_out="string",
            prefix_list_out6="string",
            prefix_list_out_vpnv4="string",
            prefix_list_out_vpnv6="string",
            remote_as=0,
            remove_private_as="string",
            remove_private_as6="string",
            remove_private_as_evpn="string",
            remove_private_as_vpnv4="string",
            remove_private_as_vpnv6="string",
            restart_time=0,
            retain_stale_time=0,
            route_map_in="string",
            route_map_in6="string",
            route_map_in_evpn="string",
            route_map_in_vpnv4="string",
            route_map_in_vpnv6="string",
            route_map_out="string",
            route_map_out6="string",
            route_map_out6_preferable="string",
            route_map_out_evpn="string",
            route_map_out_preferable="string",
            route_map_out_vpnv4="string",
            route_map_out_vpnv4_preferable="string",
            route_map_out_vpnv6="string",
            route_map_out_vpnv6_preferable="string",
            route_reflector_client="string",
            route_reflector_client6="string",
            route_reflector_client_evpn="string",
            route_reflector_client_vpnv4="string",
            route_reflector_client_vpnv6="string",
            route_server_client="string",
            route_server_client6="string",
            route_server_client_evpn="string",
            route_server_client_vpnv4="string",
            route_server_client_vpnv6="string",
            send_community="string",
            send_community6="string",
            send_community_evpn="string",
            send_community_vpnv4="string",
            send_community_vpnv6="string",
            shutdown="string",
            soft_reconfiguration="string",
            soft_reconfiguration6="string",
            soft_reconfiguration_evpn="string",
            soft_reconfiguration_vpnv4="string",
            soft_reconfiguration_vpnv6="string",
            stale_route="string",
            strict_capability_match="string",
            unsuppress_map="string",
            unsuppress_map6="string",
            update_source="string",
            weight=0,
        )],
        network6s=[fortios.router.BgpNetwork6Args(
            backdoor="string",
            id=0,
            network_import_check="string",
            prefix6="string",
            route_map="string",
        )],
        network_import_check="string",
        networks=[fortios.router.BgpNetworkArgs(
            backdoor="string",
            id=0,
            network_import_check="string",
            prefix="string",
            route_map="string",
        )],
        recursive_inherit_priority="string",
        recursive_next_hop="string",
        redistribute6s=[fortios.router.BgpRedistribute6Args(
            name="string",
            route_map="string",
            status="string",
        )],
        redistributes=[fortios.router.BgpRedistributeArgs(
            name="string",
            route_map="string",
            status="string",
        )],
        router_id="string",
        scan_time=0,
        synchronization="string",
        tag_resolve_mode="string",
        vdomparam="string",
        vrf6s=[fortios.router.BgpVrf6Args(
            export_rts=[fortios.router.BgpVrf6ExportRtArgs(
                route_target="string",
            )],
            import_route_map="string",
            import_rts=[fortios.router.BgpVrf6ImportRtArgs(
                route_target="string",
            )],
            leak_targets=[fortios.router.BgpVrf6LeakTargetArgs(
                interface="string",
                route_map="string",
                vrf="string",
            )],
            rd="string",
            role="string",
            vrf="string",
        )],
        vrf_leak6s=[fortios.router.BgpVrfLeak6Args(
            targets=[fortios.router.BgpVrfLeak6TargetArgs(
                interface="string",
                route_map="string",
                vrf="string",
            )],
            vrf="string",
        )],
        vrf_leaks=[fortios.router.BgpVrfLeakArgs(
            targets=[fortios.router.BgpVrfLeakTargetArgs(
                interface="string",
                route_map="string",
                vrf="string",
            )],
            vrf="string",
        )],
        vrves=[fortios.router.BgpVrfArgs(
            export_rts=[fortios.router.BgpVrfExportRtArgs(
                route_target="string",
            )],
            import_route_map="string",
            import_rts=[fortios.router.BgpVrfImportRtArgs(
                route_target="string",
            )],
            leak_targets=[fortios.router.BgpVrfLeakTargetArgs(
                interface="string",
                route_map="string",
                vrf="string",
            )],
            rd="string",
            role="string",
            vrf="string",
        )])
    
    const bgpResource = new fortios.router.Bgp("bgpResource", {
        additionalPath: "string",
        additionalPath6: "string",
        additionalPathSelect: 0,
        additionalPathSelect6: 0,
        additionalPathSelectVpnv4: 0,
        additionalPathSelectVpnv6: 0,
        additionalPathVpnv4: "string",
        additionalPathVpnv6: "string",
        adminDistances: [{
            distance: 0,
            id: 0,
            neighbourPrefix: "string",
            routeList: "string",
        }],
        aggregateAddress6s: [{
            asSet: "string",
            id: 0,
            prefix6: "string",
            summaryOnly: "string",
        }],
        aggregateAddresses: [{
            asSet: "string",
            id: 0,
            prefix: "string",
            summaryOnly: "string",
        }],
        alwaysCompareMed: "string",
        as: 0,
        asString: "string",
        bestpathAsPathIgnore: "string",
        bestpathCmpConfedAspath: "string",
        bestpathCmpRouterid: "string",
        bestpathMedConfed: "string",
        bestpathMedMissingAsWorst: "string",
        clientToClientReflection: "string",
        clusterId: "string",
        confederationIdentifier: 0,
        confederationPeers: [{
            peer: "string",
        }],
        crossFamilyConditionalAdv: "string",
        dampening: "string",
        dampeningMaxSuppressTime: 0,
        dampeningReachabilityHalfLife: 0,
        dampeningReuse: 0,
        dampeningRouteMap: "string",
        dampeningSuppress: 0,
        dampeningUnreachabilityHalfLife: 0,
        defaultLocalPreference: 0,
        deterministicMed: "string",
        distanceExternal: 0,
        distanceInternal: 0,
        distanceLocal: 0,
        dynamicSortSubtable: "string",
        ebgpMultipath: "string",
        enforceFirstAs: "string",
        fastExternalFailover: "string",
        getAllTables: "string",
        gracefulEndOnTimer: "string",
        gracefulRestart: "string",
        gracefulRestartTime: 0,
        gracefulStalepathTime: 0,
        gracefulUpdateDelay: 0,
        holdtimeTimer: 0,
        ibgpMultipath: "string",
        ignoreOptionalCapability: "string",
        keepaliveTimer: 0,
        logNeighbourChanges: "string",
        multipathRecursiveDistance: "string",
        neighborGroups: [{
            activate: "string",
            activate6: "string",
            activateEvpn: "string",
            activateVpnv4: "string",
            activateVpnv6: "string",
            additionalPath: "string",
            additionalPath6: "string",
            additionalPathVpnv4: "string",
            additionalPathVpnv6: "string",
            advAdditionalPath: 0,
            advAdditionalPath6: 0,
            advAdditionalPathVpnv4: 0,
            advAdditionalPathVpnv6: 0,
            advertisementInterval: 0,
            allowasIn: 0,
            allowasIn6: 0,
            allowasInEnable: "string",
            allowasInEnable6: "string",
            allowasInEnableEvpn: "string",
            allowasInEnableVpnv4: "string",
            allowasInEnableVpnv6: "string",
            allowasInEvpn: 0,
            allowasInVpnv4: 0,
            allowasInVpnv6: 0,
            asOverride: "string",
            asOverride6: "string",
            attributeUnchanged: "string",
            attributeUnchanged6: "string",
            attributeUnchangedVpnv4: "string",
            attributeUnchangedVpnv6: "string",
            authOptions: "string",
            bfd: "string",
            capabilityDefaultOriginate: "string",
            capabilityDefaultOriginate6: "string",
            capabilityDynamic: "string",
            capabilityGracefulRestart: "string",
            capabilityGracefulRestart6: "string",
            capabilityGracefulRestartEvpn: "string",
            capabilityGracefulRestartVpnv4: "string",
            capabilityGracefulRestartVpnv6: "string",
            capabilityOrf: "string",
            capabilityOrf6: "string",
            capabilityRouteRefresh: "string",
            connectTimer: 0,
            defaultOriginateRoutemap: "string",
            defaultOriginateRoutemap6: "string",
            description: "string",
            distributeListIn: "string",
            distributeListIn6: "string",
            distributeListInVpnv4: "string",
            distributeListInVpnv6: "string",
            distributeListOut: "string",
            distributeListOut6: "string",
            distributeListOutVpnv4: "string",
            distributeListOutVpnv6: "string",
            dontCapabilityNegotiate: "string",
            ebgpEnforceMultihop: "string",
            ebgpMultihopTtl: 0,
            filterListIn: "string",
            filterListIn6: "string",
            filterListInVpnv4: "string",
            filterListInVpnv6: "string",
            filterListOut: "string",
            filterListOut6: "string",
            filterListOutVpnv4: "string",
            filterListOutVpnv6: "string",
            holdtimeTimer: 0,
            "interface": "string",
            keepAliveTimer: 0,
            linkDownFailover: "string",
            localAs: 0,
            localAsNoPrepend: "string",
            localAsReplaceAs: "string",
            maximumPrefix: 0,
            maximumPrefix6: 0,
            maximumPrefixEvpn: 0,
            maximumPrefixThreshold: 0,
            maximumPrefixThreshold6: 0,
            maximumPrefixThresholdEvpn: 0,
            maximumPrefixThresholdVpnv4: 0,
            maximumPrefixThresholdVpnv6: 0,
            maximumPrefixVpnv4: 0,
            maximumPrefixVpnv6: 0,
            maximumPrefixWarningOnly: "string",
            maximumPrefixWarningOnly6: "string",
            maximumPrefixWarningOnlyEvpn: "string",
            maximumPrefixWarningOnlyVpnv4: "string",
            maximumPrefixWarningOnlyVpnv6: "string",
            name: "string",
            nextHopSelf: "string",
            nextHopSelf6: "string",
            nextHopSelfRr: "string",
            nextHopSelfRr6: "string",
            nextHopSelfVpnv4: "string",
            nextHopSelfVpnv6: "string",
            overrideCapability: "string",
            passive: "string",
            password: "string",
            prefixListIn: "string",
            prefixListIn6: "string",
            prefixListInVpnv4: "string",
            prefixListInVpnv6: "string",
            prefixListOut: "string",
            prefixListOut6: "string",
            prefixListOutVpnv4: "string",
            prefixListOutVpnv6: "string",
            remoteAs: 0,
            remoteAsFilter: "string",
            removePrivateAs: "string",
            removePrivateAs6: "string",
            removePrivateAsEvpn: "string",
            removePrivateAsVpnv4: "string",
            removePrivateAsVpnv6: "string",
            restartTime: 0,
            retainStaleTime: 0,
            routeMapIn: "string",
            routeMapIn6: "string",
            routeMapInEvpn: "string",
            routeMapInVpnv4: "string",
            routeMapInVpnv6: "string",
            routeMapOut: "string",
            routeMapOut6: "string",
            routeMapOut6Preferable: "string",
            routeMapOutEvpn: "string",
            routeMapOutPreferable: "string",
            routeMapOutVpnv4: "string",
            routeMapOutVpnv4Preferable: "string",
            routeMapOutVpnv6: "string",
            routeMapOutVpnv6Preferable: "string",
            routeReflectorClient: "string",
            routeReflectorClient6: "string",
            routeReflectorClientEvpn: "string",
            routeReflectorClientVpnv4: "string",
            routeReflectorClientVpnv6: "string",
            routeServerClient: "string",
            routeServerClient6: "string",
            routeServerClientEvpn: "string",
            routeServerClientVpnv4: "string",
            routeServerClientVpnv6: "string",
            sendCommunity: "string",
            sendCommunity6: "string",
            sendCommunityEvpn: "string",
            sendCommunityVpnv4: "string",
            sendCommunityVpnv6: "string",
            shutdown: "string",
            softReconfiguration: "string",
            softReconfiguration6: "string",
            softReconfigurationEvpn: "string",
            softReconfigurationVpnv4: "string",
            softReconfigurationVpnv6: "string",
            staleRoute: "string",
            strictCapabilityMatch: "string",
            unsuppressMap: "string",
            unsuppressMap6: "string",
            updateSource: "string",
            weight: 0,
        }],
        neighborRange6s: [{
            id: 0,
            maxNeighborNum: 0,
            neighborGroup: "string",
            prefix6: "string",
        }],
        neighborRanges: [{
            id: 0,
            maxNeighborNum: 0,
            neighborGroup: "string",
            prefix: "string",
        }],
        neighbors: [{
            activate: "string",
            activate6: "string",
            activateEvpn: "string",
            activateVpnv4: "string",
            activateVpnv6: "string",
            additionalPath: "string",
            additionalPath6: "string",
            additionalPathVpnv4: "string",
            additionalPathVpnv6: "string",
            advAdditionalPath: 0,
            advAdditionalPath6: 0,
            advAdditionalPathVpnv4: 0,
            advAdditionalPathVpnv6: 0,
            advertisementInterval: 0,
            allowasIn: 0,
            allowasIn6: 0,
            allowasInEnable: "string",
            allowasInEnable6: "string",
            allowasInEnableEvpn: "string",
            allowasInEnableVpnv4: "string",
            allowasInEnableVpnv6: "string",
            allowasInEvpn: 0,
            allowasInVpnv4: 0,
            allowasInVpnv6: 0,
            asOverride: "string",
            asOverride6: "string",
            attributeUnchanged: "string",
            attributeUnchanged6: "string",
            attributeUnchangedVpnv4: "string",
            attributeUnchangedVpnv6: "string",
            authOptions: "string",
            bfd: "string",
            capabilityDefaultOriginate: "string",
            capabilityDefaultOriginate6: "string",
            capabilityDynamic: "string",
            capabilityGracefulRestart: "string",
            capabilityGracefulRestart6: "string",
            capabilityGracefulRestartEvpn: "string",
            capabilityGracefulRestartVpnv4: "string",
            capabilityGracefulRestartVpnv6: "string",
            capabilityOrf: "string",
            capabilityOrf6: "string",
            capabilityRouteRefresh: "string",
            conditionalAdvertise6s: [{
                advertiseRoutemap: "string",
                conditionRoutemap: "string",
                conditionType: "string",
            }],
            conditionalAdvertises: [{
                advertiseRoutemap: "string",
                conditionRoutemap: "string",
                conditionType: "string",
            }],
            connectTimer: 0,
            defaultOriginateRoutemap: "string",
            defaultOriginateRoutemap6: "string",
            description: "string",
            distributeListIn: "string",
            distributeListIn6: "string",
            distributeListInVpnv4: "string",
            distributeListInVpnv6: "string",
            distributeListOut: "string",
            distributeListOut6: "string",
            distributeListOutVpnv4: "string",
            distributeListOutVpnv6: "string",
            dontCapabilityNegotiate: "string",
            ebgpEnforceMultihop: "string",
            ebgpMultihopTtl: 0,
            filterListIn: "string",
            filterListIn6: "string",
            filterListInVpnv4: "string",
            filterListInVpnv6: "string",
            filterListOut: "string",
            filterListOut6: "string",
            filterListOutVpnv4: "string",
            filterListOutVpnv6: "string",
            holdtimeTimer: 0,
            "interface": "string",
            ip: "string",
            keepAliveTimer: 0,
            linkDownFailover: "string",
            localAs: 0,
            localAsNoPrepend: "string",
            localAsReplaceAs: "string",
            maximumPrefix: 0,
            maximumPrefix6: 0,
            maximumPrefixEvpn: 0,
            maximumPrefixThreshold: 0,
            maximumPrefixThreshold6: 0,
            maximumPrefixThresholdEvpn: 0,
            maximumPrefixThresholdVpnv4: 0,
            maximumPrefixThresholdVpnv6: 0,
            maximumPrefixVpnv4: 0,
            maximumPrefixVpnv6: 0,
            maximumPrefixWarningOnly: "string",
            maximumPrefixWarningOnly6: "string",
            maximumPrefixWarningOnlyEvpn: "string",
            maximumPrefixWarningOnlyVpnv4: "string",
            maximumPrefixWarningOnlyVpnv6: "string",
            nextHopSelf: "string",
            nextHopSelf6: "string",
            nextHopSelfRr: "string",
            nextHopSelfRr6: "string",
            nextHopSelfVpnv4: "string",
            nextHopSelfVpnv6: "string",
            overrideCapability: "string",
            passive: "string",
            password: "string",
            prefixListIn: "string",
            prefixListIn6: "string",
            prefixListInVpnv4: "string",
            prefixListInVpnv6: "string",
            prefixListOut: "string",
            prefixListOut6: "string",
            prefixListOutVpnv4: "string",
            prefixListOutVpnv6: "string",
            remoteAs: 0,
            removePrivateAs: "string",
            removePrivateAs6: "string",
            removePrivateAsEvpn: "string",
            removePrivateAsVpnv4: "string",
            removePrivateAsVpnv6: "string",
            restartTime: 0,
            retainStaleTime: 0,
            routeMapIn: "string",
            routeMapIn6: "string",
            routeMapInEvpn: "string",
            routeMapInVpnv4: "string",
            routeMapInVpnv6: "string",
            routeMapOut: "string",
            routeMapOut6: "string",
            routeMapOut6Preferable: "string",
            routeMapOutEvpn: "string",
            routeMapOutPreferable: "string",
            routeMapOutVpnv4: "string",
            routeMapOutVpnv4Preferable: "string",
            routeMapOutVpnv6: "string",
            routeMapOutVpnv6Preferable: "string",
            routeReflectorClient: "string",
            routeReflectorClient6: "string",
            routeReflectorClientEvpn: "string",
            routeReflectorClientVpnv4: "string",
            routeReflectorClientVpnv6: "string",
            routeServerClient: "string",
            routeServerClient6: "string",
            routeServerClientEvpn: "string",
            routeServerClientVpnv4: "string",
            routeServerClientVpnv6: "string",
            sendCommunity: "string",
            sendCommunity6: "string",
            sendCommunityEvpn: "string",
            sendCommunityVpnv4: "string",
            sendCommunityVpnv6: "string",
            shutdown: "string",
            softReconfiguration: "string",
            softReconfiguration6: "string",
            softReconfigurationEvpn: "string",
            softReconfigurationVpnv4: "string",
            softReconfigurationVpnv6: "string",
            staleRoute: "string",
            strictCapabilityMatch: "string",
            unsuppressMap: "string",
            unsuppressMap6: "string",
            updateSource: "string",
            weight: 0,
        }],
        network6s: [{
            backdoor: "string",
            id: 0,
            networkImportCheck: "string",
            prefix6: "string",
            routeMap: "string",
        }],
        networkImportCheck: "string",
        networks: [{
            backdoor: "string",
            id: 0,
            networkImportCheck: "string",
            prefix: "string",
            routeMap: "string",
        }],
        recursiveInheritPriority: "string",
        recursiveNextHop: "string",
        redistribute6s: [{
            name: "string",
            routeMap: "string",
            status: "string",
        }],
        redistributes: [{
            name: "string",
            routeMap: "string",
            status: "string",
        }],
        routerId: "string",
        scanTime: 0,
        synchronization: "string",
        tagResolveMode: "string",
        vdomparam: "string",
        vrf6s: [{
            exportRts: [{
                routeTarget: "string",
            }],
            importRouteMap: "string",
            importRts: [{
                routeTarget: "string",
            }],
            leakTargets: [{
                "interface": "string",
                routeMap: "string",
                vrf: "string",
            }],
            rd: "string",
            role: "string",
            vrf: "string",
        }],
        vrfLeak6s: [{
            targets: [{
                "interface": "string",
                routeMap: "string",
                vrf: "string",
            }],
            vrf: "string",
        }],
        vrfLeaks: [{
            targets: [{
                "interface": "string",
                routeMap: "string",
                vrf: "string",
            }],
            vrf: "string",
        }],
        vrves: [{
            exportRts: [{
                routeTarget: "string",
            }],
            importRouteMap: "string",
            importRts: [{
                routeTarget: "string",
            }],
            leakTargets: [{
                "interface": "string",
                routeMap: "string",
                vrf: "string",
            }],
            rd: "string",
            role: "string",
            vrf: "string",
        }],
    });
    
    type: fortios:router:Bgp
    properties:
        additionalPath: string
        additionalPath6: string
        additionalPathSelect: 0
        additionalPathSelect6: 0
        additionalPathSelectVpnv4: 0
        additionalPathSelectVpnv6: 0
        additionalPathVpnv4: string
        additionalPathVpnv6: string
        adminDistances:
            - distance: 0
              id: 0
              neighbourPrefix: string
              routeList: string
        aggregateAddress6s:
            - asSet: string
              id: 0
              prefix6: string
              summaryOnly: string
        aggregateAddresses:
            - asSet: string
              id: 0
              prefix: string
              summaryOnly: string
        alwaysCompareMed: string
        as: 0
        asString: string
        bestpathAsPathIgnore: string
        bestpathCmpConfedAspath: string
        bestpathCmpRouterid: string
        bestpathMedConfed: string
        bestpathMedMissingAsWorst: string
        clientToClientReflection: string
        clusterId: string
        confederationIdentifier: 0
        confederationPeers:
            - peer: string
        crossFamilyConditionalAdv: string
        dampening: string
        dampeningMaxSuppressTime: 0
        dampeningReachabilityHalfLife: 0
        dampeningReuse: 0
        dampeningRouteMap: string
        dampeningSuppress: 0
        dampeningUnreachabilityHalfLife: 0
        defaultLocalPreference: 0
        deterministicMed: string
        distanceExternal: 0
        distanceInternal: 0
        distanceLocal: 0
        dynamicSortSubtable: string
        ebgpMultipath: string
        enforceFirstAs: string
        fastExternalFailover: string
        getAllTables: string
        gracefulEndOnTimer: string
        gracefulRestart: string
        gracefulRestartTime: 0
        gracefulStalepathTime: 0
        gracefulUpdateDelay: 0
        holdtimeTimer: 0
        ibgpMultipath: string
        ignoreOptionalCapability: string
        keepaliveTimer: 0
        logNeighbourChanges: string
        multipathRecursiveDistance: string
        neighborGroups:
            - activate: string
              activate6: string
              activateEvpn: string
              activateVpnv4: string
              activateVpnv6: string
              additionalPath: string
              additionalPath6: string
              additionalPathVpnv4: string
              additionalPathVpnv6: string
              advAdditionalPath: 0
              advAdditionalPath6: 0
              advAdditionalPathVpnv4: 0
              advAdditionalPathVpnv6: 0
              advertisementInterval: 0
              allowasIn: 0
              allowasIn6: 0
              allowasInEnable: string
              allowasInEnable6: string
              allowasInEnableEvpn: string
              allowasInEnableVpnv4: string
              allowasInEnableVpnv6: string
              allowasInEvpn: 0
              allowasInVpnv4: 0
              allowasInVpnv6: 0
              asOverride: string
              asOverride6: string
              attributeUnchanged: string
              attributeUnchanged6: string
              attributeUnchangedVpnv4: string
              attributeUnchangedVpnv6: string
              authOptions: string
              bfd: string
              capabilityDefaultOriginate: string
              capabilityDefaultOriginate6: string
              capabilityDynamic: string
              capabilityGracefulRestart: string
              capabilityGracefulRestart6: string
              capabilityGracefulRestartEvpn: string
              capabilityGracefulRestartVpnv4: string
              capabilityGracefulRestartVpnv6: string
              capabilityOrf: string
              capabilityOrf6: string
              capabilityRouteRefresh: string
              connectTimer: 0
              defaultOriginateRoutemap: string
              defaultOriginateRoutemap6: string
              description: string
              distributeListIn: string
              distributeListIn6: string
              distributeListInVpnv4: string
              distributeListInVpnv6: string
              distributeListOut: string
              distributeListOut6: string
              distributeListOutVpnv4: string
              distributeListOutVpnv6: string
              dontCapabilityNegotiate: string
              ebgpEnforceMultihop: string
              ebgpMultihopTtl: 0
              filterListIn: string
              filterListIn6: string
              filterListInVpnv4: string
              filterListInVpnv6: string
              filterListOut: string
              filterListOut6: string
              filterListOutVpnv4: string
              filterListOutVpnv6: string
              holdtimeTimer: 0
              interface: string
              keepAliveTimer: 0
              linkDownFailover: string
              localAs: 0
              localAsNoPrepend: string
              localAsReplaceAs: string
              maximumPrefix: 0
              maximumPrefix6: 0
              maximumPrefixEvpn: 0
              maximumPrefixThreshold: 0
              maximumPrefixThreshold6: 0
              maximumPrefixThresholdEvpn: 0
              maximumPrefixThresholdVpnv4: 0
              maximumPrefixThresholdVpnv6: 0
              maximumPrefixVpnv4: 0
              maximumPrefixVpnv6: 0
              maximumPrefixWarningOnly: string
              maximumPrefixWarningOnly6: string
              maximumPrefixWarningOnlyEvpn: string
              maximumPrefixWarningOnlyVpnv4: string
              maximumPrefixWarningOnlyVpnv6: string
              name: string
              nextHopSelf: string
              nextHopSelf6: string
              nextHopSelfRr: string
              nextHopSelfRr6: string
              nextHopSelfVpnv4: string
              nextHopSelfVpnv6: string
              overrideCapability: string
              passive: string
              password: string
              prefixListIn: string
              prefixListIn6: string
              prefixListInVpnv4: string
              prefixListInVpnv6: string
              prefixListOut: string
              prefixListOut6: string
              prefixListOutVpnv4: string
              prefixListOutVpnv6: string
              remoteAs: 0
              remoteAsFilter: string
              removePrivateAs: string
              removePrivateAs6: string
              removePrivateAsEvpn: string
              removePrivateAsVpnv4: string
              removePrivateAsVpnv6: string
              restartTime: 0
              retainStaleTime: 0
              routeMapIn: string
              routeMapIn6: string
              routeMapInEvpn: string
              routeMapInVpnv4: string
              routeMapInVpnv6: string
              routeMapOut: string
              routeMapOut6: string
              routeMapOut6Preferable: string
              routeMapOutEvpn: string
              routeMapOutPreferable: string
              routeMapOutVpnv4: string
              routeMapOutVpnv4Preferable: string
              routeMapOutVpnv6: string
              routeMapOutVpnv6Preferable: string
              routeReflectorClient: string
              routeReflectorClient6: string
              routeReflectorClientEvpn: string
              routeReflectorClientVpnv4: string
              routeReflectorClientVpnv6: string
              routeServerClient: string
              routeServerClient6: string
              routeServerClientEvpn: string
              routeServerClientVpnv4: string
              routeServerClientVpnv6: string
              sendCommunity: string
              sendCommunity6: string
              sendCommunityEvpn: string
              sendCommunityVpnv4: string
              sendCommunityVpnv6: string
              shutdown: string
              softReconfiguration: string
              softReconfiguration6: string
              softReconfigurationEvpn: string
              softReconfigurationVpnv4: string
              softReconfigurationVpnv6: string
              staleRoute: string
              strictCapabilityMatch: string
              unsuppressMap: string
              unsuppressMap6: string
              updateSource: string
              weight: 0
        neighborRange6s:
            - id: 0
              maxNeighborNum: 0
              neighborGroup: string
              prefix6: string
        neighborRanges:
            - id: 0
              maxNeighborNum: 0
              neighborGroup: string
              prefix: string
        neighbors:
            - activate: string
              activate6: string
              activateEvpn: string
              activateVpnv4: string
              activateVpnv6: string
              additionalPath: string
              additionalPath6: string
              additionalPathVpnv4: string
              additionalPathVpnv6: string
              advAdditionalPath: 0
              advAdditionalPath6: 0
              advAdditionalPathVpnv4: 0
              advAdditionalPathVpnv6: 0
              advertisementInterval: 0
              allowasIn: 0
              allowasIn6: 0
              allowasInEnable: string
              allowasInEnable6: string
              allowasInEnableEvpn: string
              allowasInEnableVpnv4: string
              allowasInEnableVpnv6: string
              allowasInEvpn: 0
              allowasInVpnv4: 0
              allowasInVpnv6: 0
              asOverride: string
              asOverride6: string
              attributeUnchanged: string
              attributeUnchanged6: string
              attributeUnchangedVpnv4: string
              attributeUnchangedVpnv6: string
              authOptions: string
              bfd: string
              capabilityDefaultOriginate: string
              capabilityDefaultOriginate6: string
              capabilityDynamic: string
              capabilityGracefulRestart: string
              capabilityGracefulRestart6: string
              capabilityGracefulRestartEvpn: string
              capabilityGracefulRestartVpnv4: string
              capabilityGracefulRestartVpnv6: string
              capabilityOrf: string
              capabilityOrf6: string
              capabilityRouteRefresh: string
              conditionalAdvertise6s:
                - advertiseRoutemap: string
                  conditionRoutemap: string
                  conditionType: string
              conditionalAdvertises:
                - advertiseRoutemap: string
                  conditionRoutemap: string
                  conditionType: string
              connectTimer: 0
              defaultOriginateRoutemap: string
              defaultOriginateRoutemap6: string
              description: string
              distributeListIn: string
              distributeListIn6: string
              distributeListInVpnv4: string
              distributeListInVpnv6: string
              distributeListOut: string
              distributeListOut6: string
              distributeListOutVpnv4: string
              distributeListOutVpnv6: string
              dontCapabilityNegotiate: string
              ebgpEnforceMultihop: string
              ebgpMultihopTtl: 0
              filterListIn: string
              filterListIn6: string
              filterListInVpnv4: string
              filterListInVpnv6: string
              filterListOut: string
              filterListOut6: string
              filterListOutVpnv4: string
              filterListOutVpnv6: string
              holdtimeTimer: 0
              interface: string
              ip: string
              keepAliveTimer: 0
              linkDownFailover: string
              localAs: 0
              localAsNoPrepend: string
              localAsReplaceAs: string
              maximumPrefix: 0
              maximumPrefix6: 0
              maximumPrefixEvpn: 0
              maximumPrefixThreshold: 0
              maximumPrefixThreshold6: 0
              maximumPrefixThresholdEvpn: 0
              maximumPrefixThresholdVpnv4: 0
              maximumPrefixThresholdVpnv6: 0
              maximumPrefixVpnv4: 0
              maximumPrefixVpnv6: 0
              maximumPrefixWarningOnly: string
              maximumPrefixWarningOnly6: string
              maximumPrefixWarningOnlyEvpn: string
              maximumPrefixWarningOnlyVpnv4: string
              maximumPrefixWarningOnlyVpnv6: string
              nextHopSelf: string
              nextHopSelf6: string
              nextHopSelfRr: string
              nextHopSelfRr6: string
              nextHopSelfVpnv4: string
              nextHopSelfVpnv6: string
              overrideCapability: string
              passive: string
              password: string
              prefixListIn: string
              prefixListIn6: string
              prefixListInVpnv4: string
              prefixListInVpnv6: string
              prefixListOut: string
              prefixListOut6: string
              prefixListOutVpnv4: string
              prefixListOutVpnv6: string
              remoteAs: 0
              removePrivateAs: string
              removePrivateAs6: string
              removePrivateAsEvpn: string
              removePrivateAsVpnv4: string
              removePrivateAsVpnv6: string
              restartTime: 0
              retainStaleTime: 0
              routeMapIn: string
              routeMapIn6: string
              routeMapInEvpn: string
              routeMapInVpnv4: string
              routeMapInVpnv6: string
              routeMapOut: string
              routeMapOut6: string
              routeMapOut6Preferable: string
              routeMapOutEvpn: string
              routeMapOutPreferable: string
              routeMapOutVpnv4: string
              routeMapOutVpnv4Preferable: string
              routeMapOutVpnv6: string
              routeMapOutVpnv6Preferable: string
              routeReflectorClient: string
              routeReflectorClient6: string
              routeReflectorClientEvpn: string
              routeReflectorClientVpnv4: string
              routeReflectorClientVpnv6: string
              routeServerClient: string
              routeServerClient6: string
              routeServerClientEvpn: string
              routeServerClientVpnv4: string
              routeServerClientVpnv6: string
              sendCommunity: string
              sendCommunity6: string
              sendCommunityEvpn: string
              sendCommunityVpnv4: string
              sendCommunityVpnv6: string
              shutdown: string
              softReconfiguration: string
              softReconfiguration6: string
              softReconfigurationEvpn: string
              softReconfigurationVpnv4: string
              softReconfigurationVpnv6: string
              staleRoute: string
              strictCapabilityMatch: string
              unsuppressMap: string
              unsuppressMap6: string
              updateSource: string
              weight: 0
        network6s:
            - backdoor: string
              id: 0
              networkImportCheck: string
              prefix6: string
              routeMap: string
        networkImportCheck: string
        networks:
            - backdoor: string
              id: 0
              networkImportCheck: string
              prefix: string
              routeMap: string
        recursiveInheritPriority: string
        recursiveNextHop: string
        redistribute6s:
            - name: string
              routeMap: string
              status: string
        redistributes:
            - name: string
              routeMap: string
              status: string
        routerId: string
        scanTime: 0
        synchronization: string
        tagResolveMode: string
        vdomparam: string
        vrf6s:
            - exportRts:
                - routeTarget: string
              importRouteMap: string
              importRts:
                - routeTarget: string
              leakTargets:
                - interface: string
                  routeMap: string
                  vrf: string
              rd: string
              role: string
              vrf: string
        vrfLeak6s:
            - targets:
                - interface: string
                  routeMap: string
                  vrf: string
              vrf: string
        vrfLeaks:
            - targets:
                - interface: string
                  routeMap: string
                  vrf: string
              vrf: string
        vrves:
            - exportRts:
                - routeTarget: string
              importRouteMap: string
              importRts:
                - routeTarget: string
              leakTargets:
                - interface: string
                  routeMap: string
                  vrf: string
              rd: string
              role: string
              vrf: string
    

    Bgp Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The Bgp resource accepts the following input properties:

    AdditionalPath string
    Enable/disable selection of BGP IPv4 additional paths. Valid values: enable, disable.
    AdditionalPath6 string
    Enable/disable selection of BGP IPv6 additional paths. Valid values: enable, disable.
    AdditionalPathSelect int
    Number of additional paths to be selected for each IPv4 NLRI.
    AdditionalPathSelect6 int
    Number of additional paths to be selected for each IPv6 NLRI.
    AdditionalPathSelectVpnv4 int
    Number of additional paths to be selected for each VPNv4 NLRI.
    AdditionalPathSelectVpnv6 int
    Number of additional paths to be selected for each VPNv6 NLRI.
    AdditionalPathVpnv4 string
    Enable/disable selection of BGP VPNv4 additional paths. Valid values: enable, disable.
    AdditionalPathVpnv6 string
    Enable/disable selection of BGP VPNv6 additional paths. Valid values: enable, disable.
    AdminDistances List<Pulumiverse.Fortios.Router.Inputs.BgpAdminDistance>
    Administrative distance modifications. The structure of admin_distance block is documented below.
    AggregateAddress6s List<Pulumiverse.Fortios.Router.Inputs.BgpAggregateAddress6>
    BGP IPv6 aggregate address table. The structure of aggregate_address6 block is documented below.
    AggregateAddresses List<Pulumiverse.Fortios.Router.Inputs.BgpAggregateAddress>
    BGP aggregate address table. The structure of aggregate_address block is documented below.
    AlwaysCompareMed string
    Enable/disable always compare MED. Valid values: enable, disable.
    As int
    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 as_string.
    AsString string
    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.
    BestpathAsPathIgnore string
    Enable/disable ignore AS path. Valid values: enable, disable.
    BestpathCmpConfedAspath string
    Enable/disable compare federation AS path length. Valid values: enable, disable.
    BestpathCmpRouterid string
    Enable/disable compare router ID for identical EBGP paths. Valid values: enable, disable.
    BestpathMedConfed string
    Enable/disable compare MED among confederation paths. Valid values: enable, disable.
    BestpathMedMissingAsWorst string
    Enable/disable treat missing MED as least preferred. Valid values: enable, disable.
    ClientToClientReflection string
    Enable/disable client-to-client route reflection. Valid values: enable, disable.
    ClusterId string
    Route reflector cluster ID.
    ConfederationIdentifier int
    Confederation identifier.
    ConfederationPeers List<Pulumiverse.Fortios.Router.Inputs.BgpConfederationPeer>
    Confederation peers. The structure of confederation_peers block is documented below.
    CrossFamilyConditionalAdv string
    Enable/disable cross address family conditional advertisement. Valid values: enable, disable.
    Dampening string
    Enable/disable route-flap dampening. Valid values: enable, disable.
    DampeningMaxSuppressTime int
    Maximum minutes a route can be suppressed.
    DampeningReachabilityHalfLife int
    Reachability half-life time for penalty (min).
    DampeningReuse int
    Threshold to reuse routes.
    DampeningRouteMap string
    Criteria for dampening.
    DampeningSuppress int
    Threshold to suppress routes.
    DampeningUnreachabilityHalfLife int
    Unreachability half-life time for penalty (min).
    DefaultLocalPreference int
    Default local preference.
    DeterministicMed string
    Enable/disable enforce deterministic comparison of MED. Valid values: enable, disable.
    DistanceExternal int
    Distance for routes external to the AS.
    DistanceInternal int
    Distance for routes internal to the AS.
    DistanceLocal int
    Distance for routes local to the AS.
    DynamicSortSubtable string
    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 ].
    EbgpMultipath string
    Enable/disable EBGP multi-path. Valid values: enable, disable.
    EnforceFirstAs string
    Enable/disable enforce first AS for EBGP routes. Valid values: enable, disable.
    FastExternalFailover string
    Enable/disable reset peer BGP session if link goes down. Valid values: enable, disable.
    GetAllTables 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.
    GracefulEndOnTimer string
    Enable/disable to exit graceful restart on timer only. Valid values: enable, disable.
    GracefulRestart string
    Enable/disable BGP graceful restart capabilities. Valid values: enable, disable.
    GracefulRestartTime int
    Time needed for neighbors to restart (sec).
    GracefulStalepathTime int
    Time to hold stale paths of restarting neighbor (sec).
    GracefulUpdateDelay int
    Route advertisement/selection delay after restart (sec).
    HoldtimeTimer int
    Number of seconds to mark peer as dead.
    IbgpMultipath string
    Enable/disable IBGP multi-path. Valid values: enable, disable.
    IgnoreOptionalCapability string
    Don't send unknown optional capability notification message Valid values: enable, disable.
    KeepaliveTimer int
    Frequency to send keep alive requests.
    LogNeighbourChanges string
    Enable logging of BGP neighbour's changes Valid values: enable, disable.
    MultipathRecursiveDistance string
    Enable/disable use of recursive distance to select multipath. Valid values: enable, disable.
    NeighborGroups List<Pulumiverse.Fortios.Router.Inputs.BgpNeighborGroup>
    BGP neighbor group table. The structure of neighbor_group block is documented below.
    NeighborRange6s List<Pulumiverse.Fortios.Router.Inputs.BgpNeighborRange6>
    BGP IPv6 neighbor range table. The structure of neighbor_range6 block is documented below.
    NeighborRanges List<Pulumiverse.Fortios.Router.Inputs.BgpNeighborRange>
    BGP neighbor range table. The structure of neighbor_range block is documented below.
    Neighbors List<Pulumiverse.Fortios.Router.Inputs.BgpNeighbor>
    BGP neighbor table. The structure of neighbor block is documented below.
    Network6s List<Pulumiverse.Fortios.Router.Inputs.BgpNetwork6>
    BGP IPv6 network table. The structure of network6 block is documented below.
    NetworkImportCheck string
    Enable/disable ensure BGP network route exists in IGP. Valid values: enable, disable.
    Networks List<Pulumiverse.Fortios.Router.Inputs.BgpNetwork>
    BGP network table. The structure of network block is documented below.
    RecursiveInheritPriority string
    Enable/disable priority inheritance for recursive resolution. Valid values: enable, disable.
    RecursiveNextHop string
    Enable/disable recursive resolution of next-hop using BGP route. Valid values: enable, disable.
    Redistribute6s List<Pulumiverse.Fortios.Router.Inputs.BgpRedistribute6>
    BGP IPv6 redistribute table. The structure of redistribute6 block is documented below.
    Redistributes List<Pulumiverse.Fortios.Router.Inputs.BgpRedistribute>
    BGP IPv4 redistribute table. The structure of redistribute block is documented below.
    RouterId string
    Router ID.
    ScanTime int
    Background scanner interval (sec), 0 to disable it.
    Synchronization string
    Enable/disable only advertise routes from iBGP if routes present in an IGP. Valid values: enable, disable.
    TagResolveMode string
    Configure tag-match mode. Resolves BGP routes with other routes containing the same tag. Valid values: disable, preferred, merge.
    Vdomparam 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.
    Vrf6s List<Pulumiverse.Fortios.Router.Inputs.BgpVrf6>
    BGP IPv6 VRF leaking table. The structure of vrf6 block is documented below.
    VrfLeak6s List<Pulumiverse.Fortios.Router.Inputs.BgpVrfLeak6>
    BGP IPv6 VRF leaking table. The structure of vrf_leak6 block is documented below.
    VrfLeaks List<Pulumiverse.Fortios.Router.Inputs.BgpVrfLeak>
    BGP VRF leaking table. The structure of vrf_leak block is documented below.
    Vrves List<Pulumiverse.Fortios.Router.Inputs.BgpVrf>
    BGP VRF leaking table. The structure of vrf block is documented below.
    AdditionalPath string
    Enable/disable selection of BGP IPv4 additional paths. Valid values: enable, disable.
    AdditionalPath6 string
    Enable/disable selection of BGP IPv6 additional paths. Valid values: enable, disable.
    AdditionalPathSelect int
    Number of additional paths to be selected for each IPv4 NLRI.
    AdditionalPathSelect6 int
    Number of additional paths to be selected for each IPv6 NLRI.
    AdditionalPathSelectVpnv4 int
    Number of additional paths to be selected for each VPNv4 NLRI.
    AdditionalPathSelectVpnv6 int
    Number of additional paths to be selected for each VPNv6 NLRI.
    AdditionalPathVpnv4 string
    Enable/disable selection of BGP VPNv4 additional paths. Valid values: enable, disable.
    AdditionalPathVpnv6 string
    Enable/disable selection of BGP VPNv6 additional paths. Valid values: enable, disable.
    AdminDistances []BgpAdminDistanceArgs
    Administrative distance modifications. The structure of admin_distance block is documented below.
    AggregateAddress6s []BgpAggregateAddress6Args
    BGP IPv6 aggregate address table. The structure of aggregate_address6 block is documented below.
    AggregateAddresses []BgpAggregateAddressArgs
    BGP aggregate address table. The structure of aggregate_address block is documented below.
    AlwaysCompareMed string
    Enable/disable always compare MED. Valid values: enable, disable.
    As int
    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 as_string.
    AsString string
    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.
    BestpathAsPathIgnore string
    Enable/disable ignore AS path. Valid values: enable, disable.
    BestpathCmpConfedAspath string
    Enable/disable compare federation AS path length. Valid values: enable, disable.
    BestpathCmpRouterid string
    Enable/disable compare router ID for identical EBGP paths. Valid values: enable, disable.
    BestpathMedConfed string
    Enable/disable compare MED among confederation paths. Valid values: enable, disable.
    BestpathMedMissingAsWorst string
    Enable/disable treat missing MED as least preferred. Valid values: enable, disable.
    ClientToClientReflection string
    Enable/disable client-to-client route reflection. Valid values: enable, disable.
    ClusterId string
    Route reflector cluster ID.
    ConfederationIdentifier int
    Confederation identifier.
    ConfederationPeers []BgpConfederationPeerArgs
    Confederation peers. The structure of confederation_peers block is documented below.
    CrossFamilyConditionalAdv string
    Enable/disable cross address family conditional advertisement. Valid values: enable, disable.
    Dampening string
    Enable/disable route-flap dampening. Valid values: enable, disable.
    DampeningMaxSuppressTime int
    Maximum minutes a route can be suppressed.
    DampeningReachabilityHalfLife int
    Reachability half-life time for penalty (min).
    DampeningReuse int
    Threshold to reuse routes.
    DampeningRouteMap string
    Criteria for dampening.
    DampeningSuppress int
    Threshold to suppress routes.
    DampeningUnreachabilityHalfLife int
    Unreachability half-life time for penalty (min).
    DefaultLocalPreference int
    Default local preference.
    DeterministicMed string
    Enable/disable enforce deterministic comparison of MED. Valid values: enable, disable.
    DistanceExternal int
    Distance for routes external to the AS.
    DistanceInternal int
    Distance for routes internal to the AS.
    DistanceLocal int
    Distance for routes local to the AS.
    DynamicSortSubtable string
    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 ].
    EbgpMultipath string
    Enable/disable EBGP multi-path. Valid values: enable, disable.
    EnforceFirstAs string
    Enable/disable enforce first AS for EBGP routes. Valid values: enable, disable.
    FastExternalFailover string
    Enable/disable reset peer BGP session if link goes down. Valid values: enable, disable.
    GetAllTables 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.
    GracefulEndOnTimer string
    Enable/disable to exit graceful restart on timer only. Valid values: enable, disable.
    GracefulRestart string
    Enable/disable BGP graceful restart capabilities. Valid values: enable, disable.
    GracefulRestartTime int
    Time needed for neighbors to restart (sec).
    GracefulStalepathTime int
    Time to hold stale paths of restarting neighbor (sec).
    GracefulUpdateDelay int
    Route advertisement/selection delay after restart (sec).
    HoldtimeTimer int
    Number of seconds to mark peer as dead.
    IbgpMultipath string
    Enable/disable IBGP multi-path. Valid values: enable, disable.
    IgnoreOptionalCapability string
    Don't send unknown optional capability notification message Valid values: enable, disable.
    KeepaliveTimer int
    Frequency to send keep alive requests.
    LogNeighbourChanges string
    Enable logging of BGP neighbour's changes Valid values: enable, disable.
    MultipathRecursiveDistance string
    Enable/disable use of recursive distance to select multipath. Valid values: enable, disable.
    NeighborGroups []BgpNeighborGroupArgs
    BGP neighbor group table. The structure of neighbor_group block is documented below.
    NeighborRange6s []BgpNeighborRange6Args
    BGP IPv6 neighbor range table. The structure of neighbor_range6 block is documented below.
    NeighborRanges []BgpNeighborRangeArgs
    BGP neighbor range table. The structure of neighbor_range block is documented below.
    Neighbors []BgpNeighborArgs
    BGP neighbor table. The structure of neighbor block is documented below.
    Network6s []BgpNetwork6Args
    BGP IPv6 network table. The structure of network6 block is documented below.
    NetworkImportCheck string
    Enable/disable ensure BGP network route exists in IGP. Valid values: enable, disable.
    Networks []BgpNetworkArgs
    BGP network table. The structure of network block is documented below.
    RecursiveInheritPriority string
    Enable/disable priority inheritance for recursive resolution. Valid values: enable, disable.
    RecursiveNextHop string
    Enable/disable recursive resolution of next-hop using BGP route. Valid values: enable, disable.
    Redistribute6s []BgpRedistribute6Args
    BGP IPv6 redistribute table. The structure of redistribute6 block is documented below.
    Redistributes []BgpRedistributeArgs
    BGP IPv4 redistribute table. The structure of redistribute block is documented below.
    RouterId string
    Router ID.
    ScanTime int
    Background scanner interval (sec), 0 to disable it.
    Synchronization string
    Enable/disable only advertise routes from iBGP if routes present in an IGP. Valid values: enable, disable.
    TagResolveMode string
    Configure tag-match mode. Resolves BGP routes with other routes containing the same tag. Valid values: disable, preferred, merge.
    Vdomparam 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.
    Vrf6s []BgpVrf6Args
    BGP IPv6 VRF leaking table. The structure of vrf6 block is documented below.
    VrfLeak6s []BgpVrfLeak6Args
    BGP IPv6 VRF leaking table. The structure of vrf_leak6 block is documented below.
    VrfLeaks []BgpVrfLeakArgs
    BGP VRF leaking table. The structure of vrf_leak block is documented below.
    Vrves []BgpVrfArgs
    BGP VRF leaking table. The structure of vrf block is documented below.
    additionalPath String
    Enable/disable selection of BGP IPv4 additional paths. Valid values: enable, disable.
    additionalPath6 String
    Enable/disable selection of BGP IPv6 additional paths. Valid values: enable, disable.
    additionalPathSelect Integer
    Number of additional paths to be selected for each IPv4 NLRI.
    additionalPathSelect6 Integer
    Number of additional paths to be selected for each IPv6 NLRI.
    additionalPathSelectVpnv4 Integer
    Number of additional paths to be selected for each VPNv4 NLRI.
    additionalPathSelectVpnv6 Integer
    Number of additional paths to be selected for each VPNv6 NLRI.
    additionalPathVpnv4 String
    Enable/disable selection of BGP VPNv4 additional paths. Valid values: enable, disable.
    additionalPathVpnv6 String
    Enable/disable selection of BGP VPNv6 additional paths. Valid values: enable, disable.
    adminDistances List<BgpAdminDistance>
    Administrative distance modifications. The structure of admin_distance block is documented below.
    aggregateAddress6s List<BgpAggregateAddress6>
    BGP IPv6 aggregate address table. The structure of aggregate_address6 block is documented below.
    aggregateAddresses List<BgpAggregateAddress>
    BGP aggregate address table. The structure of aggregate_address block is documented below.
    alwaysCompareMed String
    Enable/disable always compare MED. Valid values: enable, disable.
    as Integer
    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 as_string.
    asString String
    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.
    bestpathAsPathIgnore String
    Enable/disable ignore AS path. Valid values: enable, disable.
    bestpathCmpConfedAspath String
    Enable/disable compare federation AS path length. Valid values: enable, disable.
    bestpathCmpRouterid String
    Enable/disable compare router ID for identical EBGP paths. Valid values: enable, disable.
    bestpathMedConfed String
    Enable/disable compare MED among confederation paths. Valid values: enable, disable.
    bestpathMedMissingAsWorst String
    Enable/disable treat missing MED as least preferred. Valid values: enable, disable.
    clientToClientReflection String
    Enable/disable client-to-client route reflection. Valid values: enable, disable.
    clusterId String
    Route reflector cluster ID.
    confederationIdentifier Integer
    Confederation identifier.
    confederationPeers List<BgpConfederationPeer>
    Confederation peers. The structure of confederation_peers block is documented below.
    crossFamilyConditionalAdv String
    Enable/disable cross address family conditional advertisement. Valid values: enable, disable.
    dampening String
    Enable/disable route-flap dampening. Valid values: enable, disable.
    dampeningMaxSuppressTime Integer
    Maximum minutes a route can be suppressed.
    dampeningReachabilityHalfLife Integer
    Reachability half-life time for penalty (min).
    dampeningReuse Integer
    Threshold to reuse routes.
    dampeningRouteMap String
    Criteria for dampening.
    dampeningSuppress Integer
    Threshold to suppress routes.
    dampeningUnreachabilityHalfLife Integer
    Unreachability half-life time for penalty (min).
    defaultLocalPreference Integer
    Default local preference.
    deterministicMed String
    Enable/disable enforce deterministic comparison of MED. Valid values: enable, disable.
    distanceExternal Integer
    Distance for routes external to the AS.
    distanceInternal Integer
    Distance for routes internal to the AS.
    distanceLocal Integer
    Distance for routes local to the AS.
    dynamicSortSubtable String
    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 ].
    ebgpMultipath String
    Enable/disable EBGP multi-path. Valid values: enable, disable.
    enforceFirstAs String
    Enable/disable enforce first AS for EBGP routes. Valid values: enable, disable.
    fastExternalFailover String
    Enable/disable reset peer BGP session if link goes down. Valid values: enable, disable.
    getAllTables 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.
    gracefulEndOnTimer String
    Enable/disable to exit graceful restart on timer only. Valid values: enable, disable.
    gracefulRestart String
    Enable/disable BGP graceful restart capabilities. Valid values: enable, disable.
    gracefulRestartTime Integer
    Time needed for neighbors to restart (sec).
    gracefulStalepathTime Integer
    Time to hold stale paths of restarting neighbor (sec).
    gracefulUpdateDelay Integer
    Route advertisement/selection delay after restart (sec).
    holdtimeTimer Integer
    Number of seconds to mark peer as dead.
    ibgpMultipath String
    Enable/disable IBGP multi-path. Valid values: enable, disable.
    ignoreOptionalCapability String
    Don't send unknown optional capability notification message Valid values: enable, disable.
    keepaliveTimer Integer
    Frequency to send keep alive requests.
    logNeighbourChanges String
    Enable logging of BGP neighbour's changes Valid values: enable, disable.
    multipathRecursiveDistance String
    Enable/disable use of recursive distance to select multipath. Valid values: enable, disable.
    neighborGroups List<BgpNeighborGroup>
    BGP neighbor group table. The structure of neighbor_group block is documented below.
    neighborRange6s List<BgpNeighborRange6>
    BGP IPv6 neighbor range table. The structure of neighbor_range6 block is documented below.
    neighborRanges List<BgpNeighborRange>
    BGP neighbor range table. The structure of neighbor_range block is documented below.
    neighbors List<BgpNeighbor>
    BGP neighbor table. The structure of neighbor block is documented below.
    network6s List<BgpNetwork6>
    BGP IPv6 network table. The structure of network6 block is documented below.
    networkImportCheck String
    Enable/disable ensure BGP network route exists in IGP. Valid values: enable, disable.
    networks List<BgpNetwork>
    BGP network table. The structure of network block is documented below.
    recursiveInheritPriority String
    Enable/disable priority inheritance for recursive resolution. Valid values: enable, disable.
    recursiveNextHop String
    Enable/disable recursive resolution of next-hop using BGP route. Valid values: enable, disable.
    redistribute6s List<BgpRedistribute6>
    BGP IPv6 redistribute table. The structure of redistribute6 block is documented below.
    redistributes List<BgpRedistribute>
    BGP IPv4 redistribute table. The structure of redistribute block is documented below.
    routerId String
    Router ID.
    scanTime Integer
    Background scanner interval (sec), 0 to disable it.
    synchronization String
    Enable/disable only advertise routes from iBGP if routes present in an IGP. Valid values: enable, disable.
    tagResolveMode String
    Configure tag-match mode. Resolves BGP routes with other routes containing the same tag. Valid values: disable, preferred, merge.
    vdomparam 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.
    vrf6s List<BgpVrf6>
    BGP IPv6 VRF leaking table. The structure of vrf6 block is documented below.
    vrfLeak6s List<BgpVrfLeak6>
    BGP IPv6 VRF leaking table. The structure of vrf_leak6 block is documented below.
    vrfLeaks List<BgpVrfLeak>
    BGP VRF leaking table. The structure of vrf_leak block is documented below.
    vrves List<BgpVrf>
    BGP VRF leaking table. The structure of vrf block is documented below.
    additionalPath string
    Enable/disable selection of BGP IPv4 additional paths. Valid values: enable, disable.
    additionalPath6 string
    Enable/disable selection of BGP IPv6 additional paths. Valid values: enable, disable.
    additionalPathSelect number
    Number of additional paths to be selected for each IPv4 NLRI.
    additionalPathSelect6 number
    Number of additional paths to be selected for each IPv6 NLRI.
    additionalPathSelectVpnv4 number
    Number of additional paths to be selected for each VPNv4 NLRI.
    additionalPathSelectVpnv6 number
    Number of additional paths to be selected for each VPNv6 NLRI.
    additionalPathVpnv4 string
    Enable/disable selection of BGP VPNv4 additional paths. Valid values: enable, disable.
    additionalPathVpnv6 string
    Enable/disable selection of BGP VPNv6 additional paths. Valid values: enable, disable.
    adminDistances BgpAdminDistance[]
    Administrative distance modifications. The structure of admin_distance block is documented below.
    aggregateAddress6s BgpAggregateAddress6[]
    BGP IPv6 aggregate address table. The structure of aggregate_address6 block is documented below.
    aggregateAddresses BgpAggregateAddress[]
    BGP aggregate address table. The structure of aggregate_address block is documented below.
    alwaysCompareMed string
    Enable/disable always compare MED. Valid values: enable, disable.
    as number
    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 as_string.
    asString string
    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.
    bestpathAsPathIgnore string
    Enable/disable ignore AS path. Valid values: enable, disable.
    bestpathCmpConfedAspath string
    Enable/disable compare federation AS path length. Valid values: enable, disable.
    bestpathCmpRouterid string
    Enable/disable compare router ID for identical EBGP paths. Valid values: enable, disable.
    bestpathMedConfed string
    Enable/disable compare MED among confederation paths. Valid values: enable, disable.
    bestpathMedMissingAsWorst string
    Enable/disable treat missing MED as least preferred. Valid values: enable, disable.
    clientToClientReflection string
    Enable/disable client-to-client route reflection. Valid values: enable, disable.
    clusterId string
    Route reflector cluster ID.
    confederationIdentifier number
    Confederation identifier.
    confederationPeers BgpConfederationPeer[]
    Confederation peers. The structure of confederation_peers block is documented below.
    crossFamilyConditionalAdv string
    Enable/disable cross address family conditional advertisement. Valid values: enable, disable.
    dampening string
    Enable/disable route-flap dampening. Valid values: enable, disable.
    dampeningMaxSuppressTime number
    Maximum minutes a route can be suppressed.
    dampeningReachabilityHalfLife number
    Reachability half-life time for penalty (min).
    dampeningReuse number
    Threshold to reuse routes.
    dampeningRouteMap string
    Criteria for dampening.
    dampeningSuppress number
    Threshold to suppress routes.
    dampeningUnreachabilityHalfLife number
    Unreachability half-life time for penalty (min).
    defaultLocalPreference number
    Default local preference.
    deterministicMed string
    Enable/disable enforce deterministic comparison of MED. Valid values: enable, disable.
    distanceExternal number
    Distance for routes external to the AS.
    distanceInternal number
    Distance for routes internal to the AS.
    distanceLocal number
    Distance for routes local to the AS.
    dynamicSortSubtable string
    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 ].
    ebgpMultipath string
    Enable/disable EBGP multi-path. Valid values: enable, disable.
    enforceFirstAs string
    Enable/disable enforce first AS for EBGP routes. Valid values: enable, disable.
    fastExternalFailover string
    Enable/disable reset peer BGP session if link goes down. Valid values: enable, disable.
    getAllTables 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.
    gracefulEndOnTimer string
    Enable/disable to exit graceful restart on timer only. Valid values: enable, disable.
    gracefulRestart string
    Enable/disable BGP graceful restart capabilities. Valid values: enable, disable.
    gracefulRestartTime number
    Time needed for neighbors to restart (sec).
    gracefulStalepathTime number
    Time to hold stale paths of restarting neighbor (sec).
    gracefulUpdateDelay number
    Route advertisement/selection delay after restart (sec).
    holdtimeTimer number
    Number of seconds to mark peer as dead.
    ibgpMultipath string
    Enable/disable IBGP multi-path. Valid values: enable, disable.
    ignoreOptionalCapability string
    Don't send unknown optional capability notification message Valid values: enable, disable.
    keepaliveTimer number
    Frequency to send keep alive requests.
    logNeighbourChanges string
    Enable logging of BGP neighbour's changes Valid values: enable, disable.
    multipathRecursiveDistance string
    Enable/disable use of recursive distance to select multipath. Valid values: enable, disable.
    neighborGroups BgpNeighborGroup[]
    BGP neighbor group table. The structure of neighbor_group block is documented below.
    neighborRange6s BgpNeighborRange6[]
    BGP IPv6 neighbor range table. The structure of neighbor_range6 block is documented below.
    neighborRanges BgpNeighborRange[]
    BGP neighbor range table. The structure of neighbor_range block is documented below.
    neighbors BgpNeighbor[]
    BGP neighbor table. The structure of neighbor block is documented below.
    network6s BgpNetwork6[]
    BGP IPv6 network table. The structure of network6 block is documented below.
    networkImportCheck string
    Enable/disable ensure BGP network route exists in IGP. Valid values: enable, disable.
    networks BgpNetwork[]
    BGP network table. The structure of network block is documented below.
    recursiveInheritPriority string
    Enable/disable priority inheritance for recursive resolution. Valid values: enable, disable.
    recursiveNextHop string
    Enable/disable recursive resolution of next-hop using BGP route. Valid values: enable, disable.
    redistribute6s BgpRedistribute6[]
    BGP IPv6 redistribute table. The structure of redistribute6 block is documented below.
    redistributes BgpRedistribute[]
    BGP IPv4 redistribute table. The structure of redistribute block is documented below.
    routerId string
    Router ID.
    scanTime number
    Background scanner interval (sec), 0 to disable it.
    synchronization string
    Enable/disable only advertise routes from iBGP if routes present in an IGP. Valid values: enable, disable.
    tagResolveMode string
    Configure tag-match mode. Resolves BGP routes with other routes containing the same tag. Valid values: disable, preferred, merge.
    vdomparam 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.
    vrf6s BgpVrf6[]
    BGP IPv6 VRF leaking table. The structure of vrf6 block is documented below.
    vrfLeak6s BgpVrfLeak6[]
    BGP IPv6 VRF leaking table. The structure of vrf_leak6 block is documented below.
    vrfLeaks BgpVrfLeak[]
    BGP VRF leaking table. The structure of vrf_leak block is documented below.
    vrves BgpVrf[]
    BGP VRF leaking table. The structure of vrf block is documented below.
    additional_path str
    Enable/disable selection of BGP IPv4 additional paths. Valid values: enable, disable.
    additional_path6 str
    Enable/disable selection of BGP IPv6 additional paths. Valid values: enable, disable.
    additional_path_select int
    Number of additional paths to be selected for each IPv4 NLRI.
    additional_path_select6 int
    Number of additional paths to be selected for each IPv6 NLRI.
    additional_path_select_vpnv4 int
    Number of additional paths to be selected for each VPNv4 NLRI.
    additional_path_select_vpnv6 int
    Number of additional paths to be selected for each VPNv6 NLRI.
    additional_path_vpnv4 str
    Enable/disable selection of BGP VPNv4 additional paths. Valid values: enable, disable.
    additional_path_vpnv6 str
    Enable/disable selection of BGP VPNv6 additional paths. Valid values: enable, disable.
    admin_distances Sequence[BgpAdminDistanceArgs]
    Administrative distance modifications. The structure of admin_distance block is documented below.
    aggregate_address6s Sequence[BgpAggregateAddress6Args]
    BGP IPv6 aggregate address table. The structure of aggregate_address6 block is documented below.
    aggregate_addresses Sequence[BgpAggregateAddressArgs]
    BGP aggregate address table. The structure of aggregate_address block is documented below.
    always_compare_med str
    Enable/disable always compare MED. Valid values: enable, disable.
    as_ int
    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 as_string.
    as_string str
    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.
    bestpath_as_path_ignore str
    Enable/disable ignore AS path. Valid values: enable, disable.
    bestpath_cmp_confed_aspath str
    Enable/disable compare federation AS path length. Valid values: enable, disable.
    bestpath_cmp_routerid str
    Enable/disable compare router ID for identical EBGP paths. Valid values: enable, disable.
    bestpath_med_confed str
    Enable/disable compare MED among confederation paths. Valid values: enable, disable.
    bestpath_med_missing_as_worst str
    Enable/disable treat missing MED as least preferred. Valid values: enable, disable.
    client_to_client_reflection str
    Enable/disable client-to-client route reflection. Valid values: enable, disable.
    cluster_id str
    Route reflector cluster ID.
    confederation_identifier int
    Confederation identifier.
    confederation_peers Sequence[BgpConfederationPeerArgs]
    Confederation peers. The structure of confederation_peers block is documented below.
    cross_family_conditional_adv str
    Enable/disable cross address family conditional advertisement. Valid values: enable, disable.
    dampening str
    Enable/disable route-flap dampening. Valid values: enable, disable.
    dampening_max_suppress_time int
    Maximum minutes a route can be suppressed.
    dampening_reachability_half_life int
    Reachability half-life time for penalty (min).
    dampening_reuse int
    Threshold to reuse routes.
    dampening_route_map str
    Criteria for dampening.
    dampening_suppress int
    Threshold to suppress routes.
    dampening_unreachability_half_life int
    Unreachability half-life time for penalty (min).
    default_local_preference int
    Default local preference.
    deterministic_med str
    Enable/disable enforce deterministic comparison of MED. Valid values: enable, disable.
    distance_external int
    Distance for routes external to the AS.
    distance_internal int
    Distance for routes internal to the AS.
    distance_local int
    Distance for routes local to the AS.
    dynamic_sort_subtable str
    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 ].
    ebgp_multipath str
    Enable/disable EBGP multi-path. Valid values: enable, disable.
    enforce_first_as str
    Enable/disable enforce first AS for EBGP routes. Valid values: enable, disable.
    fast_external_failover str
    Enable/disable reset peer BGP session if link goes down. Valid values: enable, disable.
    get_all_tables str
    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.
    graceful_end_on_timer str
    Enable/disable to exit graceful restart on timer only. Valid values: enable, disable.
    graceful_restart str
    Enable/disable BGP graceful restart capabilities. Valid values: enable, disable.
    graceful_restart_time int
    Time needed for neighbors to restart (sec).
    graceful_stalepath_time int
    Time to hold stale paths of restarting neighbor (sec).
    graceful_update_delay int
    Route advertisement/selection delay after restart (sec).
    holdtime_timer int
    Number of seconds to mark peer as dead.
    ibgp_multipath str
    Enable/disable IBGP multi-path. Valid values: enable, disable.
    ignore_optional_capability str
    Don't send unknown optional capability notification message Valid values: enable, disable.
    keepalive_timer int
    Frequency to send keep alive requests.
    log_neighbour_changes str
    Enable logging of BGP neighbour's changes Valid values: enable, disable.
    multipath_recursive_distance str
    Enable/disable use of recursive distance to select multipath. Valid values: enable, disable.
    neighbor_groups Sequence[BgpNeighborGroupArgs]
    BGP neighbor group table. The structure of neighbor_group block is documented below.
    neighbor_range6s Sequence[BgpNeighborRange6Args]
    BGP IPv6 neighbor range table. The structure of neighbor_range6 block is documented below.
    neighbor_ranges Sequence[BgpNeighborRangeArgs]
    BGP neighbor range table. The structure of neighbor_range block is documented below.
    neighbors Sequence[BgpNeighborArgs]
    BGP neighbor table. The structure of neighbor block is documented below.
    network6s Sequence[BgpNetwork6Args]
    BGP IPv6 network table. The structure of network6 block is documented below.
    network_import_check str
    Enable/disable ensure BGP network route exists in IGP. Valid values: enable, disable.
    networks Sequence[BgpNetworkArgs]
    BGP network table. The structure of network block is documented below.
    recursive_inherit_priority str
    Enable/disable priority inheritance for recursive resolution. Valid values: enable, disable.
    recursive_next_hop str
    Enable/disable recursive resolution of next-hop using BGP route. Valid values: enable, disable.
    redistribute6s Sequence[BgpRedistribute6Args]
    BGP IPv6 redistribute table. The structure of redistribute6 block is documented below.
    redistributes Sequence[BgpRedistributeArgs]
    BGP IPv4 redistribute table. The structure of redistribute block is documented below.
    router_id str
    Router ID.
    scan_time int
    Background scanner interval (sec), 0 to disable it.
    synchronization str
    Enable/disable only advertise routes from iBGP if routes present in an IGP. Valid values: enable, disable.
    tag_resolve_mode str
    Configure tag-match mode. Resolves BGP routes with other routes containing the same tag. Valid values: disable, preferred, merge.
    vdomparam str
    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.
    vrf6s Sequence[BgpVrf6Args]
    BGP IPv6 VRF leaking table. The structure of vrf6 block is documented below.
    vrf_leak6s Sequence[BgpVrfLeak6Args]
    BGP IPv6 VRF leaking table. The structure of vrf_leak6 block is documented below.
    vrf_leaks Sequence[BgpVrfLeakArgs]
    BGP VRF leaking table. The structure of vrf_leak block is documented below.
    vrves Sequence[BgpVrfArgs]
    BGP VRF leaking table. The structure of vrf block is documented below.
    additionalPath String
    Enable/disable selection of BGP IPv4 additional paths. Valid values: enable, disable.
    additionalPath6 String
    Enable/disable selection of BGP IPv6 additional paths. Valid values: enable, disable.
    additionalPathSelect Number
    Number of additional paths to be selected for each IPv4 NLRI.
    additionalPathSelect6 Number
    Number of additional paths to be selected for each IPv6 NLRI.
    additionalPathSelectVpnv4 Number
    Number of additional paths to be selected for each VPNv4 NLRI.
    additionalPathSelectVpnv6 Number
    Number of additional paths to be selected for each VPNv6 NLRI.
    additionalPathVpnv4 String
    Enable/disable selection of BGP VPNv4 additional paths. Valid values: enable, disable.
    additionalPathVpnv6 String
    Enable/disable selection of BGP VPNv6 additional paths. Valid values: enable, disable.
    adminDistances List<Property Map>
    Administrative distance modifications. The structure of admin_distance block is documented below.
    aggregateAddress6s List<Property Map>
    BGP IPv6 aggregate address table. The structure of aggregate_address6 block is documented below.
    aggregateAddresses List<Property Map>
    BGP aggregate address table. The structure of aggregate_address block is documented below.
    alwaysCompareMed String
    Enable/disable always compare MED. Valid values: enable, disable.
    as Number
    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 as_string.
    asString String
    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.
    bestpathAsPathIgnore String
    Enable/disable ignore AS path. Valid values: enable, disable.
    bestpathCmpConfedAspath String
    Enable/disable compare federation AS path length. Valid values: enable, disable.
    bestpathCmpRouterid String
    Enable/disable compare router ID for identical EBGP paths. Valid values: enable, disable.
    bestpathMedConfed String
    Enable/disable compare MED among confederation paths. Valid values: enable, disable.
    bestpathMedMissingAsWorst String
    Enable/disable treat missing MED as least preferred. Valid values: enable, disable.
    clientToClientReflection String
    Enable/disable client-to-client route reflection. Valid values: enable, disable.
    clusterId String
    Route reflector cluster ID.
    confederationIdentifier Number
    Confederation identifier.
    confederationPeers List<Property Map>
    Confederation peers. The structure of confederation_peers block is documented below.
    crossFamilyConditionalAdv String
    Enable/disable cross address family conditional advertisement. Valid values: enable, disable.
    dampening String
    Enable/disable route-flap dampening. Valid values: enable, disable.
    dampeningMaxSuppressTime Number
    Maximum minutes a route can be suppressed.
    dampeningReachabilityHalfLife Number
    Reachability half-life time for penalty (min).
    dampeningReuse Number
    Threshold to reuse routes.
    dampeningRouteMap String
    Criteria for dampening.
    dampeningSuppress Number
    Threshold to suppress routes.
    dampeningUnreachabilityHalfLife Number
    Unreachability half-life time for penalty (min).
    defaultLocalPreference Number
    Default local preference.
    deterministicMed String
    Enable/disable enforce deterministic comparison of MED. Valid values: enable, disable.
    distanceExternal Number
    Distance for routes external to the AS.
    distanceInternal Number
    Distance for routes internal to the AS.
    distanceLocal Number
    Distance for routes local to the AS.
    dynamicSortSubtable String
    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 ].
    ebgpMultipath String
    Enable/disable EBGP multi-path. Valid values: enable, disable.
    enforceFirstAs String
    Enable/disable enforce first AS for EBGP routes. Valid values: enable, disable.
    fastExternalFailover String
    Enable/disable reset peer BGP session if link goes down. Valid values: enable, disable.
    getAllTables 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.
    gracefulEndOnTimer String
    Enable/disable to exit graceful restart on timer only. Valid values: enable, disable.
    gracefulRestart String
    Enable/disable BGP graceful restart capabilities. Valid values: enable, disable.
    gracefulRestartTime Number
    Time needed for neighbors to restart (sec).
    gracefulStalepathTime Number
    Time to hold stale paths of restarting neighbor (sec).
    gracefulUpdateDelay Number
    Route advertisement/selection delay after restart (sec).
    holdtimeTimer Number
    Number of seconds to mark peer as dead.
    ibgpMultipath String
    Enable/disable IBGP multi-path. Valid values: enable, disable.
    ignoreOptionalCapability String
    Don't send unknown optional capability notification message Valid values: enable, disable.
    keepaliveTimer Number
    Frequency to send keep alive requests.
    logNeighbourChanges String
    Enable logging of BGP neighbour's changes Valid values: enable, disable.
    multipathRecursiveDistance String
    Enable/disable use of recursive distance to select multipath. Valid values: enable, disable.
    neighborGroups List<Property Map>
    BGP neighbor group table. The structure of neighbor_group block is documented below.
    neighborRange6s List<Property Map>
    BGP IPv6 neighbor range table. The structure of neighbor_range6 block is documented below.
    neighborRanges List<Property Map>
    BGP neighbor range table. The structure of neighbor_range block is documented below.
    neighbors List<Property Map>
    BGP neighbor table. The structure of neighbor block is documented below.
    network6s List<Property Map>
    BGP IPv6 network table. The structure of network6 block is documented below.
    networkImportCheck String
    Enable/disable ensure BGP network route exists in IGP. Valid values: enable, disable.
    networks List<Property Map>
    BGP network table. The structure of network block is documented below.
    recursiveInheritPriority String
    Enable/disable priority inheritance for recursive resolution. Valid values: enable, disable.
    recursiveNextHop String
    Enable/disable recursive resolution of next-hop using BGP route. Valid values: enable, disable.
    redistribute6s List<Property Map>
    BGP IPv6 redistribute table. The structure of redistribute6 block is documented below.
    redistributes List<Property Map>
    BGP IPv4 redistribute table. The structure of redistribute block is documented below.
    routerId String
    Router ID.
    scanTime Number
    Background scanner interval (sec), 0 to disable it.
    synchronization String
    Enable/disable only advertise routes from iBGP if routes present in an IGP. Valid values: enable, disable.
    tagResolveMode String
    Configure tag-match mode. Resolves BGP routes with other routes containing the same tag. Valid values: disable, preferred, merge.
    vdomparam 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.
    vrf6s List<Property Map>
    BGP IPv6 VRF leaking table. The structure of vrf6 block is documented below.
    vrfLeak6s List<Property Map>
    BGP IPv6 VRF leaking table. The structure of vrf_leak6 block is documented below.
    vrfLeaks List<Property Map>
    BGP VRF leaking table. The structure of vrf_leak block is documented below.
    vrves List<Property Map>
    BGP VRF leaking table. The structure of vrf block is documented below.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Bgp resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing Bgp Resource

    Get an existing Bgp resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: BgpState, opts?: CustomResourceOptions): Bgp
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            additional_path: Optional[str] = None,
            additional_path6: Optional[str] = None,
            additional_path_select: Optional[int] = None,
            additional_path_select6: Optional[int] = None,
            additional_path_select_vpnv4: Optional[int] = None,
            additional_path_select_vpnv6: Optional[int] = None,
            additional_path_vpnv4: Optional[str] = None,
            additional_path_vpnv6: Optional[str] = None,
            admin_distances: Optional[Sequence[BgpAdminDistanceArgs]] = None,
            aggregate_address6s: Optional[Sequence[BgpAggregateAddress6Args]] = None,
            aggregate_addresses: Optional[Sequence[BgpAggregateAddressArgs]] = None,
            always_compare_med: Optional[str] = None,
            as_: Optional[int] = None,
            as_string: Optional[str] = None,
            bestpath_as_path_ignore: Optional[str] = None,
            bestpath_cmp_confed_aspath: Optional[str] = None,
            bestpath_cmp_routerid: Optional[str] = None,
            bestpath_med_confed: Optional[str] = None,
            bestpath_med_missing_as_worst: Optional[str] = None,
            client_to_client_reflection: Optional[str] = None,
            cluster_id: Optional[str] = None,
            confederation_identifier: Optional[int] = None,
            confederation_peers: Optional[Sequence[BgpConfederationPeerArgs]] = None,
            cross_family_conditional_adv: Optional[str] = None,
            dampening: Optional[str] = None,
            dampening_max_suppress_time: Optional[int] = None,
            dampening_reachability_half_life: Optional[int] = None,
            dampening_reuse: Optional[int] = None,
            dampening_route_map: Optional[str] = None,
            dampening_suppress: Optional[int] = None,
            dampening_unreachability_half_life: Optional[int] = None,
            default_local_preference: Optional[int] = None,
            deterministic_med: Optional[str] = None,
            distance_external: Optional[int] = None,
            distance_internal: Optional[int] = None,
            distance_local: Optional[int] = None,
            dynamic_sort_subtable: Optional[str] = None,
            ebgp_multipath: Optional[str] = None,
            enforce_first_as: Optional[str] = None,
            fast_external_failover: Optional[str] = None,
            get_all_tables: Optional[str] = None,
            graceful_end_on_timer: Optional[str] = None,
            graceful_restart: Optional[str] = None,
            graceful_restart_time: Optional[int] = None,
            graceful_stalepath_time: Optional[int] = None,
            graceful_update_delay: Optional[int] = None,
            holdtime_timer: Optional[int] = None,
            ibgp_multipath: Optional[str] = None,
            ignore_optional_capability: Optional[str] = None,
            keepalive_timer: Optional[int] = None,
            log_neighbour_changes: Optional[str] = None,
            multipath_recursive_distance: Optional[str] = None,
            neighbor_groups: Optional[Sequence[BgpNeighborGroupArgs]] = None,
            neighbor_range6s: Optional[Sequence[BgpNeighborRange6Args]] = None,
            neighbor_ranges: Optional[Sequence[BgpNeighborRangeArgs]] = None,
            neighbors: Optional[Sequence[BgpNeighborArgs]] = None,
            network6s: Optional[Sequence[BgpNetwork6Args]] = None,
            network_import_check: Optional[str] = None,
            networks: Optional[Sequence[BgpNetworkArgs]] = None,
            recursive_inherit_priority: Optional[str] = None,
            recursive_next_hop: Optional[str] = None,
            redistribute6s: Optional[Sequence[BgpRedistribute6Args]] = None,
            redistributes: Optional[Sequence[BgpRedistributeArgs]] = None,
            router_id: Optional[str] = None,
            scan_time: Optional[int] = None,
            synchronization: Optional[str] = None,
            tag_resolve_mode: Optional[str] = None,
            vdomparam: Optional[str] = None,
            vrf6s: Optional[Sequence[BgpVrf6Args]] = None,
            vrf_leak6s: Optional[Sequence[BgpVrfLeak6Args]] = None,
            vrf_leaks: Optional[Sequence[BgpVrfLeakArgs]] = None,
            vrves: Optional[Sequence[BgpVrfArgs]] = None) -> Bgp
    func GetBgp(ctx *Context, name string, id IDInput, state *BgpState, opts ...ResourceOption) (*Bgp, error)
    public static Bgp Get(string name, Input<string> id, BgpState? state, CustomResourceOptions? opts = null)
    public static Bgp get(String name, Output<String> id, BgpState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AdditionalPath string
    Enable/disable selection of BGP IPv4 additional paths. Valid values: enable, disable.
    AdditionalPath6 string
    Enable/disable selection of BGP IPv6 additional paths. Valid values: enable, disable.
    AdditionalPathSelect int
    Number of additional paths to be selected for each IPv4 NLRI.
    AdditionalPathSelect6 int
    Number of additional paths to be selected for each IPv6 NLRI.
    AdditionalPathSelectVpnv4 int
    Number of additional paths to be selected for each VPNv4 NLRI.
    AdditionalPathSelectVpnv6 int
    Number of additional paths to be selected for each VPNv6 NLRI.
    AdditionalPathVpnv4 string
    Enable/disable selection of BGP VPNv4 additional paths. Valid values: enable, disable.
    AdditionalPathVpnv6 string
    Enable/disable selection of BGP VPNv6 additional paths. Valid values: enable, disable.
    AdminDistances List<Pulumiverse.Fortios.Router.Inputs.BgpAdminDistance>
    Administrative distance modifications. The structure of admin_distance block is documented below.
    AggregateAddress6s List<Pulumiverse.Fortios.Router.Inputs.BgpAggregateAddress6>
    BGP IPv6 aggregate address table. The structure of aggregate_address6 block is documented below.
    AggregateAddresses List<Pulumiverse.Fortios.Router.Inputs.BgpAggregateAddress>
    BGP aggregate address table. The structure of aggregate_address block is documented below.
    AlwaysCompareMed string
    Enable/disable always compare MED. Valid values: enable, disable.
    As int
    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 as_string.
    AsString string
    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.
    BestpathAsPathIgnore string
    Enable/disable ignore AS path. Valid values: enable, disable.
    BestpathCmpConfedAspath string
    Enable/disable compare federation AS path length. Valid values: enable, disable.
    BestpathCmpRouterid string
    Enable/disable compare router ID for identical EBGP paths. Valid values: enable, disable.
    BestpathMedConfed string
    Enable/disable compare MED among confederation paths. Valid values: enable, disable.
    BestpathMedMissingAsWorst string
    Enable/disable treat missing MED as least preferred. Valid values: enable, disable.
    ClientToClientReflection string
    Enable/disable client-to-client route reflection. Valid values: enable, disable.
    ClusterId string
    Route reflector cluster ID.
    ConfederationIdentifier int
    Confederation identifier.
    ConfederationPeers List<Pulumiverse.Fortios.Router.Inputs.BgpConfederationPeer>
    Confederation peers. The structure of confederation_peers block is documented below.
    CrossFamilyConditionalAdv string
    Enable/disable cross address family conditional advertisement. Valid values: enable, disable.
    Dampening string
    Enable/disable route-flap dampening. Valid values: enable, disable.
    DampeningMaxSuppressTime int
    Maximum minutes a route can be suppressed.
    DampeningReachabilityHalfLife int
    Reachability half-life time for penalty (min).
    DampeningReuse int
    Threshold to reuse routes.
    DampeningRouteMap string
    Criteria for dampening.
    DampeningSuppress int
    Threshold to suppress routes.
    DampeningUnreachabilityHalfLife int
    Unreachability half-life time for penalty (min).
    DefaultLocalPreference int
    Default local preference.
    DeterministicMed string
    Enable/disable enforce deterministic comparison of MED. Valid values: enable, disable.
    DistanceExternal int
    Distance for routes external to the AS.
    DistanceInternal int
    Distance for routes internal to the AS.
    DistanceLocal int
    Distance for routes local to the AS.
    DynamicSortSubtable string
    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 ].
    EbgpMultipath string
    Enable/disable EBGP multi-path. Valid values: enable, disable.
    EnforceFirstAs string
    Enable/disable enforce first AS for EBGP routes. Valid values: enable, disable.
    FastExternalFailover string
    Enable/disable reset peer BGP session if link goes down. Valid values: enable, disable.
    GetAllTables 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.
    GracefulEndOnTimer string
    Enable/disable to exit graceful restart on timer only. Valid values: enable, disable.
    GracefulRestart string
    Enable/disable BGP graceful restart capabilities. Valid values: enable, disable.
    GracefulRestartTime int
    Time needed for neighbors to restart (sec).
    GracefulStalepathTime int
    Time to hold stale paths of restarting neighbor (sec).
    GracefulUpdateDelay int
    Route advertisement/selection delay after restart (sec).
    HoldtimeTimer int
    Number of seconds to mark peer as dead.
    IbgpMultipath string
    Enable/disable IBGP multi-path. Valid values: enable, disable.
    IgnoreOptionalCapability string
    Don't send unknown optional capability notification message Valid values: enable, disable.
    KeepaliveTimer int
    Frequency to send keep alive requests.
    LogNeighbourChanges string
    Enable logging of BGP neighbour's changes Valid values: enable, disable.
    MultipathRecursiveDistance string
    Enable/disable use of recursive distance to select multipath. Valid values: enable, disable.
    NeighborGroups List<Pulumiverse.Fortios.Router.Inputs.BgpNeighborGroup>
    BGP neighbor group table. The structure of neighbor_group block is documented below.
    NeighborRange6s List<Pulumiverse.Fortios.Router.Inputs.BgpNeighborRange6>
    BGP IPv6 neighbor range table. The structure of neighbor_range6 block is documented below.
    NeighborRanges List<Pulumiverse.Fortios.Router.Inputs.BgpNeighborRange>
    BGP neighbor range table. The structure of neighbor_range block is documented below.
    Neighbors List<Pulumiverse.Fortios.Router.Inputs.BgpNeighbor>
    BGP neighbor table. The structure of neighbor block is documented below.
    Network6s List<Pulumiverse.Fortios.Router.Inputs.BgpNetwork6>
    BGP IPv6 network table. The structure of network6 block is documented below.
    NetworkImportCheck string
    Enable/disable ensure BGP network route exists in IGP. Valid values: enable, disable.
    Networks List<Pulumiverse.Fortios.Router.Inputs.BgpNetwork>
    BGP network table. The structure of network block is documented below.
    RecursiveInheritPriority string
    Enable/disable priority inheritance for recursive resolution. Valid values: enable, disable.
    RecursiveNextHop string
    Enable/disable recursive resolution of next-hop using BGP route. Valid values: enable, disable.
    Redistribute6s List<Pulumiverse.Fortios.Router.Inputs.BgpRedistribute6>
    BGP IPv6 redistribute table. The structure of redistribute6 block is documented below.
    Redistributes List<Pulumiverse.Fortios.Router.Inputs.BgpRedistribute>
    BGP IPv4 redistribute table. The structure of redistribute block is documented below.
    RouterId string
    Router ID.
    ScanTime int
    Background scanner interval (sec), 0 to disable it.
    Synchronization string
    Enable/disable only advertise routes from iBGP if routes present in an IGP. Valid values: enable, disable.
    TagResolveMode string
    Configure tag-match mode. Resolves BGP routes with other routes containing the same tag. Valid values: disable, preferred, merge.
    Vdomparam 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.
    Vrf6s List<Pulumiverse.Fortios.Router.Inputs.BgpVrf6>
    BGP IPv6 VRF leaking table. The structure of vrf6 block is documented below.
    VrfLeak6s List<Pulumiverse.Fortios.Router.Inputs.BgpVrfLeak6>
    BGP IPv6 VRF leaking table. The structure of vrf_leak6 block is documented below.
    VrfLeaks List<Pulumiverse.Fortios.Router.Inputs.BgpVrfLeak>
    BGP VRF leaking table. The structure of vrf_leak block is documented below.
    Vrves List<Pulumiverse.Fortios.Router.Inputs.BgpVrf>
    BGP VRF leaking table. The structure of vrf block is documented below.
    AdditionalPath string
    Enable/disable selection of BGP IPv4 additional paths. Valid values: enable, disable.
    AdditionalPath6 string
    Enable/disable selection of BGP IPv6 additional paths. Valid values: enable, disable.
    AdditionalPathSelect int
    Number of additional paths to be selected for each IPv4 NLRI.
    AdditionalPathSelect6 int
    Number of additional paths to be selected for each IPv6 NLRI.
    AdditionalPathSelectVpnv4 int
    Number of additional paths to be selected for each VPNv4 NLRI.
    AdditionalPathSelectVpnv6 int
    Number of additional paths to be selected for each VPNv6 NLRI.
    AdditionalPathVpnv4 string
    Enable/disable selection of BGP VPNv4 additional paths. Valid values: enable, disable.
    AdditionalPathVpnv6 string
    Enable/disable selection of BGP VPNv6 additional paths. Valid values: enable, disable.
    AdminDistances []BgpAdminDistanceArgs
    Administrative distance modifications. The structure of admin_distance block is documented below.
    AggregateAddress6s []BgpAggregateAddress6Args
    BGP IPv6 aggregate address table. The structure of aggregate_address6 block is documented below.
    AggregateAddresses []BgpAggregateAddressArgs
    BGP aggregate address table. The structure of aggregate_address block is documented below.
    AlwaysCompareMed string
    Enable/disable always compare MED. Valid values: enable, disable.
    As int
    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 as_string.
    AsString string
    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.
    BestpathAsPathIgnore string
    Enable/disable ignore AS path. Valid values: enable, disable.
    BestpathCmpConfedAspath string
    Enable/disable compare federation AS path length. Valid values: enable, disable.
    BestpathCmpRouterid string
    Enable/disable compare router ID for identical EBGP paths. Valid values: enable, disable.
    BestpathMedConfed string
    Enable/disable compare MED among confederation paths. Valid values: enable, disable.
    BestpathMedMissingAsWorst string
    Enable/disable treat missing MED as least preferred. Valid values: enable, disable.
    ClientToClientReflection string
    Enable/disable client-to-client route reflection. Valid values: enable, disable.
    ClusterId string
    Route reflector cluster ID.
    ConfederationIdentifier int
    Confederation identifier.
    ConfederationPeers []BgpConfederationPeerArgs
    Confederation peers. The structure of confederation_peers block is documented below.
    CrossFamilyConditionalAdv string
    Enable/disable cross address family conditional advertisement. Valid values: enable, disable.
    Dampening string
    Enable/disable route-flap dampening. Valid values: enable, disable.
    DampeningMaxSuppressTime int
    Maximum minutes a route can be suppressed.
    DampeningReachabilityHalfLife int
    Reachability half-life time for penalty (min).
    DampeningReuse int
    Threshold to reuse routes.
    DampeningRouteMap string
    Criteria for dampening.
    DampeningSuppress int
    Threshold to suppress routes.
    DampeningUnreachabilityHalfLife int
    Unreachability half-life time for penalty (min).
    DefaultLocalPreference int
    Default local preference.
    DeterministicMed string
    Enable/disable enforce deterministic comparison of MED. Valid values: enable, disable.
    DistanceExternal int
    Distance for routes external to the AS.
    DistanceInternal int
    Distance for routes internal to the AS.
    DistanceLocal int
    Distance for routes local to the AS.
    DynamicSortSubtable string
    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 ].
    EbgpMultipath string
    Enable/disable EBGP multi-path. Valid values: enable, disable.
    EnforceFirstAs string
    Enable/disable enforce first AS for EBGP routes. Valid values: enable, disable.
    FastExternalFailover string
    Enable/disable reset peer BGP session if link goes down. Valid values: enable, disable.
    GetAllTables 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.
    GracefulEndOnTimer string
    Enable/disable to exit graceful restart on timer only. Valid values: enable, disable.
    GracefulRestart string
    Enable/disable BGP graceful restart capabilities. Valid values: enable, disable.
    GracefulRestartTime int
    Time needed for neighbors to restart (sec).
    GracefulStalepathTime int
    Time to hold stale paths of restarting neighbor (sec).
    GracefulUpdateDelay int
    Route advertisement/selection delay after restart (sec).
    HoldtimeTimer int
    Number of seconds to mark peer as dead.
    IbgpMultipath string
    Enable/disable IBGP multi-path. Valid values: enable, disable.
    IgnoreOptionalCapability string
    Don't send unknown optional capability notification message Valid values: enable, disable.
    KeepaliveTimer int
    Frequency to send keep alive requests.
    LogNeighbourChanges string
    Enable logging of BGP neighbour's changes Valid values: enable, disable.
    MultipathRecursiveDistance string
    Enable/disable use of recursive distance to select multipath. Valid values: enable, disable.
    NeighborGroups []BgpNeighborGroupArgs
    BGP neighbor group table. The structure of neighbor_group block is documented below.
    NeighborRange6s []BgpNeighborRange6Args
    BGP IPv6 neighbor range table. The structure of neighbor_range6 block is documented below.
    NeighborRanges []BgpNeighborRangeArgs
    BGP neighbor range table. The structure of neighbor_range block is documented below.
    Neighbors []BgpNeighborArgs
    BGP neighbor table. The structure of neighbor block is documented below.
    Network6s []BgpNetwork6Args
    BGP IPv6 network table. The structure of network6 block is documented below.
    NetworkImportCheck string
    Enable/disable ensure BGP network route exists in IGP. Valid values: enable, disable.
    Networks []BgpNetworkArgs
    BGP network table. The structure of network block is documented below.
    RecursiveInheritPriority string
    Enable/disable priority inheritance for recursive resolution. Valid values: enable, disable.
    RecursiveNextHop string
    Enable/disable recursive resolution of next-hop using BGP route. Valid values: enable, disable.
    Redistribute6s []BgpRedistribute6Args
    BGP IPv6 redistribute table. The structure of redistribute6 block is documented below.
    Redistributes []BgpRedistributeArgs
    BGP IPv4 redistribute table. The structure of redistribute block is documented below.
    RouterId string
    Router ID.
    ScanTime int
    Background scanner interval (sec), 0 to disable it.
    Synchronization string
    Enable/disable only advertise routes from iBGP if routes present in an IGP. Valid values: enable, disable.
    TagResolveMode string
    Configure tag-match mode. Resolves BGP routes with other routes containing the same tag. Valid values: disable, preferred, merge.
    Vdomparam 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.
    Vrf6s []BgpVrf6Args
    BGP IPv6 VRF leaking table. The structure of vrf6 block is documented below.
    VrfLeak6s []BgpVrfLeak6Args
    BGP IPv6 VRF leaking table. The structure of vrf_leak6 block is documented below.
    VrfLeaks []BgpVrfLeakArgs
    BGP VRF leaking table. The structure of vrf_leak block is documented below.
    Vrves []BgpVrfArgs
    BGP VRF leaking table. The structure of vrf block is documented below.
    additionalPath String
    Enable/disable selection of BGP IPv4 additional paths. Valid values: enable, disable.
    additionalPath6 String
    Enable/disable selection of BGP IPv6 additional paths. Valid values: enable, disable.
    additionalPathSelect Integer
    Number of additional paths to be selected for each IPv4 NLRI.
    additionalPathSelect6 Integer
    Number of additional paths to be selected for each IPv6 NLRI.
    additionalPathSelectVpnv4 Integer
    Number of additional paths to be selected for each VPNv4 NLRI.
    additionalPathSelectVpnv6 Integer
    Number of additional paths to be selected for each VPNv6 NLRI.
    additionalPathVpnv4 String
    Enable/disable selection of BGP VPNv4 additional paths. Valid values: enable, disable.
    additionalPathVpnv6 String
    Enable/disable selection of BGP VPNv6 additional paths. Valid values: enable, disable.
    adminDistances List<BgpAdminDistance>
    Administrative distance modifications. The structure of admin_distance block is documented below.
    aggregateAddress6s List<BgpAggregateAddress6>
    BGP IPv6 aggregate address table. The structure of aggregate_address6 block is documented below.
    aggregateAddresses List<BgpAggregateAddress>
    BGP aggregate address table. The structure of aggregate_address block is documented below.
    alwaysCompareMed String
    Enable/disable always compare MED. Valid values: enable, disable.
    as Integer
    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 as_string.
    asString String
    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.
    bestpathAsPathIgnore String
    Enable/disable ignore AS path. Valid values: enable, disable.
    bestpathCmpConfedAspath String
    Enable/disable compare federation AS path length. Valid values: enable, disable.
    bestpathCmpRouterid String
    Enable/disable compare router ID for identical EBGP paths. Valid values: enable, disable.
    bestpathMedConfed String
    Enable/disable compare MED among confederation paths. Valid values: enable, disable.
    bestpathMedMissingAsWorst String
    Enable/disable treat missing MED as least preferred. Valid values: enable, disable.
    clientToClientReflection String
    Enable/disable client-to-client route reflection. Valid values: enable, disable.
    clusterId String
    Route reflector cluster ID.
    confederationIdentifier Integer
    Confederation identifier.
    confederationPeers List<BgpConfederationPeer>
    Confederation peers. The structure of confederation_peers block is documented below.
    crossFamilyConditionalAdv String
    Enable/disable cross address family conditional advertisement. Valid values: enable, disable.
    dampening String
    Enable/disable route-flap dampening. Valid values: enable, disable.
    dampeningMaxSuppressTime Integer
    Maximum minutes a route can be suppressed.
    dampeningReachabilityHalfLife Integer
    Reachability half-life time for penalty (min).
    dampeningReuse Integer
    Threshold to reuse routes.
    dampeningRouteMap String
    Criteria for dampening.
    dampeningSuppress Integer
    Threshold to suppress routes.
    dampeningUnreachabilityHalfLife Integer
    Unreachability half-life time for penalty (min).
    defaultLocalPreference Integer
    Default local preference.
    deterministicMed String
    Enable/disable enforce deterministic comparison of MED. Valid values: enable, disable.
    distanceExternal Integer
    Distance for routes external to the AS.
    distanceInternal Integer
    Distance for routes internal to the AS.
    distanceLocal Integer
    Distance for routes local to the AS.
    dynamicSortSubtable String
    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 ].
    ebgpMultipath String
    Enable/disable EBGP multi-path. Valid values: enable, disable.
    enforceFirstAs String
    Enable/disable enforce first AS for EBGP routes. Valid values: enable, disable.
    fastExternalFailover String
    Enable/disable reset peer BGP session if link goes down. Valid values: enable, disable.
    getAllTables 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.
    gracefulEndOnTimer String
    Enable/disable to exit graceful restart on timer only. Valid values: enable, disable.
    gracefulRestart String
    Enable/disable BGP graceful restart capabilities. Valid values: enable, disable.
    gracefulRestartTime Integer
    Time needed for neighbors to restart (sec).
    gracefulStalepathTime Integer
    Time to hold stale paths of restarting neighbor (sec).
    gracefulUpdateDelay Integer
    Route advertisement/selection delay after restart (sec).
    holdtimeTimer Integer
    Number of seconds to mark peer as dead.
    ibgpMultipath String
    Enable/disable IBGP multi-path. Valid values: enable, disable.
    ignoreOptionalCapability String
    Don't send unknown optional capability notification message Valid values: enable, disable.
    keepaliveTimer Integer
    Frequency to send keep alive requests.
    logNeighbourChanges String
    Enable logging of BGP neighbour's changes Valid values: enable, disable.
    multipathRecursiveDistance String
    Enable/disable use of recursive distance to select multipath. Valid values: enable, disable.
    neighborGroups List<BgpNeighborGroup>
    BGP neighbor group table. The structure of neighbor_group block is documented below.
    neighborRange6s List<BgpNeighborRange6>
    BGP IPv6 neighbor range table. The structure of neighbor_range6 block is documented below.
    neighborRanges List<BgpNeighborRange>
    BGP neighbor range table. The structure of neighbor_range block is documented below.
    neighbors List<BgpNeighbor>
    BGP neighbor table. The structure of neighbor block is documented below.
    network6s List<BgpNetwork6>
    BGP IPv6 network table. The structure of network6 block is documented below.
    networkImportCheck String
    Enable/disable ensure BGP network route exists in IGP. Valid values: enable, disable.
    networks List<BgpNetwork>
    BGP network table. The structure of network block is documented below.
    recursiveInheritPriority String
    Enable/disable priority inheritance for recursive resolution. Valid values: enable, disable.
    recursiveNextHop String
    Enable/disable recursive resolution of next-hop using BGP route. Valid values: enable, disable.
    redistribute6s List<BgpRedistribute6>
    BGP IPv6 redistribute table. The structure of redistribute6 block is documented below.
    redistributes List<BgpRedistribute>
    BGP IPv4 redistribute table. The structure of redistribute block is documented below.
    routerId String
    Router ID.
    scanTime Integer
    Background scanner interval (sec), 0 to disable it.
    synchronization String
    Enable/disable only advertise routes from iBGP if routes present in an IGP. Valid values: enable, disable.
    tagResolveMode String
    Configure tag-match mode. Resolves BGP routes with other routes containing the same tag. Valid values: disable, preferred, merge.
    vdomparam 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.
    vrf6s List<BgpVrf6>
    BGP IPv6 VRF leaking table. The structure of vrf6 block is documented below.
    vrfLeak6s List<BgpVrfLeak6>
    BGP IPv6 VRF leaking table. The structure of vrf_leak6 block is documented below.
    vrfLeaks List<BgpVrfLeak>
    BGP VRF leaking table. The structure of vrf_leak block is documented below.
    vrves List<BgpVrf>
    BGP VRF leaking table. The structure of vrf block is documented below.
    additionalPath string
    Enable/disable selection of BGP IPv4 additional paths. Valid values: enable, disable.
    additionalPath6 string
    Enable/disable selection of BGP IPv6 additional paths. Valid values: enable, disable.
    additionalPathSelect number
    Number of additional paths to be selected for each IPv4 NLRI.
    additionalPathSelect6 number
    Number of additional paths to be selected for each IPv6 NLRI.
    additionalPathSelectVpnv4 number
    Number of additional paths to be selected for each VPNv4 NLRI.
    additionalPathSelectVpnv6 number
    Number of additional paths to be selected for each VPNv6 NLRI.
    additionalPathVpnv4 string
    Enable/disable selection of BGP VPNv4 additional paths. Valid values: enable, disable.
    additionalPathVpnv6 string
    Enable/disable selection of BGP VPNv6 additional paths. Valid values: enable, disable.
    adminDistances BgpAdminDistance[]
    Administrative distance modifications. The structure of admin_distance block is documented below.
    aggregateAddress6s BgpAggregateAddress6[]
    BGP IPv6 aggregate address table. The structure of aggregate_address6 block is documented below.
    aggregateAddresses BgpAggregateAddress[]
    BGP aggregate address table. The structure of aggregate_address block is documented below.
    alwaysCompareMed string
    Enable/disable always compare MED. Valid values: enable, disable.
    as number
    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 as_string.
    asString string
    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.
    bestpathAsPathIgnore string
    Enable/disable ignore AS path. Valid values: enable, disable.
    bestpathCmpConfedAspath string
    Enable/disable compare federation AS path length. Valid values: enable, disable.
    bestpathCmpRouterid string
    Enable/disable compare router ID for identical EBGP paths. Valid values: enable, disable.
    bestpathMedConfed string
    Enable/disable compare MED among confederation paths. Valid values: enable, disable.
    bestpathMedMissingAsWorst string
    Enable/disable treat missing MED as least preferred. Valid values: enable, disable.
    clientToClientReflection string
    Enable/disable client-to-client route reflection. Valid values: enable, disable.
    clusterId string
    Route reflector cluster ID.
    confederationIdentifier number
    Confederation identifier.
    confederationPeers BgpConfederationPeer[]
    Confederation peers. The structure of confederation_peers block is documented below.
    crossFamilyConditionalAdv string
    Enable/disable cross address family conditional advertisement. Valid values: enable, disable.
    dampening string
    Enable/disable route-flap dampening. Valid values: enable, disable.
    dampeningMaxSuppressTime number
    Maximum minutes a route can be suppressed.
    dampeningReachabilityHalfLife number
    Reachability half-life time for penalty (min).
    dampeningReuse number
    Threshold to reuse routes.
    dampeningRouteMap string
    Criteria for dampening.
    dampeningSuppress number
    Threshold to suppress routes.
    dampeningUnreachabilityHalfLife number
    Unreachability half-life time for penalty (min).
    defaultLocalPreference number
    Default local preference.
    deterministicMed string
    Enable/disable enforce deterministic comparison of MED. Valid values: enable, disable.
    distanceExternal number
    Distance for routes external to the AS.
    distanceInternal number
    Distance for routes internal to the AS.
    distanceLocal number
    Distance for routes local to the AS.
    dynamicSortSubtable string
    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 ].
    ebgpMultipath string
    Enable/disable EBGP multi-path. Valid values: enable, disable.
    enforceFirstAs string
    Enable/disable enforce first AS for EBGP routes. Valid values: enable, disable.
    fastExternalFailover string
    Enable/disable reset peer BGP session if link goes down. Valid values: enable, disable.
    getAllTables 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.
    gracefulEndOnTimer string
    Enable/disable to exit graceful restart on timer only. Valid values: enable, disable.
    gracefulRestart string
    Enable/disable BGP graceful restart capabilities. Valid values: enable, disable.
    gracefulRestartTime number
    Time needed for neighbors to restart (sec).
    gracefulStalepathTime number
    Time to hold stale paths of restarting neighbor (sec).
    gracefulUpdateDelay number
    Route advertisement/selection delay after restart (sec).
    holdtimeTimer number
    Number of seconds to mark peer as dead.
    ibgpMultipath string
    Enable/disable IBGP multi-path. Valid values: enable, disable.