1. Packages
  2. Panos Provider
  3. API Docs
  4. VirtualRouter
panos 2.0.0 published on Tuesday, Apr 15, 2025 by paloaltonetworks

panos.VirtualRouter

Explore with Pulumi AI

panos logo
panos 2.0.0 published on Tuesday, Apr 15, 2025 by paloaltonetworks

    Create VirtualRouter Resource

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

    Constructor syntax

    new VirtualRouter(name: string, args: VirtualRouterArgs, opts?: CustomResourceOptions);
    @overload
    def VirtualRouter(resource_name: str,
                      args: VirtualRouterArgs,
                      opts: Optional[ResourceOptions] = None)
    
    @overload
    def VirtualRouter(resource_name: str,
                      opts: Optional[ResourceOptions] = None,
                      location: Optional[VirtualRouterLocationArgs] = None,
                      administrative_distances: Optional[VirtualRouterAdministrativeDistancesArgs] = None,
                      ecmp: Optional[VirtualRouterEcmpArgs] = None,
                      interfaces: Optional[Sequence[str]] = None,
                      multicast: Optional[VirtualRouterMulticastArgs] = None,
                      name: Optional[str] = None,
                      protocol: Optional[VirtualRouterProtocolArgs] = None,
                      routing_table: Optional[VirtualRouterRoutingTableArgs] = None)
    func NewVirtualRouter(ctx *Context, name string, args VirtualRouterArgs, opts ...ResourceOption) (*VirtualRouter, error)
    public VirtualRouter(string name, VirtualRouterArgs args, CustomResourceOptions? opts = null)
    public VirtualRouter(String name, VirtualRouterArgs args)
    public VirtualRouter(String name, VirtualRouterArgs args, CustomResourceOptions options)
    
    type: panos:VirtualRouter
    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 VirtualRouterArgs
    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 VirtualRouterArgs
    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 VirtualRouterArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args VirtualRouterArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args VirtualRouterArgs
    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 virtualRouterResource = new Panos.VirtualRouter("virtualRouterResource", new()
    {
        Location = new Panos.Inputs.VirtualRouterLocationArgs
        {
            Ngfw = new Panos.Inputs.VirtualRouterLocationNgfwArgs
            {
                NgfwDevice = "string",
            },
            Template = new Panos.Inputs.VirtualRouterLocationTemplateArgs
            {
                Name = "string",
                NgfwDevice = "string",
                PanoramaDevice = "string",
            },
            TemplateStack = new Panos.Inputs.VirtualRouterLocationTemplateStackArgs
            {
                Name = "string",
                NgfwDevice = "string",
                PanoramaDevice = "string",
            },
        },
        AdministrativeDistances = new Panos.Inputs.VirtualRouterAdministrativeDistancesArgs
        {
            Ebgp = 0,
            Ibgp = 0,
            OspfExt = 0,
            OspfInt = 0,
            Ospfv3Ext = 0,
            Ospfv3Int = 0,
            Rip = 0,
            Static = 0,
            StaticIpv6 = 0,
        },
        Ecmp = new Panos.Inputs.VirtualRouterEcmpArgs
        {
            Algorithm = new Panos.Inputs.VirtualRouterEcmpAlgorithmArgs
            {
                BalancedRoundRobin = null,
                IpHash = new Panos.Inputs.VirtualRouterEcmpAlgorithmIpHashArgs
                {
                    HashSeed = 0,
                    SrcOnly = false,
                    UsePort = false,
                },
                IpModulo = null,
                WeightedRoundRobin = new Panos.Inputs.VirtualRouterEcmpAlgorithmWeightedRoundRobinArgs
                {
                    Interfaces = new[]
                    {
                        new Panos.Inputs.VirtualRouterEcmpAlgorithmWeightedRoundRobinInterfaceArgs
                        {
                            Name = "string",
                            Weight = 0,
                        },
                    },
                },
            },
            Enable = false,
            MaxPaths = 0,
            StrictSourcePath = false,
            SymmetricReturn = false,
        },
        Interfaces = new[]
        {
            "string",
        },
        Multicast = new Panos.Inputs.VirtualRouterMulticastArgs
        {
            Enable = false,
            InterfaceGroups = new[]
            {
                new Panos.Inputs.VirtualRouterMulticastInterfaceGroupArgs
                {
                    Name = "string",
                    Description = "string",
                    GroupPermission = new Panos.Inputs.VirtualRouterMulticastInterfaceGroupGroupPermissionArgs
                    {
                        AnySourceMulticasts = new[]
                        {
                            new Panos.Inputs.VirtualRouterMulticastInterfaceGroupGroupPermissionAnySourceMulticastArgs
                            {
                                Name = "string",
                                GroupAddress = "string",
                                Included = false,
                            },
                        },
                        SourceSpecificMulticasts = new[]
                        {
                            new Panos.Inputs.VirtualRouterMulticastInterfaceGroupGroupPermissionSourceSpecificMulticastArgs
                            {
                                Name = "string",
                                GroupAddress = "string",
                                Included = false,
                                SourceAddress = "string",
                            },
                        },
                    },
                    Igmp = new Panos.Inputs.VirtualRouterMulticastInterfaceGroupIgmpArgs
                    {
                        Enable = false,
                        ImmediateLeave = false,
                        LastMemberQueryInterval = 0,
                        MaxGroups = "string",
                        MaxQueryResponseTime = 0,
                        MaxSources = "string",
                        QueryInterval = 0,
                        Robustness = "string",
                        RouterAlertPolicing = false,
                        Version = "string",
                    },
                    Interfaces = new[]
                    {
                        "string",
                    },
                    Pim = new Panos.Inputs.VirtualRouterMulticastInterfaceGroupPimArgs
                    {
                        AllowedNeighbors = new[]
                        {
                            new Panos.Inputs.VirtualRouterMulticastInterfaceGroupPimAllowedNeighborArgs
                            {
                                Name = "string",
                            },
                        },
                        AssertInterval = 0,
                        BsrBorder = false,
                        DrPriority = 0,
                        Enable = false,
                        HelloInterval = 0,
                        JoinPruneInterval = 0,
                    },
                },
            },
            RouteAgeoutTime = 0,
            Rp = new Panos.Inputs.VirtualRouterMulticastRpArgs
            {
                ExternalRps = new[]
                {
                    new Panos.Inputs.VirtualRouterMulticastRpExternalRpArgs
                    {
                        Name = "string",
                        GroupAddresses = new[]
                        {
                            "string",
                        },
                        Override = false,
                    },
                },
                LocalRp = new Panos.Inputs.VirtualRouterMulticastRpLocalRpArgs
                {
                    CandidateRp = new Panos.Inputs.VirtualRouterMulticastRpLocalRpCandidateRpArgs
                    {
                        Address = "string",
                        AdvertisementInterval = 0,
                        GroupAddresses = new[]
                        {
                            "string",
                        },
                        Interface = "string",
                        Priority = 0,
                    },
                    StaticRp = new Panos.Inputs.VirtualRouterMulticastRpLocalRpStaticRpArgs
                    {
                        Address = "string",
                        GroupAddresses = new[]
                        {
                            "string",
                        },
                        Interface = "string",
                        Override = false,
                    },
                },
            },
            SptThresholds = new[]
            {
                new Panos.Inputs.VirtualRouterMulticastSptThresholdArgs
                {
                    Name = "string",
                    Threshold = "string",
                },
            },
            SsmAddressSpaces = new[]
            {
                new Panos.Inputs.VirtualRouterMulticastSsmAddressSpaceArgs
                {
                    Name = "string",
                    GroupAddress = "string",
                    Included = false,
                },
            },
        },
        Name = "string",
        Protocol = new Panos.Inputs.VirtualRouterProtocolArgs
        {
            Bgp = new Panos.Inputs.VirtualRouterProtocolBgpArgs
            {
                AllowRedistDefaultRoute = false,
                AuthProfiles = new[]
                {
                    new Panos.Inputs.VirtualRouterProtocolBgpAuthProfileArgs
                    {
                        Name = "string",
                        Secret = "string",
                    },
                },
                DampeningProfiles = new[]
                {
                    new Panos.Inputs.VirtualRouterProtocolBgpDampeningProfileArgs
                    {
                        Name = "string",
                        Cutoff = 0,
                        DecayHalfLifeReachable = 0,
                        DecayHalfLifeUnreachable = 0,
                        Enable = false,
                        MaxHoldTime = 0,
                        Reuse = 0,
                    },
                },
                EcmpMultiAs = false,
                Enable = false,
                EnforceFirstAs = false,
                GlobalBfd = new Panos.Inputs.VirtualRouterProtocolBgpGlobalBfdArgs
                {
                    Profile = "string",
                },
                InstallRoute = false,
                LocalAs = "string",
                PeerGroups = new[]
                {
                    new Panos.Inputs.VirtualRouterProtocolBgpPeerGroupArgs
                    {
                        Name = "string",
                        AggregatedConfedAsPath = false,
                        Enable = false,
                        Peers = new[]
                        {
                            new Panos.Inputs.VirtualRouterProtocolBgpPeerGroupPeerArgs
                            {
                                Name = "string",
                                LocalAddress = new Panos.Inputs.VirtualRouterProtocolBgpPeerGroupPeerLocalAddressArgs
                                {
                                    Interface = "string",
                                    Ip = "string",
                                },
                                ConnectionOptions = new Panos.Inputs.VirtualRouterProtocolBgpPeerGroupPeerConnectionOptionsArgs
                                {
                                    Authentication = "string",
                                    HoldTime = "string",
                                    IdleHoldTime = 0,
                                    IncomingBgpConnection = new Panos.Inputs.VirtualRouterProtocolBgpPeerGroupPeerConnectionOptionsIncomingBgpConnectionArgs
                                    {
                                        Allow = false,
                                        RemotePort = 0,
                                    },
                                    KeepAliveInterval = "string",
                                    MinRouteAdvInterval = 0,
                                    Multihop = 0,
                                    OpenDelayTime = 0,
                                    OutgoingBgpConnection = new Panos.Inputs.VirtualRouterProtocolBgpPeerGroupPeerConnectionOptionsOutgoingBgpConnectionArgs
                                    {
                                        Allow = false,
                                        LocalPort = 0,
                                    },
                                },
                                Enable = false,
                                EnableMpBgp = false,
                                EnableSenderSideLoopDetection = false,
                                AddressFamilyIdentifier = "string",
                                MaxPrefixes = "string",
                                Bfd = new Panos.Inputs.VirtualRouterProtocolBgpPeerGroupPeerBfdArgs
                                {
                                    Profile = "string",
                                },
                                PeerAddress = new Panos.Inputs.VirtualRouterProtocolBgpPeerGroupPeerPeerAddressArgs
                                {
                                    Fqdn = "string",
                                    Ip = "string",
                                },
                                PeerAs = "string",
                                PeeringType = "string",
                                ReflectorClient = "string",
                                SubsequentAddressFamilyIdentifier = new Panos.Inputs.VirtualRouterProtocolBgpPeerGroupPeerSubsequentAddressFamilyIdentifierArgs
                                {
                                    Multicast = false,
                                    Unicast = false,
                                },
                            },
                        },
                        SoftResetWithStoredInfo = false,
                        Type = new Panos.Inputs.VirtualRouterProtocolBgpPeerGroupTypeArgs
                        {
                            Ebgp = new Panos.Inputs.VirtualRouterProtocolBgpPeerGroupTypeEbgpArgs
                            {
                                ExportNexthop = "string",
                                ImportNexthop = "string",
                                RemovePrivateAs = false,
                            },
                            EbgpConfed = new Panos.Inputs.VirtualRouterProtocolBgpPeerGroupTypeEbgpConfedArgs
                            {
                                ExportNexthop = "string",
                            },
                            Ibgp = new Panos.Inputs.VirtualRouterProtocolBgpPeerGroupTypeIbgpArgs
                            {
                                ExportNexthop = "string",
                            },
                            IbgpConfed = new Panos.Inputs.VirtualRouterProtocolBgpPeerGroupTypeIbgpConfedArgs
                            {
                                ExportNexthop = "string",
                            },
                        },
                    },
                },
                Policy = new Panos.Inputs.VirtualRouterProtocolBgpPolicyArgs
                {
                    Aggregation = new Panos.Inputs.VirtualRouterProtocolBgpPolicyAggregationArgs
                    {
                        Addresses = new[]
                        {
                            new Panos.Inputs.VirtualRouterProtocolBgpPolicyAggregationAddressArgs
                            {
                                Name = "string",
                                AdvertiseFilters = new[]
                                {
                                    new Panos.Inputs.VirtualRouterProtocolBgpPolicyAggregationAddressAdvertiseFilterArgs
                                    {
                                        Name = "string",
                                        Enable = false,
                                        Match = new Panos.Inputs.VirtualRouterProtocolBgpPolicyAggregationAddressAdvertiseFilterMatchArgs
                                        {
                                            AddressPrefixes = new[]
                                            {
                                                new Panos.Inputs.VirtualRouterProtocolBgpPolicyAggregationAddressAdvertiseFilterMatchAddressPrefixArgs
                                                {
                                                    Name = "string",
                                                    Exact = false,
                                                },
                                            },
                                            AsPath = new Panos.Inputs.VirtualRouterProtocolBgpPolicyAggregationAddressAdvertiseFilterMatchAsPathArgs
                                            {
                                                Regex = "string",
                                            },
                                            Community = new Panos.Inputs.VirtualRouterProtocolBgpPolicyAggregationAddressAdvertiseFilterMatchCommunityArgs
                                            {
                                                Regex = "string",
                                            },
                                            ExtendedCommunity = new Panos.Inputs.VirtualRouterProtocolBgpPolicyAggregationAddressAdvertiseFilterMatchExtendedCommunityArgs
                                            {
                                                Regex = "string",
                                            },
                                            FromPeers = new[]
                                            {
                                                "string",
                                            },
                                            Med = 0,
                                            Nexthops = new[]
                                            {
                                                "string",
                                            },
                                            RouteTable = "string",
                                        },
                                    },
                                },
                                AggregateRouteAttributes = new Panos.Inputs.VirtualRouterProtocolBgpPolicyAggregationAddressAggregateRouteAttributesArgs
                                {
                                    AsPath = new Panos.Inputs.VirtualRouterProtocolBgpPolicyAggregationAddressAggregateRouteAttributesAsPathArgs
                                    {
                                        None = null,
                                        Prepend = 0,
                                    },
                                    AsPathLimit = 0,
                                    Community = new Panos.Inputs.VirtualRouterProtocolBgpPolicyAggregationAddressAggregateRouteAttributesCommunityArgs
                                    {
                                        Appends = new[]
                                        {
                                            "string",
                                        },
                                        None = null,
                                        Overwrites = new[]
                                        {
                                            "string",
                                        },
                                        RemoveAll = null,
                                        RemoveRegex = "string",
                                    },
                                    ExtendedCommunity = new Panos.Inputs.VirtualRouterProtocolBgpPolicyAggregationAddressAggregateRouteAttributesExtendedCommunityArgs
                                    {
                                        Appends = new[]
                                        {
                                            "string",
                                        },
                                        None = null,
                                        Overwrites = new[]
                                        {
                                            "string",
                                        },
                                        RemoveAll = null,
                                        RemoveRegex = "string",
                                    },
                                    LocalPreference = 0,
                                    Med = 0,
                                    Nexthop = "string",
                                    Origin = "string",
                                    Weight = 0,
                                },
                                AsSet = false,
                                Enable = false,
                                Prefix = "string",
                                Summary = false,
                                SuppressFilters = new[]
                                {
                                    new Panos.Inputs.VirtualRouterProtocolBgpPolicyAggregationAddressSuppressFilterArgs
                                    {
                                        Name = "string",
                                        Enable = false,
                                        Match = new Panos.Inputs.VirtualRouterProtocolBgpPolicyAggregationAddressSuppressFilterMatchArgs
                                        {
                                            AddressPrefixes = new[]
                                            {
                                                new Panos.Inputs.VirtualRouterProtocolBgpPolicyAggregationAddressSuppressFilterMatchAddressPrefixArgs
                                                {
                                                    Name = "string",
                                                    Exact = false,
                                                },
                                            },
                                            AsPath = new Panos.Inputs.VirtualRouterProtocolBgpPolicyAggregationAddressSuppressFilterMatchAsPathArgs
                                            {
                                                Regex = "string",
                                            },
                                            Community = new Panos.Inputs.VirtualRouterProtocolBgpPolicyAggregationAddressSuppressFilterMatchCommunityArgs
                                            {
                                                Regex = "string",
                                            },
                                            ExtendedCommunity = new Panos.Inputs.VirtualRouterProtocolBgpPolicyAggregationAddressSuppressFilterMatchExtendedCommunityArgs
                                            {
                                                Regex = "string",
                                            },
                                            FromPeers = new[]
                                            {
                                                "string",
                                            },
                                            Med = 0,
                                            Nexthops = new[]
                                            {
                                                "string",
                                            },
                                            RouteTable = "string",
                                        },
                                    },
                                },
                            },
                        },
                    },
                    ConditionalAdvertisement = new Panos.Inputs.VirtualRouterProtocolBgpPolicyConditionalAdvertisementArgs
                    {
                        Policies = new[]
                        {
                            new Panos.Inputs.VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyArgs
                            {
                                Name = "string",
                                AdvertiseFilters = new[]
                                {
                                    new Panos.Inputs.VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyAdvertiseFilterArgs
                                    {
                                        Name = "string",
                                        Enable = false,
                                        Match = new Panos.Inputs.VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyAdvertiseFilterMatchArgs
                                        {
                                            AddressPrefixes = new[]
                                            {
                                                new Panos.Inputs.VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyAdvertiseFilterMatchAddressPrefixArgs
                                                {
                                                    Name = "string",
                                                },
                                            },
                                            AsPath = new Panos.Inputs.VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyAdvertiseFilterMatchAsPathArgs
                                            {
                                                Regex = "string",
                                            },
                                            Community = new Panos.Inputs.VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyAdvertiseFilterMatchCommunityArgs
                                            {
                                                Regex = "string",
                                            },
                                            ExtendedCommunity = new Panos.Inputs.VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyAdvertiseFilterMatchExtendedCommunityArgs
                                            {
                                                Regex = "string",
                                            },
                                            FromPeers = new[]
                                            {
                                                "string",
                                            },
                                            Med = 0,
                                            Nexthops = new[]
                                            {
                                                "string",
                                            },
                                            RouteTable = "string",
                                        },
                                    },
                                },
                                Enable = false,
                                NonExistFilters = new[]
                                {
                                    new Panos.Inputs.VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyNonExistFilterArgs
                                    {
                                        Name = "string",
                                        Enable = false,
                                        Match = new Panos.Inputs.VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyNonExistFilterMatchArgs
                                        {
                                            AddressPrefixes = new[]
                                            {
                                                new Panos.Inputs.VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyNonExistFilterMatchAddressPrefixArgs
                                                {
                                                    Name = "string",
                                                },
                                            },
                                            AsPath = new Panos.Inputs.VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyNonExistFilterMatchAsPathArgs
                                            {
                                                Regex = "string",
                                            },
                                            Community = new Panos.Inputs.VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyNonExistFilterMatchCommunityArgs
                                            {
                                                Regex = "string",
                                            },
                                            ExtendedCommunity = new Panos.Inputs.VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyNonExistFilterMatchExtendedCommunityArgs
                                            {
                                                Regex = "string",
                                            },
                                            FromPeers = new[]
                                            {
                                                "string",
                                            },
                                            Med = 0,
                                            Nexthops = new[]
                                            {
                                                "string",
                                            },
                                            RouteTable = "string",
                                        },
                                    },
                                },
                                UsedBies = new[]
                                {
                                    "string",
                                },
                            },
                        },
                    },
                    Export = new Panos.Inputs.VirtualRouterProtocolBgpPolicyExportArgs
                    {
                        Rules = new[]
                        {
                            new Panos.Inputs.VirtualRouterProtocolBgpPolicyExportRuleArgs
                            {
                                Name = "string",
                                Action = new Panos.Inputs.VirtualRouterProtocolBgpPolicyExportRuleActionArgs
                                {
                                    Allow = new Panos.Inputs.VirtualRouterProtocolBgpPolicyExportRuleActionAllowArgs
                                    {
                                        Update = new Panos.Inputs.VirtualRouterProtocolBgpPolicyExportRuleActionAllowUpdateArgs
                                        {
                                            AsPath = new Panos.Inputs.VirtualRouterProtocolBgpPolicyExportRuleActionAllowUpdateAsPathArgs
                                            {
                                                None = null,
                                                Prepend = 0,
                                                Remove = null,
                                                RemoveAndPrepend = 0,
                                            },
                                            AsPathLimit = 0,
                                            Community = new Panos.Inputs.VirtualRouterProtocolBgpPolicyExportRuleActionAllowUpdateCommunityArgs
                                            {
                                                Appends = new[]
                                                {
                                                    "string",
                                                },
                                                None = null,
                                                Overwrites = new[]
                                                {
                                                    "string",
                                                },
                                                RemoveAll = null,
                                                RemoveRegex = "string",
                                            },
                                            ExtendedCommunity = new Panos.Inputs.VirtualRouterProtocolBgpPolicyExportRuleActionAllowUpdateExtendedCommunityArgs
                                            {
                                                Appends = new[]
                                                {
                                                    "string",
                                                },
                                                None = null,
                                                Overwrites = new[]
                                                {
                                                    "string",
                                                },
                                                RemoveAll = null,
                                                RemoveRegex = "string",
                                            },
                                            LocalPreference = 0,
                                            Med = 0,
                                            Nexthop = "string",
                                            Origin = "string",
                                        },
                                    },
                                    Deny = null,
                                },
                                Enable = false,
                                Match = new Panos.Inputs.VirtualRouterProtocolBgpPolicyExportRuleMatchArgs
                                {
                                    AddressPrefixes = new[]
                                    {
                                        new Panos.Inputs.VirtualRouterProtocolBgpPolicyExportRuleMatchAddressPrefixArgs
                                        {
                                            Name = "string",
                                            Exact = false,
                                        },
                                    },
                                    AsPath = new Panos.Inputs.VirtualRouterProtocolBgpPolicyExportRuleMatchAsPathArgs
                                    {
                                        Regex = "string",
                                    },
                                    Community = new Panos.Inputs.VirtualRouterProtocolBgpPolicyExportRuleMatchCommunityArgs
                                    {
                                        Regex = "string",
                                    },
                                    ExtendedCommunity = new Panos.Inputs.VirtualRouterProtocolBgpPolicyExportRuleMatchExtendedCommunityArgs
                                    {
                                        Regex = "string",
                                    },
                                    FromPeers = new[]
                                    {
                                        "string",
                                    },
                                    Med = 0,
                                    Nexthops = new[]
                                    {
                                        "string",
                                    },
                                    RouteTable = "string",
                                },
                                UsedBies = new[]
                                {
                                    "string",
                                },
                            },
                        },
                    },
                    Import = new Panos.Inputs.VirtualRouterProtocolBgpPolicyImportArgs
                    {
                        Rules = new[]
                        {
                            new Panos.Inputs.VirtualRouterProtocolBgpPolicyImportRuleArgs
                            {
                                Name = "string",
                                Action = new Panos.Inputs.VirtualRouterProtocolBgpPolicyImportRuleActionArgs
                                {
                                    Allow = new Panos.Inputs.VirtualRouterProtocolBgpPolicyImportRuleActionAllowArgs
                                    {
                                        Dampening = "string",
                                        Update = new Panos.Inputs.VirtualRouterProtocolBgpPolicyImportRuleActionAllowUpdateArgs
                                        {
                                            AsPath = new Panos.Inputs.VirtualRouterProtocolBgpPolicyImportRuleActionAllowUpdateAsPathArgs
                                            {
                                                None = null,
                                                Remove = null,
                                            },
                                            AsPathLimit = 0,
                                            Community = new Panos.Inputs.VirtualRouterProtocolBgpPolicyImportRuleActionAllowUpdateCommunityArgs
                                            {
                                                Appends = new[]
                                                {
                                                    "string",
                                                },
                                                None = null,
                                                Overwrites = new[]
                                                {
                                                    "string",
                                                },
                                                RemoveAll = null,
                                                RemoveRegex = "string",
                                            },
                                            ExtendedCommunity = new Panos.Inputs.VirtualRouterProtocolBgpPolicyImportRuleActionAllowUpdateExtendedCommunityArgs
                                            {
                                                Appends = new[]
                                                {
                                                    "string",
                                                },
                                                None = null,
                                                Overwrites = new[]
                                                {
                                                    "string",
                                                },
                                                RemoveAll = null,
                                                RemoveRegex = "string",
                                            },
                                            LocalPreference = 0,
                                            Med = 0,
                                            Nexthop = "string",
                                            Origin = "string",
                                            Weight = 0,
                                        },
                                    },
                                    Deny = null,
                                },
                                Enable = false,
                                Match = new Panos.Inputs.VirtualRouterProtocolBgpPolicyImportRuleMatchArgs
                                {
                                    AddressPrefixes = new[]
                                    {
                                        new Panos.Inputs.VirtualRouterProtocolBgpPolicyImportRuleMatchAddressPrefixArgs
                                        {
                                            Name = "string",
                                            Exact = false,
                                        },
                                    },
                                    AsPath = new Panos.Inputs.VirtualRouterProtocolBgpPolicyImportRuleMatchAsPathArgs
                                    {
                                        Regex = "string",
                                    },
                                    Community = new Panos.Inputs.VirtualRouterProtocolBgpPolicyImportRuleMatchCommunityArgs
                                    {
                                        Regex = "string",
                                    },
                                    ExtendedCommunity = new Panos.Inputs.VirtualRouterProtocolBgpPolicyImportRuleMatchExtendedCommunityArgs
                                    {
                                        Regex = "string",
                                    },
                                    FromPeers = new[]
                                    {
                                        "string",
                                    },
                                    Med = 0,
                                    Nexthops = new[]
                                    {
                                        "string",
                                    },
                                    RouteTable = "string",
                                },
                                UsedBies = new[]
                                {
                                    "string",
                                },
                            },
                        },
                    },
                },
                RedistRules = new[]
                {
                    new Panos.Inputs.VirtualRouterProtocolBgpRedistRuleArgs
                    {
                        Name = "string",
                        AddressFamilyIdentifier = "string",
                        Enable = false,
                        Metric = 0,
                        RouteTable = "string",
                        SetAsPathLimit = 0,
                        SetCommunities = new[]
                        {
                            "string",
                        },
                        SetExtendedCommunities = new[]
                        {
                            "string",
                        },
                        SetLocalPreference = 0,
                        SetMed = 0,
                        SetOrigin = "string",
                    },
                },
                RejectDefaultRoute = false,
                RouterId = "string",
                RoutingOptions = new Panos.Inputs.VirtualRouterProtocolBgpRoutingOptionsArgs
                {
                    Aggregate = new Panos.Inputs.VirtualRouterProtocolBgpRoutingOptionsAggregateArgs
                    {
                        AggregateMed = false,
                    },
                    AsFormat = "string",
                    ConfederationMemberAs = "string",
                    DefaultLocalPreference = 0,
                    GracefulRestart = new Panos.Inputs.VirtualRouterProtocolBgpRoutingOptionsGracefulRestartArgs
                    {
                        Enable = false,
                        LocalRestartTime = 0,
                        MaxPeerRestartTime = 0,
                        StaleRouteTime = 0,
                    },
                    Med = new Panos.Inputs.VirtualRouterProtocolBgpRoutingOptionsMedArgs
                    {
                        AlwaysCompareMed = false,
                        DeterministicMedComparison = false,
                    },
                    ReflectorClusterId = "string",
                },
            },
            Ospf = new Panos.Inputs.VirtualRouterProtocolOspfArgs
            {
                AllowRedistDefaultRoute = false,
                Areas = new[]
                {
                    new Panos.Inputs.VirtualRouterProtocolOspfAreaArgs
                    {
                        Name = "string",
                        Interfaces = new[]
                        {
                            new Panos.Inputs.VirtualRouterProtocolOspfAreaInterfaceArgs
                            {
                                Name = "string",
                                LinkType = new Panos.Inputs.VirtualRouterProtocolOspfAreaInterfaceLinkTypeArgs
                                {
                                    Broadcast = null,
                                    P2mp = null,
                                    P2p = null,
                                },
                                DeadCounts = 0,
                                Enable = false,
                                GrDelay = 0,
                                HelloInterval = 0,
                                Authentication = "string",
                                Metric = 0,
                                Bfd = new Panos.Inputs.VirtualRouterProtocolOspfAreaInterfaceBfdArgs
                                {
                                    Profile = "string",
                                },
                                Neighbors = new[]
                                {
                                    new Panos.Inputs.VirtualRouterProtocolOspfAreaInterfaceNeighborArgs
                                    {
                                        Name = "string",
                                    },
                                },
                                Passive = false,
                                Priority = 0,
                                RetransmitInterval = 0,
                                TransitDelay = 0,
                            },
                        },
                        Ranges = new[]
                        {
                            new Panos.Inputs.VirtualRouterProtocolOspfAreaRangeArgs
                            {
                                Name = "string",
                                Advertise = null,
                                Suppress = null,
                            },
                        },
                        Type = new Panos.Inputs.VirtualRouterProtocolOspfAreaTypeArgs
                        {
                            Normal = null,
                            Nssa = new Panos.Inputs.VirtualRouterProtocolOspfAreaTypeNssaArgs
                            {
                                AcceptSummary = false,
                                DefaultRoute = new Panos.Inputs.VirtualRouterProtocolOspfAreaTypeNssaDefaultRouteArgs
                                {
                                    Advertise = new Panos.Inputs.VirtualRouterProtocolOspfAreaTypeNssaDefaultRouteAdvertiseArgs
                                    {
                                        Metric = 0,
                                        Type = "string",
                                    },
                                    Disable = null,
                                },
                                NssaExtRanges = new[]
                                {
                                    new Panos.Inputs.VirtualRouterProtocolOspfAreaTypeNssaNssaExtRangeArgs
                                    {
                                        Name = "string",
                                        Advertise = null,
                                        Suppress = null,
                                    },
                                },
                            },
                            Stub = new Panos.Inputs.VirtualRouterProtocolOspfAreaTypeStubArgs
                            {
                                AcceptSummary = false,
                                DefaultRoute = new Panos.Inputs.VirtualRouterProtocolOspfAreaTypeStubDefaultRouteArgs
                                {
                                    Advertise = new Panos.Inputs.VirtualRouterProtocolOspfAreaTypeStubDefaultRouteAdvertiseArgs
                                    {
                                        Metric = 0,
                                    },
                                    Disable = null,
                                },
                            },
                        },
                        VirtualLinks = new[]
                        {
                            new Panos.Inputs.VirtualRouterProtocolOspfAreaVirtualLinkArgs
                            {
                                Name = "string",
                                Authentication = "string",
                                Bfd = new Panos.Inputs.VirtualRouterProtocolOspfAreaVirtualLinkBfdArgs
                                {
                                    Profile = "string",
                                },
                                DeadCounts = 0,
                                Enable = false,
                                HelloInterval = 0,
                                NeighborId = "string",
                                RetransmitInterval = 0,
                                TransitAreaId = "string",
                                TransitDelay = 0,
                            },
                        },
                    },
                },
                AuthProfiles = new[]
                {
                    new Panos.Inputs.VirtualRouterProtocolOspfAuthProfileArgs
                    {
                        Name = "string",
                        Md5s = new[]
                        {
                            new Panos.Inputs.VirtualRouterProtocolOspfAuthProfileMd5Args
                            {
                                Name = "string",
                                Key = "string",
                                Preferred = false,
                            },
                        },
                        Password = "string",
                    },
                },
                Enable = false,
                ExportRules = new[]
                {
                    new Panos.Inputs.VirtualRouterProtocolOspfExportRuleArgs
                    {
                        Name = "string",
                        Metric = 0,
                        NewPathType = "string",
                        NewTag = "string",
                    },
                },
                GlobalBfd = new Panos.Inputs.VirtualRouterProtocolOspfGlobalBfdArgs
                {
                    Profile = "string",
                },
                GracefulRestart = new Panos.Inputs.VirtualRouterProtocolOspfGracefulRestartArgs
                {
                    Enable = false,
                    GracePeriod = 0,
                    HelperEnable = false,
                    MaxNeighborRestartTime = 0,
                    StrictLSAChecking = false,
                },
                RejectDefaultRoute = false,
                Rfc1583 = false,
                RouterId = "string",
                Timers = new Panos.Inputs.VirtualRouterProtocolOspfTimersArgs
                {
                    LsaInterval = 0,
                    SpfCalculationDelay = 0,
                },
            },
            Ospfv3 = new Panos.Inputs.VirtualRouterProtocolOspfv3Args
            {
                AllowRedistDefaultRoute = false,
                Areas = new[]
                {
                    new Panos.Inputs.VirtualRouterProtocolOspfv3AreaArgs
                    {
                        Name = "string",
                        Authentication = "string",
                        Interfaces = new[]
                        {
                            new Panos.Inputs.VirtualRouterProtocolOspfv3AreaInterfaceArgs
                            {
                                Name = "string",
                                Enable = false,
                                Metric = 0,
                                Authentication = "string",
                                GrDelay = 0,
                                HelloInterval = 0,
                                InstanceId = 0,
                                LinkType = new Panos.Inputs.VirtualRouterProtocolOspfv3AreaInterfaceLinkTypeArgs
                                {
                                    Broadcast = null,
                                    P2mp = null,
                                    P2p = null,
                                },
                                DeadCounts = 0,
                                Bfd = new Panos.Inputs.VirtualRouterProtocolOspfv3AreaInterfaceBfdArgs
                                {
                                    Profile = "string",
                                },
                                Neighbors = new[]
                                {
                                    new Panos.Inputs.VirtualRouterProtocolOspfv3AreaInterfaceNeighborArgs
                                    {
                                        Name = "string",
                                    },
                                },
                                Passive = false,
                                Priority = 0,
                                RetransmitInterval = 0,
                                TransitDelay = 0,
                            },
                        },
                        Ranges = new[]
                        {
                            new Panos.Inputs.VirtualRouterProtocolOspfv3AreaRangeArgs
                            {
                                Name = "string",
                                Advertise = null,
                                Suppress = null,
                            },
                        },
                        Type = new Panos.Inputs.VirtualRouterProtocolOspfv3AreaTypeArgs
                        {
                            Normal = null,
                            Nssa = new Panos.Inputs.VirtualRouterProtocolOspfv3AreaTypeNssaArgs
                            {
                                AcceptSummary = false,
                                DefaultRoute = new Panos.Inputs.VirtualRouterProtocolOspfv3AreaTypeNssaDefaultRouteArgs
                                {
                                    Advertise = new Panos.Inputs.VirtualRouterProtocolOspfv3AreaTypeNssaDefaultRouteAdvertiseArgs
                                    {
                                        Metric = 0,
                                        Type = "string",
                                    },
                                    Disable = null,
                                },
                                NssaExtRanges = new[]
                                {
                                    new Panos.Inputs.VirtualRouterProtocolOspfv3AreaTypeNssaNssaExtRangeArgs
                                    {
                                        Name = "string",
                                        Advertise = null,
                                        Suppress = null,
                                    },
                                },
                            },
                            Stub = new Panos.Inputs.VirtualRouterProtocolOspfv3AreaTypeStubArgs
                            {
                                AcceptSummary = false,
                                DefaultRoute = new Panos.Inputs.VirtualRouterProtocolOspfv3AreaTypeStubDefaultRouteArgs
                                {
                                    Advertise = new Panos.Inputs.VirtualRouterProtocolOspfv3AreaTypeStubDefaultRouteAdvertiseArgs
                                    {
                                        Metric = 0,
                                    },
                                    Disable = null,
                                },
                            },
                        },
                        VirtualLinks = new[]
                        {
                            new Panos.Inputs.VirtualRouterProtocolOspfv3AreaVirtualLinkArgs
                            {
                                Name = "string",
                                Authentication = "string",
                                Bfd = new Panos.Inputs.VirtualRouterProtocolOspfv3AreaVirtualLinkBfdArgs
                                {
                                    Profile = "string",
                                },
                                DeadCounts = 0,
                                Enable = false,
                                HelloInterval = 0,
                                InstanceId = 0,
                                NeighborId = "string",
                                RetransmitInterval = 0,
                                TransitAreaId = "string",
                                TransitDelay = 0,
                            },
                        },
                    },
                },
                AuthProfiles = new[]
                {
                    new Panos.Inputs.VirtualRouterProtocolOspfv3AuthProfileArgs
                    {
                        Name = "string",
                        Ah = new Panos.Inputs.VirtualRouterProtocolOspfv3AuthProfileAhArgs
                        {
                            Md5 = new Panos.Inputs.VirtualRouterProtocolOspfv3AuthProfileAhMd5Args
                            {
                                Key = "string",
                            },
                            Sha1 = new Panos.Inputs.VirtualRouterProtocolOspfv3AuthProfileAhSha1Args
                            {
                                Key = "string",
                            },
                            Sha256 = new Panos.Inputs.VirtualRouterProtocolOspfv3AuthProfileAhSha256Args
                            {
                                Key = "string",
                            },
                            Sha384 = new Panos.Inputs.VirtualRouterProtocolOspfv3AuthProfileAhSha384Args
                            {
                                Key = "string",
                            },
                            Sha512 = new Panos.Inputs.VirtualRouterProtocolOspfv3AuthProfileAhSha512Args
                            {
                                Key = "string",
                            },
                        },
                        Esp = new Panos.Inputs.VirtualRouterProtocolOspfv3AuthProfileEspArgs
                        {
                            Authentication = new Panos.Inputs.VirtualRouterProtocolOspfv3AuthProfileEspAuthenticationArgs
                            {
                                Md5 = new Panos.Inputs.VirtualRouterProtocolOspfv3AuthProfileEspAuthenticationMd5Args
                                {
                                    Key = "string",
                                },
                                None = null,
                                Sha1 = new Panos.Inputs.VirtualRouterProtocolOspfv3AuthProfileEspAuthenticationSha1Args
                                {
                                    Key = "string",
                                },
                                Sha256 = new Panos.Inputs.VirtualRouterProtocolOspfv3AuthProfileEspAuthenticationSha256Args
                                {
                                    Key = "string",
                                },
                                Sha384 = new Panos.Inputs.VirtualRouterProtocolOspfv3AuthProfileEspAuthenticationSha384Args
                                {
                                    Key = "string",
                                },
                                Sha512 = new Panos.Inputs.VirtualRouterProtocolOspfv3AuthProfileEspAuthenticationSha512Args
                                {
                                    Key = "string",
                                },
                            },
                            Encryption = new Panos.Inputs.VirtualRouterProtocolOspfv3AuthProfileEspEncryptionArgs
                            {
                                Algorithm = "string",
                                Key = "string",
                            },
                        },
                        Spi = "string",
                    },
                },
                DisableTransitTraffic = false,
                Enable = false,
                ExportRules = new[]
                {
                    new Panos.Inputs.VirtualRouterProtocolOspfv3ExportRuleArgs
                    {
                        Name = "string",
                        Metric = 0,
                        NewPathType = "string",
                        NewTag = "string",
                    },
                },
                GlobalBfd = new Panos.Inputs.VirtualRouterProtocolOspfv3GlobalBfdArgs
                {
                    Profile = "string",
                },
                GracefulRestart = new Panos.Inputs.VirtualRouterProtocolOspfv3GracefulRestartArgs
                {
                    Enable = false,
                    GracePeriod = 0,
                    HelperEnable = false,
                    MaxNeighborRestartTime = 0,
                    StrictLSAChecking = false,
                },
                RejectDefaultRoute = false,
                RouterId = "string",
                Timers = new Panos.Inputs.VirtualRouterProtocolOspfv3TimersArgs
                {
                    LsaInterval = 0,
                    SpfCalculationDelay = 0,
                },
            },
            RedistProfileIpv6s = new[]
            {
                new Panos.Inputs.VirtualRouterProtocolRedistProfileIpv6Args
                {
                    Name = "string",
                    Action = new Panos.Inputs.VirtualRouterProtocolRedistProfileIpv6ActionArgs
                    {
                        NoRedist = null,
                        Redist = null,
                    },
                    Filter = new Panos.Inputs.VirtualRouterProtocolRedistProfileIpv6FilterArgs
                    {
                        Bgp = new Panos.Inputs.VirtualRouterProtocolRedistProfileIpv6FilterBgpArgs
                        {
                            Communities = new[]
                            {
                                "string",
                            },
                            ExtendedCommunities = new[]
                            {
                                "string",
                            },
                        },
                        Destinations = new[]
                        {
                            "string",
                        },
                        Interfaces = new[]
                        {
                            "string",
                        },
                        Nexthops = new[]
                        {
                            "string",
                        },
                        Ospfv3 = new Panos.Inputs.VirtualRouterProtocolRedistProfileIpv6FilterOspfv3Args
                        {
                            Areas = new[]
                            {
                                "string",
                            },
                            PathTypes = new[]
                            {
                                "string",
                            },
                            Tags = new[]
                            {
                                "string",
                            },
                        },
                        Types = new[]
                        {
                            "string",
                        },
                    },
                    Priority = 0,
                },
            },
            RedistProfiles = new[]
            {
                new Panos.Inputs.VirtualRouterProtocolRedistProfileArgs
                {
                    Name = "string",
                    Action = new Panos.Inputs.VirtualRouterProtocolRedistProfileActionArgs
                    {
                        NoRedist = null,
                        Redist = null,
                    },
                    Filter = new Panos.Inputs.VirtualRouterProtocolRedistProfileFilterArgs
                    {
                        Bgp = new Panos.Inputs.VirtualRouterProtocolRedistProfileFilterBgpArgs
                        {
                            Communities = new[]
                            {
                                "string",
                            },
                            ExtendedCommunities = new[]
                            {
                                "string",
                            },
                        },
                        Destinations = new[]
                        {
                            "string",
                        },
                        Interfaces = new[]
                        {
                            "string",
                        },
                        Nexthops = new[]
                        {
                            "string",
                        },
                        Ospf = new Panos.Inputs.VirtualRouterProtocolRedistProfileFilterOspfArgs
                        {
                            Areas = new[]
                            {
                                "string",
                            },
                            PathTypes = new[]
                            {
                                "string",
                            },
                            Tags = new[]
                            {
                                "string",
                            },
                        },
                        Types = new[]
                        {
                            "string",
                        },
                    },
                    Priority = 0,
                },
            },
            Rip = new Panos.Inputs.VirtualRouterProtocolRipArgs
            {
                AllowRedistDefaultRoute = false,
                AuthProfiles = new[]
                {
                    new Panos.Inputs.VirtualRouterProtocolRipAuthProfileArgs
                    {
                        Name = "string",
                        Md5s = new[]
                        {
                            new Panos.Inputs.VirtualRouterProtocolRipAuthProfileMd5Args
                            {
                                Name = "string",
                                Key = "string",
                                Preferred = false,
                            },
                        },
                        Password = "string",
                    },
                },
                Enable = false,
                ExportRules = new[]
                {
                    new Panos.Inputs.VirtualRouterProtocolRipExportRuleArgs
                    {
                        Name = "string",
                        Metric = 0,
                    },
                },
                GlobalBfd = new Panos.Inputs.VirtualRouterProtocolRipGlobalBfdArgs
                {
                    Profile = "string",
                },
                Interfaces = new[]
                {
                    new Panos.Inputs.VirtualRouterProtocolRipInterfaceArgs
                    {
                        Name = "string",
                        Authentication = "string",
                        Bfd = new Panos.Inputs.VirtualRouterProtocolRipInterfaceBfdArgs
                        {
                            Profile = "string",
                        },
                        DefaultRoute = new Panos.Inputs.VirtualRouterProtocolRipInterfaceDefaultRouteArgs
                        {
                            Advertise = new Panos.Inputs.VirtualRouterProtocolRipInterfaceDefaultRouteAdvertiseArgs
                            {
                                Metric = 0,
                            },
                            Disable = null,
                        },
                        Enable = false,
                        Mode = "string",
                    },
                },
                RejectDefaultRoute = false,
                Timers = new Panos.Inputs.VirtualRouterProtocolRipTimersArgs
                {
                    DeleteIntervals = 0,
                    ExpireIntervals = 0,
                    IntervalSeconds = 0,
                    UpdateIntervals = 0,
                },
            },
        },
        RoutingTable = new Panos.Inputs.VirtualRouterRoutingTableArgs
        {
            Ip = new Panos.Inputs.VirtualRouterRoutingTableIpArgs
            {
                StaticRoutes = new[]
                {
                    new Panos.Inputs.VirtualRouterRoutingTableIpStaticRouteArgs
                    {
                        Name = "string",
                        AdministrativeDistance = 0,
                        Bfd = new Panos.Inputs.VirtualRouterRoutingTableIpStaticRouteBfdArgs
                        {
                            Profile = "string",
                        },
                        Destination = "string",
                        Interface = "string",
                        Metric = 0,
                        Nexthop = new Panos.Inputs.VirtualRouterRoutingTableIpStaticRouteNexthopArgs
                        {
                            Discard = null,
                            Fqdn = "string",
                            IpAddress = "string",
                            NextVr = "string",
                            Receive = null,
                        },
                        PathMonitor = new Panos.Inputs.VirtualRouterRoutingTableIpStaticRoutePathMonitorArgs
                        {
                            Enable = false,
                            FailureCondition = "string",
                            HoldTime = 0,
                            MonitorDestinations = new[]
                            {
                                new Panos.Inputs.VirtualRouterRoutingTableIpStaticRoutePathMonitorMonitorDestinationArgs
                                {
                                    Name = "string",
                                    Count = 0,
                                    Destination = "string",
                                    Enable = false,
                                    Interval = 0,
                                    Source = "string",
                                },
                            },
                        },
                        RouteTable = new Panos.Inputs.VirtualRouterRoutingTableIpStaticRouteRouteTableArgs
                        {
                            Both = null,
                            Multicast = null,
                            NoInstall = null,
                            Unicast = null,
                        },
                    },
                },
            },
            Ipv6 = new Panos.Inputs.VirtualRouterRoutingTableIpv6Args
            {
                StaticRoutes = new[]
                {
                    new Panos.Inputs.VirtualRouterRoutingTableIpv6StaticRouteArgs
                    {
                        Name = "string",
                        AdministrativeDistance = 0,
                        Bfd = new Panos.Inputs.VirtualRouterRoutingTableIpv6StaticRouteBfdArgs
                        {
                            Profile = "string",
                        },
                        Destination = "string",
                        Interface = "string",
                        Metric = 0,
                        Nexthop = new Panos.Inputs.VirtualRouterRoutingTableIpv6StaticRouteNexthopArgs
                        {
                            Discard = null,
                            Ipv6Address = "string",
                            NextVr = "string",
                            Receive = null,
                        },
                        PathMonitor = new Panos.Inputs.VirtualRouterRoutingTableIpv6StaticRoutePathMonitorArgs
                        {
                            Enable = false,
                            FailureCondition = "string",
                            HoldTime = 0,
                            MonitorDestinations = new[]
                            {
                                new Panos.Inputs.VirtualRouterRoutingTableIpv6StaticRoutePathMonitorMonitorDestinationArgs
                                {
                                    Name = "string",
                                    Count = 0,
                                    Destination = "string",
                                    Enable = false,
                                    Interval = 0,
                                    Source = "string",
                                },
                            },
                        },
                        RouteTable = new Panos.Inputs.VirtualRouterRoutingTableIpv6StaticRouteRouteTableArgs
                        {
                            NoInstall = null,
                            Unicast = null,
                        },
                    },
                },
            },
        },
    });
    
    example, err := panos.NewVirtualRouter(ctx, "virtualRouterResource", &panos.VirtualRouterArgs{
    	Location: &panos.VirtualRouterLocationArgs{
    		Ngfw: &panos.VirtualRouterLocationNgfwArgs{
    			NgfwDevice: pulumi.String("string"),
    		},
    		Template: &panos.VirtualRouterLocationTemplateArgs{
    			Name:           pulumi.String("string"),
    			NgfwDevice:     pulumi.String("string"),
    			PanoramaDevice: pulumi.String("string"),
    		},
    		TemplateStack: &panos.VirtualRouterLocationTemplateStackArgs{
    			Name:           pulumi.String("string"),
    			NgfwDevice:     pulumi.String("string"),
    			PanoramaDevice: pulumi.String("string"),
    		},
    	},
    	AdministrativeDistances: &panos.VirtualRouterAdministrativeDistancesArgs{
    		Ebgp:       pulumi.Float64(0),
    		Ibgp:       pulumi.Float64(0),
    		OspfExt:    pulumi.Float64(0),
    		OspfInt:    pulumi.Float64(0),
    		Ospfv3Ext:  pulumi.Float64(0),
    		Ospfv3Int:  pulumi.Float64(0),
    		Rip:        pulumi.Float64(0),
    		Static:     pulumi.Float64(0),
    		StaticIpv6: pulumi.Float64(0),
    	},
    	Ecmp: &panos.VirtualRouterEcmpArgs{
    		Algorithm: &panos.VirtualRouterEcmpAlgorithmArgs{
    			BalancedRoundRobin: &panos.VirtualRouterEcmpAlgorithmBalancedRoundRobinArgs{},
    			IpHash: &panos.VirtualRouterEcmpAlgorithmIpHashArgs{
    				HashSeed: pulumi.Float64(0),
    				SrcOnly:  pulumi.Bool(false),
    				UsePort:  pulumi.Bool(false),
    			},
    			IpModulo: &panos.VirtualRouterEcmpAlgorithmIpModuloArgs{},
    			WeightedRoundRobin: &panos.VirtualRouterEcmpAlgorithmWeightedRoundRobinArgs{
    				Interfaces: panos.VirtualRouterEcmpAlgorithmWeightedRoundRobinInterfaceArray{
    					&panos.VirtualRouterEcmpAlgorithmWeightedRoundRobinInterfaceArgs{
    						Name:   pulumi.String("string"),
    						Weight: pulumi.Float64(0),
    					},
    				},
    			},
    		},
    		Enable:           pulumi.Bool(false),
    		MaxPaths:         pulumi.Float64(0),
    		StrictSourcePath: pulumi.Bool(false),
    		SymmetricReturn:  pulumi.Bool(false),
    	},
    	Interfaces: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Multicast: &panos.VirtualRouterMulticastArgs{
    		Enable: pulumi.Bool(false),
    		InterfaceGroups: panos.VirtualRouterMulticastInterfaceGroupArray{
    			&panos.VirtualRouterMulticastInterfaceGroupArgs{
    				Name:        pulumi.String("string"),
    				Description: pulumi.String("string"),
    				GroupPermission: &panos.VirtualRouterMulticastInterfaceGroupGroupPermissionArgs{
    					AnySourceMulticasts: panos.VirtualRouterMulticastInterfaceGroupGroupPermissionAnySourceMulticastArray{
    						&panos.VirtualRouterMulticastInterfaceGroupGroupPermissionAnySourceMulticastArgs{
    							Name:         pulumi.String("string"),
    							GroupAddress: pulumi.String("string"),
    							Included:     pulumi.Bool(false),
    						},
    					},
    					SourceSpecificMulticasts: panos.VirtualRouterMulticastInterfaceGroupGroupPermissionSourceSpecificMulticastArray{
    						&panos.VirtualRouterMulticastInterfaceGroupGroupPermissionSourceSpecificMulticastArgs{
    							Name:          pulumi.String("string"),
    							GroupAddress:  pulumi.String("string"),
    							Included:      pulumi.Bool(false),
    							SourceAddress: pulumi.String("string"),
    						},
    					},
    				},
    				Igmp: &panos.VirtualRouterMulticastInterfaceGroupIgmpArgs{
    					Enable:                  pulumi.Bool(false),
    					ImmediateLeave:          pulumi.Bool(false),
    					LastMemberQueryInterval: pulumi.Float64(0),
    					MaxGroups:               pulumi.String("string"),
    					MaxQueryResponseTime:    pulumi.Float64(0),
    					MaxSources:              pulumi.String("string"),
    					QueryInterval:           pulumi.Float64(0),
    					Robustness:              pulumi.String("string"),
    					RouterAlertPolicing:     pulumi.Bool(false),
    					Version:                 pulumi.String("string"),
    				},
    				Interfaces: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				Pim: &panos.VirtualRouterMulticastInterfaceGroupPimArgs{
    					AllowedNeighbors: panos.VirtualRouterMulticastInterfaceGroupPimAllowedNeighborArray{
    						&panos.VirtualRouterMulticastInterfaceGroupPimAllowedNeighborArgs{
    							Name: pulumi.String("string"),
    						},
    					},
    					AssertInterval:    pulumi.Float64(0),
    					BsrBorder:         pulumi.Bool(false),
    					DrPriority:        pulumi.Float64(0),
    					Enable:            pulumi.Bool(false),
    					HelloInterval:     pulumi.Float64(0),
    					JoinPruneInterval: pulumi.Float64(0),
    				},
    			},
    		},
    		RouteAgeoutTime: pulumi.Float64(0),
    		Rp: &panos.VirtualRouterMulticastRpArgs{
    			ExternalRps: panos.VirtualRouterMulticastRpExternalRpArray{
    				&panos.VirtualRouterMulticastRpExternalRpArgs{
    					Name: pulumi.String("string"),
    					GroupAddresses: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					Override: pulumi.Bool(false),
    				},
    			},
    			LocalRp: &panos.VirtualRouterMulticastRpLocalRpArgs{
    				CandidateRp: &panos.VirtualRouterMulticastRpLocalRpCandidateRpArgs{
    					Address:               pulumi.String("string"),
    					AdvertisementInterval: pulumi.Float64(0),
    					GroupAddresses: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					Interface: pulumi.String("string"),
    					Priority:  pulumi.Float64(0),
    				},
    				StaticRp: &panos.VirtualRouterMulticastRpLocalRpStaticRpArgs{
    					Address: pulumi.String("string"),
    					GroupAddresses: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					Interface: pulumi.String("string"),
    					Override:  pulumi.Bool(false),
    				},
    			},
    		},
    		SptThresholds: panos.VirtualRouterMulticastSptThresholdArray{
    			&panos.VirtualRouterMulticastSptThresholdArgs{
    				Name:      pulumi.String("string"),
    				Threshold: pulumi.String("string"),
    			},
    		},
    		SsmAddressSpaces: panos.VirtualRouterMulticastSsmAddressSpaceArray{
    			&panos.VirtualRouterMulticastSsmAddressSpaceArgs{
    				Name:         pulumi.String("string"),
    				GroupAddress: pulumi.String("string"),
    				Included:     pulumi.Bool(false),
    			},
    		},
    	},
    	Name: pulumi.String("string"),
    	Protocol: &panos.VirtualRouterProtocolArgs{
    		Bgp: &panos.VirtualRouterProtocolBgpArgs{
    			AllowRedistDefaultRoute: pulumi.Bool(false),
    			AuthProfiles: panos.VirtualRouterProtocolBgpAuthProfileArray{
    				&panos.VirtualRouterProtocolBgpAuthProfileArgs{
    					Name:   pulumi.String("string"),
    					Secret: pulumi.String("string"),
    				},
    			},
    			DampeningProfiles: panos.VirtualRouterProtocolBgpDampeningProfileArray{
    				&panos.VirtualRouterProtocolBgpDampeningProfileArgs{
    					Name:                     pulumi.String("string"),
    					Cutoff:                   pulumi.Float64(0),
    					DecayHalfLifeReachable:   pulumi.Float64(0),
    					DecayHalfLifeUnreachable: pulumi.Float64(0),
    					Enable:                   pulumi.Bool(false),
    					MaxHoldTime:              pulumi.Float64(0),
    					Reuse:                    pulumi.Float64(0),
    				},
    			},
    			EcmpMultiAs:    pulumi.Bool(false),
    			Enable:         pulumi.Bool(false),
    			EnforceFirstAs: pulumi.Bool(false),
    			GlobalBfd: &panos.VirtualRouterProtocolBgpGlobalBfdArgs{
    				Profile: pulumi.String("string"),
    			},
    			InstallRoute: pulumi.Bool(false),
    			LocalAs:      pulumi.String("string"),
    			PeerGroups: panos.VirtualRouterProtocolBgpPeerGroupArray{
    				&panos.VirtualRouterProtocolBgpPeerGroupArgs{
    					Name:                   pulumi.String("string"),
    					AggregatedConfedAsPath: pulumi.Bool(false),
    					Enable:                 pulumi.Bool(false),
    					Peers: panos.VirtualRouterProtocolBgpPeerGroupPeerArray{
    						&panos.VirtualRouterProtocolBgpPeerGroupPeerArgs{
    							Name: pulumi.String("string"),
    							LocalAddress: &panos.VirtualRouterProtocolBgpPeerGroupPeerLocalAddressArgs{
    								Interface: pulumi.String("string"),
    								Ip:        pulumi.String("string"),
    							},
    							ConnectionOptions: &panos.VirtualRouterProtocolBgpPeerGroupPeerConnectionOptionsArgs{
    								Authentication: pulumi.String("string"),
    								HoldTime:       pulumi.String("string"),
    								IdleHoldTime:   pulumi.Float64(0),
    								IncomingBgpConnection: &panos.VirtualRouterProtocolBgpPeerGroupPeerConnectionOptionsIncomingBgpConnectionArgs{
    									Allow:      pulumi.Bool(false),
    									RemotePort: pulumi.Float64(0),
    								},
    								KeepAliveInterval:   pulumi.String("string"),
    								MinRouteAdvInterval: pulumi.Float64(0),
    								Multihop:            pulumi.Float64(0),
    								OpenDelayTime:       pulumi.Float64(0),
    								OutgoingBgpConnection: &panos.VirtualRouterProtocolBgpPeerGroupPeerConnectionOptionsOutgoingBgpConnectionArgs{
    									Allow:     pulumi.Bool(false),
    									LocalPort: pulumi.Float64(0),
    								},
    							},
    							Enable:                        pulumi.Bool(false),
    							EnableMpBgp:                   pulumi.Bool(false),
    							EnableSenderSideLoopDetection: pulumi.Bool(false),
    							AddressFamilyIdentifier:       pulumi.String("string"),
    							MaxPrefixes:                   pulumi.String("string"),
    							Bfd: &panos.VirtualRouterProtocolBgpPeerGroupPeerBfdArgs{
    								Profile: pulumi.String("string"),
    							},
    							PeerAddress: &panos.VirtualRouterProtocolBgpPeerGroupPeerPeerAddressArgs{
    								Fqdn: pulumi.String("string"),
    								Ip:   pulumi.String("string"),
    							},
    							PeerAs:          pulumi.String("string"),
    							PeeringType:     pulumi.String("string"),
    							ReflectorClient: pulumi.String("string"),
    							SubsequentAddressFamilyIdentifier: &panos.VirtualRouterProtocolBgpPeerGroupPeerSubsequentAddressFamilyIdentifierArgs{
    								Multicast: pulumi.Bool(false),
    								Unicast:   pulumi.Bool(false),
    							},
    						},
    					},
    					SoftResetWithStoredInfo: pulumi.Bool(false),
    					Type: &panos.VirtualRouterProtocolBgpPeerGroupTypeArgs{
    						Ebgp: &panos.VirtualRouterProtocolBgpPeerGroupTypeEbgpArgs{
    							ExportNexthop:   pulumi.String("string"),
    							ImportNexthop:   pulumi.String("string"),
    							RemovePrivateAs: pulumi.Bool(false),
    						},
    						EbgpConfed: &panos.VirtualRouterProtocolBgpPeerGroupTypeEbgpConfedArgs{
    							ExportNexthop: pulumi.String("string"),
    						},
    						Ibgp: &panos.VirtualRouterProtocolBgpPeerGroupTypeIbgpArgs{
    							ExportNexthop: pulumi.String("string"),
    						},
    						IbgpConfed: &panos.VirtualRouterProtocolBgpPeerGroupTypeIbgpConfedArgs{
    							ExportNexthop: pulumi.String("string"),
    						},
    					},
    				},
    			},
    			Policy: &panos.VirtualRouterProtocolBgpPolicyArgs{
    				Aggregation: &panos.VirtualRouterProtocolBgpPolicyAggregationArgs{
    					Addresses: panos.VirtualRouterProtocolBgpPolicyAggregationAddressArray{
    						&panos.VirtualRouterProtocolBgpPolicyAggregationAddressArgs{
    							Name: pulumi.String("string"),
    							AdvertiseFilters: panos.VirtualRouterProtocolBgpPolicyAggregationAddressAdvertiseFilterArray{
    								&panos.VirtualRouterProtocolBgpPolicyAggregationAddressAdvertiseFilterArgs{
    									Name:   pulumi.String("string"),
    									Enable: pulumi.Bool(false),
    									Match: &panos.VirtualRouterProtocolBgpPolicyAggregationAddressAdvertiseFilterMatchArgs{
    										AddressPrefixes: panos.VirtualRouterProtocolBgpPolicyAggregationAddressAdvertiseFilterMatchAddressPrefixArray{
    											&panos.VirtualRouterProtocolBgpPolicyAggregationAddressAdvertiseFilterMatchAddressPrefixArgs{
    												Name:  pulumi.String("string"),
    												Exact: pulumi.Bool(false),
    											},
    										},
    										AsPath: &panos.VirtualRouterProtocolBgpPolicyAggregationAddressAdvertiseFilterMatchAsPathArgs{
    											Regex: pulumi.String("string"),
    										},
    										Community: &panos.VirtualRouterProtocolBgpPolicyAggregationAddressAdvertiseFilterMatchCommunityArgs{
    											Regex: pulumi.String("string"),
    										},
    										ExtendedCommunity: &panos.VirtualRouterProtocolBgpPolicyAggregationAddressAdvertiseFilterMatchExtendedCommunityArgs{
    											Regex: pulumi.String("string"),
    										},
    										FromPeers: pulumi.StringArray{
    											pulumi.String("string"),
    										},
    										Med: pulumi.Float64(0),
    										Nexthops: pulumi.StringArray{
    											pulumi.String("string"),
    										},
    										RouteTable: pulumi.String("string"),
    									},
    								},
    							},
    							AggregateRouteAttributes: &panos.VirtualRouterProtocolBgpPolicyAggregationAddressAggregateRouteAttributesArgs{
    								AsPath: &panos.VirtualRouterProtocolBgpPolicyAggregationAddressAggregateRouteAttributesAsPathArgs{
    									None:    &panos.VirtualRouterProtocolBgpPolicyAggregationAddressAggregateRouteAttributesAsPathNoneArgs{},
    									Prepend: pulumi.Float64(0),
    								},
    								AsPathLimit: pulumi.Float64(0),
    								Community: &panos.VirtualRouterProtocolBgpPolicyAggregationAddressAggregateRouteAttributesCommunityArgs{
    									Appends: pulumi.StringArray{
    										pulumi.String("string"),
    									},
    									None: &panos.VirtualRouterProtocolBgpPolicyAggregationAddressAggregateRouteAttributesCommunityNoneArgs{},
    									Overwrites: pulumi.StringArray{
    										pulumi.String("string"),
    									},
    									RemoveAll:   &panos.VirtualRouterProtocolBgpPolicyAggregationAddressAggregateRouteAttributesCommunityRemoveAllArgs{},
    									RemoveRegex: pulumi.String("string"),
    								},
    								ExtendedCommunity: &panos.VirtualRouterProtocolBgpPolicyAggregationAddressAggregateRouteAttributesExtendedCommunityArgs{
    									Appends: pulumi.StringArray{
    										pulumi.String("string"),
    									},
    									None: &panos.VirtualRouterProtocolBgpPolicyAggregationAddressAggregateRouteAttributesExtendedCommunityNoneArgs{},
    									Overwrites: pulumi.StringArray{
    										pulumi.String("string"),
    									},
    									RemoveAll:   &panos.VirtualRouterProtocolBgpPolicyAggregationAddressAggregateRouteAttributesExtendedCommunityRemoveAllArgs{},
    									RemoveRegex: pulumi.String("string"),
    								},
    								LocalPreference: pulumi.Float64(0),
    								Med:             pulumi.Float64(0),
    								Nexthop:         pulumi.String("string"),
    								Origin:          pulumi.String("string"),
    								Weight:          pulumi.Float64(0),
    							},
    							AsSet:   pulumi.Bool(false),
    							Enable:  pulumi.Bool(false),
    							Prefix:  pulumi.String("string"),
    							Summary: pulumi.Bool(false),
    							SuppressFilters: panos.VirtualRouterProtocolBgpPolicyAggregationAddressSuppressFilterArray{
    								&panos.VirtualRouterProtocolBgpPolicyAggregationAddressSuppressFilterArgs{
    									Name:   pulumi.String("string"),
    									Enable: pulumi.Bool(false),
    									Match: &panos.VirtualRouterProtocolBgpPolicyAggregationAddressSuppressFilterMatchArgs{
    										AddressPrefixes: panos.VirtualRouterProtocolBgpPolicyAggregationAddressSuppressFilterMatchAddressPrefixArray{
    											&panos.VirtualRouterProtocolBgpPolicyAggregationAddressSuppressFilterMatchAddressPrefixArgs{
    												Name:  pulumi.String("string"),
    												Exact: pulumi.Bool(false),
    											},
    										},
    										AsPath: &panos.VirtualRouterProtocolBgpPolicyAggregationAddressSuppressFilterMatchAsPathArgs{
    											Regex: pulumi.String("string"),
    										},
    										Community: &panos.VirtualRouterProtocolBgpPolicyAggregationAddressSuppressFilterMatchCommunityArgs{
    											Regex: pulumi.String("string"),
    										},
    										ExtendedCommunity: &panos.VirtualRouterProtocolBgpPolicyAggregationAddressSuppressFilterMatchExtendedCommunityArgs{
    											Regex: pulumi.String("string"),
    										},
    										FromPeers: pulumi.StringArray{
    											pulumi.String("string"),
    										},
    										Med: pulumi.Float64(0),
    										Nexthops: pulumi.StringArray{
    											pulumi.String("string"),
    										},
    										RouteTable: pulumi.String("string"),
    									},
    								},
    							},
    						},
    					},
    				},
    				ConditionalAdvertisement: &panos.VirtualRouterProtocolBgpPolicyConditionalAdvertisementArgs{
    					Policies: panos.VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyArray{
    						&panos.VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyArgs{
    							Name: pulumi.String("string"),
    							AdvertiseFilters: panos.VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyAdvertiseFilterArray{
    								&panos.VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyAdvertiseFilterArgs{
    									Name:   pulumi.String("string"),
    									Enable: pulumi.Bool(false),
    									Match: &panos.VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyAdvertiseFilterMatchArgs{
    										AddressPrefixes: panos.VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyAdvertiseFilterMatchAddressPrefixArray{
    											&panos.VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyAdvertiseFilterMatchAddressPrefixArgs{
    												Name: pulumi.String("string"),
    											},
    										},
    										AsPath: &panos.VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyAdvertiseFilterMatchAsPathArgs{
    											Regex: pulumi.String("string"),
    										},
    										Community: &panos.VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyAdvertiseFilterMatchCommunityArgs{
    											Regex: pulumi.String("string"),
    										},
    										ExtendedCommunity: &panos.VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyAdvertiseFilterMatchExtendedCommunityArgs{
    											Regex: pulumi.String("string"),
    										},
    										FromPeers: pulumi.StringArray{
    											pulumi.String("string"),
    										},
    										Med: pulumi.Float64(0),
    										Nexthops: pulumi.StringArray{
    											pulumi.String("string"),
    										},
    										RouteTable: pulumi.String("string"),
    									},
    								},
    							},
    							Enable: pulumi.Bool(false),
    							NonExistFilters: panos.VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyNonExistFilterArray{
    								&panos.VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyNonExistFilterArgs{
    									Name:   pulumi.String("string"),
    									Enable: pulumi.Bool(false),
    									Match: &panos.VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyNonExistFilterMatchArgs{
    										AddressPrefixes: panos.VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyNonExistFilterMatchAddressPrefixArray{
    											&panos.VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyNonExistFilterMatchAddressPrefixArgs{
    												Name: pulumi.String("string"),
    											},
    										},
    										AsPath: &panos.VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyNonExistFilterMatchAsPathArgs{
    											Regex: pulumi.String("string"),
    										},
    										Community: &panos.VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyNonExistFilterMatchCommunityArgs{
    											Regex: pulumi.String("string"),
    										},
    										ExtendedCommunity: &panos.VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyNonExistFilterMatchExtendedCommunityArgs{
    											Regex: pulumi.String("string"),
    										},
    										FromPeers: pulumi.StringArray{
    											pulumi.String("string"),
    										},
    										Med: pulumi.Float64(0),
    										Nexthops: pulumi.StringArray{
    											pulumi.String("string"),
    										},
    										RouteTable: pulumi.String("string"),
    									},
    								},
    							},
    							UsedBies: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    						},
    					},
    				},
    				Export: &panos.VirtualRouterProtocolBgpPolicyExportArgs{
    					Rules: panos.VirtualRouterProtocolBgpPolicyExportRuleArray{
    						&panos.VirtualRouterProtocolBgpPolicyExportRuleArgs{
    							Name: pulumi.String("string"),
    							Action: &panos.VirtualRouterProtocolBgpPolicyExportRuleActionArgs{
    								Allow: &panos.VirtualRouterProtocolBgpPolicyExportRuleActionAllowArgs{
    									Update: &panos.VirtualRouterProtocolBgpPolicyExportRuleActionAllowUpdateArgs{
    										AsPath: &panos.VirtualRouterProtocolBgpPolicyExportRuleActionAllowUpdateAsPathArgs{
    											None:             &panos.VirtualRouterProtocolBgpPolicyExportRuleActionAllowUpdateAsPathNoneArgs{},
    											Prepend:          pulumi.Float64(0),
    											Remove:           &panos.VirtualRouterProtocolBgpPolicyExportRuleActionAllowUpdateAsPathRemoveArgs{},
    											RemoveAndPrepend: pulumi.Float64(0),
    										},
    										AsPathLimit: pulumi.Float64(0),
    										Community: &panos.VirtualRouterProtocolBgpPolicyExportRuleActionAllowUpdateCommunityArgs{
    											Appends: pulumi.StringArray{
    												pulumi.String("string"),
    											},
    											None: &panos.VirtualRouterProtocolBgpPolicyExportRuleActionAllowUpdateCommunityNoneArgs{},
    											Overwrites: pulumi.StringArray{
    												pulumi.String("string"),
    											},
    											RemoveAll:   &panos.VirtualRouterProtocolBgpPolicyExportRuleActionAllowUpdateCommunityRemoveAllArgs{},
    											RemoveRegex: pulumi.String("string"),
    										},
    										ExtendedCommunity: &panos.VirtualRouterProtocolBgpPolicyExportRuleActionAllowUpdateExtendedCommunityArgs{
    											Appends: pulumi.StringArray{
    												pulumi.String("string"),
    											},
    											None: &panos.VirtualRouterProtocolBgpPolicyExportRuleActionAllowUpdateExtendedCommunityNoneArgs{},
    											Overwrites: pulumi.StringArray{
    												pulumi.String("string"),
    											},
    											RemoveAll:   &panos.VirtualRouterProtocolBgpPolicyExportRuleActionAllowUpdateExtendedCommunityRemoveAllArgs{},
    											RemoveRegex: pulumi.String("string"),
    										},
    										LocalPreference: pulumi.Float64(0),
    										Med:             pulumi.Float64(0),
    										Nexthop:         pulumi.String("string"),
    										Origin:          pulumi.String("string"),
    									},
    								},
    								Deny: &panos.VirtualRouterProtocolBgpPolicyExportRuleActionDenyArgs{},
    							},
    							Enable: pulumi.Bool(false),
    							Match: &panos.VirtualRouterProtocolBgpPolicyExportRuleMatchArgs{
    								AddressPrefixes: panos.VirtualRouterProtocolBgpPolicyExportRuleMatchAddressPrefixArray{
    									&panos.VirtualRouterProtocolBgpPolicyExportRuleMatchAddressPrefixArgs{
    										Name:  pulumi.String("string"),
    										Exact: pulumi.Bool(false),
    									},
    								},
    								AsPath: &panos.VirtualRouterProtocolBgpPolicyExportRuleMatchAsPathArgs{
    									Regex: pulumi.String("string"),
    								},
    								Community: &panos.VirtualRouterProtocolBgpPolicyExportRuleMatchCommunityArgs{
    									Regex: pulumi.String("string"),
    								},
    								ExtendedCommunity: &panos.VirtualRouterProtocolBgpPolicyExportRuleMatchExtendedCommunityArgs{
    									Regex: pulumi.String("string"),
    								},
    								FromPeers: pulumi.StringArray{
    									pulumi.String("string"),
    								},
    								Med: pulumi.Float64(0),
    								Nexthops: pulumi.StringArray{
    									pulumi.String("string"),
    								},
    								RouteTable: pulumi.String("string"),
    							},
    							UsedBies: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    						},
    					},
    				},
    				Import: &panos.VirtualRouterProtocolBgpPolicyImportArgs{
    					Rules: panos.VirtualRouterProtocolBgpPolicyImportRuleArray{
    						&panos.VirtualRouterProtocolBgpPolicyImportRuleArgs{
    							Name: pulumi.String("string"),
    							Action: &panos.VirtualRouterProtocolBgpPolicyImportRuleActionArgs{
    								Allow: &panos.VirtualRouterProtocolBgpPolicyImportRuleActionAllowArgs{
    									Dampening: pulumi.String("string"),
    									Update: &panos.VirtualRouterProtocolBgpPolicyImportRuleActionAllowUpdateArgs{
    										AsPath: &panos.VirtualRouterProtocolBgpPolicyImportRuleActionAllowUpdateAsPathArgs{
    											None:   &panos.VirtualRouterProtocolBgpPolicyImportRuleActionAllowUpdateAsPathNoneArgs{},
    											Remove: &panos.VirtualRouterProtocolBgpPolicyImportRuleActionAllowUpdateAsPathRemoveArgs{},
    										},
    										AsPathLimit: pulumi.Float64(0),
    										Community: &panos.VirtualRouterProtocolBgpPolicyImportRuleActionAllowUpdateCommunityArgs{
    											Appends: pulumi.StringArray{
    												pulumi.String("string"),
    											},
    											None: &panos.VirtualRouterProtocolBgpPolicyImportRuleActionAllowUpdateCommunityNoneArgs{},
    											Overwrites: pulumi.StringArray{
    												pulumi.String("string"),
    											},
    											RemoveAll:   &panos.VirtualRouterProtocolBgpPolicyImportRuleActionAllowUpdateCommunityRemoveAllArgs{},
    											RemoveRegex: pulumi.String("string"),
    										},
    										ExtendedCommunity: &panos.VirtualRouterProtocolBgpPolicyImportRuleActionAllowUpdateExtendedCommunityArgs{
    											Appends: pulumi.StringArray{
    												pulumi.String("string"),
    											},
    											None: &panos.VirtualRouterProtocolBgpPolicyImportRuleActionAllowUpdateExtendedCommunityNoneArgs{},
    											Overwrites: pulumi.StringArray{
    												pulumi.String("string"),
    											},
    											RemoveAll:   &panos.VirtualRouterProtocolBgpPolicyImportRuleActionAllowUpdateExtendedCommunityRemoveAllArgs{},
    											RemoveRegex: pulumi.String("string"),
    										},
    										LocalPreference: pulumi.Float64(0),
    										Med:             pulumi.Float64(0),
    										Nexthop:         pulumi.String("string"),
    										Origin:          pulumi.String("string"),
    										Weight:          pulumi.Float64(0),
    									},
    								},
    								Deny: &panos.VirtualRouterProtocolBgpPolicyImportRuleActionDenyArgs{},
    							},
    							Enable: pulumi.Bool(false),
    							Match: &panos.VirtualRouterProtocolBgpPolicyImportRuleMatchArgs{
    								AddressPrefixes: panos.VirtualRouterProtocolBgpPolicyImportRuleMatchAddressPrefixArray{
    									&panos.VirtualRouterProtocolBgpPolicyImportRuleMatchAddressPrefixArgs{
    										Name:  pulumi.String("string"),
    										Exact: pulumi.Bool(false),
    									},
    								},
    								AsPath: &panos.VirtualRouterProtocolBgpPolicyImportRuleMatchAsPathArgs{
    									Regex: pulumi.String("string"),
    								},
    								Community: &panos.VirtualRouterProtocolBgpPolicyImportRuleMatchCommunityArgs{
    									Regex: pulumi.String("string"),
    								},
    								ExtendedCommunity: &panos.VirtualRouterProtocolBgpPolicyImportRuleMatchExtendedCommunityArgs{
    									Regex: pulumi.String("string"),
    								},
    								FromPeers: pulumi.StringArray{
    									pulumi.String("string"),
    								},
    								Med: pulumi.Float64(0),
    								Nexthops: pulumi.StringArray{
    									pulumi.String("string"),
    								},
    								RouteTable: pulumi.String("string"),
    							},
    							UsedBies: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    						},
    					},
    				},
    			},
    			RedistRules: panos.VirtualRouterProtocolBgpRedistRuleArray{
    				&panos.VirtualRouterProtocolBgpRedistRuleArgs{
    					Name:                    pulumi.String("string"),
    					AddressFamilyIdentifier: pulumi.String("string"),
    					Enable:                  pulumi.Bool(false),
    					Metric:                  pulumi.Float64(0),
    					RouteTable:              pulumi.String("string"),
    					SetAsPathLimit:          pulumi.Float64(0),
    					SetCommunities: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					SetExtendedCommunities: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					SetLocalPreference: pulumi.Float64(0),
    					SetMed:             pulumi.Float64(0),
    					SetOrigin:          pulumi.String("string"),
    				},
    			},
    			RejectDefaultRoute: pulumi.Bool(false),
    			RouterId:           pulumi.String("string"),
    			RoutingOptions: &panos.VirtualRouterProtocolBgpRoutingOptionsArgs{
    				Aggregate: &panos.VirtualRouterProtocolBgpRoutingOptionsAggregateArgs{
    					AggregateMed: pulumi.Bool(false),
    				},
    				AsFormat:               pulumi.String("string"),
    				ConfederationMemberAs:  pulumi.String("string"),
    				DefaultLocalPreference: pulumi.Float64(0),
    				GracefulRestart: &panos.VirtualRouterProtocolBgpRoutingOptionsGracefulRestartArgs{
    					Enable:             pulumi.Bool(false),
    					LocalRestartTime:   pulumi.Float64(0),
    					MaxPeerRestartTime: pulumi.Float64(0),
    					StaleRouteTime:     pulumi.Float64(0),
    				},
    				Med: &panos.VirtualRouterProtocolBgpRoutingOptionsMedArgs{
    					AlwaysCompareMed:           pulumi.Bool(false),
    					DeterministicMedComparison: pulumi.Bool(false),
    				},
    				ReflectorClusterId: pulumi.String("string"),
    			},
    		},
    		Ospf: &panos.VirtualRouterProtocolOspfArgs{
    			AllowRedistDefaultRoute: pulumi.Bool(false),
    			Areas: panos.VirtualRouterProtocolOspfAreaArray{
    				&panos.VirtualRouterProtocolOspfAreaArgs{
    					Name: pulumi.String("string"),
    					Interfaces: panos.VirtualRouterProtocolOspfAreaInterfaceArray{
    						&panos.VirtualRouterProtocolOspfAreaInterfaceArgs{
    							Name: pulumi.String("string"),
    							LinkType: &panos.VirtualRouterProtocolOspfAreaInterfaceLinkTypeArgs{
    								Broadcast: &panos.VirtualRouterProtocolOspfAreaInterfaceLinkTypeBroadcastArgs{},
    								P2mp:      &panos.VirtualRouterProtocolOspfAreaInterfaceLinkTypeP2mpArgs{},
    								P2p:       &panos.VirtualRouterProtocolOspfAreaInterfaceLinkTypeP2pArgs{},
    							},
    							DeadCounts:     pulumi.Float64(0),
    							Enable:         pulumi.Bool(false),
    							GrDelay:        pulumi.Float64(0),
    							HelloInterval:  pulumi.Float64(0),
    							Authentication: pulumi.String("string"),
    							Metric:         pulumi.Float64(0),
    							Bfd: &panos.VirtualRouterProtocolOspfAreaInterfaceBfdArgs{
    								Profile: pulumi.String("string"),
    							},
    							Neighbors: panos.VirtualRouterProtocolOspfAreaInterfaceNeighborArray{
    								&panos.VirtualRouterProtocolOspfAreaInterfaceNeighborArgs{
    									Name: pulumi.String("string"),
    								},
    							},
    							Passive:            pulumi.Bool(false),
    							Priority:           pulumi.Float64(0),
    							RetransmitInterval: pulumi.Float64(0),
    							TransitDelay:       pulumi.Float64(0),
    						},
    					},
    					Ranges: panos.VirtualRouterProtocolOspfAreaRangeArray{
    						&panos.VirtualRouterProtocolOspfAreaRangeArgs{
    							Name:      pulumi.String("string"),
    							Advertise: &panos.VirtualRouterProtocolOspfAreaRangeAdvertiseArgs{},
    							Suppress:  &panos.VirtualRouterProtocolOspfAreaRangeSuppressArgs{},
    						},
    					},
    					Type: &panos.VirtualRouterProtocolOspfAreaTypeArgs{
    						Normal: &panos.VirtualRouterProtocolOspfAreaTypeNormalArgs{},
    						Nssa: &panos.VirtualRouterProtocolOspfAreaTypeNssaArgs{
    							AcceptSummary: pulumi.Bool(false),
    							DefaultRoute: &panos.VirtualRouterProtocolOspfAreaTypeNssaDefaultRouteArgs{
    								Advertise: &panos.VirtualRouterProtocolOspfAreaTypeNssaDefaultRouteAdvertiseArgs{
    									Metric: pulumi.Float64(0),
    									Type:   pulumi.String("string"),
    								},
    								Disable: &panos.VirtualRouterProtocolOspfAreaTypeNssaDefaultRouteDisableArgs{},
    							},
    							NssaExtRanges: panos.VirtualRouterProtocolOspfAreaTypeNssaNssaExtRangeArray{
    								&panos.VirtualRouterProtocolOspfAreaTypeNssaNssaExtRangeArgs{
    									Name:      pulumi.String("string"),
    									Advertise: &panos.VirtualRouterProtocolOspfAreaTypeNssaNssaExtRangeAdvertiseArgs{},
    									Suppress:  &panos.VirtualRouterProtocolOspfAreaTypeNssaNssaExtRangeSuppressArgs{},
    								},
    							},
    						},
    						Stub: &panos.VirtualRouterProtocolOspfAreaTypeStubArgs{
    							AcceptSummary: pulumi.Bool(false),
    							DefaultRoute: &panos.VirtualRouterProtocolOspfAreaTypeStubDefaultRouteArgs{
    								Advertise: &panos.VirtualRouterProtocolOspfAreaTypeStubDefaultRouteAdvertiseArgs{
    									Metric: pulumi.Float64(0),
    								},
    								Disable: &panos.VirtualRouterProtocolOspfAreaTypeStubDefaultRouteDisableArgs{},
    							},
    						},
    					},
    					VirtualLinks: panos.VirtualRouterProtocolOspfAreaVirtualLinkArray{
    						&panos.VirtualRouterProtocolOspfAreaVirtualLinkArgs{
    							Name:           pulumi.String("string"),
    							Authentication: pulumi.String("string"),
    							Bfd: &panos.VirtualRouterProtocolOspfAreaVirtualLinkBfdArgs{
    								Profile: pulumi.String("string"),
    							},
    							DeadCounts:         pulumi.Float64(0),
    							Enable:             pulumi.Bool(false),
    							HelloInterval:      pulumi.Float64(0),
    							NeighborId:         pulumi.String("string"),
    							RetransmitInterval: pulumi.Float64(0),
    							TransitAreaId:      pulumi.String("string"),
    							TransitDelay:       pulumi.Float64(0),
    						},
    					},
    				},
    			},
    			AuthProfiles: panos.VirtualRouterProtocolOspfAuthProfileArray{
    				&panos.VirtualRouterProtocolOspfAuthProfileArgs{
    					Name: pulumi.String("string"),
    					Md5s: panos.VirtualRouterProtocolOspfAuthProfileMd5Array{
    						&panos.VirtualRouterProtocolOspfAuthProfileMd5Args{
    							Name:      pulumi.String("string"),
    							Key:       pulumi.String("string"),
    							Preferred: pulumi.Bool(false),
    						},
    					},
    					Password: pulumi.String("string"),
    				},
    			},
    			Enable: pulumi.Bool(false),
    			ExportRules: panos.VirtualRouterProtocolOspfExportRuleArray{
    				&panos.VirtualRouterProtocolOspfExportRuleArgs{
    					Name:        pulumi.String("string"),
    					Metric:      pulumi.Float64(0),
    					NewPathType: pulumi.String("string"),
    					NewTag:      pulumi.String("string"),
    				},
    			},
    			GlobalBfd: &panos.VirtualRouterProtocolOspfGlobalBfdArgs{
    				Profile: pulumi.String("string"),
    			},
    			GracefulRestart: &panos.VirtualRouterProtocolOspfGracefulRestartArgs{
    				Enable:                 pulumi.Bool(false),
    				GracePeriod:            pulumi.Float64(0),
    				HelperEnable:           pulumi.Bool(false),
    				MaxNeighborRestartTime: pulumi.Float64(0),
    				StrictLSAChecking:      pulumi.Bool(false),
    			},
    			RejectDefaultRoute: pulumi.Bool(false),
    			Rfc1583:            pulumi.Bool(false),
    			RouterId:           pulumi.String("string"),
    			Timers: &panos.VirtualRouterProtocolOspfTimersArgs{
    				LsaInterval:         pulumi.Float64(0),
    				SpfCalculationDelay: pulumi.Float64(0),
    			},
    		},
    		Ospfv3: &panos.VirtualRouterProtocolOspfv3Args{
    			AllowRedistDefaultRoute: pulumi.Bool(false),
    			Areas: panos.VirtualRouterProtocolOspfv3AreaArray{
    				&panos.VirtualRouterProtocolOspfv3AreaArgs{
    					Name:           pulumi.String("string"),
    					Authentication: pulumi.String("string"),
    					Interfaces: panos.VirtualRouterProtocolOspfv3AreaInterfaceArray{
    						&panos.VirtualRouterProtocolOspfv3AreaInterfaceArgs{
    							Name:           pulumi.String("string"),
    							Enable:         pulumi.Bool(false),
    							Metric:         pulumi.Float64(0),
    							Authentication: pulumi.String("string"),
    							GrDelay:        pulumi.Float64(0),
    							HelloInterval:  pulumi.Float64(0),
    							InstanceId:     pulumi.Float64(0),
    							LinkType: &panos.VirtualRouterProtocolOspfv3AreaInterfaceLinkTypeArgs{
    								Broadcast: &panos.VirtualRouterProtocolOspfv3AreaInterfaceLinkTypeBroadcastArgs{},
    								P2mp:      &panos.VirtualRouterProtocolOspfv3AreaInterfaceLinkTypeP2mpArgs{},
    								P2p:       &panos.VirtualRouterProtocolOspfv3AreaInterfaceLinkTypeP2pArgs{},
    							},
    							DeadCounts: pulumi.Float64(0),
    							Bfd: &panos.VirtualRouterProtocolOspfv3AreaInterfaceBfdArgs{
    								Profile: pulumi.String("string"),
    							},
    							Neighbors: panos.VirtualRouterProtocolOspfv3AreaInterfaceNeighborArray{
    								&panos.VirtualRouterProtocolOspfv3AreaInterfaceNeighborArgs{
    									Name: pulumi.String("string"),
    								},
    							},
    							Passive:            pulumi.Bool(false),
    							Priority:           pulumi.Float64(0),
    							RetransmitInterval: pulumi.Float64(0),
    							TransitDelay:       pulumi.Float64(0),
    						},
    					},
    					Ranges: panos.VirtualRouterProtocolOspfv3AreaRangeArray{
    						&panos.VirtualRouterProtocolOspfv3AreaRangeArgs{
    							Name:      pulumi.String("string"),
    							Advertise: &panos.VirtualRouterProtocolOspfv3AreaRangeAdvertiseArgs{},
    							Suppress:  &panos.VirtualRouterProtocolOspfv3AreaRangeSuppressArgs{},
    						},
    					},
    					Type: &panos.VirtualRouterProtocolOspfv3AreaTypeArgs{
    						Normal: &panos.VirtualRouterProtocolOspfv3AreaTypeNormalArgs{},
    						Nssa: &panos.VirtualRouterProtocolOspfv3AreaTypeNssaArgs{
    							AcceptSummary: pulumi.Bool(false),
    							DefaultRoute: &panos.VirtualRouterProtocolOspfv3AreaTypeNssaDefaultRouteArgs{
    								Advertise: &panos.VirtualRouterProtocolOspfv3AreaTypeNssaDefaultRouteAdvertiseArgs{
    									Metric: pulumi.Float64(0),
    									Type:   pulumi.String("string"),
    								},
    								Disable: &panos.VirtualRouterProtocolOspfv3AreaTypeNssaDefaultRouteDisableArgs{},
    							},
    							NssaExtRanges: panos.VirtualRouterProtocolOspfv3AreaTypeNssaNssaExtRangeArray{
    								&panos.VirtualRouterProtocolOspfv3AreaTypeNssaNssaExtRangeArgs{
    									Name:      pulumi.String("string"),
    									Advertise: &panos.VirtualRouterProtocolOspfv3AreaTypeNssaNssaExtRangeAdvertiseArgs{},
    									Suppress:  &panos.VirtualRouterProtocolOspfv3AreaTypeNssaNssaExtRangeSuppressArgs{},
    								},
    							},
    						},
    						Stub: &panos.VirtualRouterProtocolOspfv3AreaTypeStubArgs{
    							AcceptSummary: pulumi.Bool(false),
    							DefaultRoute: &panos.VirtualRouterProtocolOspfv3AreaTypeStubDefaultRouteArgs{
    								Advertise: &panos.VirtualRouterProtocolOspfv3AreaTypeStubDefaultRouteAdvertiseArgs{
    									Metric: pulumi.Float64(0),
    								},
    								Disable: &panos.VirtualRouterProtocolOspfv3AreaTypeStubDefaultRouteDisableArgs{},
    							},
    						},
    					},
    					VirtualLinks: panos.VirtualRouterProtocolOspfv3AreaVirtualLinkArray{
    						&panos.VirtualRouterProtocolOspfv3AreaVirtualLinkArgs{
    							Name:           pulumi.String("string"),
    							Authentication: pulumi.String("string"),
    							Bfd: &panos.VirtualRouterProtocolOspfv3AreaVirtualLinkBfdArgs{
    								Profile: pulumi.String("string"),
    							},
    							DeadCounts:         pulumi.Float64(0),
    							Enable:             pulumi.Bool(false),
    							HelloInterval:      pulumi.Float64(0),
    							InstanceId:         pulumi.Float64(0),
    							NeighborId:         pulumi.String("string"),
    							RetransmitInterval: pulumi.Float64(0),
    							TransitAreaId:      pulumi.String("string"),
    							TransitDelay:       pulumi.Float64(0),
    						},
    					},
    				},
    			},
    			AuthProfiles: panos.VirtualRouterProtocolOspfv3AuthProfileArray{
    				&panos.VirtualRouterProtocolOspfv3AuthProfileArgs{
    					Name: pulumi.String("string"),
    					Ah: &panos.VirtualRouterProtocolOspfv3AuthProfileAhArgs{
    						Md5: &panos.VirtualRouterProtocolOspfv3AuthProfileAhMd5Args{
    							Key: pulumi.String("string"),
    						},
    						Sha1: &panos.VirtualRouterProtocolOspfv3AuthProfileAhSha1Args{
    							Key: pulumi.String("string"),
    						},
    						Sha256: &panos.VirtualRouterProtocolOspfv3AuthProfileAhSha256Args{
    							Key: pulumi.String("string"),
    						},
    						Sha384: &panos.VirtualRouterProtocolOspfv3AuthProfileAhSha384Args{
    							Key: pulumi.String("string"),
    						},
    						Sha512: &panos.VirtualRouterProtocolOspfv3AuthProfileAhSha512Args{
    							Key: pulumi.String("string"),
    						},
    					},
    					Esp: &panos.VirtualRouterProtocolOspfv3AuthProfileEspArgs{
    						Authentication: &panos.VirtualRouterProtocolOspfv3AuthProfileEspAuthenticationArgs{
    							Md5: &panos.VirtualRouterProtocolOspfv3AuthProfileEspAuthenticationMd5Args{
    								Key: pulumi.String("string"),
    							},
    							None: &panos.VirtualRouterProtocolOspfv3AuthProfileEspAuthenticationNoneArgs{},
    							Sha1: &panos.VirtualRouterProtocolOspfv3AuthProfileEspAuthenticationSha1Args{
    								Key: pulumi.String("string"),
    							},
    							Sha256: &panos.VirtualRouterProtocolOspfv3AuthProfileEspAuthenticationSha256Args{
    								Key: pulumi.String("string"),
    							},
    							Sha384: &panos.VirtualRouterProtocolOspfv3AuthProfileEspAuthenticationSha384Args{
    								Key: pulumi.String("string"),
    							},
    							Sha512: &panos.VirtualRouterProtocolOspfv3AuthProfileEspAuthenticationSha512Args{
    								Key: pulumi.String("string"),
    							},
    						},
    						Encryption: &panos.VirtualRouterProtocolOspfv3AuthProfileEspEncryptionArgs{
    							Algorithm: pulumi.String("string"),
    							Key:       pulumi.String("string"),
    						},
    					},
    					Spi: pulumi.String("string"),
    				},
    			},
    			DisableTransitTraffic: pulumi.Bool(false),
    			Enable:                pulumi.Bool(false),
    			ExportRules: panos.VirtualRouterProtocolOspfv3ExportRuleArray{
    				&panos.VirtualRouterProtocolOspfv3ExportRuleArgs{
    					Name:        pulumi.String("string"),
    					Metric:      pulumi.Float64(0),
    					NewPathType: pulumi.String("string"),
    					NewTag:      pulumi.String("string"),
    				},
    			},
    			GlobalBfd: &panos.VirtualRouterProtocolOspfv3GlobalBfdArgs{
    				Profile: pulumi.String("string"),
    			},
    			GracefulRestart: &panos.VirtualRouterProtocolOspfv3GracefulRestartArgs{
    				Enable:                 pulumi.Bool(false),
    				GracePeriod:            pulumi.Float64(0),
    				HelperEnable:           pulumi.Bool(false),
    				MaxNeighborRestartTime: pulumi.Float64(0),
    				StrictLSAChecking:      pulumi.Bool(false),
    			},
    			RejectDefaultRoute: pulumi.Bool(false),
    			RouterId:           pulumi.String("string"),
    			Timers: &panos.VirtualRouterProtocolOspfv3TimersArgs{
    				LsaInterval:         pulumi.Float64(0),
    				SpfCalculationDelay: pulumi.Float64(0),
    			},
    		},
    		RedistProfileIpv6s: panos.VirtualRouterProtocolRedistProfileIpv6Array{
    			&panos.VirtualRouterProtocolRedistProfileIpv6Args{
    				Name: pulumi.String("string"),
    				Action: &panos.VirtualRouterProtocolRedistProfileIpv6ActionArgs{
    					NoRedist: &panos.VirtualRouterProtocolRedistProfileIpv6ActionNoRedistArgs{},
    					Redist:   &panos.VirtualRouterProtocolRedistProfileIpv6ActionRedistArgs{},
    				},
    				Filter: &panos.VirtualRouterProtocolRedistProfileIpv6FilterArgs{
    					Bgp: &panos.VirtualRouterProtocolRedistProfileIpv6FilterBgpArgs{
    						Communities: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						ExtendedCommunities: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    					},
    					Destinations: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					Interfaces: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					Nexthops: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					Ospfv3: &panos.VirtualRouterProtocolRedistProfileIpv6FilterOspfv3Args{
    						Areas: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						PathTypes: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						Tags: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    					},
    					Types: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    				},
    				Priority: pulumi.Float64(0),
    			},
    		},
    		RedistProfiles: panos.VirtualRouterProtocolRedistProfileArray{
    			&panos.VirtualRouterProtocolRedistProfileArgs{
    				Name: pulumi.String("string"),
    				Action: &panos.VirtualRouterProtocolRedistProfileActionArgs{
    					NoRedist: &panos.VirtualRouterProtocolRedistProfileActionNoRedistArgs{},
    					Redist:   &panos.VirtualRouterProtocolRedistProfileActionRedistArgs{},
    				},
    				Filter: &panos.VirtualRouterProtocolRedistProfileFilterArgs{
    					Bgp: &panos.VirtualRouterProtocolRedistProfileFilterBgpArgs{
    						Communities: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						ExtendedCommunities: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    					},
    					Destinations: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					Interfaces: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					Nexthops: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					Ospf: &panos.VirtualRouterProtocolRedistProfileFilterOspfArgs{
    						Areas: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						PathTypes: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						Tags: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    					},
    					Types: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    				},
    				Priority: pulumi.Float64(0),
    			},
    		},
    		Rip: &panos.VirtualRouterProtocolRipArgs{
    			AllowRedistDefaultRoute: pulumi.Bool(false),
    			AuthProfiles: panos.VirtualRouterProtocolRipAuthProfileArray{
    				&panos.VirtualRouterProtocolRipAuthProfileArgs{
    					Name: pulumi.String("string"),
    					Md5s: panos.VirtualRouterProtocolRipAuthProfileMd5Array{
    						&panos.VirtualRouterProtocolRipAuthProfileMd5Args{
    							Name:      pulumi.String("string"),
    							Key:       pulumi.String("string"),
    							Preferred: pulumi.Bool(false),
    						},
    					},
    					Password: pulumi.String("string"),
    				},
    			},
    			Enable: pulumi.Bool(false),
    			ExportRules: panos.VirtualRouterProtocolRipExportRuleArray{
    				&panos.VirtualRouterProtocolRipExportRuleArgs{
    					Name:   pulumi.String("string"),
    					Metric: pulumi.Float64(0),
    				},
    			},
    			GlobalBfd: &panos.VirtualRouterProtocolRipGlobalBfdArgs{
    				Profile: pulumi.String("string"),
    			},
    			Interfaces: panos.VirtualRouterProtocolRipInterfaceArray{
    				&panos.VirtualRouterProtocolRipInterfaceArgs{
    					Name:           pulumi.String("string"),
    					Authentication: pulumi.String("string"),
    					Bfd: &panos.VirtualRouterProtocolRipInterfaceBfdArgs{
    						Profile: pulumi.String("string"),
    					},
    					DefaultRoute: &panos.VirtualRouterProtocolRipInterfaceDefaultRouteArgs{
    						Advertise: &panos.VirtualRouterProtocolRipInterfaceDefaultRouteAdvertiseArgs{
    							Metric: pulumi.Float64(0),
    						},
    						Disable: &panos.VirtualRouterProtocolRipInterfaceDefaultRouteDisableArgs{},
    					},
    					Enable: pulumi.Bool(false),
    					Mode:   pulumi.String("string"),
    				},
    			},
    			RejectDefaultRoute: pulumi.Bool(false),
    			Timers: &panos.VirtualRouterProtocolRipTimersArgs{
    				DeleteIntervals: pulumi.Float64(0),
    				ExpireIntervals: pulumi.Float64(0),
    				IntervalSeconds: pulumi.Float64(0),
    				UpdateIntervals: pulumi.Float64(0),
    			},
    		},
    	},
    	RoutingTable: &panos.VirtualRouterRoutingTableArgs{
    		Ip: &panos.VirtualRouterRoutingTableIpArgs{
    			StaticRoutes: panos.VirtualRouterRoutingTableIpStaticRouteArray{
    				&panos.VirtualRouterRoutingTableIpStaticRouteArgs{
    					Name:                   pulumi.String("string"),
    					AdministrativeDistance: pulumi.Float64(0),
    					Bfd: &panos.VirtualRouterRoutingTableIpStaticRouteBfdArgs{
    						Profile: pulumi.String("string"),
    					},
    					Destination: pulumi.String("string"),
    					Interface:   pulumi.String("string"),
    					Metric:      pulumi.Float64(0),
    					Nexthop: &panos.VirtualRouterRoutingTableIpStaticRouteNexthopArgs{
    						Discard:   &panos.VirtualRouterRoutingTableIpStaticRouteNexthopDiscardArgs{},
    						Fqdn:      pulumi.String("string"),
    						IpAddress: pulumi.String("string"),
    						NextVr:    pulumi.String("string"),
    						Receive:   &panos.VirtualRouterRoutingTableIpStaticRouteNexthopReceiveArgs{},
    					},
    					PathMonitor: &panos.VirtualRouterRoutingTableIpStaticRoutePathMonitorArgs{
    						Enable:           pulumi.Bool(false),
    						FailureCondition: pulumi.String("string"),
    						HoldTime:         pulumi.Float64(0),
    						MonitorDestinations: panos.VirtualRouterRoutingTableIpStaticRoutePathMonitorMonitorDestinationArray{
    							&panos.VirtualRouterRoutingTableIpStaticRoutePathMonitorMonitorDestinationArgs{
    								Name:        pulumi.String("string"),
    								Count:       pulumi.Float64(0),
    								Destination: pulumi.String("string"),
    								Enable:      pulumi.Bool(false),
    								Interval:    pulumi.Float64(0),
    								Source:      pulumi.String("string"),
    							},
    						},
    					},
    					RouteTable: &panos.VirtualRouterRoutingTableIpStaticRouteRouteTableArgs{
    						Both:      &panos.VirtualRouterRoutingTableIpStaticRouteRouteTableBothArgs{},
    						Multicast: &panos.VirtualRouterRoutingTableIpStaticRouteRouteTableMulticastArgs{},
    						NoInstall: &panos.VirtualRouterRoutingTableIpStaticRouteRouteTableNoInstallArgs{},
    						Unicast:   &panos.VirtualRouterRoutingTableIpStaticRouteRouteTableUnicastArgs{},
    					},
    				},
    			},
    		},
    		Ipv6: &panos.VirtualRouterRoutingTableIpv6Args{
    			StaticRoutes: panos.VirtualRouterRoutingTableIpv6StaticRouteArray{
    				&panos.VirtualRouterRoutingTableIpv6StaticRouteArgs{
    					Name:                   pulumi.String("string"),
    					AdministrativeDistance: pulumi.Float64(0),
    					Bfd: &panos.VirtualRouterRoutingTableIpv6StaticRouteBfdArgs{
    						Profile: pulumi.String("string"),
    					},
    					Destination: pulumi.String("string"),
    					Interface:   pulumi.String("string"),
    					Metric:      pulumi.Float64(0),
    					Nexthop: &panos.VirtualRouterRoutingTableIpv6StaticRouteNexthopArgs{
    						Discard:     &panos.VirtualRouterRoutingTableIpv6StaticRouteNexthopDiscardArgs{},
    						Ipv6Address: pulumi.String("string"),
    						NextVr:      pulumi.String("string"),
    						Receive:     &panos.VirtualRouterRoutingTableIpv6StaticRouteNexthopReceiveArgs{},
    					},
    					PathMonitor: &panos.VirtualRouterRoutingTableIpv6StaticRoutePathMonitorArgs{
    						Enable:           pulumi.Bool(false),
    						FailureCondition: pulumi.String("string"),
    						HoldTime:         pulumi.Float64(0),
    						MonitorDestinations: panos.VirtualRouterRoutingTableIpv6StaticRoutePathMonitorMonitorDestinationArray{
    							&panos.VirtualRouterRoutingTableIpv6StaticRoutePathMonitorMonitorDestinationArgs{
    								Name:        pulumi.String("string"),
    								Count:       pulumi.Float64(0),
    								Destination: pulumi.String("string"),
    								Enable:      pulumi.Bool(false),
    								Interval:    pulumi.Float64(0),
    								Source:      pulumi.String("string"),
    							},
    						},
    					},
    					RouteTable: &panos.VirtualRouterRoutingTableIpv6StaticRouteRouteTableArgs{
    						NoInstall: &panos.VirtualRouterRoutingTableIpv6StaticRouteRouteTableNoInstallArgs{},
    						Unicast:   &panos.VirtualRouterRoutingTableIpv6StaticRouteRouteTableUnicastArgs{},
    					},
    				},
    			},
    		},
    	},
    })
    
    var virtualRouterResource = new VirtualRouter("virtualRouterResource", VirtualRouterArgs.builder()
        .location(VirtualRouterLocationArgs.builder()
            .ngfw(VirtualRouterLocationNgfwArgs.builder()
                .ngfwDevice("string")
                .build())
            .template(VirtualRouterLocationTemplateArgs.builder()
                .name("string")
                .ngfwDevice("string")
                .panoramaDevice("string")
                .build())
            .templateStack(VirtualRouterLocationTemplateStackArgs.builder()
                .name("string")
                .ngfwDevice("string")
                .panoramaDevice("string")
                .build())
            .build())
        .administrativeDistances(VirtualRouterAdministrativeDistancesArgs.builder()
            .ebgp(0)
            .ibgp(0)
            .ospfExt(0)
            .ospfInt(0)
            .ospfv3Ext(0)
            .ospfv3Int(0)
            .rip(0)
            .static_(0)
            .staticIpv6(0)
            .build())
        .ecmp(VirtualRouterEcmpArgs.builder()
            .algorithm(VirtualRouterEcmpAlgorithmArgs.builder()
                .balancedRoundRobin()
                .ipHash(VirtualRouterEcmpAlgorithmIpHashArgs.builder()
                    .hashSeed(0)
                    .srcOnly(false)
                    .usePort(false)
                    .build())
                .ipModulo()
                .weightedRoundRobin(VirtualRouterEcmpAlgorithmWeightedRoundRobinArgs.builder()
                    .interfaces(VirtualRouterEcmpAlgorithmWeightedRoundRobinInterfaceArgs.builder()
                        .name("string")
                        .weight(0)
                        .build())
                    .build())
                .build())
            .enable(false)
            .maxPaths(0)
            .strictSourcePath(false)
            .symmetricReturn(false)
            .build())
        .interfaces("string")
        .multicast(VirtualRouterMulticastArgs.builder()
            .enable(false)
            .interfaceGroups(VirtualRouterMulticastInterfaceGroupArgs.builder()
                .name("string")
                .description("string")
                .groupPermission(VirtualRouterMulticastInterfaceGroupGroupPermissionArgs.builder()
                    .anySourceMulticasts(VirtualRouterMulticastInterfaceGroupGroupPermissionAnySourceMulticastArgs.builder()
                        .name("string")
                        .groupAddress("string")
                        .included(false)
                        .build())
                    .sourceSpecificMulticasts(VirtualRouterMulticastInterfaceGroupGroupPermissionSourceSpecificMulticastArgs.builder()
                        .name("string")
                        .groupAddress("string")
                        .included(false)
                        .sourceAddress("string")
                        .build())
                    .build())
                .igmp(VirtualRouterMulticastInterfaceGroupIgmpArgs.builder()
                    .enable(false)
                    .immediateLeave(false)
                    .lastMemberQueryInterval(0)
                    .maxGroups("string")
                    .maxQueryResponseTime(0)
                    .maxSources("string")
                    .queryInterval(0)
                    .robustness("string")
                    .routerAlertPolicing(false)
                    .version("string")
                    .build())
                .interfaces("string")
                .pim(VirtualRouterMulticastInterfaceGroupPimArgs.builder()
                    .allowedNeighbors(VirtualRouterMulticastInterfaceGroupPimAllowedNeighborArgs.builder()
                        .name("string")
                        .build())
                    .assertInterval(0)
                    .bsrBorder(false)
                    .drPriority(0)
                    .enable(false)
                    .helloInterval(0)
                    .joinPruneInterval(0)
                    .build())
                .build())
            .routeAgeoutTime(0)
            .rp(VirtualRouterMulticastRpArgs.builder()
                .externalRps(VirtualRouterMulticastRpExternalRpArgs.builder()
                    .name("string")
                    .groupAddresses("string")
                    .override(false)
                    .build())
                .localRp(VirtualRouterMulticastRpLocalRpArgs.builder()
                    .candidateRp(VirtualRouterMulticastRpLocalRpCandidateRpArgs.builder()
                        .address("string")
                        .advertisementInterval(0)
                        .groupAddresses("string")
                        .interface_("string")
                        .priority(0)
                        .build())
                    .staticRp(VirtualRouterMulticastRpLocalRpStaticRpArgs.builder()
                        .address("string")
                        .groupAddresses("string")
                        .interface_("string")
                        .override(false)
                        .build())
                    .build())
                .build())
            .sptThresholds(VirtualRouterMulticastSptThresholdArgs.builder()
                .name("string")
                .threshold("string")
                .build())
            .ssmAddressSpaces(VirtualRouterMulticastSsmAddressSpaceArgs.builder()
                .name("string")
                .groupAddress("string")
                .included(false)
                .build())
            .build())
        .name("string")
        .protocol(VirtualRouterProtocolArgs.builder()
            .bgp(VirtualRouterProtocolBgpArgs.builder()
                .allowRedistDefaultRoute(false)
                .authProfiles(VirtualRouterProtocolBgpAuthProfileArgs.builder()
                    .name("string")
                    .secret("string")
                    .build())
                .dampeningProfiles(VirtualRouterProtocolBgpDampeningProfileArgs.builder()
                    .name("string")
                    .cutoff(0)
                    .decayHalfLifeReachable(0)
                    .decayHalfLifeUnreachable(0)
                    .enable(false)
                    .maxHoldTime(0)
                    .reuse(0)
                    .build())
                .ecmpMultiAs(false)
                .enable(false)
                .enforceFirstAs(false)
                .globalBfd(VirtualRouterProtocolBgpGlobalBfdArgs.builder()
                    .profile("string")
                    .build())
                .installRoute(false)
                .localAs("string")
                .peerGroups(VirtualRouterProtocolBgpPeerGroupArgs.builder()
                    .name("string")
                    .aggregatedConfedAsPath(false)
                    .enable(false)
                    .peers(VirtualRouterProtocolBgpPeerGroupPeerArgs.builder()
                        .name("string")
                        .localAddress(VirtualRouterProtocolBgpPeerGroupPeerLocalAddressArgs.builder()
                            .interface_("string")
                            .ip("string")
                            .build())
                        .connectionOptions(VirtualRouterProtocolBgpPeerGroupPeerConnectionOptionsArgs.builder()
                            .authentication("string")
                            .holdTime("string")
                            .idleHoldTime(0)
                            .incomingBgpConnection(VirtualRouterProtocolBgpPeerGroupPeerConnectionOptionsIncomingBgpConnectionArgs.builder()
                                .allow(false)
                                .remotePort(0)
                                .build())
                            .keepAliveInterval("string")
                            .minRouteAdvInterval(0)
                            .multihop(0)
                            .openDelayTime(0)
                            .outgoingBgpConnection(VirtualRouterProtocolBgpPeerGroupPeerConnectionOptionsOutgoingBgpConnectionArgs.builder()
                                .allow(false)
                                .localPort(0)
                                .build())
                            .build())
                        .enable(false)
                        .enableMpBgp(false)
                        .enableSenderSideLoopDetection(false)
                        .addressFamilyIdentifier("string")
                        .maxPrefixes("string")
                        .bfd(VirtualRouterProtocolBgpPeerGroupPeerBfdArgs.builder()
                            .profile("string")
                            .build())
                        .peerAddress(VirtualRouterProtocolBgpPeerGroupPeerPeerAddressArgs.builder()
                            .fqdn("string")
                            .ip("string")
                            .build())
                        .peerAs("string")
                        .peeringType("string")
                        .reflectorClient("string")
                        .subsequentAddressFamilyIdentifier(VirtualRouterProtocolBgpPeerGroupPeerSubsequentAddressFamilyIdentifierArgs.builder()
                            .multicast(false)
                            .unicast(false)
                            .build())
                        .build())
                    .softResetWithStoredInfo(false)
                    .type(VirtualRouterProtocolBgpPeerGroupTypeArgs.builder()
                        .ebgp(VirtualRouterProtocolBgpPeerGroupTypeEbgpArgs.builder()
                            .exportNexthop("string")
                            .importNexthop("string")
                            .removePrivateAs(false)
                            .build())
                        .ebgpConfed(VirtualRouterProtocolBgpPeerGroupTypeEbgpConfedArgs.builder()
                            .exportNexthop("string")
                            .build())
                        .ibgp(VirtualRouterProtocolBgpPeerGroupTypeIbgpArgs.builder()
                            .exportNexthop("string")
                            .build())
                        .ibgpConfed(VirtualRouterProtocolBgpPeerGroupTypeIbgpConfedArgs.builder()
                            .exportNexthop("string")
                            .build())
                        .build())
                    .build())
                .policy(VirtualRouterProtocolBgpPolicyArgs.builder()
                    .aggregation(VirtualRouterProtocolBgpPolicyAggregationArgs.builder()
                        .addresses(VirtualRouterProtocolBgpPolicyAggregationAddressArgs.builder()
                            .name("string")
                            .advertiseFilters(VirtualRouterProtocolBgpPolicyAggregationAddressAdvertiseFilterArgs.builder()
                                .name("string")
                                .enable(false)
                                .match(VirtualRouterProtocolBgpPolicyAggregationAddressAdvertiseFilterMatchArgs.builder()
                                    .addressPrefixes(VirtualRouterProtocolBgpPolicyAggregationAddressAdvertiseFilterMatchAddressPrefixArgs.builder()
                                        .name("string")
                                        .exact(false)
                                        .build())
                                    .asPath(VirtualRouterProtocolBgpPolicyAggregationAddressAdvertiseFilterMatchAsPathArgs.builder()
                                        .regex("string")
                                        .build())
                                    .community(VirtualRouterProtocolBgpPolicyAggregationAddressAdvertiseFilterMatchCommunityArgs.builder()
                                        .regex("string")
                                        .build())
                                    .extendedCommunity(VirtualRouterProtocolBgpPolicyAggregationAddressAdvertiseFilterMatchExtendedCommunityArgs.builder()
                                        .regex("string")
                                        .build())
                                    .fromPeers("string")
                                    .med(0)
                                    .nexthops("string")
                                    .routeTable("string")
                                    .build())
                                .build())
                            .aggregateRouteAttributes(VirtualRouterProtocolBgpPolicyAggregationAddressAggregateRouteAttributesArgs.builder()
                                .asPath(VirtualRouterProtocolBgpPolicyAggregationAddressAggregateRouteAttributesAsPathArgs.builder()
                                    .none()
                                    .prepend(0)
                                    .build())
                                .asPathLimit(0)
                                .community(VirtualRouterProtocolBgpPolicyAggregationAddressAggregateRouteAttributesCommunityArgs.builder()
                                    .appends("string")
                                    .none()
                                    .overwrites("string")
                                    .removeAll()
                                    .removeRegex("string")
                                    .build())
                                .extendedCommunity(VirtualRouterProtocolBgpPolicyAggregationAddressAggregateRouteAttributesExtendedCommunityArgs.builder()
                                    .appends("string")
                                    .none()
                                    .overwrites("string")
                                    .removeAll()
                                    .removeRegex("string")
                                    .build())
                                .localPreference(0)
                                .med(0)
                                .nexthop("string")
                                .origin("string")
                                .weight(0)
                                .build())
                            .asSet(false)
                            .enable(false)
                            .prefix("string")
                            .summary(false)
                            .suppressFilters(VirtualRouterProtocolBgpPolicyAggregationAddressSuppressFilterArgs.builder()
                                .name("string")
                                .enable(false)
                                .match(VirtualRouterProtocolBgpPolicyAggregationAddressSuppressFilterMatchArgs.builder()
                                    .addressPrefixes(VirtualRouterProtocolBgpPolicyAggregationAddressSuppressFilterMatchAddressPrefixArgs.builder()
                                        .name("string")
                                        .exact(false)
                                        .build())
                                    .asPath(VirtualRouterProtocolBgpPolicyAggregationAddressSuppressFilterMatchAsPathArgs.builder()
                                        .regex("string")
                                        .build())
                                    .community(VirtualRouterProtocolBgpPolicyAggregationAddressSuppressFilterMatchCommunityArgs.builder()
                                        .regex("string")
                                        .build())
                                    .extendedCommunity(VirtualRouterProtocolBgpPolicyAggregationAddressSuppressFilterMatchExtendedCommunityArgs.builder()
                                        .regex("string")
                                        .build())
                                    .fromPeers("string")
                                    .med(0)
                                    .nexthops("string")
                                    .routeTable("string")
                                    .build())
                                .build())
                            .build())
                        .build())
                    .conditionalAdvertisement(VirtualRouterProtocolBgpPolicyConditionalAdvertisementArgs.builder()
                        .policies(VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyArgs.builder()
                            .name("string")
                            .advertiseFilters(VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyAdvertiseFilterArgs.builder()
                                .name("string")
                                .enable(false)
                                .match(VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyAdvertiseFilterMatchArgs.builder()
                                    .addressPrefixes(VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyAdvertiseFilterMatchAddressPrefixArgs.builder()
                                        .name("string")
                                        .build())
                                    .asPath(VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyAdvertiseFilterMatchAsPathArgs.builder()
                                        .regex("string")
                                        .build())
                                    .community(VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyAdvertiseFilterMatchCommunityArgs.builder()
                                        .regex("string")
                                        .build())
                                    .extendedCommunity(VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyAdvertiseFilterMatchExtendedCommunityArgs.builder()
                                        .regex("string")
                                        .build())
                                    .fromPeers("string")
                                    .med(0)
                                    .nexthops("string")
                                    .routeTable("string")
                                    .build())
                                .build())
                            .enable(false)
                            .nonExistFilters(VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyNonExistFilterArgs.builder()
                                .name("string")
                                .enable(false)
                                .match(VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyNonExistFilterMatchArgs.builder()
                                    .addressPrefixes(VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyNonExistFilterMatchAddressPrefixArgs.builder()
                                        .name("string")
                                        .build())
                                    .asPath(VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyNonExistFilterMatchAsPathArgs.builder()
                                        .regex("string")
                                        .build())
                                    .community(VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyNonExistFilterMatchCommunityArgs.builder()
                                        .regex("string")
                                        .build())
                                    .extendedCommunity(VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyNonExistFilterMatchExtendedCommunityArgs.builder()
                                        .regex("string")
                                        .build())
                                    .fromPeers("string")
                                    .med(0)
                                    .nexthops("string")
                                    .routeTable("string")
                                    .build())
                                .build())
                            .usedBies("string")
                            .build())
                        .build())
                    .export(VirtualRouterProtocolBgpPolicyExportArgs.builder()
                        .rules(VirtualRouterProtocolBgpPolicyExportRuleArgs.builder()
                            .name("string")
                            .action(VirtualRouterProtocolBgpPolicyExportRuleActionArgs.builder()
                                .allow(VirtualRouterProtocolBgpPolicyExportRuleActionAllowArgs.builder()
                                    .update(VirtualRouterProtocolBgpPolicyExportRuleActionAllowUpdateArgs.builder()
                                        .asPath(VirtualRouterProtocolBgpPolicyExportRuleActionAllowUpdateAsPathArgs.builder()
                                            .none()
                                            .prepend(0)
                                            .remove()
                                            .removeAndPrepend(0)
                                            .build())
                                        .asPathLimit(0)
                                        .community(VirtualRouterProtocolBgpPolicyExportRuleActionAllowUpdateCommunityArgs.builder()
                                            .appends("string")
                                            .none()
                                            .overwrites("string")
                                            .removeAll()
                                            .removeRegex("string")
                                            .build())
                                        .extendedCommunity(VirtualRouterProtocolBgpPolicyExportRuleActionAllowUpdateExtendedCommunityArgs.builder()
                                            .appends("string")
                                            .none()
                                            .overwrites("string")
                                            .removeAll()
                                            .removeRegex("string")
                                            .build())
                                        .localPreference(0)
                                        .med(0)
                                        .nexthop("string")
                                        .origin("string")
                                        .build())
                                    .build())
                                .deny()
                                .build())
                            .enable(false)
                            .match(VirtualRouterProtocolBgpPolicyExportRuleMatchArgs.builder()
                                .addressPrefixes(VirtualRouterProtocolBgpPolicyExportRuleMatchAddressPrefixArgs.builder()
                                    .name("string")
                                    .exact(false)
                                    .build())
                                .asPath(VirtualRouterProtocolBgpPolicyExportRuleMatchAsPathArgs.builder()
                                    .regex("string")
                                    .build())
                                .community(VirtualRouterProtocolBgpPolicyExportRuleMatchCommunityArgs.builder()
                                    .regex("string")
                                    .build())
                                .extendedCommunity(VirtualRouterProtocolBgpPolicyExportRuleMatchExtendedCommunityArgs.builder()
                                    .regex("string")
                                    .build())
                                .fromPeers("string")
                                .med(0)
                                .nexthops("string")
                                .routeTable("string")
                                .build())
                            .usedBies("string")
                            .build())
                        .build())
                    .import_(VirtualRouterProtocolBgpPolicyImportArgs.builder()
                        .rules(VirtualRouterProtocolBgpPolicyImportRuleArgs.builder()
                            .name("string")
                            .action(VirtualRouterProtocolBgpPolicyImportRuleActionArgs.builder()
                                .allow(VirtualRouterProtocolBgpPolicyImportRuleActionAllowArgs.builder()
                                    .dampening("string")
                                    .update(VirtualRouterProtocolBgpPolicyImportRuleActionAllowUpdateArgs.builder()
                                        .asPath(VirtualRouterProtocolBgpPolicyImportRuleActionAllowUpdateAsPathArgs.builder()
                                            .none()
                                            .remove()
                                            .build())
                                        .asPathLimit(0)
                                        .community(VirtualRouterProtocolBgpPolicyImportRuleActionAllowUpdateCommunityArgs.builder()
                                            .appends("string")
                                            .none()
                                            .overwrites("string")
                                            .removeAll()
                                            .removeRegex("string")
                                            .build())
                                        .extendedCommunity(VirtualRouterProtocolBgpPolicyImportRuleActionAllowUpdateExtendedCommunityArgs.builder()
                                            .appends("string")
                                            .none()
                                            .overwrites("string")
                                            .removeAll()
                                            .removeRegex("string")
                                            .build())
                                        .localPreference(0)
                                        .med(0)
                                        .nexthop("string")
                                        .origin("string")
                                        .weight(0)
                                        .build())
                                    .build())
                                .deny()
                                .build())
                            .enable(false)
                            .match(VirtualRouterProtocolBgpPolicyImportRuleMatchArgs.builder()
                                .addressPrefixes(VirtualRouterProtocolBgpPolicyImportRuleMatchAddressPrefixArgs.builder()
                                    .name("string")
                                    .exact(false)
                                    .build())
                                .asPath(VirtualRouterProtocolBgpPolicyImportRuleMatchAsPathArgs.builder()
                                    .regex("string")
                                    .build())
                                .community(VirtualRouterProtocolBgpPolicyImportRuleMatchCommunityArgs.builder()
                                    .regex("string")
                                    .build())
                                .extendedCommunity(VirtualRouterProtocolBgpPolicyImportRuleMatchExtendedCommunityArgs.builder()
                                    .regex("string")
                                    .build())
                                .fromPeers("string")
                                .med(0)
                                .nexthops("string")
                                .routeTable("string")
                                .build())
                            .usedBies("string")
                            .build())
                        .build())
                    .build())
                .redistRules(VirtualRouterProtocolBgpRedistRuleArgs.builder()
                    .name("string")
                    .addressFamilyIdentifier("string")
                    .enable(false)
                    .metric(0)
                    .routeTable("string")
                    .setAsPathLimit(0)
                    .setCommunities("string")
                    .setExtendedCommunities("string")
                    .setLocalPreference(0)
                    .setMed(0)
                    .setOrigin("string")
                    .build())
                .rejectDefaultRoute(false)
                .routerId("string")
                .routingOptions(VirtualRouterProtocolBgpRoutingOptionsArgs.builder()
                    .aggregate(VirtualRouterProtocolBgpRoutingOptionsAggregateArgs.builder()
                        .aggregateMed(false)
                        .build())
                    .asFormat("string")
                    .confederationMemberAs("string")
                    .defaultLocalPreference(0)
                    .gracefulRestart(VirtualRouterProtocolBgpRoutingOptionsGracefulRestartArgs.builder()
                        .enable(false)
                        .localRestartTime(0)
                        .maxPeerRestartTime(0)
                        .staleRouteTime(0)
                        .build())
                    .med(VirtualRouterProtocolBgpRoutingOptionsMedArgs.builder()
                        .alwaysCompareMed(false)
                        .deterministicMedComparison(false)
                        .build())
                    .reflectorClusterId("string")
                    .build())
                .build())
            .ospf(VirtualRouterProtocolOspfArgs.builder()
                .allowRedistDefaultRoute(false)
                .areas(VirtualRouterProtocolOspfAreaArgs.builder()
                    .name("string")
                    .interfaces(VirtualRouterProtocolOspfAreaInterfaceArgs.builder()
                        .name("string")
                        .linkType(VirtualRouterProtocolOspfAreaInterfaceLinkTypeArgs.builder()
                            .broadcast()
                            .p2mp()
                            .p2p()
                            .build())
                        .deadCounts(0)
                        .enable(false)
                        .grDelay(0)
                        .helloInterval(0)
                        .authentication("string")
                        .metric(0)
                        .bfd(VirtualRouterProtocolOspfAreaInterfaceBfdArgs.builder()
                            .profile("string")
                            .build())
                        .neighbors(VirtualRouterProtocolOspfAreaInterfaceNeighborArgs.builder()
                            .name("string")
                            .build())
                        .passive(false)
                        .priority(0)
                        .retransmitInterval(0)
                        .transitDelay(0)
                        .build())
                    .ranges(VirtualRouterProtocolOspfAreaRangeArgs.builder()
                        .name("string")
                        .advertise()
                        .suppress()
                        .build())
                    .type(VirtualRouterProtocolOspfAreaTypeArgs.builder()
                        .normal()
                        .nssa(VirtualRouterProtocolOspfAreaTypeNssaArgs.builder()
                            .acceptSummary(false)
                            .defaultRoute(VirtualRouterProtocolOspfAreaTypeNssaDefaultRouteArgs.builder()
                                .advertise(VirtualRouterProtocolOspfAreaTypeNssaDefaultRouteAdvertiseArgs.builder()
                                    .metric(0)
                                    .type("string")
                                    .build())
                                .disable()
                                .build())
                            .nssaExtRanges(VirtualRouterProtocolOspfAreaTypeNssaNssaExtRangeArgs.builder()
                                .name("string")
                                .advertise()
                                .suppress()
                                .build())
                            .build())
                        .stub(VirtualRouterProtocolOspfAreaTypeStubArgs.builder()
                            .acceptSummary(false)
                            .defaultRoute(VirtualRouterProtocolOspfAreaTypeStubDefaultRouteArgs.builder()
                                .advertise(VirtualRouterProtocolOspfAreaTypeStubDefaultRouteAdvertiseArgs.builder()
                                    .metric(0)
                                    .build())
                                .disable()
                                .build())
                            .build())
                        .build())
                    .virtualLinks(VirtualRouterProtocolOspfAreaVirtualLinkArgs.builder()
                        .name("string")
                        .authentication("string")
                        .bfd(VirtualRouterProtocolOspfAreaVirtualLinkBfdArgs.builder()
                            .profile("string")
                            .build())
                        .deadCounts(0)
                        .enable(false)
                        .helloInterval(0)
                        .neighborId("string")
                        .retransmitInterval(0)
                        .transitAreaId("string")
                        .transitDelay(0)
                        .build())
                    .build())
                .authProfiles(VirtualRouterProtocolOspfAuthProfileArgs.builder()
                    .name("string")
                    .md5s(VirtualRouterProtocolOspfAuthProfileMd5Args.builder()
                        .name("string")
                        .key("string")
                        .preferred(false)
                        .build())
                    .password("string")
                    .build())
                .enable(false)
                .exportRules(VirtualRouterProtocolOspfExportRuleArgs.builder()
                    .name("string")
                    .metric(0)
                    .newPathType("string")
                    .newTag("string")
                    .build())
                .globalBfd(VirtualRouterProtocolOspfGlobalBfdArgs.builder()
                    .profile("string")
                    .build())
                .gracefulRestart(VirtualRouterProtocolOspfGracefulRestartArgs.builder()
                    .enable(false)
                    .gracePeriod(0)
                    .helperEnable(false)
                    .maxNeighborRestartTime(0)
                    .strictLSAChecking(false)
                    .build())
                .rejectDefaultRoute(false)
                .rfc1583(false)
                .routerId("string")
                .timers(VirtualRouterProtocolOspfTimersArgs.builder()
                    .lsaInterval(0)
                    .spfCalculationDelay(0)
                    .build())
                .build())
            .ospfv3(VirtualRouterProtocolOspfv3Args.builder()
                .allowRedistDefaultRoute(false)
                .areas(VirtualRouterProtocolOspfv3AreaArgs.builder()
                    .name("string")
                    .authentication("string")
                    .interfaces(VirtualRouterProtocolOspfv3AreaInterfaceArgs.builder()
                        .name("string")
                        .enable(false)
                        .metric(0)
                        .authentication("string")
                        .grDelay(0)
                        .helloInterval(0)
                        .instanceId(0)
                        .linkType(VirtualRouterProtocolOspfv3AreaInterfaceLinkTypeArgs.builder()
                            .broadcast()
                            .p2mp()
                            .p2p()
                            .build())
                        .deadCounts(0)
                        .bfd(VirtualRouterProtocolOspfv3AreaInterfaceBfdArgs.builder()
                            .profile("string")
                            .build())
                        .neighbors(VirtualRouterProtocolOspfv3AreaInterfaceNeighborArgs.builder()
                            .name("string")
                            .build())
                        .passive(false)
                        .priority(0)
                        .retransmitInterval(0)
                        .transitDelay(0)
                        .build())
                    .ranges(VirtualRouterProtocolOspfv3AreaRangeArgs.builder()
                        .name("string")
                        .advertise()
                        .suppress()
                        .build())
                    .type(VirtualRouterProtocolOspfv3AreaTypeArgs.builder()
                        .normal()
                        .nssa(VirtualRouterProtocolOspfv3AreaTypeNssaArgs.builder()
                            .acceptSummary(false)
                            .defaultRoute(VirtualRouterProtocolOspfv3AreaTypeNssaDefaultRouteArgs.builder()
                                .advertise(VirtualRouterProtocolOspfv3AreaTypeNssaDefaultRouteAdvertiseArgs.builder()
                                    .metric(0)
                                    .type("string")
                                    .build())
                                .disable()
                                .build())
                            .nssaExtRanges(VirtualRouterProtocolOspfv3AreaTypeNssaNssaExtRangeArgs.builder()
                                .name("string")
                                .advertise()
                                .suppress()
                                .build())
                            .build())
                        .stub(VirtualRouterProtocolOspfv3AreaTypeStubArgs.builder()
                            .acceptSummary(false)
                            .defaultRoute(VirtualRouterProtocolOspfv3AreaTypeStubDefaultRouteArgs.builder()
                                .advertise(VirtualRouterProtocolOspfv3AreaTypeStubDefaultRouteAdvertiseArgs.builder()
                                    .metric(0)
                                    .build())
                                .disable()
                                .build())
                            .build())
                        .build())
                    .virtualLinks(VirtualRouterProtocolOspfv3AreaVirtualLinkArgs.builder()
                        .name("string")
                        .authentication("string")
                        .bfd(VirtualRouterProtocolOspfv3AreaVirtualLinkBfdArgs.builder()
                            .profile("string")
                            .build())
                        .deadCounts(0)
                        .enable(false)
                        .helloInterval(0)
                        .instanceId(0)
                        .neighborId("string")
                        .retransmitInterval(0)
                        .transitAreaId("string")
                        .transitDelay(0)
                        .build())
                    .build())
                .authProfiles(VirtualRouterProtocolOspfv3AuthProfileArgs.builder()
                    .name("string")
                    .ah(VirtualRouterProtocolOspfv3AuthProfileAhArgs.builder()
                        .md5(VirtualRouterProtocolOspfv3AuthProfileAhMd5Args.builder()
                            .key("string")
                            .build())
                        .sha1(VirtualRouterProtocolOspfv3AuthProfileAhSha1Args.builder()
                            .key("string")
                            .build())
                        .sha256(VirtualRouterProtocolOspfv3AuthProfileAhSha256Args.builder()
                            .key("string")
                            .build())
                        .sha384(VirtualRouterProtocolOspfv3AuthProfileAhSha384Args.builder()
                            .key("string")
                            .build())
                        .sha512(VirtualRouterProtocolOspfv3AuthProfileAhSha512Args.builder()
                            .key("string")
                            .build())
                        .build())
                    .esp(VirtualRouterProtocolOspfv3AuthProfileEspArgs.builder()
                        .authentication(VirtualRouterProtocolOspfv3AuthProfileEspAuthenticationArgs.builder()
                            .md5(VirtualRouterProtocolOspfv3AuthProfileEspAuthenticationMd5Args.builder()
                                .key("string")
                                .build())
                            .none()
                            .sha1(VirtualRouterProtocolOspfv3AuthProfileEspAuthenticationSha1Args.builder()
                                .key("string")
                                .build())
                            .sha256(VirtualRouterProtocolOspfv3AuthProfileEspAuthenticationSha256Args.builder()
                                .key("string")
                                .build())
                            .sha384(VirtualRouterProtocolOspfv3AuthProfileEspAuthenticationSha384Args.builder()
                                .key("string")
                                .build())
                            .sha512(VirtualRouterProtocolOspfv3AuthProfileEspAuthenticationSha512Args.builder()
                                .key("string")
                                .build())
                            .build())
                        .encryption(VirtualRouterProtocolOspfv3AuthProfileEspEncryptionArgs.builder()
                            .algorithm("string")
                            .key("string")
                            .build())
                        .build())
                    .spi("string")
                    .build())
                .disableTransitTraffic(false)
                .enable(false)
                .exportRules(VirtualRouterProtocolOspfv3ExportRuleArgs.builder()
                    .name("string")
                    .metric(0)
                    .newPathType("string")
                    .newTag("string")
                    .build())
                .globalBfd(VirtualRouterProtocolOspfv3GlobalBfdArgs.builder()
                    .profile("string")
                    .build())
                .gracefulRestart(VirtualRouterProtocolOspfv3GracefulRestartArgs.builder()
                    .enable(false)
                    .gracePeriod(0)
                    .helperEnable(false)
                    .maxNeighborRestartTime(0)
                    .strictLSAChecking(false)
                    .build())
                .rejectDefaultRoute(false)
                .routerId("string")
                .timers(VirtualRouterProtocolOspfv3TimersArgs.builder()
                    .lsaInterval(0)
                    .spfCalculationDelay(0)
                    .build())
                .build())
            .redistProfileIpv6s(VirtualRouterProtocolRedistProfileIpv6Args.builder()
                .name("string")
                .action(VirtualRouterProtocolRedistProfileIpv6ActionArgs.builder()
                    .noRedist()
                    .redist()
                    .build())
                .filter(VirtualRouterProtocolRedistProfileIpv6FilterArgs.builder()
                    .bgp(VirtualRouterProtocolRedistProfileIpv6FilterBgpArgs.builder()
                        .communities("string")
                        .extendedCommunities("string")
                        .build())
                    .destinations("string")
                    .interfaces("string")
                    .nexthops("string")
                    .ospfv3(VirtualRouterProtocolRedistProfileIpv6FilterOspfv3Args.builder()
                        .areas("string")
                        .pathTypes("string")
                        .tags("string")
                        .build())
                    .types("string")
                    .build())
                .priority(0)
                .build())
            .redistProfiles(VirtualRouterProtocolRedistProfileArgs.builder()
                .name("string")
                .action(VirtualRouterProtocolRedistProfileActionArgs.builder()
                    .noRedist()
                    .redist()
                    .build())
                .filter(VirtualRouterProtocolRedistProfileFilterArgs.builder()
                    .bgp(VirtualRouterProtocolRedistProfileFilterBgpArgs.builder()
                        .communities("string")
                        .extendedCommunities("string")
                        .build())
                    .destinations("string")
                    .interfaces("string")
                    .nexthops("string")
                    .ospf(VirtualRouterProtocolRedistProfileFilterOspfArgs.builder()
                        .areas("string")
                        .pathTypes("string")
                        .tags("string")
                        .build())
                    .types("string")
                    .build())
                .priority(0)
                .build())
            .rip(VirtualRouterProtocolRipArgs.builder()
                .allowRedistDefaultRoute(false)
                .authProfiles(VirtualRouterProtocolRipAuthProfileArgs.builder()
                    .name("string")
                    .md5s(VirtualRouterProtocolRipAuthProfileMd5Args.builder()
                        .name("string")
                        .key("string")
                        .preferred(false)
                        .build())
                    .password("string")
                    .build())
                .enable(false)
                .exportRules(VirtualRouterProtocolRipExportRuleArgs.builder()
                    .name("string")
                    .metric(0)
                    .build())
                .globalBfd(VirtualRouterProtocolRipGlobalBfdArgs.builder()
                    .profile("string")
                    .build())
                .interfaces(VirtualRouterProtocolRipInterfaceArgs.builder()
                    .name("string")
                    .authentication("string")
                    .bfd(VirtualRouterProtocolRipInterfaceBfdArgs.builder()
                        .profile("string")
                        .build())
                    .defaultRoute(VirtualRouterProtocolRipInterfaceDefaultRouteArgs.builder()
                        .advertise(VirtualRouterProtocolRipInterfaceDefaultRouteAdvertiseArgs.builder()
                            .metric(0)
                            .build())
                        .disable()
                        .build())
                    .enable(false)
                    .mode("string")
                    .build())
                .rejectDefaultRoute(false)
                .timers(VirtualRouterProtocolRipTimersArgs.builder()
                    .deleteIntervals(0)
                    .expireIntervals(0)
                    .intervalSeconds(0)
                    .updateIntervals(0)
                    .build())
                .build())
            .build())
        .routingTable(VirtualRouterRoutingTableArgs.builder()
            .ip(VirtualRouterRoutingTableIpArgs.builder()
                .staticRoutes(VirtualRouterRoutingTableIpStaticRouteArgs.builder()
                    .name("string")
                    .administrativeDistance(0)
                    .bfd(VirtualRouterRoutingTableIpStaticRouteBfdArgs.builder()
                        .profile("string")
                        .build())
                    .destination("string")
                    .interface_("string")
                    .metric(0)
                    .nexthop(VirtualRouterRoutingTableIpStaticRouteNexthopArgs.builder()
                        .discard()
                        .fqdn("string")
                        .ipAddress("string")
                        .nextVr("string")
                        .receive()
                        .build())
                    .pathMonitor(VirtualRouterRoutingTableIpStaticRoutePathMonitorArgs.builder()
                        .enable(false)
                        .failureCondition("string")
                        .holdTime(0)
                        .monitorDestinations(VirtualRouterRoutingTableIpStaticRoutePathMonitorMonitorDestinationArgs.builder()
                            .name("string")
                            .count(0)
                            .destination("string")
                            .enable(false)
                            .interval(0)
                            .source("string")
                            .build())
                        .build())
                    .routeTable(VirtualRouterRoutingTableIpStaticRouteRouteTableArgs.builder()
                        .both()
                        .multicast()
                        .noInstall()
                        .unicast()
                        .build())
                    .build())
                .build())
            .ipv6(VirtualRouterRoutingTableIpv6Args.builder()
                .staticRoutes(VirtualRouterRoutingTableIpv6StaticRouteArgs.builder()
                    .name("string")
                    .administrativeDistance(0)
                    .bfd(VirtualRouterRoutingTableIpv6StaticRouteBfdArgs.builder()
                        .profile("string")
                        .build())
                    .destination("string")
                    .interface_("string")
                    .metric(0)
                    .nexthop(VirtualRouterRoutingTableIpv6StaticRouteNexthopArgs.builder()
                        .discard()
                        .ipv6Address("string")
                        .nextVr("string")
                        .receive()
                        .build())
                    .pathMonitor(VirtualRouterRoutingTableIpv6StaticRoutePathMonitorArgs.builder()
                        .enable(false)
                        .failureCondition("string")
                        .holdTime(0)
                        .monitorDestinations(VirtualRouterRoutingTableIpv6StaticRoutePathMonitorMonitorDestinationArgs.builder()
                            .name("string")
                            .count(0)
                            .destination("string")
                            .enable(false)
                            .interval(0)
                            .source("string")
                            .build())
                        .build())
                    .routeTable(VirtualRouterRoutingTableIpv6StaticRouteRouteTableArgs.builder()
                        .noInstall()
                        .unicast()
                        .build())
                    .build())
                .build())
            .build())
        .build());
    
    virtual_router_resource = panos.VirtualRouter("virtualRouterResource",
        location={
            "ngfw": {
                "ngfw_device": "string",
            },
            "template": {
                "name": "string",
                "ngfw_device": "string",
                "panorama_device": "string",
            },
            "template_stack": {
                "name": "string",
                "ngfw_device": "string",
                "panorama_device": "string",
            },
        },
        administrative_distances={
            "ebgp": 0,
            "ibgp": 0,
            "ospf_ext": 0,
            "ospf_int": 0,
            "ospfv3_ext": 0,
            "ospfv3_int": 0,
            "rip": 0,
            "static": 0,
            "static_ipv6": 0,
        },
        ecmp={
            "algorithm": {
                "balanced_round_robin": {},
                "ip_hash": {
                    "hash_seed": 0,
                    "src_only": False,
                    "use_port": False,
                },
                "ip_modulo": {},
                "weighted_round_robin": {
                    "interfaces": [{
                        "name": "string",
                        "weight": 0,
                    }],
                },
            },
            "enable": False,
            "max_paths": 0,
            "strict_source_path": False,
            "symmetric_return": False,
        },
        interfaces=["string"],
        multicast={
            "enable": False,
            "interface_groups": [{
                "name": "string",
                "description": "string",
                "group_permission": {
                    "any_source_multicasts": [{
                        "name": "string",
                        "group_address": "string",
                        "included": False,
                    }],
                    "source_specific_multicasts": [{
                        "name": "string",
                        "group_address": "string",
                        "included": False,
                        "source_address": "string",
                    }],
                },
                "igmp": {
                    "enable": False,
                    "immediate_leave": False,
                    "last_member_query_interval": 0,
                    "max_groups": "string",
                    "max_query_response_time": 0,
                    "max_sources": "string",
                    "query_interval": 0,
                    "robustness": "string",
                    "router_alert_policing": False,
                    "version": "string",
                },
                "interfaces": ["string"],
                "pim": {
                    "allowed_neighbors": [{
                        "name": "string",
                    }],
                    "assert_interval": 0,
                    "bsr_border": False,
                    "dr_priority": 0,
                    "enable": False,
                    "hello_interval": 0,
                    "join_prune_interval": 0,
                },
            }],
            "route_ageout_time": 0,
            "rp": {
                "external_rps": [{
                    "name": "string",
                    "group_addresses": ["string"],
                    "override": False,
                }],
                "local_rp": {
                    "candidate_rp": {
                        "address": "string",
                        "advertisement_interval": 0,
                        "group_addresses": ["string"],
                        "interface": "string",
                        "priority": 0,
                    },
                    "static_rp": {
                        "address": "string",
                        "group_addresses": ["string"],
                        "interface": "string",
                        "override": False,
                    },
                },
            },
            "spt_thresholds": [{
                "name": "string",
                "threshold": "string",
            }],
            "ssm_address_spaces": [{
                "name": "string",
                "group_address": "string",
                "included": False,
            }],
        },
        name="string",
        protocol={
            "bgp": {
                "allow_redist_default_route": False,
                "auth_profiles": [{
                    "name": "string",
                    "secret": "string",
                }],
                "dampening_profiles": [{
                    "name": "string",
                    "cutoff": 0,
                    "decay_half_life_reachable": 0,
                    "decay_half_life_unreachable": 0,
                    "enable": False,
                    "max_hold_time": 0,
                    "reuse": 0,
                }],
                "ecmp_multi_as": False,
                "enable": False,
                "enforce_first_as": False,
                "global_bfd": {
                    "profile": "string",
                },
                "install_route": False,
                "local_as": "string",
                "peer_groups": [{
                    "name": "string",
                    "aggregated_confed_as_path": False,
                    "enable": False,
                    "peers": [{
                        "name": "string",
                        "local_address": {
                            "interface": "string",
                            "ip": "string",
                        },
                        "connection_options": {
                            "authentication": "string",
                            "hold_time": "string",
                            "idle_hold_time": 0,
                            "incoming_bgp_connection": {
                                "allow": False,
                                "remote_port": 0,
                            },
                            "keep_alive_interval": "string",
                            "min_route_adv_interval": 0,
                            "multihop": 0,
                            "open_delay_time": 0,
                            "outgoing_bgp_connection": {
                                "allow": False,
                                "local_port": 0,
                            },
                        },
                        "enable": False,
                        "enable_mp_bgp": False,
                        "enable_sender_side_loop_detection": False,
                        "address_family_identifier": "string",
                        "max_prefixes": "string",
                        "bfd": {
                            "profile": "string",
                        },
                        "peer_address": {
                            "fqdn": "string",
                            "ip": "string",
                        },
                        "peer_as": "string",
                        "peering_type": "string",
                        "reflector_client": "string",
                        "subsequent_address_family_identifier": {
                            "multicast": False,
                            "unicast": False,
                        },
                    }],
                    "soft_reset_with_stored_info": False,
                    "type": {
                        "ebgp": {
                            "export_nexthop": "string",
                            "import_nexthop": "string",
                            "remove_private_as": False,
                        },
                        "ebgp_confed": {
                            "export_nexthop": "string",
                        },
                        "ibgp": {
                            "export_nexthop": "string",
                        },
                        "ibgp_confed": {
                            "export_nexthop": "string",
                        },
                    },
                }],
                "policy": {
                    "aggregation": {
                        "addresses": [{
                            "name": "string",
                            "advertise_filters": [{
                                "name": "string",
                                "enable": False,
                                "match": {
                                    "address_prefixes": [{
                                        "name": "string",
                                        "exact": False,
                                    }],
                                    "as_path": {
                                        "regex": "string",
                                    },
                                    "community": {
                                        "regex": "string",
                                    },
                                    "extended_community": {
                                        "regex": "string",
                                    },
                                    "from_peers": ["string"],
                                    "med": 0,
                                    "nexthops": ["string"],
                                    "route_table": "string",
                                },
                            }],
                            "aggregate_route_attributes": {
                                "as_path": {
                                    "none": {},
                                    "prepend": 0,
                                },
                                "as_path_limit": 0,
                                "community": {
                                    "appends": ["string"],
                                    "none": {},
                                    "overwrites": ["string"],
                                    "remove_all": {},
                                    "remove_regex": "string",
                                },
                                "extended_community": {
                                    "appends": ["string"],
                                    "none": {},
                                    "overwrites": ["string"],
                                    "remove_all": {},
                                    "remove_regex": "string",
                                },
                                "local_preference": 0,
                                "med": 0,
                                "nexthop": "string",
                                "origin": "string",
                                "weight": 0,
                            },
                            "as_set": False,
                            "enable": False,
                            "prefix": "string",
                            "summary": False,
                            "suppress_filters": [{
                                "name": "string",
                                "enable": False,
                                "match": {
                                    "address_prefixes": [{
                                        "name": "string",
                                        "exact": False,
                                    }],
                                    "as_path": {
                                        "regex": "string",
                                    },
                                    "community": {
                                        "regex": "string",
                                    },
                                    "extended_community": {
                                        "regex": "string",
                                    },
                                    "from_peers": ["string"],
                                    "med": 0,
                                    "nexthops": ["string"],
                                    "route_table": "string",
                                },
                            }],
                        }],
                    },
                    "conditional_advertisement": {
                        "policies": [{
                            "name": "string",
                            "advertise_filters": [{
                                "name": "string",
                                "enable": False,
                                "match": {
                                    "address_prefixes": [{
                                        "name": "string",
                                    }],
                                    "as_path": {
                                        "regex": "string",
                                    },
                                    "community": {
                                        "regex": "string",
                                    },
                                    "extended_community": {
                                        "regex": "string",
                                    },
                                    "from_peers": ["string"],
                                    "med": 0,
                                    "nexthops": ["string"],
                                    "route_table": "string",
                                },
                            }],
                            "enable": False,
                            "non_exist_filters": [{
                                "name": "string",
                                "enable": False,
                                "match": {
                                    "address_prefixes": [{
                                        "name": "string",
                                    }],
                                    "as_path": {
                                        "regex": "string",
                                    },
                                    "community": {
                                        "regex": "string",
                                    },
                                    "extended_community": {
                                        "regex": "string",
                                    },
                                    "from_peers": ["string"],
                                    "med": 0,
                                    "nexthops": ["string"],
                                    "route_table": "string",
                                },
                            }],
                            "used_bies": ["string"],
                        }],
                    },
                    "export": {
                        "rules": [{
                            "name": "string",
                            "action": {
                                "allow": {
                                    "update": {
                                        "as_path": {
                                            "none": {},
                                            "prepend": 0,
                                            "remove": {},
                                            "remove_and_prepend": 0,
                                        },
                                        "as_path_limit": 0,
                                        "community": {
                                            "appends": ["string"],
                                            "none": {},
                                            "overwrites": ["string"],
                                            "remove_all": {},
                                            "remove_regex": "string",
                                        },
                                        "extended_community": {
                                            "appends": ["string"],
                                            "none": {},
                                            "overwrites": ["string"],
                                            "remove_all": {},
                                            "remove_regex": "string",
                                        },
                                        "local_preference": 0,
                                        "med": 0,
                                        "nexthop": "string",
                                        "origin": "string",
                                    },
                                },
                                "deny": {},
                            },
                            "enable": False,
                            "match": {
                                "address_prefixes": [{
                                    "name": "string",
                                    "exact": False,
                                }],
                                "as_path": {
                                    "regex": "string",
                                },
                                "community": {
                                    "regex": "string",
                                },
                                "extended_community": {
                                    "regex": "string",
                                },
                                "from_peers": ["string"],
                                "med": 0,
                                "nexthops": ["string"],
                                "route_table": "string",
                            },
                            "used_bies": ["string"],
                        }],
                    },
                    "import_": {
                        "rules": [{
                            "name": "string",
                            "action": {
                                "allow": {
                                    "dampening": "string",
                                    "update": {
                                        "as_path": {
                                            "none": {},
                                            "remove": {},
                                        },
                                        "as_path_limit": 0,
                                        "community": {
                                            "appends": ["string"],
                                            "none": {},
                                            "overwrites": ["string"],
                                            "remove_all": {},
                                            "remove_regex": "string",
                                        },
                                        "extended_community": {
                                            "appends": ["string"],
                                            "none": {},
                                            "overwrites": ["string"],
                                            "remove_all": {},
                                            "remove_regex": "string",
                                        },
                                        "local_preference": 0,
                                        "med": 0,
                                        "nexthop": "string",
                                        "origin": "string",
                                        "weight": 0,
                                    },
                                },
                                "deny": {},
                            },
                            "enable": False,
                            "match": {
                                "address_prefixes": [{
                                    "name": "string",
                                    "exact": False,
                                }],
                                "as_path": {
                                    "regex": "string",
                                },
                                "community": {
                                    "regex": "string",
                                },
                                "extended_community": {
                                    "regex": "string",
                                },
                                "from_peers": ["string"],
                                "med": 0,
                                "nexthops": ["string"],
                                "route_table": "string",
                            },
                            "used_bies": ["string"],
                        }],
                    },
                },
                "redist_rules": [{
                    "name": "string",
                    "address_family_identifier": "string",
                    "enable": False,
                    "metric": 0,
                    "route_table": "string",
                    "set_as_path_limit": 0,
                    "set_communities": ["string"],
                    "set_extended_communities": ["string"],
                    "set_local_preference": 0,
                    "set_med": 0,
                    "set_origin": "string",
                }],
                "reject_default_route": False,
                "router_id": "string",
                "routing_options": {
                    "aggregate": {
                        "aggregate_med": False,
                    },
                    "as_format": "string",
                    "confederation_member_as": "string",
                    "default_local_preference": 0,
                    "graceful_restart": {
                        "enable": False,
                        "local_restart_time": 0,
                        "max_peer_restart_time": 0,
                        "stale_route_time": 0,
                    },
                    "med": {
                        "always_compare_med": False,
                        "deterministic_med_comparison": False,
                    },
                    "reflector_cluster_id": "string",
                },
            },
            "ospf": {
                "allow_redist_default_route": False,
                "areas": [{
                    "name": "string",
                    "interfaces": [{
                        "name": "string",
                        "link_type": {
                            "broadcast": {},
                            "p2mp": {},
                            "p2p": {},
                        },
                        "dead_counts": 0,
                        "enable": False,
                        "gr_delay": 0,
                        "hello_interval": 0,
                        "authentication": "string",
                        "metric": 0,
                        "bfd": {
                            "profile": "string",
                        },
                        "neighbors": [{
                            "name": "string",
                        }],
                        "passive": False,
                        "priority": 0,
                        "retransmit_interval": 0,
                        "transit_delay": 0,
                    }],
                    "ranges": [{
                        "name": "string",
                        "advertise": {},
                        "suppress": {},
                    }],
                    "type": {
                        "normal": {},
                        "nssa": {
                            "accept_summary": False,
                            "default_route": {
                                "advertise": {
                                    "metric": 0,
                                    "type": "string",
                                },
                                "disable": {},
                            },
                            "nssa_ext_ranges": [{
                                "name": "string",
                                "advertise": {},
                                "suppress": {},
                            }],
                        },
                        "stub": {
                            "accept_summary": False,
                            "default_route": {
                                "advertise": {
                                    "metric": 0,
                                },
                                "disable": {},
                            },
                        },
                    },
                    "virtual_links": [{
                        "name": "string",
                        "authentication": "string",
                        "bfd": {
                            "profile": "string",
                        },
                        "dead_counts": 0,
                        "enable": False,
                        "hello_interval": 0,
                        "neighbor_id": "string",
                        "retransmit_interval": 0,
                        "transit_area_id": "string",
                        "transit_delay": 0,
                    }],
                }],
                "auth_profiles": [{
                    "name": "string",
                    "md5s": [{
                        "name": "string",
                        "key": "string",
                        "preferred": False,
                    }],
                    "password": "string",
                }],
                "enable": False,
                "export_rules": [{
                    "name": "string",
                    "metric": 0,
                    "new_path_type": "string",
                    "new_tag": "string",
                }],
                "global_bfd": {
                    "profile": "string",
                },
                "graceful_restart": {
                    "enable": False,
                    "grace_period": 0,
                    "helper_enable": False,
                    "max_neighbor_restart_time": 0,
                    "strict_lsa_checking": False,
                },
                "reject_default_route": False,
                "rfc1583": False,
                "router_id": "string",
                "timers": {
                    "lsa_interval": 0,
                    "spf_calculation_delay": 0,
                },
            },
            "ospfv3": {
                "allow_redist_default_route": False,
                "areas": [{
                    "name": "string",
                    "authentication": "string",
                    "interfaces": [{
                        "name": "string",
                        "enable": False,
                        "metric": 0,
                        "authentication": "string",
                        "gr_delay": 0,
                        "hello_interval": 0,
                        "instance_id": 0,
                        "link_type": {
                            "broadcast": {},
                            "p2mp": {},
                            "p2p": {},
                        },
                        "dead_counts": 0,
                        "bfd": {
                            "profile": "string",
                        },
                        "neighbors": [{
                            "name": "string",
                        }],
                        "passive": False,
                        "priority": 0,
                        "retransmit_interval": 0,
                        "transit_delay": 0,
                    }],
                    "ranges": [{
                        "name": "string",
                        "advertise": {},
                        "suppress": {},
                    }],
                    "type": {
                        "normal": {},
                        "nssa": {
                            "accept_summary": False,
                            "default_route": {
                                "advertise": {
                                    "metric": 0,
                                    "type": "string",
                                },
                                "disable": {},
                            },
                            "nssa_ext_ranges": [{
                                "name": "string",
                                "advertise": {},
                                "suppress": {},
                            }],
                        },
                        "stub": {
                            "accept_summary": False,
                            "default_route": {
                                "advertise": {
                                    "metric": 0,
                                },
                                "disable": {},
                            },
                        },
                    },
                    "virtual_links": [{
                        "name": "string",
                        "authentication": "string",
                        "bfd": {
                            "profile": "string",
                        },
                        "dead_counts": 0,
                        "enable": False,
                        "hello_interval": 0,
                        "instance_id": 0,
                        "neighbor_id": "string",
                        "retransmit_interval": 0,
                        "transit_area_id": "string",
                        "transit_delay": 0,
                    }],
                }],
                "auth_profiles": [{
                    "name": "string",
                    "ah": {
                        "md5": {
                            "key": "string",
                        },
                        "sha1": {
                            "key": "string",
                        },
                        "sha256": {
                            "key": "string",
                        },
                        "sha384": {
                            "key": "string",
                        },
                        "sha512": {
                            "key": "string",
                        },
                    },
                    "esp": {
                        "authentication": {
                            "md5": {
                                "key": "string",
                            },
                            "none": {},
                            "sha1": {
                                "key": "string",
                            },
                            "sha256": {
                                "key": "string",
                            },
                            "sha384": {
                                "key": "string",
                            },
                            "sha512": {
                                "key": "string",
                            },
                        },
                        "encryption": {
                            "algorithm": "string",
                            "key": "string",
                        },
                    },
                    "spi": "string",
                }],
                "disable_transit_traffic": False,
                "enable": False,
                "export_rules": [{
                    "name": "string",
                    "metric": 0,
                    "new_path_type": "string",
                    "new_tag": "string",
                }],
                "global_bfd": {
                    "profile": "string",
                },
                "graceful_restart": {
                    "enable": False,
                    "grace_period": 0,
                    "helper_enable": False,
                    "max_neighbor_restart_time": 0,
                    "strict_lsa_checking": False,
                },
                "reject_default_route": False,
                "router_id": "string",
                "timers": {
                    "lsa_interval": 0,
                    "spf_calculation_delay": 0,
                },
            },
            "redist_profile_ipv6s": [{
                "name": "string",
                "action": {
                    "no_redist": {},
                    "redist": {},
                },
                "filter": {
                    "bgp": {
                        "communities": ["string"],
                        "extended_communities": ["string"],
                    },
                    "destinations": ["string"],
                    "interfaces": ["string"],
                    "nexthops": ["string"],
                    "ospfv3": {
                        "areas": ["string"],
                        "path_types": ["string"],
                        "tags": ["string"],
                    },
                    "types": ["string"],
                },
                "priority": 0,
            }],
            "redist_profiles": [{
                "name": "string",
                "action": {
                    "no_redist": {},
                    "redist": {},
                },
                "filter": {
                    "bgp": {
                        "communities": ["string"],
                        "extended_communities": ["string"],
                    },
                    "destinations": ["string"],
                    "interfaces": ["string"],
                    "nexthops": ["string"],
                    "ospf": {
                        "areas": ["string"],
                        "path_types": ["string"],
                        "tags": ["string"],
                    },
                    "types": ["string"],
                },
                "priority": 0,
            }],
            "rip": {
                "allow_redist_default_route": False,
                "auth_profiles": [{
                    "name": "string",
                    "md5s": [{
                        "name": "string",
                        "key": "string",
                        "preferred": False,
                    }],
                    "password": "string",
                }],
                "enable": False,
                "export_rules": [{
                    "name": "string",
                    "metric": 0,
                }],
                "global_bfd": {
                    "profile": "string",
                },
                "interfaces": [{
                    "name": "string",
                    "authentication": "string",
                    "bfd": {
                        "profile": "string",
                    },
                    "default_route": {
                        "advertise": {
                            "metric": 0,
                        },
                        "disable": {},
                    },
                    "enable": False,
                    "mode": "string",
                }],
                "reject_default_route": False,
                "timers": {
                    "delete_intervals": 0,
                    "expire_intervals": 0,
                    "interval_seconds": 0,
                    "update_intervals": 0,
                },
            },
        },
        routing_table={
            "ip": {
                "static_routes": [{
                    "name": "string",
                    "administrative_distance": 0,
                    "bfd": {
                        "profile": "string",
                    },
                    "destination": "string",
                    "interface": "string",
                    "metric": 0,
                    "nexthop": {
                        "discard": {},
                        "fqdn": "string",
                        "ip_address": "string",
                        "next_vr": "string",
                        "receive": {},
                    },
                    "path_monitor": {
                        "enable": False,
                        "failure_condition": "string",
                        "hold_time": 0,
                        "monitor_destinations": [{
                            "name": "string",
                            "count": 0,
                            "destination": "string",
                            "enable": False,
                            "interval": 0,
                            "source": "string",
                        }],
                    },
                    "route_table": {
                        "both": {},
                        "multicast": {},
                        "no_install": {},
                        "unicast": {},
                    },
                }],
            },
            "ipv6": {
                "static_routes": [{
                    "name": "string",
                    "administrative_distance": 0,
                    "bfd": {
                        "profile": "string",
                    },
                    "destination": "string",
                    "interface": "string",
                    "metric": 0,
                    "nexthop": {
                        "discard": {},
                        "ipv6_address": "string",
                        "next_vr": "string",
                        "receive": {},
                    },
                    "path_monitor": {
                        "enable": False,
                        "failure_condition": "string",
                        "hold_time": 0,
                        "monitor_destinations": [{
                            "name": "string",
                            "count": 0,
                            "destination": "string",
                            "enable": False,
                            "interval": 0,
                            "source": "string",
                        }],
                    },
                    "route_table": {
                        "no_install": {},
                        "unicast": {},
                    },
                }],
            },
        })
    
    const virtualRouterResource = new panos.VirtualRouter("virtualRouterResource", {
        location: {
            ngfw: {
                ngfwDevice: "string",
            },
            template: {
                name: "string",
                ngfwDevice: "string",
                panoramaDevice: "string",
            },
            templateStack: {
                name: "string",
                ngfwDevice: "string",
                panoramaDevice: "string",
            },
        },
        administrativeDistances: {
            ebgp: 0,
            ibgp: 0,
            ospfExt: 0,
            ospfInt: 0,
            ospfv3Ext: 0,
            ospfv3Int: 0,
            rip: 0,
            static: 0,
            staticIpv6: 0,
        },
        ecmp: {
            algorithm: {
                balancedRoundRobin: {},
                ipHash: {
                    hashSeed: 0,
                    srcOnly: false,
                    usePort: false,
                },
                ipModulo: {},
                weightedRoundRobin: {
                    interfaces: [{
                        name: "string",
                        weight: 0,
                    }],
                },
            },
            enable: false,
            maxPaths: 0,
            strictSourcePath: false,
            symmetricReturn: false,
        },
        interfaces: ["string"],
        multicast: {
            enable: false,
            interfaceGroups: [{
                name: "string",
                description: "string",
                groupPermission: {
                    anySourceMulticasts: [{
                        name: "string",
                        groupAddress: "string",
                        included: false,
                    }],
                    sourceSpecificMulticasts: [{
                        name: "string",
                        groupAddress: "string",
                        included: false,
                        sourceAddress: "string",
                    }],
                },
                igmp: {
                    enable: false,
                    immediateLeave: false,
                    lastMemberQueryInterval: 0,
                    maxGroups: "string",
                    maxQueryResponseTime: 0,
                    maxSources: "string",
                    queryInterval: 0,
                    robustness: "string",
                    routerAlertPolicing: false,
                    version: "string",
                },
                interfaces: ["string"],
                pim: {
                    allowedNeighbors: [{
                        name: "string",
                    }],
                    assertInterval: 0,
                    bsrBorder: false,
                    drPriority: 0,
                    enable: false,
                    helloInterval: 0,
                    joinPruneInterval: 0,
                },
            }],
            routeAgeoutTime: 0,
            rp: {
                externalRps: [{
                    name: "string",
                    groupAddresses: ["string"],
                    override: false,
                }],
                localRp: {
                    candidateRp: {
                        address: "string",
                        advertisementInterval: 0,
                        groupAddresses: ["string"],
                        "interface": "string",
                        priority: 0,
                    },
                    staticRp: {
                        address: "string",
                        groupAddresses: ["string"],
                        "interface": "string",
                        override: false,
                    },
                },
            },
            sptThresholds: [{
                name: "string",
                threshold: "string",
            }],
            ssmAddressSpaces: [{
                name: "string",
                groupAddress: "string",
                included: false,
            }],
        },
        name: "string",
        protocol: {
            bgp: {
                allowRedistDefaultRoute: false,
                authProfiles: [{
                    name: "string",
                    secret: "string",
                }],
                dampeningProfiles: [{
                    name: "string",
                    cutoff: 0,
                    decayHalfLifeReachable: 0,
                    decayHalfLifeUnreachable: 0,
                    enable: false,
                    maxHoldTime: 0,
                    reuse: 0,
                }],
                ecmpMultiAs: false,
                enable: false,
                enforceFirstAs: false,
                globalBfd: {
                    profile: "string",
                },
                installRoute: false,
                localAs: "string",
                peerGroups: [{
                    name: "string",
                    aggregatedConfedAsPath: false,
                    enable: false,
                    peers: [{
                        name: "string",
                        localAddress: {
                            "interface": "string",
                            ip: "string",
                        },
                        connectionOptions: {
                            authentication: "string",
                            holdTime: "string",
                            idleHoldTime: 0,
                            incomingBgpConnection: {
                                allow: false,
                                remotePort: 0,
                            },
                            keepAliveInterval: "string",
                            minRouteAdvInterval: 0,
                            multihop: 0,
                            openDelayTime: 0,
                            outgoingBgpConnection: {
                                allow: false,
                                localPort: 0,
                            },
                        },
                        enable: false,
                        enableMpBgp: false,
                        enableSenderSideLoopDetection: false,
                        addressFamilyIdentifier: "string",
                        maxPrefixes: "string",
                        bfd: {
                            profile: "string",
                        },
                        peerAddress: {
                            fqdn: "string",
                            ip: "string",
                        },
                        peerAs: "string",
                        peeringType: "string",
                        reflectorClient: "string",
                        subsequentAddressFamilyIdentifier: {
                            multicast: false,
                            unicast: false,
                        },
                    }],
                    softResetWithStoredInfo: false,
                    type: {
                        ebgp: {
                            exportNexthop: "string",
                            importNexthop: "string",
                            removePrivateAs: false,
                        },
                        ebgpConfed: {
                            exportNexthop: "string",
                        },
                        ibgp: {
                            exportNexthop: "string",
                        },
                        ibgpConfed: {
                            exportNexthop: "string",
                        },
                    },
                }],
                policy: {
                    aggregation: {
                        addresses: [{
                            name: "string",
                            advertiseFilters: [{
                                name: "string",
                                enable: false,
                                match: {
                                    addressPrefixes: [{
                                        name: "string",
                                        exact: false,
                                    }],
                                    asPath: {
                                        regex: "string",
                                    },
                                    community: {
                                        regex: "string",
                                    },
                                    extendedCommunity: {
                                        regex: "string",
                                    },
                                    fromPeers: ["string"],
                                    med: 0,
                                    nexthops: ["string"],
                                    routeTable: "string",
                                },
                            }],
                            aggregateRouteAttributes: {
                                asPath: {
                                    none: {},
                                    prepend: 0,
                                },
                                asPathLimit: 0,
                                community: {
                                    appends: ["string"],
                                    none: {},
                                    overwrites: ["string"],
                                    removeAll: {},
                                    removeRegex: "string",
                                },
                                extendedCommunity: {
                                    appends: ["string"],
                                    none: {},
                                    overwrites: ["string"],
                                    removeAll: {},
                                    removeRegex: "string",
                                },
                                localPreference: 0,
                                med: 0,
                                nexthop: "string",
                                origin: "string",
                                weight: 0,
                            },
                            asSet: false,
                            enable: false,
                            prefix: "string",
                            summary: false,
                            suppressFilters: [{
                                name: "string",
                                enable: false,
                                match: {
                                    addressPrefixes: [{
                                        name: "string",
                                        exact: false,
                                    }],
                                    asPath: {
                                        regex: "string",
                                    },
                                    community: {
                                        regex: "string",
                                    },
                                    extendedCommunity: {
                                        regex: "string",
                                    },
                                    fromPeers: ["string"],
                                    med: 0,
                                    nexthops: ["string"],
                                    routeTable: "string",
                                },
                            }],
                        }],
                    },
                    conditionalAdvertisement: {
                        policies: [{
                            name: "string",
                            advertiseFilters: [{
                                name: "string",
                                enable: false,
                                match: {
                                    addressPrefixes: [{
                                        name: "string",
                                    }],
                                    asPath: {
                                        regex: "string",
                                    },
                                    community: {
                                        regex: "string",
                                    },
                                    extendedCommunity: {
                                        regex: "string",
                                    },
                                    fromPeers: ["string"],
                                    med: 0,
                                    nexthops: ["string"],
                                    routeTable: "string",
                                },
                            }],
                            enable: false,
                            nonExistFilters: [{
                                name: "string",
                                enable: false,
                                match: {
                                    addressPrefixes: [{
                                        name: "string",
                                    }],
                                    asPath: {
                                        regex: "string",
                                    },
                                    community: {
                                        regex: "string",
                                    },
                                    extendedCommunity: {
                                        regex: "string",
                                    },
                                    fromPeers: ["string"],
                                    med: 0,
                                    nexthops: ["string"],
                                    routeTable: "string",
                                },
                            }],
                            usedBies: ["string"],
                        }],
                    },
                    "export": {
                        rules: [{
                            name: "string",
                            action: {
                                allow: {
                                    update: {
                                        asPath: {
                                            none: {},
                                            prepend: 0,
                                            remove: {},
                                            removeAndPrepend: 0,
                                        },
                                        asPathLimit: 0,
                                        community: {
                                            appends: ["string"],
                                            none: {},
                                            overwrites: ["string"],
                                            removeAll: {},
                                            removeRegex: "string",
                                        },
                                        extendedCommunity: {
                                            appends: ["string"],
                                            none: {},
                                            overwrites: ["string"],
                                            removeAll: {},
                                            removeRegex: "string",
                                        },
                                        localPreference: 0,
                                        med: 0,
                                        nexthop: "string",
                                        origin: "string",
                                    },
                                },
                                deny: {},
                            },
                            enable: false,
                            match: {
                                addressPrefixes: [{
                                    name: "string",
                                    exact: false,
                                }],
                                asPath: {
                                    regex: "string",
                                },
                                community: {
                                    regex: "string",
                                },
                                extendedCommunity: {
                                    regex: "string",
                                },
                                fromPeers: ["string"],
                                med: 0,
                                nexthops: ["string"],
                                routeTable: "string",
                            },
                            usedBies: ["string"],
                        }],
                    },
                    "import": {
                        rules: [{
                            name: "string",
                            action: {
                                allow: {
                                    dampening: "string",
                                    update: {
                                        asPath: {
                                            none: {},
                                            remove: {},
                                        },
                                        asPathLimit: 0,
                                        community: {
                                            appends: ["string"],
                                            none: {},
                                            overwrites: ["string"],
                                            removeAll: {},
                                            removeRegex: "string",
                                        },
                                        extendedCommunity: {
                                            appends: ["string"],
                                            none: {},
                                            overwrites: ["string"],
                                            removeAll: {},
                                            removeRegex: "string",
                                        },
                                        localPreference: 0,
                                        med: 0,
                                        nexthop: "string",
                                        origin: "string",
                                        weight: 0,
                                    },
                                },
                                deny: {},
                            },
                            enable: false,
                            match: {
                                addressPrefixes: [{
                                    name: "string",
                                    exact: false,
                                }],
                                asPath: {
                                    regex: "string",
                                },
                                community: {
                                    regex: "string",
                                },
                                extendedCommunity: {
                                    regex: "string",
                                },
                                fromPeers: ["string"],
                                med: 0,
                                nexthops: ["string"],
                                routeTable: "string",
                            },
                            usedBies: ["string"],
                        }],
                    },
                },
                redistRules: [{
                    name: "string",
                    addressFamilyIdentifier: "string",
                    enable: false,
                    metric: 0,
                    routeTable: "string",
                    setAsPathLimit: 0,
                    setCommunities: ["string"],
                    setExtendedCommunities: ["string"],
                    setLocalPreference: 0,
                    setMed: 0,
                    setOrigin: "string",
                }],
                rejectDefaultRoute: false,
                routerId: "string",
                routingOptions: {
                    aggregate: {
                        aggregateMed: false,
                    },
                    asFormat: "string",
                    confederationMemberAs: "string",
                    defaultLocalPreference: 0,
                    gracefulRestart: {
                        enable: false,
                        localRestartTime: 0,
                        maxPeerRestartTime: 0,
                        staleRouteTime: 0,
                    },
                    med: {
                        alwaysCompareMed: false,
                        deterministicMedComparison: false,
                    },
                    reflectorClusterId: "string",
                },
            },
            ospf: {
                allowRedistDefaultRoute: false,
                areas: [{
                    name: "string",
                    interfaces: [{
                        name: "string",
                        linkType: {
                            broadcast: {},
                            p2mp: {},
                            p2p: {},
                        },
                        deadCounts: 0,
                        enable: false,
                        grDelay: 0,
                        helloInterval: 0,
                        authentication: "string",
                        metric: 0,
                        bfd: {
                            profile: "string",
                        },
                        neighbors: [{
                            name: "string",
                        }],
                        passive: false,
                        priority: 0,
                        retransmitInterval: 0,
                        transitDelay: 0,
                    }],
                    ranges: [{
                        name: "string",
                        advertise: {},
                        suppress: {},
                    }],
                    type: {
                        normal: {},
                        nssa: {
                            acceptSummary: false,
                            defaultRoute: {
                                advertise: {
                                    metric: 0,
                                    type: "string",
                                },
                                disable: {},
                            },
                            nssaExtRanges: [{
                                name: "string",
                                advertise: {},
                                suppress: {},
                            }],
                        },
                        stub: {
                            acceptSummary: false,
                            defaultRoute: {
                                advertise: {
                                    metric: 0,
                                },
                                disable: {},
                            },
                        },
                    },
                    virtualLinks: [{
                        name: "string",
                        authentication: "string",
                        bfd: {
                            profile: "string",
                        },
                        deadCounts: 0,
                        enable: false,
                        helloInterval: 0,
                        neighborId: "string",
                        retransmitInterval: 0,
                        transitAreaId: "string",
                        transitDelay: 0,
                    }],
                }],
                authProfiles: [{
                    name: "string",
                    md5s: [{
                        name: "string",
                        key: "string",
                        preferred: false,
                    }],
                    password: "string",
                }],
                enable: false,
                exportRules: [{
                    name: "string",
                    metric: 0,
                    newPathType: "string",
                    newTag: "string",
                }],
                globalBfd: {
                    profile: "string",
                },
                gracefulRestart: {
                    enable: false,
                    gracePeriod: 0,
                    helperEnable: false,
                    maxNeighborRestartTime: 0,
                    strictLSAChecking: false,
                },
                rejectDefaultRoute: false,
                rfc1583: false,
                routerId: "string",
                timers: {
                    lsaInterval: 0,
                    spfCalculationDelay: 0,
                },
            },
            ospfv3: {
                allowRedistDefaultRoute: false,
                areas: [{
                    name: "string",
                    authentication: "string",
                    interfaces: [{
                        name: "string",
                        enable: false,
                        metric: 0,
                        authentication: "string",
                        grDelay: 0,
                        helloInterval: 0,
                        instanceId: 0,
                        linkType: {
                            broadcast: {},
                            p2mp: {},
                            p2p: {},
                        },
                        deadCounts: 0,
                        bfd: {
                            profile: "string",
                        },
                        neighbors: [{
                            name: "string",
                        }],
                        passive: false,
                        priority: 0,
                        retransmitInterval: 0,
                        transitDelay: 0,
                    }],
                    ranges: [{
                        name: "string",
                        advertise: {},
                        suppress: {},
                    }],
                    type: {
                        normal: {},
                        nssa: {
                            acceptSummary: false,
                            defaultRoute: {
                                advertise: {
                                    metric: 0,
                                    type: "string",
                                },
                                disable: {},
                            },
                            nssaExtRanges: [{
                                name: "string",
                                advertise: {},
                                suppress: {},
                            }],
                        },
                        stub: {
                            acceptSummary: false,
                            defaultRoute: {
                                advertise: {
                                    metric: 0,
                                },
                                disable: {},
                            },
                        },
                    },
                    virtualLinks: [{
                        name: "string",
                        authentication: "string",
                        bfd: {
                            profile: "string",
                        },
                        deadCounts: 0,
                        enable: false,
                        helloInterval: 0,
                        instanceId: 0,
                        neighborId: "string",
                        retransmitInterval: 0,
                        transitAreaId: "string",
                        transitDelay: 0,
                    }],
                }],
                authProfiles: [{
                    name: "string",
                    ah: {
                        md5: {
                            key: "string",
                        },
                        sha1: {
                            key: "string",
                        },
                        sha256: {
                            key: "string",
                        },
                        sha384: {
                            key: "string",
                        },
                        sha512: {
                            key: "string",
                        },
                    },
                    esp: {
                        authentication: {
                            md5: {
                                key: "string",
                            },
                            none: {},
                            sha1: {
                                key: "string",
                            },
                            sha256: {
                                key: "string",
                            },
                            sha384: {
                                key: "string",
                            },
                            sha512: {
                                key: "string",
                            },
                        },
                        encryption: {
                            algorithm: "string",
                            key: "string",
                        },
                    },
                    spi: "string",
                }],
                disableTransitTraffic: false,
                enable: false,
                exportRules: [{
                    name: "string",
                    metric: 0,
                    newPathType: "string",
                    newTag: "string",
                }],
                globalBfd: {
                    profile: "string",
                },
                gracefulRestart: {
                    enable: false,
                    gracePeriod: 0,
                    helperEnable: false,
                    maxNeighborRestartTime: 0,
                    strictLSAChecking: false,
                },
                rejectDefaultRoute: false,
                routerId: "string",
                timers: {
                    lsaInterval: 0,
                    spfCalculationDelay: 0,
                },
            },
            redistProfileIpv6s: [{
                name: "string",
                action: {
                    noRedist: {},
                    redist: {},
                },
                filter: {
                    bgp: {
                        communities: ["string"],
                        extendedCommunities: ["string"],
                    },
                    destinations: ["string"],
                    interfaces: ["string"],
                    nexthops: ["string"],
                    ospfv3: {
                        areas: ["string"],
                        pathTypes: ["string"],
                        tags: ["string"],
                    },
                    types: ["string"],
                },
                priority: 0,
            }],
            redistProfiles: [{
                name: "string",
                action: {
                    noRedist: {},
                    redist: {},
                },
                filter: {
                    bgp: {
                        communities: ["string"],
                        extendedCommunities: ["string"],
                    },
                    destinations: ["string"],
                    interfaces: ["string"],
                    nexthops: ["string"],
                    ospf: {
                        areas: ["string"],
                        pathTypes: ["string"],
                        tags: ["string"],
                    },
                    types: ["string"],
                },
                priority: 0,
            }],
            rip: {
                allowRedistDefaultRoute: false,
                authProfiles: [{
                    name: "string",
                    md5s: [{
                        name: "string",
                        key: "string",
                        preferred: false,
                    }],
                    password: "string",
                }],
                enable: false,
                exportRules: [{
                    name: "string",
                    metric: 0,
                }],
                globalBfd: {
                    profile: "string",
                },
                interfaces: [{
                    name: "string",
                    authentication: "string",
                    bfd: {
                        profile: "string",
                    },
                    defaultRoute: {
                        advertise: {
                            metric: 0,
                        },
                        disable: {},
                    },
                    enable: false,
                    mode: "string",
                }],
                rejectDefaultRoute: false,
                timers: {
                    deleteIntervals: 0,
                    expireIntervals: 0,
                    intervalSeconds: 0,
                    updateIntervals: 0,
                },
            },
        },
        routingTable: {
            ip: {
                staticRoutes: [{
                    name: "string",
                    administrativeDistance: 0,
                    bfd: {
                        profile: "string",
                    },
                    destination: "string",
                    "interface": "string",
                    metric: 0,
                    nexthop: {
                        discard: {},
                        fqdn: "string",
                        ipAddress: "string",
                        nextVr: "string",
                        receive: {},
                    },
                    pathMonitor: {
                        enable: false,
                        failureCondition: "string",
                        holdTime: 0,
                        monitorDestinations: [{
                            name: "string",
                            count: 0,
                            destination: "string",
                            enable: false,
                            interval: 0,
                            source: "string",
                        }],
                    },
                    routeTable: {
                        both: {},
                        multicast: {},
                        noInstall: {},
                        unicast: {},
                    },
                }],
            },
            ipv6: {
                staticRoutes: [{
                    name: "string",
                    administrativeDistance: 0,
                    bfd: {
                        profile: "string",
                    },
                    destination: "string",
                    "interface": "string",
                    metric: 0,
                    nexthop: {
                        discard: {},
                        ipv6Address: "string",
                        nextVr: "string",
                        receive: {},
                    },
                    pathMonitor: {
                        enable: false,
                        failureCondition: "string",
                        holdTime: 0,
                        monitorDestinations: [{
                            name: "string",
                            count: 0,
                            destination: "string",
                            enable: false,
                            interval: 0,
                            source: "string",
                        }],
                    },
                    routeTable: {
                        noInstall: {},
                        unicast: {},
                    },
                }],
            },
        },
    });
    
    type: panos:VirtualRouter
    properties:
        administrativeDistances:
            ebgp: 0
            ibgp: 0
            ospfExt: 0
            ospfInt: 0
            ospfv3Ext: 0
            ospfv3Int: 0
            rip: 0
            static: 0
            staticIpv6: 0
        ecmp:
            algorithm:
                balancedRoundRobin: {}
                ipHash:
                    hashSeed: 0
                    srcOnly: false
                    usePort: false
                ipModulo: {}
                weightedRoundRobin:
                    interfaces:
                        - name: string
                          weight: 0
            enable: false
            maxPaths: 0
            strictSourcePath: false
            symmetricReturn: false
        interfaces:
            - string
        location:
            ngfw:
                ngfwDevice: string
            template:
                name: string
                ngfwDevice: string
                panoramaDevice: string
            templateStack:
                name: string
                ngfwDevice: string
                panoramaDevice: string
        multicast:
            enable: false
            interfaceGroups:
                - description: string
                  groupPermission:
                    anySourceMulticasts:
                        - groupAddress: string
                          included: false
                          name: string
                    sourceSpecificMulticasts:
                        - groupAddress: string
                          included: false
                          name: string
                          sourceAddress: string
                  igmp:
                    enable: false
                    immediateLeave: false
                    lastMemberQueryInterval: 0
                    maxGroups: string
                    maxQueryResponseTime: 0
                    maxSources: string
                    queryInterval: 0
                    robustness: string
                    routerAlertPolicing: false
                    version: string
                  interfaces:
                    - string
                  name: string
                  pim:
                    allowedNeighbors:
                        - name: string
                    assertInterval: 0
                    bsrBorder: false
                    drPriority: 0
                    enable: false
                    helloInterval: 0
                    joinPruneInterval: 0
            routeAgeoutTime: 0
            rp:
                externalRps:
                    - groupAddresses:
                        - string
                      name: string
                      override: false
                localRp:
                    candidateRp:
                        address: string
                        advertisementInterval: 0
                        groupAddresses:
                            - string
                        interface: string
                        priority: 0
                    staticRp:
                        address: string
                        groupAddresses:
                            - string
                        interface: string
                        override: false
            sptThresholds:
                - name: string
                  threshold: string
            ssmAddressSpaces:
                - groupAddress: string
                  included: false
                  name: string
        name: string
        protocol:
            bgp:
                allowRedistDefaultRoute: false
                authProfiles:
                    - name: string
                      secret: string
                dampeningProfiles:
                    - cutoff: 0
                      decayHalfLifeReachable: 0
                      decayHalfLifeUnreachable: 0
                      enable: false
                      maxHoldTime: 0
                      name: string
                      reuse: 0
                ecmpMultiAs: false
                enable: false
                enforceFirstAs: false
                globalBfd:
                    profile: string
                installRoute: false
                localAs: string
                peerGroups:
                    - aggregatedConfedAsPath: false
                      enable: false
                      name: string
                      peers:
                        - addressFamilyIdentifier: string
                          bfd:
                            profile: string
                          connectionOptions:
                            authentication: string
                            holdTime: string
                            idleHoldTime: 0
                            incomingBgpConnection:
                                allow: false
                                remotePort: 0
                            keepAliveInterval: string
                            minRouteAdvInterval: 0
                            multihop: 0
                            openDelayTime: 0
                            outgoingBgpConnection:
                                allow: false
                                localPort: 0
                          enable: false
                          enableMpBgp: false
                          enableSenderSideLoopDetection: false
                          localAddress:
                            interface: string
                            ip: string
                          maxPrefixes: string
                          name: string
                          peerAddress:
                            fqdn: string
                            ip: string
                          peerAs: string
                          peeringType: string
                          reflectorClient: string
                          subsequentAddressFamilyIdentifier:
                            multicast: false
                            unicast: false
                      softResetWithStoredInfo: false
                      type:
                        ebgp:
                            exportNexthop: string
                            importNexthop: string
                            removePrivateAs: false
                        ebgpConfed:
                            exportNexthop: string
                        ibgp:
                            exportNexthop: string
                        ibgpConfed:
                            exportNexthop: string
                policy:
                    aggregation:
                        addresses:
                            - advertiseFilters:
                                - enable: false
                                  match:
                                    addressPrefixes:
                                        - exact: false
                                          name: string
                                    asPath:
                                        regex: string
                                    community:
                                        regex: string
                                    extendedCommunity:
                                        regex: string
                                    fromPeers:
                                        - string
                                    med: 0
                                    nexthops:
                                        - string
                                    routeTable: string
                                  name: string
                              aggregateRouteAttributes:
                                asPath:
                                    none: {}
                                    prepend: 0
                                asPathLimit: 0
                                community:
                                    appends:
                                        - string
                                    none: {}
                                    overwrites:
                                        - string
                                    removeAll: {}
                                    removeRegex: string
                                extendedCommunity:
                                    appends:
                                        - string
                                    none: {}
                                    overwrites:
                                        - string
                                    removeAll: {}
                                    removeRegex: string
                                localPreference: 0
                                med: 0
                                nexthop: string
                                origin: string
                                weight: 0
                              asSet: false
                              enable: false
                              name: string
                              prefix: string
                              summary: false
                              suppressFilters:
                                - enable: false
                                  match:
                                    addressPrefixes:
                                        - exact: false
                                          name: string
                                    asPath:
                                        regex: string
                                    community:
                                        regex: string
                                    extendedCommunity:
                                        regex: string
                                    fromPeers:
                                        - string
                                    med: 0
                                    nexthops:
                                        - string
                                    routeTable: string
                                  name: string
                    conditionalAdvertisement:
                        policies:
                            - advertiseFilters:
                                - enable: false
                                  match:
                                    addressPrefixes:
                                        - name: string
                                    asPath:
                                        regex: string
                                    community:
                                        regex: string
                                    extendedCommunity:
                                        regex: string
                                    fromPeers:
                                        - string
                                    med: 0
                                    nexthops:
                                        - string
                                    routeTable: string
                                  name: string
                              enable: false
                              name: string
                              nonExistFilters:
                                - enable: false
                                  match:
                                    addressPrefixes:
                                        - name: string
                                    asPath:
                                        regex: string
                                    community:
                                        regex: string
                                    extendedCommunity:
                                        regex: string
                                    fromPeers:
                                        - string
                                    med: 0
                                    nexthops:
                                        - string
                                    routeTable: string
                                  name: string
                              usedBies:
                                - string
                    export:
                        rules:
                            - action:
                                allow:
                                    update:
                                        asPath:
                                            none: {}
                                            prepend: 0
                                            remove: {}
                                            removeAndPrepend: 0
                                        asPathLimit: 0
                                        community:
                                            appends:
                                                - string
                                            none: {}
                                            overwrites:
                                                - string
                                            removeAll: {}
                                            removeRegex: string
                                        extendedCommunity:
                                            appends:
                                                - string
                                            none: {}
                                            overwrites:
                                                - string
                                            removeAll: {}
                                            removeRegex: string
                                        localPreference: 0
                                        med: 0
                                        nexthop: string
                                        origin: string
                                deny: {}
                              enable: false
                              match:
                                addressPrefixes:
                                    - exact: false
                                      name: string
                                asPath:
                                    regex: string
                                community:
                                    regex: string
                                extendedCommunity:
                                    regex: string
                                fromPeers:
                                    - string
                                med: 0
                                nexthops:
                                    - string
                                routeTable: string
                              name: string
                              usedBies:
                                - string
                    import:
                        rules:
                            - action:
                                allow:
                                    dampening: string
                                    update:
                                        asPath:
                                            none: {}
                                            remove: {}
                                        asPathLimit: 0
                                        community:
                                            appends:
                                                - string
                                            none: {}
                                            overwrites:
                                                - string
                                            removeAll: {}
                                            removeRegex: string
                                        extendedCommunity:
                                            appends:
                                                - string
                                            none: {}
                                            overwrites:
                                                - string
                                            removeAll: {}
                                            removeRegex: string
                                        localPreference: 0
                                        med: 0
                                        nexthop: string
                                        origin: string
                                        weight: 0
                                deny: {}
                              enable: false
                              match:
                                addressPrefixes:
                                    - exact: false
                                      name: string
                                asPath:
                                    regex: string
                                community:
                                    regex: string
                                extendedCommunity:
                                    regex: string
                                fromPeers:
                                    - string
                                med: 0
                                nexthops:
                                    - string
                                routeTable: string
                              name: string
                              usedBies:
                                - string
                redistRules:
                    - addressFamilyIdentifier: string
                      enable: false
                      metric: 0
                      name: string
                      routeTable: string
                      setAsPathLimit: 0
                      setCommunities:
                        - string
                      setExtendedCommunities:
                        - string
                      setLocalPreference: 0
                      setMed: 0
                      setOrigin: string
                rejectDefaultRoute: false
                routerId: string
                routingOptions:
                    aggregate:
                        aggregateMed: false
                    asFormat: string
                    confederationMemberAs: string
                    defaultLocalPreference: 0
                    gracefulRestart:
                        enable: false
                        localRestartTime: 0
                        maxPeerRestartTime: 0
                        staleRouteTime: 0
                    med:
                        alwaysCompareMed: false
                        deterministicMedComparison: false
                    reflectorClusterId: string
            ospf:
                allowRedistDefaultRoute: false
                areas:
                    - interfaces:
                        - authentication: string
                          bfd:
                            profile: string
                          deadCounts: 0
                          enable: false
                          grDelay: 0
                          helloInterval: 0
                          linkType:
                            broadcast: {}
                            p2mp: {}
                            p2p: {}
                          metric: 0
                          name: string
                          neighbors:
                            - name: string
                          passive: false
                          priority: 0
                          retransmitInterval: 0
                          transitDelay: 0
                      name: string
                      ranges:
                        - advertise: {}
                          name: string
                          suppress: {}
                      type:
                        normal: {}
                        nssa:
                            acceptSummary: false
                            defaultRoute:
                                advertise:
                                    metric: 0
                                    type: string
                                disable: {}
                            nssaExtRanges:
                                - advertise: {}
                                  name: string
                                  suppress: {}
                        stub:
                            acceptSummary: false
                            defaultRoute:
                                advertise:
                                    metric: 0
                                disable: {}
                      virtualLinks:
                        - authentication: string
                          bfd:
                            profile: string
                          deadCounts: 0
                          enable: false
                          helloInterval: 0
                          name: string
                          neighborId: string
                          retransmitInterval: 0
                          transitAreaId: string
                          transitDelay: 0
                authProfiles:
                    - md5s:
                        - key: string
                          name: string
                          preferred: false
                      name: string
                      password: string
                enable: false
                exportRules:
                    - metric: 0
                      name: string
                      newPathType: string
                      newTag: string
                globalBfd:
                    profile: string
                gracefulRestart:
                    enable: false
                    gracePeriod: 0
                    helperEnable: false
                    maxNeighborRestartTime: 0
                    strictLSAChecking: false
                rejectDefaultRoute: false
                rfc1583: false
                routerId: string
                timers:
                    lsaInterval: 0
                    spfCalculationDelay: 0
            ospfv3:
                allowRedistDefaultRoute: false
                areas:
                    - authentication: string
                      interfaces:
                        - authentication: string
                          bfd:
                            profile: string
                          deadCounts: 0
                          enable: false
                          grDelay: 0
                          helloInterval: 0
                          instanceId: 0
                          linkType:
                            broadcast: {}
                            p2mp: {}
                            p2p: {}
                          metric: 0
                          name: string
                          neighbors:
                            - name: string
                          passive: false
                          priority: 0
                          retransmitInterval: 0
                          transitDelay: 0
                      name: string
                      ranges:
                        - advertise: {}
                          name: string
                          suppress: {}
                      type:
                        normal: {}
                        nssa:
                            acceptSummary: false
                            defaultRoute:
                                advertise:
                                    metric: 0
                                    type: string
                                disable: {}
                            nssaExtRanges:
                                - advertise: {}
                                  name: string
                                  suppress: {}
                        stub:
                            acceptSummary: false
                            defaultRoute:
                                advertise:
                                    metric: 0
                                disable: {}
                      virtualLinks:
                        - authentication: string
                          bfd:
                            profile: string
                          deadCounts: 0
                          enable: false
                          helloInterval: 0
                          instanceId: 0
                          name: string
                          neighborId: string
                          retransmitInterval: 0
                          transitAreaId: string
                          transitDelay: 0
                authProfiles:
                    - ah:
                        md5:
                            key: string
                        sha1:
                            key: string
                        sha256:
                            key: string
                        sha384:
                            key: string
                        sha512:
                            key: string
                      esp:
                        authentication:
                            md5:
                                key: string
                            none: {}
                            sha1:
                                key: string
                            sha256:
                                key: string
                            sha384:
                                key: string
                            sha512:
                                key: string
                        encryption:
                            algorithm: string
                            key: string
                      name: string
                      spi: string
                disableTransitTraffic: false
                enable: false
                exportRules:
                    - metric: 0
                      name: string
                      newPathType: string
                      newTag: string
                globalBfd:
                    profile: string
                gracefulRestart:
                    enable: false
                    gracePeriod: 0
                    helperEnable: false
                    maxNeighborRestartTime: 0
                    strictLSAChecking: false
                rejectDefaultRoute: false
                routerId: string
                timers:
                    lsaInterval: 0
                    spfCalculationDelay: 0
            redistProfileIpv6s:
                - action:
                    noRedist: {}
                    redist: {}
                  filter:
                    bgp:
                        communities:
                            - string
                        extendedCommunities:
                            - string
                    destinations:
                        - string
                    interfaces:
                        - string
                    nexthops:
                        - string
                    ospfv3:
                        areas:
                            - string
                        pathTypes:
                            - string
                        tags:
                            - string
                    types:
                        - string
                  name: string
                  priority: 0
            redistProfiles:
                - action:
                    noRedist: {}
                    redist: {}
                  filter:
                    bgp:
                        communities:
                            - string
                        extendedCommunities:
                            - string
                    destinations:
                        - string
                    interfaces:
                        - string
                    nexthops:
                        - string
                    ospf:
                        areas:
                            - string
                        pathTypes:
                            - string
                        tags:
                            - string
                    types:
                        - string
                  name: string
                  priority: 0
            rip:
                allowRedistDefaultRoute: false
                authProfiles:
                    - md5s:
                        - key: string
                          name: string
                          preferred: false
                      name: string
                      password: string
                enable: false
                exportRules:
                    - metric: 0
                      name: string
                globalBfd:
                    profile: string
                interfaces:
                    - authentication: string
                      bfd:
                        profile: string
                      defaultRoute:
                        advertise:
                            metric: 0
                        disable: {}
                      enable: false
                      mode: string
                      name: string
                rejectDefaultRoute: false
                timers:
                    deleteIntervals: 0
                    expireIntervals: 0
                    intervalSeconds: 0
                    updateIntervals: 0
        routingTable:
            ip:
                staticRoutes:
                    - administrativeDistance: 0
                      bfd:
                        profile: string
                      destination: string
                      interface: string
                      metric: 0
                      name: string
                      nexthop:
                        discard: {}
                        fqdn: string
                        ipAddress: string
                        nextVr: string
                        receive: {}
                      pathMonitor:
                        enable: false
                        failureCondition: string
                        holdTime: 0
                        monitorDestinations:
                            - count: 0
                              destination: string
                              enable: false
                              interval: 0
                              name: string
                              source: string
                      routeTable:
                        both: {}
                        multicast: {}
                        noInstall: {}
                        unicast: {}
            ipv6:
                staticRoutes:
                    - administrativeDistance: 0
                      bfd:
                        profile: string
                      destination: string
                      interface: string
                      metric: 0
                      name: string
                      nexthop:
                        discard: {}
                        ipv6Address: string
                        nextVr: string
                        receive: {}
                      pathMonitor:
                        enable: false
                        failureCondition: string
                        holdTime: 0
                        monitorDestinations:
                            - count: 0
                              destination: string
                              enable: false
                              interval: 0
                              name: string
                              source: string
                      routeTable:
                        noInstall: {}
                        unicast: {}
    

    VirtualRouter Resource Properties

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

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The VirtualRouter resource accepts the following input properties:

    Outputs

    All input properties are implicitly available as output properties. Additionally, the VirtualRouter 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 VirtualRouter Resource

    Get an existing VirtualRouter 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?: VirtualRouterState, opts?: CustomResourceOptions): VirtualRouter
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            administrative_distances: Optional[VirtualRouterAdministrativeDistancesArgs] = None,
            ecmp: Optional[VirtualRouterEcmpArgs] = None,
            interfaces: Optional[Sequence[str]] = None,
            location: Optional[VirtualRouterLocationArgs] = None,
            multicast: Optional[VirtualRouterMulticastArgs] = None,
            name: Optional[str] = None,
            protocol: Optional[VirtualRouterProtocolArgs] = None,
            routing_table: Optional[VirtualRouterRoutingTableArgs] = None) -> VirtualRouter
    func GetVirtualRouter(ctx *Context, name string, id IDInput, state *VirtualRouterState, opts ...ResourceOption) (*VirtualRouter, error)
    public static VirtualRouter Get(string name, Input<string> id, VirtualRouterState? state, CustomResourceOptions? opts = null)
    public static VirtualRouter get(String name, Output<String> id, VirtualRouterState state, CustomResourceOptions options)
    resources:  _:    type: panos:VirtualRouter    get:      id: ${id}
    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:

    Supporting Types

    VirtualRouterAdministrativeDistances, VirtualRouterAdministrativeDistancesArgs

    Ebgp double
    administrative distance used for eBGP routes
    Ibgp double
    administrative distance used for iBGP routes
    OspfExt double
    administrative distance used for OSPF external routes
    OspfInt double
    administrative distance used for OSPF internal routes
    Ospfv3Ext double
    administrative distance used for OSPFv3 external routes
    Ospfv3Int double
    administrative distance used for OSPFv3 internal routes
    Rip double
    administrative distance used for RIP routes
    Static double
    administrative distance used for static routes
    StaticIpv6 double
    administrative distance used for ipv6 static routes
    Ebgp float64
    administrative distance used for eBGP routes
    Ibgp float64
    administrative distance used for iBGP routes
    OspfExt float64
    administrative distance used for OSPF external routes
    OspfInt float64
    administrative distance used for OSPF internal routes
    Ospfv3Ext float64
    administrative distance used for OSPFv3 external routes
    Ospfv3Int float64
    administrative distance used for OSPFv3 internal routes
    Rip float64
    administrative distance used for RIP routes
    Static float64
    administrative distance used for static routes
    StaticIpv6 float64
    administrative distance used for ipv6 static routes
    ebgp Double
    administrative distance used for eBGP routes
    ibgp Double
    administrative distance used for iBGP routes
    ospfExt Double
    administrative distance used for OSPF external routes
    ospfInt Double
    administrative distance used for OSPF internal routes
    ospfv3Ext Double
    administrative distance used for OSPFv3 external routes
    ospfv3Int Double
    administrative distance used for OSPFv3 internal routes
    rip Double
    administrative distance used for RIP routes
    staticIpv6 Double
    administrative distance used for ipv6 static routes
    static_ Double
    administrative distance used for static routes
    ebgp number
    administrative distance used for eBGP routes
    ibgp number
    administrative distance used for iBGP routes
    ospfExt number
    administrative distance used for OSPF external routes
    ospfInt number
    administrative distance used for OSPF internal routes
    ospfv3Ext number
    administrative distance used for OSPFv3 external routes
    ospfv3Int number
    administrative distance used for OSPFv3 internal routes
    rip number
    administrative distance used for RIP routes
    static number
    administrative distance used for static routes
    staticIpv6 number
    administrative distance used for ipv6 static routes
    ebgp float
    administrative distance used for eBGP routes
    ibgp float
    administrative distance used for iBGP routes
    ospf_ext float
    administrative distance used for OSPF external routes
    ospf_int float
    administrative distance used for OSPF internal routes
    ospfv3_ext float
    administrative distance used for OSPFv3 external routes
    ospfv3_int float
    administrative distance used for OSPFv3 internal routes
    rip float
    administrative distance used for RIP routes
    static float
    administrative distance used for static routes
    static_ipv6 float
    administrative distance used for ipv6 static routes
    ebgp Number
    administrative distance used for eBGP routes
    ibgp Number
    administrative distance used for iBGP routes
    ospfExt Number
    administrative distance used for OSPF external routes
    ospfInt Number
    administrative distance used for OSPF internal routes
    ospfv3Ext Number
    administrative distance used for OSPFv3 external routes
    ospfv3Int Number
    administrative distance used for OSPFv3 internal routes
    rip Number
    administrative distance used for RIP routes
    static Number
    administrative distance used for static routes
    staticIpv6 Number
    administrative distance used for ipv6 static routes

    VirtualRouterEcmp, VirtualRouterEcmpArgs

    Algorithm VirtualRouterEcmpAlgorithm
    Enable bool
    enable Equal Cost Multipath routing, change this configuration will result in a virtual router restart
    MaxPaths double
    Maxmum number of ECMP paths supported, change this configuration will result in a virtual router restart
    StrictSourcePath bool
    force VPN traffic to exit interface that the source-ip belongs to
    SymmetricReturn bool
    allows return packets to egress out of the ingress interface of the flow
    Algorithm VirtualRouterEcmpAlgorithm
    Enable bool
    enable Equal Cost Multipath routing, change this configuration will result in a virtual router restart
    MaxPaths float64
    Maxmum number of ECMP paths supported, change this configuration will result in a virtual router restart
    StrictSourcePath bool
    force VPN traffic to exit interface that the source-ip belongs to
    SymmetricReturn bool
    allows return packets to egress out of the ingress interface of the flow
    algorithm VirtualRouterEcmpAlgorithm
    enable Boolean
    enable Equal Cost Multipath routing, change this configuration will result in a virtual router restart
    maxPaths Double
    Maxmum number of ECMP paths supported, change this configuration will result in a virtual router restart
    strictSourcePath Boolean
    force VPN traffic to exit interface that the source-ip belongs to
    symmetricReturn Boolean
    allows return packets to egress out of the ingress interface of the flow
    algorithm VirtualRouterEcmpAlgorithm
    enable boolean
    enable Equal Cost Multipath routing, change this configuration will result in a virtual router restart
    maxPaths number
    Maxmum number of ECMP paths supported, change this configuration will result in a virtual router restart
    strictSourcePath boolean
    force VPN traffic to exit interface that the source-ip belongs to
    symmetricReturn boolean
    allows return packets to egress out of the ingress interface of the flow
    algorithm VirtualRouterEcmpAlgorithm
    enable bool
    enable Equal Cost Multipath routing, change this configuration will result in a virtual router restart
    max_paths float
    Maxmum number of ECMP paths supported, change this configuration will result in a virtual router restart
    strict_source_path bool
    force VPN traffic to exit interface that the source-ip belongs to
    symmetric_return bool
    allows return packets to egress out of the ingress interface of the flow
    algorithm Property Map
    enable Boolean
    enable Equal Cost Multipath routing, change this configuration will result in a virtual router restart
    maxPaths Number
    Maxmum number of ECMP paths supported, change this configuration will result in a virtual router restart
    strictSourcePath Boolean
    force VPN traffic to exit interface that the source-ip belongs to
    symmetricReturn Boolean
    allows return packets to egress out of the ingress interface of the flow

    VirtualRouterEcmpAlgorithm, VirtualRouterEcmpAlgorithmArgs

    VirtualRouterEcmpAlgorithmIpHash, VirtualRouterEcmpAlgorithmIpHashArgs

    HashSeed double
    User-specified hash seed
    SrcOnly bool
    only use source address for hash
    UsePort bool
    use source/destination port for hash
    HashSeed float64
    User-specified hash seed
    SrcOnly bool
    only use source address for hash
    UsePort bool
    use source/destination port for hash
    hashSeed Double
    User-specified hash seed
    srcOnly Boolean
    only use source address for hash
    usePort Boolean
    use source/destination port for hash
    hashSeed number
    User-specified hash seed
    srcOnly boolean
    only use source address for hash
    usePort boolean
    use source/destination port for hash
    hash_seed float
    User-specified hash seed
    src_only bool
    only use source address for hash
    use_port bool
    use source/destination port for hash
    hashSeed Number
    User-specified hash seed
    srcOnly Boolean
    only use source address for hash
    usePort Boolean
    use source/destination port for hash

    VirtualRouterEcmpAlgorithmWeightedRoundRobin, VirtualRouterEcmpAlgorithmWeightedRoundRobinArgs

    VirtualRouterEcmpAlgorithmWeightedRoundRobinInterface, VirtualRouterEcmpAlgorithmWeightedRoundRobinInterfaceArgs

    Name string
    Weight double
    interface ECMP weight
    Name string
    Weight float64
    interface ECMP weight
    name String
    weight Double
    interface ECMP weight
    name string
    weight number
    interface ECMP weight
    name str
    weight float
    interface ECMP weight
    name String
    weight Number
    interface ECMP weight

    VirtualRouterLocation, VirtualRouterLocationArgs

    Ngfw VirtualRouterLocationNgfw
    Located in a specific NGFW device
    Template VirtualRouterLocationTemplate
    Located in a specific template
    TemplateStack VirtualRouterLocationTemplateStack
    Located in a specific template stack
    Ngfw VirtualRouterLocationNgfw
    Located in a specific NGFW device
    Template VirtualRouterLocationTemplate
    Located in a specific template
    TemplateStack VirtualRouterLocationTemplateStack
    Located in a specific template stack
    ngfw VirtualRouterLocationNgfw
    Located in a specific NGFW device
    template VirtualRouterLocationTemplate
    Located in a specific template
    templateStack VirtualRouterLocationTemplateStack
    Located in a specific template stack
    ngfw VirtualRouterLocationNgfw
    Located in a specific NGFW device
    template VirtualRouterLocationTemplate
    Located in a specific template
    templateStack VirtualRouterLocationTemplateStack
    Located in a specific template stack
    ngfw VirtualRouterLocationNgfw
    Located in a specific NGFW device
    template VirtualRouterLocationTemplate
    Located in a specific template
    template_stack VirtualRouterLocationTemplateStack
    Located in a specific template stack
    ngfw Property Map
    Located in a specific NGFW device
    template Property Map
    Located in a specific template
    templateStack Property Map
    Located in a specific template stack

    VirtualRouterLocationNgfw, VirtualRouterLocationNgfwArgs

    NgfwDevice string
    The NGFW device
    NgfwDevice string
    The NGFW device
    ngfwDevice String
    The NGFW device
    ngfwDevice string
    The NGFW device
    ngfw_device str
    The NGFW device
    ngfwDevice String
    The NGFW device

    VirtualRouterLocationTemplate, VirtualRouterLocationTemplateArgs

    Name string
    Specific Panorama template
    NgfwDevice string
    The NGFW device
    PanoramaDevice string
    Specific Panorama device
    Name string
    Specific Panorama template
    NgfwDevice string
    The NGFW device
    PanoramaDevice string
    Specific Panorama device
    name String
    Specific Panorama template
    ngfwDevice String
    The NGFW device
    panoramaDevice String
    Specific Panorama device
    name string
    Specific Panorama template
    ngfwDevice string
    The NGFW device
    panoramaDevice string
    Specific Panorama device
    name str
    Specific Panorama template
    ngfw_device str
    The NGFW device
    panorama_device str
    Specific Panorama device
    name String
    Specific Panorama template
    ngfwDevice String
    The NGFW device
    panoramaDevice String
    Specific Panorama device

    VirtualRouterLocationTemplateStack, VirtualRouterLocationTemplateStackArgs

    Name string
    Specific Panorama template stack
    NgfwDevice string
    The NGFW device
    PanoramaDevice string
    Specific Panorama device
    Name string
    Specific Panorama template stack
    NgfwDevice string
    The NGFW device
    PanoramaDevice string
    Specific Panorama device
    name String
    Specific Panorama template stack
    ngfwDevice String
    The NGFW device
    panoramaDevice String
    Specific Panorama device
    name string
    Specific Panorama template stack
    ngfwDevice string
    The NGFW device
    panoramaDevice string
    Specific Panorama device
    name str
    Specific Panorama template stack
    ngfw_device str
    The NGFW device
    panorama_device str
    Specific Panorama device
    name String
    Specific Panorama template stack
    ngfwDevice String
    The NGFW device
    panoramaDevice String
    Specific Panorama device

    VirtualRouterMulticast, VirtualRouterMulticastArgs

    enable Boolean
    enable multicast protocol
    interfaceGroups List<Property Map>
    routeAgeoutTime Number
    time to wait before aging out a multicast route after data stops, in seconds
    rp Property Map
    sptThresholds List<Property Map>
    ssmAddressSpaces List<Property Map>

    VirtualRouterMulticastInterfaceGroup, VirtualRouterMulticastInterfaceGroupArgs

    VirtualRouterMulticastInterfaceGroupGroupPermission, VirtualRouterMulticastInterfaceGroupGroupPermissionArgs

    VirtualRouterMulticastInterfaceGroupGroupPermissionAnySourceMulticast, VirtualRouterMulticastInterfaceGroupGroupPermissionAnySourceMulticastArgs

    Name string
    GroupAddress string
    group-address/prefix
    Included bool
    included
    Name string
    GroupAddress string
    group-address/prefix
    Included bool
    included
    name String
    groupAddress String
    group-address/prefix
    included Boolean
    included
    name string
    groupAddress string
    group-address/prefix
    included boolean
    included
    name str
    group_address str
    group-address/prefix
    included bool
    included
    name String
    groupAddress String
    group-address/prefix
    included Boolean
    included

    VirtualRouterMulticastInterfaceGroupGroupPermissionSourceSpecificMulticast, VirtualRouterMulticastInterfaceGroupGroupPermissionSourceSpecificMulticastArgs

    Name string
    GroupAddress string
    group-address/prefix
    Included bool
    included
    SourceAddress string
    source-address/prefix
    Name string
    GroupAddress string
    group-address/prefix
    Included bool
    included
    SourceAddress string
    source-address/prefix
    name String
    groupAddress String
    group-address/prefix
    included Boolean
    included
    sourceAddress String
    source-address/prefix
    name string
    groupAddress string
    group-address/prefix
    included boolean
    included
    sourceAddress string
    source-address/prefix
    name str
    group_address str
    group-address/prefix
    included bool
    included
    source_address str
    source-address/prefix
    name String
    groupAddress String
    group-address/prefix
    included Boolean
    included
    sourceAddress String
    source-address/prefix

    VirtualRouterMulticastInterfaceGroupIgmp, VirtualRouterMulticastInterfaceGroupIgmpArgs

    Enable bool
    enable IGMP
    ImmediateLeave bool
    leave group immediately when a leave message is received
    LastMemberQueryInterval double
    interval between group/source specific query messages (including those sent in response of leave group messages)
    MaxGroups string
    maximum number of groups allowed on this interface
    MaxQueryResponseTime double
    maximum query response time for general group membership queries in seconds
    MaxSources string
    maximum number of source-specific memberships allowed on this interface
    QueryInterval double
    interval between group/source specific query messages
    Robustness string
    robustness variable
    RouterAlertPolicing bool
    drop IGMP packets without Router Alert option
    Version string
    IGMP version number
    Enable bool
    enable IGMP
    ImmediateLeave bool
    leave group immediately when a leave message is received
    LastMemberQueryInterval float64
    interval between group/source specific query messages (including those sent in response of leave group messages)
    MaxGroups string
    maximum number of groups allowed on this interface
    MaxQueryResponseTime float64
    maximum query response time for general group membership queries in seconds
    MaxSources string
    maximum number of source-specific memberships allowed on this interface
    QueryInterval float64
    interval between group/source specific query messages
    Robustness string
    robustness variable
    RouterAlertPolicing bool
    drop IGMP packets without Router Alert option
    Version string
    IGMP version number
    enable Boolean
    enable IGMP
    immediateLeave Boolean
    leave group immediately when a leave message is received
    lastMemberQueryInterval Double
    interval between group/source specific query messages (including those sent in response of leave group messages)
    maxGroups String
    maximum number of groups allowed on this interface
    maxQueryResponseTime Double
    maximum query response time for general group membership queries in seconds
    maxSources String
    maximum number of source-specific memberships allowed on this interface
    queryInterval Double
    interval between group/source specific query messages
    robustness String
    robustness variable
    routerAlertPolicing Boolean
    drop IGMP packets without Router Alert option
    version String
    IGMP version number
    enable boolean
    enable IGMP
    immediateLeave boolean
    leave group immediately when a leave message is received
    lastMemberQueryInterval number
    interval between group/source specific query messages (including those sent in response of leave group messages)
    maxGroups string
    maximum number of groups allowed on this interface
    maxQueryResponseTime number
    maximum query response time for general group membership queries in seconds
    maxSources string
    maximum number of source-specific memberships allowed on this interface
    queryInterval number
    interval between group/source specific query messages
    robustness string
    robustness variable
    routerAlertPolicing boolean
    drop IGMP packets without Router Alert option
    version string
    IGMP version number
    enable bool
    enable IGMP
    immediate_leave bool
    leave group immediately when a leave message is received
    last_member_query_interval float
    interval between group/source specific query messages (including those sent in response of leave group messages)
    max_groups str
    maximum number of groups allowed on this interface
    max_query_response_time float
    maximum query response time for general group membership queries in seconds
    max_sources str
    maximum number of source-specific memberships allowed on this interface
    query_interval float
    interval between group/source specific query messages
    robustness str
    robustness variable
    router_alert_policing bool
    drop IGMP packets without Router Alert option
    version str
    IGMP version number
    enable Boolean
    enable IGMP
    immediateLeave Boolean
    leave group immediately when a leave message is received
    lastMemberQueryInterval Number
    interval between group/source specific query messages (including those sent in response of leave group messages)
    maxGroups String
    maximum number of groups allowed on this interface
    maxQueryResponseTime Number
    maximum query response time for general group membership queries in seconds
    maxSources String
    maximum number of source-specific memberships allowed on this interface
    queryInterval Number
    interval between group/source specific query messages
    robustness String
    robustness variable
    routerAlertPolicing Boolean
    drop IGMP packets without Router Alert option
    version String
    IGMP version number

    VirtualRouterMulticastInterfaceGroupPim, VirtualRouterMulticastInterfaceGroupPimArgs

    AllowedNeighbors List<VirtualRouterMulticastInterfaceGroupPimAllowedNeighbor>
    AssertInterval double
    interval between PIM Assert messages, in seconds
    BsrBorder bool
    interface is bootstrap border
    DrPriority double
    Designated Router priority
    Enable bool
    HelloInterval double
    interval between PIM Hello messages, in seconds, a value of 0 represents an 'infinite' interval
    JoinPruneInterval double
    interval between PIM Join/Prune messages, in seconds
    AllowedNeighbors []VirtualRouterMulticastInterfaceGroupPimAllowedNeighbor
    AssertInterval float64
    interval between PIM Assert messages, in seconds
    BsrBorder bool
    interface is bootstrap border
    DrPriority float64
    Designated Router priority
    Enable bool
    HelloInterval float64
    interval between PIM Hello messages, in seconds, a value of 0 represents an 'infinite' interval
    JoinPruneInterval float64
    interval between PIM Join/Prune messages, in seconds
    allowedNeighbors List<VirtualRouterMulticastInterfaceGroupPimAllowedNeighbor>
    assertInterval Double
    interval between PIM Assert messages, in seconds
    bsrBorder Boolean
    interface is bootstrap border
    drPriority Double
    Designated Router priority
    enable Boolean
    helloInterval Double
    interval between PIM Hello messages, in seconds, a value of 0 represents an 'infinite' interval
    joinPruneInterval Double
    interval between PIM Join/Prune messages, in seconds
    allowedNeighbors VirtualRouterMulticastInterfaceGroupPimAllowedNeighbor[]
    assertInterval number
    interval between PIM Assert messages, in seconds
    bsrBorder boolean
    interface is bootstrap border
    drPriority number
    Designated Router priority
    enable boolean
    helloInterval number
    interval between PIM Hello messages, in seconds, a value of 0 represents an 'infinite' interval
    joinPruneInterval number
    interval between PIM Join/Prune messages, in seconds
    allowed_neighbors Sequence[VirtualRouterMulticastInterfaceGroupPimAllowedNeighbor]
    assert_interval float
    interval between PIM Assert messages, in seconds
    bsr_border bool
    interface is bootstrap border
    dr_priority float
    Designated Router priority
    enable bool
    hello_interval float
    interval between PIM Hello messages, in seconds, a value of 0 represents an 'infinite' interval
    join_prune_interval float
    interval between PIM Join/Prune messages, in seconds
    allowedNeighbors List<Property Map>
    assertInterval Number
    interval between PIM Assert messages, in seconds
    bsrBorder Boolean
    interface is bootstrap border
    drPriority Number
    Designated Router priority
    enable Boolean
    helloInterval Number
    interval between PIM Hello messages, in seconds, a value of 0 represents an 'infinite' interval
    joinPruneInterval Number
    interval between PIM Join/Prune messages, in seconds

    VirtualRouterMulticastInterfaceGroupPimAllowedNeighbor, VirtualRouterMulticastInterfaceGroupPimAllowedNeighborArgs

    Name string
    Name string
    name String
    name string
    name str
    name String

    VirtualRouterMulticastRp, VirtualRouterMulticastRpArgs

    VirtualRouterMulticastRpExternalRp, VirtualRouterMulticastRpExternalRpArgs

    Name string
    GroupAddresses List<string>
    Override bool
    Override learned RP for the same group
    Name string
    GroupAddresses []string
    Override bool
    Override learned RP for the same group
    name String
    groupAddresses List<String>
    override Boolean
    Override learned RP for the same group
    name string
    groupAddresses string[]
    override boolean
    Override learned RP for the same group
    name str
    group_addresses Sequence[str]
    override bool
    Override learned RP for the same group
    name String
    groupAddresses List<String>
    override Boolean
    Override learned RP for the same group

    VirtualRouterMulticastRpLocalRp, VirtualRouterMulticastRpLocalRpArgs

    VirtualRouterMulticastRpLocalRpCandidateRp, VirtualRouterMulticastRpLocalRpCandidateRpArgs

    Address string
    candidate RP address
    AdvertisementInterval double
    The time interval in seconds between candidate rp advertisements
    GroupAddresses List<string>
    Interface string
    candidate RP interface
    Priority double
    The priority for this candidate rt
    Address string
    candidate RP address
    AdvertisementInterval float64
    The time interval in seconds between candidate rp advertisements
    GroupAddresses []string
    Interface string
    candidate RP interface
    Priority float64
    The priority for this candidate rt
    address String
    candidate RP address
    advertisementInterval Double
    The time interval in seconds between candidate rp advertisements
    groupAddresses List<String>
    interface_ String
    candidate RP interface
    priority Double
    The priority for this candidate rt
    address string
    candidate RP address
    advertisementInterval number
    The time interval in seconds between candidate rp advertisements
    groupAddresses string[]
    interface string
    candidate RP interface
    priority number
    The priority for this candidate rt
    address str
    candidate RP address
    float
    The time interval in seconds between candidate rp advertisements
    group_addresses Sequence[str]
    interface str
    candidate RP interface
    priority float
    The priority for this candidate rt
    address String
    candidate RP address
    advertisementInterval Number
    The time interval in seconds between candidate rp advertisements
    groupAddresses List<String>
    interface String
    candidate RP interface
    priority Number
    The priority for this candidate rt

    VirtualRouterMulticastRpLocalRpStaticRp, VirtualRouterMulticastRpLocalRpStaticRpArgs

    Address string
    local RP address
    GroupAddresses List<string>
    Interface string
    local RP interface
    Override bool
    Override learned RP for the same group
    Address string
    local RP address
    GroupAddresses []string
    Interface string
    local RP interface
    Override bool
    Override learned RP for the same group
    address String
    local RP address
    groupAddresses List<String>
    interface_ String
    local RP interface
    override Boolean
    Override learned RP for the same group
    address string
    local RP address
    groupAddresses string[]
    interface string
    local RP interface
    override boolean
    Override learned RP for the same group
    address str
    local RP address
    group_addresses Sequence[str]
    interface str
    local RP interface
    override bool
    Override learned RP for the same group
    address String
    local RP address
    groupAddresses List<String>
    interface String
    local RP interface
    override Boolean
    Override learned RP for the same group

    VirtualRouterMulticastSptThreshold, VirtualRouterMulticastSptThresholdArgs

    Name string
    Threshold string
    Name string
    Threshold string
    name String
    threshold String
    name string
    threshold string
    name String
    threshold String

    VirtualRouterMulticastSsmAddressSpace, VirtualRouterMulticastSsmAddressSpaceArgs

    Name string
    GroupAddress string
    group-address/prefix
    Included bool
    included
    Name string
    GroupAddress string
    group-address/prefix
    Included bool
    included
    name String
    groupAddress String
    group-address/prefix
    included Boolean
    included
    name string
    groupAddress string
    group-address/prefix
    included boolean
    included
    name str
    group_address str
    group-address/prefix
    included bool
    included
    name String
    groupAddress String
    group-address/prefix
    included Boolean
    included

    VirtualRouterProtocol, VirtualRouterProtocolArgs

    VirtualRouterProtocolBgp, VirtualRouterProtocolBgpArgs

    allowRedistDefaultRoute boolean
    allow redistribute default route to BGP
    authProfiles VirtualRouterProtocolBgpAuthProfile[]
    dampeningProfiles VirtualRouterProtocolBgpDampeningProfile[]
    ecmpMultiAs boolean
    Support multiple AS in ECMP
    enable boolean
    enforceFirstAs boolean
    Enforce First AS for EBGP
    globalBfd VirtualRouterProtocolBgpGlobalBfd
    installRoute boolean
    Populate BGP learned route to global route table
    localAs string
    local AS number
    peerGroups VirtualRouterProtocolBgpPeerGroup[]
    policy VirtualRouterProtocolBgpPolicy
    redistRules VirtualRouterProtocolBgpRedistRule[]
    rejectDefaultRoute boolean
    do not learn default route from BGP
    routerId string
    router id of this BGP instance
    routingOptions VirtualRouterProtocolBgpRoutingOptions
    allowRedistDefaultRoute Boolean
    allow redistribute default route to BGP
    authProfiles List<Property Map>
    dampeningProfiles List<Property Map>
    ecmpMultiAs Boolean
    Support multiple AS in ECMP
    enable Boolean
    enforceFirstAs Boolean
    Enforce First AS for EBGP
    globalBfd Property Map
    installRoute Boolean
    Populate BGP learned route to global route table
    localAs String
    local AS number
    peerGroups List<Property Map>
    policy Property Map
    redistRules List<Property Map>
    rejectDefaultRoute Boolean
    do not learn default route from BGP
    routerId String
    router id of this BGP instance
    routingOptions Property Map

    VirtualRouterProtocolBgpAuthProfile, VirtualRouterProtocolBgpAuthProfileArgs

    Name string
    Secret string
    shared secret for the TCP MD5 authentication
    Name string
    Secret string
    shared secret for the TCP MD5 authentication
    name String
    secret String
    shared secret for the TCP MD5 authentication
    name string
    secret string
    shared secret for the TCP MD5 authentication
    name str
    secret str
    shared secret for the TCP MD5 authentication
    name String
    secret String
    shared secret for the TCP MD5 authentication

    VirtualRouterProtocolBgpDampeningProfile, VirtualRouterProtocolBgpDampeningProfileArgs

    Name string
    Cutoff double
    cutoff threshold value
    DecayHalfLifeReachable double
    Decay half-life while reachable (in seconds)
    DecayHalfLifeUnreachable double
    Decay half-life while unreachable (in seconds)
    Enable bool
    MaxHoldTime double
    maximum of hold-down time (in seconds)
    Reuse double
    reuse threshold value
    Name string
    Cutoff float64
    cutoff threshold value
    DecayHalfLifeReachable float64
    Decay half-life while reachable (in seconds)
    DecayHalfLifeUnreachable float64
    Decay half-life while unreachable (in seconds)
    Enable bool
    MaxHoldTime float64
    maximum of hold-down time (in seconds)
    Reuse float64
    reuse threshold value
    name String
    cutoff Double
    cutoff threshold value
    decayHalfLifeReachable Double
    Decay half-life while reachable (in seconds)
    decayHalfLifeUnreachable Double
    Decay half-life while unreachable (in seconds)
    enable Boolean
    maxHoldTime Double
    maximum of hold-down time (in seconds)
    reuse Double
    reuse threshold value
    name string
    cutoff number
    cutoff threshold value
    decayHalfLifeReachable number
    Decay half-life while reachable (in seconds)
    decayHalfLifeUnreachable number
    Decay half-life while unreachable (in seconds)
    enable boolean
    maxHoldTime number
    maximum of hold-down time (in seconds)
    reuse number
    reuse threshold value
    name str
    cutoff float
    cutoff threshold value
    decay_half_life_reachable float
    Decay half-life while reachable (in seconds)
    decay_half_life_unreachable float
    Decay half-life while unreachable (in seconds)
    enable bool
    max_hold_time float
    maximum of hold-down time (in seconds)
    reuse float
    reuse threshold value
    name String
    cutoff Number
    cutoff threshold value
    decayHalfLifeReachable Number
    Decay half-life while reachable (in seconds)
    decayHalfLifeUnreachable Number
    Decay half-life while unreachable (in seconds)
    enable Boolean
    maxHoldTime Number
    maximum of hold-down time (in seconds)
    reuse Number
    reuse threshold value

    VirtualRouterProtocolBgpGlobalBfd, VirtualRouterProtocolBgpGlobalBfdArgs

    Profile string
    BFD profile
    Profile string
    BFD profile
    profile String
    BFD profile
    profile string
    BFD profile
    profile str
    BFD profile
    profile String
    BFD profile

    VirtualRouterProtocolBgpPeerGroup, VirtualRouterProtocolBgpPeerGroupArgs

    Name string
    AggregatedConfedAsPath bool
    the peers understand aggregated confederation AS path
    Enable bool
    Peers List<VirtualRouterProtocolBgpPeerGroupPeer>
    SoftResetWithStoredInfo bool
    soft reset with stored info
    Type VirtualRouterProtocolBgpPeerGroupType
    Name string
    AggregatedConfedAsPath bool
    the peers understand aggregated confederation AS path
    Enable bool
    Peers []VirtualRouterProtocolBgpPeerGroupPeer
    SoftResetWithStoredInfo bool
    soft reset with stored info
    Type VirtualRouterProtocolBgpPeerGroupType
    name String
    aggregatedConfedAsPath Boolean
    the peers understand aggregated confederation AS path
    enable Boolean
    peers List<VirtualRouterProtocolBgpPeerGroupPeer>
    softResetWithStoredInfo Boolean
    soft reset with stored info
    type VirtualRouterProtocolBgpPeerGroupType
    name string
    aggregatedConfedAsPath boolean
    the peers understand aggregated confederation AS path
    enable boolean
    peers VirtualRouterProtocolBgpPeerGroupPeer[]
    softResetWithStoredInfo boolean
    soft reset with stored info
    type VirtualRouterProtocolBgpPeerGroupType
    name String
    aggregatedConfedAsPath Boolean
    the peers understand aggregated confederation AS path
    enable Boolean
    peers List<Property Map>
    softResetWithStoredInfo Boolean
    soft reset with stored info
    type Property Map

    VirtualRouterProtocolBgpPeerGroupPeer, VirtualRouterProtocolBgpPeerGroupPeerArgs

    name String
    addressFamilyIdentifier String
    select AFI for this peer
    bfd Property Map
    connectionOptions Property Map
    enable Boolean
    enableMpBgp Boolean
    enableSenderSideLoopDetection Boolean
    localAddress Property Map
    maxPrefixes String
    maximum of prefixes to receive from peer
    peerAddress Property Map
    peerAs String
    peer AS number
    peeringType String
    peering type that affects NOPEER community value handling
    reflectorClient String
    this peer is reflector client
    subsequentAddressFamilyIdentifier Property Map

    VirtualRouterProtocolBgpPeerGroupPeerBfd, VirtualRouterProtocolBgpPeerGroupPeerBfdArgs

    Profile string
    BFD profile
    Profile string
    BFD profile
    profile String
    BFD profile
    profile string
    BFD profile
    profile str
    BFD profile
    profile String
    BFD profile

    VirtualRouterProtocolBgpPeerGroupPeerConnectionOptions, VirtualRouterProtocolBgpPeerGroupPeerConnectionOptionsArgs

    Authentication string
    Authentication options
    HoldTime string
    hold time (in seconds)
    IdleHoldTime double
    idle hold time (in seconds)
    IncomingBgpConnection VirtualRouterProtocolBgpPeerGroupPeerConnectionOptionsIncomingBgpConnection
    KeepAliveInterval string
    keep-alive interval (in seconds)
    MinRouteAdvInterval double
    Minimum Route Advertisement Interval (in seconds)
    Multihop double
    IP TTL value used for sending BGP packet. set to 0 means eBGP use 2, iBGP use 255
    OpenDelayTime double
    open delay time (in seconds)
    OutgoingBgpConnection VirtualRouterProtocolBgpPeerGroupPeerConnectionOptionsOutgoingBgpConnection
    Authentication string
    Authentication options
    HoldTime string
    hold time (in seconds)
    IdleHoldTime float64
    idle hold time (in seconds)
    IncomingBgpConnection VirtualRouterProtocolBgpPeerGroupPeerConnectionOptionsIncomingBgpConnection
    KeepAliveInterval string
    keep-alive interval (in seconds)
    MinRouteAdvInterval float64
    Minimum Route Advertisement Interval (in seconds)
    Multihop float64
    IP TTL value used for sending BGP packet. set to 0 means eBGP use 2, iBGP use 255
    OpenDelayTime float64
    open delay time (in seconds)
    OutgoingBgpConnection VirtualRouterProtocolBgpPeerGroupPeerConnectionOptionsOutgoingBgpConnection
    authentication String
    Authentication options
    holdTime String
    hold time (in seconds)
    idleHoldTime Double
    idle hold time (in seconds)
    incomingBgpConnection VirtualRouterProtocolBgpPeerGroupPeerConnectionOptionsIncomingBgpConnection
    keepAliveInterval String
    keep-alive interval (in seconds)
    minRouteAdvInterval Double
    Minimum Route Advertisement Interval (in seconds)
    multihop Double
    IP TTL value used for sending BGP packet. set to 0 means eBGP use 2, iBGP use 255
    openDelayTime Double
    open delay time (in seconds)
    outgoingBgpConnection VirtualRouterProtocolBgpPeerGroupPeerConnectionOptionsOutgoingBgpConnection
    authentication string
    Authentication options
    holdTime string
    hold time (in seconds)
    idleHoldTime number
    idle hold time (in seconds)
    incomingBgpConnection VirtualRouterProtocolBgpPeerGroupPeerConnectionOptionsIncomingBgpConnection
    keepAliveInterval string
    keep-alive interval (in seconds)
    minRouteAdvInterval number
    Minimum Route Advertisement Interval (in seconds)
    multihop number
    IP TTL value used for sending BGP packet. set to 0 means eBGP use 2, iBGP use 255
    openDelayTime number
    open delay time (in seconds)
    outgoingBgpConnection VirtualRouterProtocolBgpPeerGroupPeerConnectionOptionsOutgoingBgpConnection
    authentication str
    Authentication options
    hold_time str
    hold time (in seconds)
    idle_hold_time float
    idle hold time (in seconds)
    incoming_bgp_connection VirtualRouterProtocolBgpPeerGroupPeerConnectionOptionsIncomingBgpConnection
    keep_alive_interval str
    keep-alive interval (in seconds)
    min_route_adv_interval float
    Minimum Route Advertisement Interval (in seconds)
    multihop float
    IP TTL value used for sending BGP packet. set to 0 means eBGP use 2, iBGP use 255
    open_delay_time float
    open delay time (in seconds)
    outgoing_bgp_connection VirtualRouterProtocolBgpPeerGroupPeerConnectionOptionsOutgoingBgpConnection
    authentication String
    Authentication options
    holdTime String
    hold time (in seconds)
    idleHoldTime Number
    idle hold time (in seconds)
    incomingBgpConnection Property Map
    keepAliveInterval String
    keep-alive interval (in seconds)
    minRouteAdvInterval Number
    Minimum Route Advertisement Interval (in seconds)
    multihop Number
    IP TTL value used for sending BGP packet. set to 0 means eBGP use 2, iBGP use 255
    openDelayTime Number
    open delay time (in seconds)
    outgoingBgpConnection Property Map

    VirtualRouterProtocolBgpPeerGroupPeerConnectionOptionsIncomingBgpConnection, VirtualRouterProtocolBgpPeerGroupPeerConnectionOptionsIncomingBgpConnectionArgs

    Allow bool
    RemotePort double
    restrict remote port for incoming BGP connections
    Allow bool
    RemotePort float64
    restrict remote port for incoming BGP connections
    allow Boolean
    remotePort Double
    restrict remote port for incoming BGP connections
    allow boolean
    remotePort number
    restrict remote port for incoming BGP connections
    allow bool
    remote_port float
    restrict remote port for incoming BGP connections
    allow Boolean
    remotePort Number
    restrict remote port for incoming BGP connections

    VirtualRouterProtocolBgpPeerGroupPeerConnectionOptionsOutgoingBgpConnection, VirtualRouterProtocolBgpPeerGroupPeerConnectionOptionsOutgoingBgpConnectionArgs

    Allow bool
    LocalPort double
    use specific local port for outgoing BGP connections
    Allow bool
    LocalPort float64
    use specific local port for outgoing BGP connections
    allow Boolean
    localPort Double
    use specific local port for outgoing BGP connections
    allow boolean
    localPort number
    use specific local port for outgoing BGP connections
    allow bool
    local_port float
    use specific local port for outgoing BGP connections
    allow Boolean
    localPort Number
    use specific local port for outgoing BGP connections

    VirtualRouterProtocolBgpPeerGroupPeerLocalAddress, VirtualRouterProtocolBgpPeerGroupPeerLocalAddressArgs

    Interface string
    interface to accept BGP session
    Ip string
    specify exact IP address if interface has multiple addresses
    Interface string
    interface to accept BGP session
    Ip string
    specify exact IP address if interface has multiple addresses
    interface_ String
    interface to accept BGP session
    ip String
    specify exact IP address if interface has multiple addresses
    interface string
    interface to accept BGP session
    ip string
    specify exact IP address if interface has multiple addresses
    interface str
    interface to accept BGP session
    ip str
    specify exact IP address if interface has multiple addresses
    interface String
    interface to accept BGP session
    ip String
    specify exact IP address if interface has multiple addresses

    VirtualRouterProtocolBgpPeerGroupPeerPeerAddress, VirtualRouterProtocolBgpPeerGroupPeerPeerAddressArgs

    Fqdn string
    bgp peer FQDN address object configuration
    Ip string
    peer address configuration
    Fqdn string
    bgp peer FQDN address object configuration
    Ip string
    peer address configuration
    fqdn String
    bgp peer FQDN address object configuration
    ip String
    peer address configuration
    fqdn string
    bgp peer FQDN address object configuration
    ip string
    peer address configuration
    fqdn str
    bgp peer FQDN address object configuration
    ip str
    peer address configuration
    fqdn String
    bgp peer FQDN address object configuration
    ip String
    peer address configuration

    VirtualRouterProtocolBgpPeerGroupPeerSubsequentAddressFamilyIdentifier, VirtualRouterProtocolBgpPeerGroupPeerSubsequentAddressFamilyIdentifierArgs

    multicast Boolean
    unicast Boolean
    multicast boolean
    unicast boolean
    multicast Boolean
    unicast Boolean

    VirtualRouterProtocolBgpPeerGroupType, VirtualRouterProtocolBgpPeerGroupTypeArgs

    VirtualRouterProtocolBgpPeerGroupTypeEbgp, VirtualRouterProtocolBgpPeerGroupTypeEbgpArgs

    ExportNexthop string
    ImportNexthop string
    RemovePrivateAs bool
    remove private AS when exporting route
    ExportNexthop string
    ImportNexthop string
    RemovePrivateAs bool
    remove private AS when exporting route
    exportNexthop String
    importNexthop String
    removePrivateAs Boolean
    remove private AS when exporting route
    exportNexthop string
    importNexthop string
    removePrivateAs boolean
    remove private AS when exporting route
    export_nexthop str
    import_nexthop str
    remove_private_as bool
    remove private AS when exporting route
    exportNexthop String
    importNexthop String
    removePrivateAs Boolean
    remove private AS when exporting route

    VirtualRouterProtocolBgpPeerGroupTypeEbgpConfed, VirtualRouterProtocolBgpPeerGroupTypeEbgpConfedArgs

    VirtualRouterProtocolBgpPeerGroupTypeIbgp, VirtualRouterProtocolBgpPeerGroupTypeIbgpArgs

    VirtualRouterProtocolBgpPeerGroupTypeIbgpConfed, VirtualRouterProtocolBgpPeerGroupTypeIbgpConfedArgs

    VirtualRouterProtocolBgpPolicy, VirtualRouterProtocolBgpPolicyArgs

    VirtualRouterProtocolBgpPolicyAggregation, VirtualRouterProtocolBgpPolicyAggregationArgs

    VirtualRouterProtocolBgpPolicyAggregationAddress, VirtualRouterProtocolBgpPolicyAggregationAddressArgs

    name String
    advertiseFilters List<Property Map>
    aggregateRouteAttributes Property Map
    asSet Boolean
    generate AS-set attribute
    enable Boolean
    enable aggregation for this prefix
    prefix String
    aggregating address prefix
    summary Boolean
    summarize route
    suppressFilters List<Property Map>

    VirtualRouterProtocolBgpPolicyAggregationAddressAdvertiseFilter, VirtualRouterProtocolBgpPolicyAggregationAddressAdvertiseFilterArgs

    name String
    enable Boolean
    enble this rule
    match Property Map

    VirtualRouterProtocolBgpPolicyAggregationAddressAdvertiseFilterMatch, VirtualRouterProtocolBgpPolicyAggregationAddressAdvertiseFilterMatchArgs

    VirtualRouterProtocolBgpPolicyAggregationAddressAdvertiseFilterMatchAddressPrefix, VirtualRouterProtocolBgpPolicyAggregationAddressAdvertiseFilterMatchAddressPrefixArgs

    Name string
    Exact bool
    match exact prefix length
    Name string
    Exact bool
    match exact prefix length
    name String
    exact Boolean
    match exact prefix length
    name string
    exact boolean
    match exact prefix length
    name str
    exact bool
    match exact prefix length
    name String
    exact Boolean
    match exact prefix length

    VirtualRouterProtocolBgpPolicyAggregationAddressAdvertiseFilterMatchAsPath, VirtualRouterProtocolBgpPolicyAggregationAddressAdvertiseFilterMatchAsPathArgs

    Regex string
    AS-path regular expression
    Regex string
    AS-path regular expression
    regex String
    AS-path regular expression
    regex string
    AS-path regular expression
    regex str
    AS-path regular expression
    regex String
    AS-path regular expression

    VirtualRouterProtocolBgpPolicyAggregationAddressAdvertiseFilterMatchCommunity, VirtualRouterProtocolBgpPolicyAggregationAddressAdvertiseFilterMatchCommunityArgs

    Regex string
    AS-path regular expression
    Regex string
    AS-path regular expression
    regex String
    AS-path regular expression
    regex string
    AS-path regular expression
    regex str
    AS-path regular expression
    regex String
    AS-path regular expression

    VirtualRouterProtocolBgpPolicyAggregationAddressAdvertiseFilterMatchExtendedCommunity, VirtualRouterProtocolBgpPolicyAggregationAddressAdvertiseFilterMatchExtendedCommunityArgs

    Regex string
    AS-path regular expression
    Regex string
    AS-path regular expression
    regex String
    AS-path regular expression
    regex string
    AS-path regular expression
    regex str
    AS-path regular expression
    regex String
    AS-path regular expression

    VirtualRouterProtocolBgpPolicyAggregationAddressAggregateRouteAttributes, VirtualRouterProtocolBgpPolicyAggregationAddressAggregateRouteAttributesArgs

    asPath Property Map
    asPathLimit Number
    add AS path limit attribute if it does not exist
    community Property Map
    extendedCommunity Property Map
    localPreference Number
    new local preference value
    med Number
    new MED value
    nexthop String
    nexthop address
    origin String
    new route origin
    weight Number
    new weight value

    VirtualRouterProtocolBgpPolicyAggregationAddressAggregateRouteAttributesAsPath, VirtualRouterProtocolBgpPolicyAggregationAddressAggregateRouteAttributesAsPathArgs

    none Property Map
    prepend Number
    prepend local AS for specified number of times

    VirtualRouterProtocolBgpPolicyAggregationAddressAggregateRouteAttributesCommunity, VirtualRouterProtocolBgpPolicyAggregationAddressAggregateRouteAttributesCommunityArgs

    appends List<String>
    none Property Map
    overwrites List<String>
    removeAll Property Map
    removeRegex String
    remove specified coummnity match regular expression

    VirtualRouterProtocolBgpPolicyAggregationAddressAggregateRouteAttributesExtendedCommunity, VirtualRouterProtocolBgpPolicyAggregationAddressAggregateRouteAttributesExtendedCommunityArgs

    appends List<String>
    none Property Map
    overwrites List<String>
    removeAll Property Map
    removeRegex String
    remove specified coummnity match regular expression

    VirtualRouterProtocolBgpPolicyAggregationAddressSuppressFilter, VirtualRouterProtocolBgpPolicyAggregationAddressSuppressFilterArgs

    name String
    enable Boolean
    enble this rule
    match Property Map

    VirtualRouterProtocolBgpPolicyAggregationAddressSuppressFilterMatch, VirtualRouterProtocolBgpPolicyAggregationAddressSuppressFilterMatchArgs

    VirtualRouterProtocolBgpPolicyAggregationAddressSuppressFilterMatchAddressPrefix, VirtualRouterProtocolBgpPolicyAggregationAddressSuppressFilterMatchAddressPrefixArgs

    Name string
    Exact bool
    match exact prefix length
    Name string
    Exact bool
    match exact prefix length
    name String
    exact Boolean
    match exact prefix length
    name string
    exact boolean
    match exact prefix length
    name str
    exact bool
    match exact prefix length
    name String
    exact Boolean
    match exact prefix length

    VirtualRouterProtocolBgpPolicyAggregationAddressSuppressFilterMatchAsPath, VirtualRouterProtocolBgpPolicyAggregationAddressSuppressFilterMatchAsPathArgs

    Regex string
    AS-path regular expression
    Regex string
    AS-path regular expression
    regex String
    AS-path regular expression
    regex string
    AS-path regular expression
    regex str
    AS-path regular expression
    regex String
    AS-path regular expression

    VirtualRouterProtocolBgpPolicyAggregationAddressSuppressFilterMatchCommunity, VirtualRouterProtocolBgpPolicyAggregationAddressSuppressFilterMatchCommunityArgs

    Regex string
    AS-path regular expression
    Regex string
    AS-path regular expression
    regex String
    AS-path regular expression
    regex string
    AS-path regular expression
    regex str
    AS-path regular expression
    regex String
    AS-path regular expression

    VirtualRouterProtocolBgpPolicyAggregationAddressSuppressFilterMatchExtendedCommunity, VirtualRouterProtocolBgpPolicyAggregationAddressSuppressFilterMatchExtendedCommunityArgs

    Regex string
    AS-path regular expression
    Regex string
    AS-path regular expression
    regex String
    AS-path regular expression
    regex string
    AS-path regular expression
    regex str
    AS-path regular expression
    regex String
    AS-path regular expression

    VirtualRouterProtocolBgpPolicyConditionalAdvertisement, VirtualRouterProtocolBgpPolicyConditionalAdvertisementArgs

    VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicy, VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyArgs

    VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyAdvertiseFilter, VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyAdvertiseFilterArgs

    name String
    enable Boolean
    enble this filter
    match Property Map

    VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyAdvertiseFilterMatch, VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyAdvertiseFilterMatchArgs

    VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyAdvertiseFilterMatchAddressPrefix, VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyAdvertiseFilterMatchAddressPrefixArgs

    Name string
    Name string
    name String
    name string
    name str
    name String

    VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyAdvertiseFilterMatchAsPath, VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyAdvertiseFilterMatchAsPathArgs

    Regex string
    AS-path regular expression
    Regex string
    AS-path regular expression
    regex String
    AS-path regular expression
    regex string
    AS-path regular expression
    regex str
    AS-path regular expression
    regex String
    AS-path regular expression

    VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyAdvertiseFilterMatchCommunity, VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyAdvertiseFilterMatchCommunityArgs

    Regex string
    AS-path regular expression
    Regex string
    AS-path regular expression
    regex String
    AS-path regular expression
    regex string
    AS-path regular expression
    regex str
    AS-path regular expression
    regex String
    AS-path regular expression

    VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyAdvertiseFilterMatchExtendedCommunity, VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyAdvertiseFilterMatchExtendedCommunityArgs

    Regex string
    AS-path regular expression
    Regex string
    AS-path regular expression
    regex String
    AS-path regular expression
    regex string
    AS-path regular expression
    regex str
    AS-path regular expression
    regex String
    AS-path regular expression

    VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyNonExistFilter, VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyNonExistFilterArgs

    name String
    enable Boolean
    enble this filter
    match Property Map

    VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyNonExistFilterMatch, VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyNonExistFilterMatchArgs

    VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyNonExistFilterMatchAddressPrefix, VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyNonExistFilterMatchAddressPrefixArgs

    Name string
    Name string
    name String
    name string
    name str
    name String

    VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyNonExistFilterMatchAsPath, VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyNonExistFilterMatchAsPathArgs

    Regex string
    AS-path regular expression
    Regex string
    AS-path regular expression
    regex String
    AS-path regular expression
    regex string
    AS-path regular expression
    regex str
    AS-path regular expression
    regex String
    AS-path regular expression

    VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyNonExistFilterMatchCommunity, VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyNonExistFilterMatchCommunityArgs

    Regex string
    AS-path regular expression
    Regex string
    AS-path regular expression
    regex String
    AS-path regular expression
    regex string
    AS-path regular expression
    regex str
    AS-path regular expression
    regex String
    AS-path regular expression

    VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyNonExistFilterMatchExtendedCommunity, VirtualRouterProtocolBgpPolicyConditionalAdvertisementPolicyNonExistFilterMatchExtendedCommunityArgs

    Regex string
    AS-path regular expression
    Regex string
    AS-path regular expression
    regex String
    AS-path regular expression
    regex string
    AS-path regular expression
    regex str
    AS-path regular expression
    regex String
    AS-path regular expression

    VirtualRouterProtocolBgpPolicyExport, VirtualRouterProtocolBgpPolicyExportArgs

    VirtualRouterProtocolBgpPolicyExportRule, VirtualRouterProtocolBgpPolicyExportRuleArgs

    name String
    action Property Map
    enable Boolean
    Enable
    match Property Map
    usedBies List<String>

    VirtualRouterProtocolBgpPolicyExportRuleAction, VirtualRouterProtocolBgpPolicyExportRuleActionArgs

    VirtualRouterProtocolBgpPolicyExportRuleActionAllow, VirtualRouterProtocolBgpPolicyExportRuleActionAllowArgs

    VirtualRouterProtocolBgpPolicyExportRuleActionAllowUpdate, VirtualRouterProtocolBgpPolicyExportRuleActionAllowUpdateArgs

    asPath Property Map
    asPathLimit Number
    add AS path limit attribute if it does not exist
    community Property Map
    extendedCommunity Property Map
    localPreference Number
    new local preference value
    med Number
    new MED value
    nexthop String
    nexthop address
    origin String
    new route origin

    VirtualRouterProtocolBgpPolicyExportRuleActionAllowUpdateAsPath, VirtualRouterProtocolBgpPolicyExportRuleActionAllowUpdateAsPathArgs

    None VirtualRouterProtocolBgpPolicyExportRuleActionAllowUpdateAsPathNone
    Prepend double
    prepend local AS for specified number of times
    Remove VirtualRouterProtocolBgpPolicyExportRuleActionAllowUpdateAsPathRemove
    RemoveAndPrepend double
    remove matched AS path(s), and prepend local AS for specified number of times
    None VirtualRouterProtocolBgpPolicyExportRuleActionAllowUpdateAsPathNone
    Prepend float64
    prepend local AS for specified number of times
    Remove VirtualRouterProtocolBgpPolicyExportRuleActionAllowUpdateAsPathRemove
    RemoveAndPrepend float64
    remove matched AS path(s), and prepend local AS for specified number of times
    none VirtualRouterProtocolBgpPolicyExportRuleActionAllowUpdateAsPathNone
    prepend Double
    prepend local AS for specified number of times
    remove VirtualRouterProtocolBgpPolicyExportRuleActionAllowUpdateAsPathRemove
    removeAndPrepend Double
    remove matched AS path(s), and prepend local AS for specified number of times
    none VirtualRouterProtocolBgpPolicyExportRuleActionAllowUpdateAsPathNone
    prepend number
    prepend local AS for specified number of times
    remove VirtualRouterProtocolBgpPolicyExportRuleActionAllowUpdateAsPathRemove
    removeAndPrepend number
    remove matched AS path(s), and prepend local AS for specified number of times
    none VirtualRouterProtocolBgpPolicyExportRuleActionAllowUpdateAsPathNone
    prepend float
    prepend local AS for specified number of times
    remove VirtualRouterProtocolBgpPolicyExportRuleActionAllowUpdateAsPathRemove
    remove_and_prepend float
    remove matched AS path(s), and prepend local AS for specified number of times
    none Property Map
    prepend Number
    prepend local AS for specified number of times
    remove Property Map
    removeAndPrepend Number
    remove matched AS path(s), and prepend local AS for specified number of times

    VirtualRouterProtocolBgpPolicyExportRuleActionAllowUpdateCommunity, VirtualRouterProtocolBgpPolicyExportRuleActionAllowUpdateCommunityArgs

    appends List<String>
    none Property Map
    overwrites List<String>
    removeAll Property Map
    removeRegex String
    remove specified coummnity match regular expression

    VirtualRouterProtocolBgpPolicyExportRuleActionAllowUpdateExtendedCommunity, VirtualRouterProtocolBgpPolicyExportRuleActionAllowUpdateExtendedCommunityArgs

    appends List<String>
    none Property Map
    overwrites List<String>
    removeAll Property Map
    removeRegex String
    remove specified coummnity match regular expression

    VirtualRouterProtocolBgpPolicyExportRuleMatch, VirtualRouterProtocolBgpPolicyExportRuleMatchArgs

    VirtualRouterProtocolBgpPolicyExportRuleMatchAddressPrefix, VirtualRouterProtocolBgpPolicyExportRuleMatchAddressPrefixArgs

    Name string
    Exact bool
    match exact prefix length
    Name string
    Exact bool
    match exact prefix length
    name String
    exact Boolean
    match exact prefix length
    name string
    exact boolean
    match exact prefix length
    name str
    exact bool
    match exact prefix length
    name String
    exact Boolean
    match exact prefix length

    VirtualRouterProtocolBgpPolicyExportRuleMatchAsPath, VirtualRouterProtocolBgpPolicyExportRuleMatchAsPathArgs

    Regex string
    AS-path regular expression
    Regex string
    AS-path regular expression
    regex String
    AS-path regular expression
    regex string
    AS-path regular expression
    regex str
    AS-path regular expression
    regex String
    AS-path regular expression

    VirtualRouterProtocolBgpPolicyExportRuleMatchCommunity, VirtualRouterProtocolBgpPolicyExportRuleMatchCommunityArgs

    Regex string
    AS-path regular expression
    Regex string
    AS-path regular expression
    regex String
    AS-path regular expression
    regex string
    AS-path regular expression
    regex str
    AS-path regular expression
    regex String
    AS-path regular expression

    VirtualRouterProtocolBgpPolicyExportRuleMatchExtendedCommunity, VirtualRouterProtocolBgpPolicyExportRuleMatchExtendedCommunityArgs

    Regex string
    AS-path regular expression
    Regex string
    AS-path regular expression
    regex String
    AS-path regular expression
    regex string
    AS-path regular expression
    regex str
    AS-path regular expression
    regex String
    AS-path regular expression

    VirtualRouterProtocolBgpPolicyImport, VirtualRouterProtocolBgpPolicyImportArgs

    VirtualRouterProtocolBgpPolicyImportRule, VirtualRouterProtocolBgpPolicyImportRuleArgs

    name String
    action Property Map
    enable Boolean
    Enable
    match Property Map
    usedBies List<String>

    VirtualRouterProtocolBgpPolicyImportRuleAction, VirtualRouterProtocolBgpPolicyImportRuleActionArgs

    VirtualRouterProtocolBgpPolicyImportRuleActionAllow, VirtualRouterProtocolBgpPolicyImportRuleActionAllowArgs

    dampening String
    route flap dampening profile
    update Property Map

    VirtualRouterProtocolBgpPolicyImportRuleActionAllowUpdate, VirtualRouterProtocolBgpPolicyImportRuleActionAllowUpdateArgs

    asPath Property Map
    asPathLimit Number
    add AS path limit attribute if it does not exist
    community Property Map
    extendedCommunity Property Map
    localPreference Number
    new local preference value
    med Number
    new MED value
    nexthop String
    nexthop address
    origin String
    new route origin
    weight Number
    new weight value

    VirtualRouterProtocolBgpPolicyImportRuleActionAllowUpdateAsPath, VirtualRouterProtocolBgpPolicyImportRuleActionAllowUpdateAsPathArgs

    VirtualRouterProtocolBgpPolicyImportRuleActionAllowUpdateCommunity, VirtualRouterProtocolBgpPolicyImportRuleActionAllowUpdateCommunityArgs

    appends List<String>
    none Property Map
    overwrites List<String>
    removeAll Property Map
    removeRegex String
    remove specified coummnity match regular expression

    VirtualRouterProtocolBgpPolicyImportRuleActionAllowUpdateExtendedCommunity, VirtualRouterProtocolBgpPolicyImportRuleActionAllowUpdateExtendedCommunityArgs

    appends List<String>
    none Property Map
    overwrites List<String>
    removeAll Property Map
    removeRegex String
    remove specified coummnity match regular expression

    VirtualRouterProtocolBgpPolicyImportRuleMatch, VirtualRouterProtocolBgpPolicyImportRuleMatchArgs

    VirtualRouterProtocolBgpPolicyImportRuleMatchAddressPrefix, VirtualRouterProtocolBgpPolicyImportRuleMatchAddressPrefixArgs

    Name string
    Exact bool
    match exact prefix length
    Name string
    Exact bool
    match exact prefix length
    name String
    exact Boolean
    match exact prefix length
    name string
    exact boolean
    match exact prefix length
    name str
    exact bool
    match exact prefix length
    name String
    exact Boolean
    match exact prefix length

    VirtualRouterProtocolBgpPolicyImportRuleMatchAsPath, VirtualRouterProtocolBgpPolicyImportRuleMatchAsPathArgs

    Regex string
    AS-path regular expression
    Regex string
    AS-path regular expression
    regex String
    AS-path regular expression
    regex string
    AS-path regular expression
    regex str
    AS-path regular expression
    regex String
    AS-path regular expression

    VirtualRouterProtocolBgpPolicyImportRuleMatchCommunity, VirtualRouterProtocolBgpPolicyImportRuleMatchCommunityArgs

    Regex string
    AS-path regular expression
    Regex string
    AS-path regular expression
    regex String
    AS-path regular expression
    regex string
    AS-path regular expression
    regex str
    AS-path regular expression
    regex String
    AS-path regular expression

    VirtualRouterProtocolBgpPolicyImportRuleMatchExtendedCommunity, VirtualRouterProtocolBgpPolicyImportRuleMatchExtendedCommunityArgs

    Regex string
    AS-path regular expression
    Regex string
    AS-path regular expression
    regex String
    AS-path regular expression
    regex string
    AS-path regular expression
    regex str
    AS-path regular expression
    regex String
    AS-path regular expression

    VirtualRouterProtocolBgpRedistRule, VirtualRouterProtocolBgpRedistRuleArgs

    Name string
    AddressFamilyIdentifier string
    select redistribution profile type
    Enable bool
    Metric double
    metric value
    RouteTable string
    select destination SAFI for redistribution
    SetAsPathLimit double
    add the AS_PATHLIMIT path attribute
    SetCommunities List<string>
    SetExtendedCommunities List<string>
    SetLocalPreference double
    add the LOCAL_PREF path attribute
    SetMed double
    add the MULTIEXITDISC path attribute
    SetOrigin string
    add the ORIGIN path attribute
    Name string
    AddressFamilyIdentifier string
    select redistribution profile type
    Enable bool
    Metric float64
    metric value
    RouteTable string
    select destination SAFI for redistribution
    SetAsPathLimit float64
    add the AS_PATHLIMIT path attribute
    SetCommunities []string
    SetExtendedCommunities []string
    SetLocalPreference float64
    add the LOCAL_PREF path attribute
    SetMed float64
    add the MULTIEXITDISC path attribute
    SetOrigin string
    add the ORIGIN path attribute
    name String
    addressFamilyIdentifier String
    select redistribution profile type
    enable Boolean
    metric Double
    metric value
    routeTable String
    select destination SAFI for redistribution
    setAsPathLimit Double
    add the AS_PATHLIMIT path attribute
    setCommunities List<String>
    setExtendedCommunities List<String>
    setLocalPreference Double
    add the LOCAL_PREF path attribute
    setMed Double
    add the MULTIEXITDISC path attribute
    setOrigin String
    add the ORIGIN path attribute
    name string
    addressFamilyIdentifier string
    select redistribution profile type
    enable boolean
    metric number
    metric value
    routeTable string
    select destination SAFI for redistribution
    setAsPathLimit number
    add the AS_PATHLIMIT path attribute
    setCommunities string[]
    setExtendedCommunities string[]
    setLocalPreference number
    add the LOCAL_PREF path attribute
    setMed number
    add the MULTIEXITDISC path attribute
    setOrigin string
    add the ORIGIN path attribute
    name str
    address_family_identifier str
    select redistribution profile type
    enable bool
    metric float
    metric value
    route_table str
    select destination SAFI for redistribution
    set_as_path_limit float
    add the AS_PATHLIMIT path attribute
    set_communities Sequence[str]
    set_extended_communities Sequence[str]
    set_local_preference float
    add the LOCAL_PREF path attribute
    set_med float
    add the MULTIEXITDISC path attribute
    set_origin str
    add the ORIGIN path attribute
    name String
    addressFamilyIdentifier String
    select redistribution profile type
    enable Boolean
    metric Number
    metric value
    routeTable String
    select destination SAFI for redistribution
    setAsPathLimit Number
    add the AS_PATHLIMIT path attribute
    setCommunities List<String>
    setExtendedCommunities List<String>
    setLocalPreference Number
    add the LOCAL_PREF path attribute
    setMed Number
    add the MULTIEXITDISC path attribute
    setOrigin String
    add the ORIGIN path attribute

    VirtualRouterProtocolBgpRoutingOptions, VirtualRouterProtocolBgpRoutingOptionsArgs

    aggregate Property Map
    asFormat String
    AS format
    confederationMemberAs String
    confederation requires member-AS number
    defaultLocalPreference Number
    default local preference
    gracefulRestart Property Map
    med Property Map
    reflectorClusterId String
    route reflector cluster ID

    VirtualRouterProtocolBgpRoutingOptionsAggregate, VirtualRouterProtocolBgpRoutingOptionsAggregateArgs

    AggregateMed bool
    aggregate route only if they have same MED attributes
    AggregateMed bool
    aggregate route only if they have same MED attributes
    aggregateMed Boolean
    aggregate route only if they have same MED attributes
    aggregateMed boolean
    aggregate route only if they have same MED attributes
    aggregate_med bool
    aggregate route only if they have same MED attributes
    aggregateMed Boolean
    aggregate route only if they have same MED attributes

    VirtualRouterProtocolBgpRoutingOptionsGracefulRestart, VirtualRouterProtocolBgpRoutingOptionsGracefulRestartArgs

    Enable bool
    LocalRestartTime double
    local restart time to advertise to peer (in seconds)
    MaxPeerRestartTime double
    maximum of peer restart time accepted (in seconds)
    StaleRouteTime double
    time to remove stale routes after peer restart (in seconds)
    Enable bool
    LocalRestartTime float64
    local restart time to advertise to peer (in seconds)
    MaxPeerRestartTime float64
    maximum of peer restart time accepted (in seconds)
    StaleRouteTime float64
    time to remove stale routes after peer restart (in seconds)
    enable Boolean
    localRestartTime Double
    local restart time to advertise to peer (in seconds)
    maxPeerRestartTime Double
    maximum of peer restart time accepted (in seconds)
    staleRouteTime Double
    time to remove stale routes after peer restart (in seconds)
    enable boolean
    localRestartTime number
    local restart time to advertise to peer (in seconds)
    maxPeerRestartTime number
    maximum of peer restart time accepted (in seconds)
    staleRouteTime number
    time to remove stale routes after peer restart (in seconds)
    enable bool
    local_restart_time float
    local restart time to advertise to peer (in seconds)
    max_peer_restart_time float
    maximum of peer restart time accepted (in seconds)
    stale_route_time float
    time to remove stale routes after peer restart (in seconds)
    enable Boolean
    localRestartTime Number
    local restart time to advertise to peer (in seconds)
    maxPeerRestartTime Number
    maximum of peer restart time accepted (in seconds)
    staleRouteTime Number
    time to remove stale routes after peer restart (in seconds)

    VirtualRouterProtocolBgpRoutingOptionsMed, VirtualRouterProtocolBgpRoutingOptionsMedArgs

    AlwaysCompareMed bool
    always compare MEDs
    DeterministicMedComparison bool
    deterministic MEDs comparison
    AlwaysCompareMed bool
    always compare MEDs
    DeterministicMedComparison bool
    deterministic MEDs comparison
    alwaysCompareMed Boolean
    always compare MEDs
    deterministicMedComparison Boolean
    deterministic MEDs comparison
    alwaysCompareMed boolean
    always compare MEDs
    deterministicMedComparison boolean
    deterministic MEDs comparison
    always_compare_med bool
    always compare MEDs
    deterministic_med_comparison bool
    deterministic MEDs comparison
    alwaysCompareMed Boolean
    always compare MEDs
    deterministicMedComparison Boolean
    deterministic MEDs comparison

    VirtualRouterProtocolOspf, VirtualRouterProtocolOspfArgs

    allowRedistDefaultRoute Boolean
    allow redistribute default route to OSPF
    areas List<Property Map>
    authProfiles List<Property Map>
    enable Boolean
    exportRules List<Property Map>
    globalBfd Property Map
    gracefulRestart Property Map
    rejectDefaultRoute Boolean
    do not learn default route from OSPF
    rfc1583 Boolean
    rfc-1583 compatibility
    routerId String
    router id of this OSPF instance
    timers Property Map

    VirtualRouterProtocolOspfArea, VirtualRouterProtocolOspfAreaArgs

    VirtualRouterProtocolOspfAreaInterface, VirtualRouterProtocolOspfAreaInterfaceArgs

    Name string
    Authentication string
    Authentication options
    Bfd VirtualRouterProtocolOspfAreaInterfaceBfd
    DeadCounts double
    number of lost hello packets to declare router down
    Enable bool
    Enable OSPF in this interface
    GrDelay double
    Period (in seconds) used to send grace LSAs before first hello is sent when graceful restart starts
    HelloInterval double
    Interval (in seconds) to send Hello packets
    LinkType VirtualRouterProtocolOspfAreaInterfaceLinkType
    Metric double
    Cost of OSPF interface
    Neighbors List<VirtualRouterProtocolOspfAreaInterfaceNeighbor>
    Passive bool
    Suppress the sending of hello packets in this interface
    Priority double
    Priority for OSPF designated router selection
    RetransmitInterval double
    Interval (in seconds) to retransmit LSAs
    TransitDelay double
    Estimated delay (in seconds) to transmit LSAs
    Name string
    Authentication string
    Authentication options
    Bfd VirtualRouterProtocolOspfAreaInterfaceBfd
    DeadCounts float64
    number of lost hello packets to declare router down
    Enable bool
    Enable OSPF in this interface
    GrDelay float64
    Period (in seconds) used to send grace LSAs before first hello is sent when graceful restart starts
    HelloInterval float64
    Interval (in seconds) to send Hello packets
    LinkType VirtualRouterProtocolOspfAreaInterfaceLinkType
    Metric float64
    Cost of OSPF interface
    Neighbors []VirtualRouterProtocolOspfAreaInterfaceNeighbor
    Passive bool
    Suppress the sending of hello packets in this interface
    Priority float64
    Priority for OSPF designated router selection
    RetransmitInterval float64
    Interval (in seconds) to retransmit LSAs
    TransitDelay float64
    Estimated delay (in seconds) to transmit LSAs
    name String
    authentication String
    Authentication options
    bfd VirtualRouterProtocolOspfAreaInterfaceBfd
    deadCounts Double
    number of lost hello packets to declare router down
    enable Boolean
    Enable OSPF in this interface
    grDelay Double
    Period (in seconds) used to send grace LSAs before first hello is sent when graceful restart starts
    helloInterval Double
    Interval (in seconds) to send Hello packets
    linkType VirtualRouterProtocolOspfAreaInterfaceLinkType
    metric Double
    Cost of OSPF interface
    neighbors List<VirtualRouterProtocolOspfAreaInterfaceNeighbor>
    passive Boolean
    Suppress the sending of hello packets in this interface
    priority Double
    Priority for OSPF designated router selection
    retransmitInterval Double
    Interval (in seconds) to retransmit LSAs
    transitDelay Double
    Estimated delay (in seconds) to transmit LSAs
    name string
    authentication string
    Authentication options
    bfd VirtualRouterProtocolOspfAreaInterfaceBfd
    deadCounts number
    number of lost hello packets to declare router down
    enable boolean
    Enable OSPF in this interface
    grDelay number
    Period (in seconds) used to send grace LSAs before first hello is sent when graceful restart starts
    helloInterval number
    Interval (in seconds) to send Hello packets
    linkType VirtualRouterProtocolOspfAreaInterfaceLinkType
    metric number
    Cost of OSPF interface
    neighbors VirtualRouterProtocolOspfAreaInterfaceNeighbor[]
    passive boolean
    Suppress the sending of hello packets in this interface
    priority number
    Priority for OSPF designated router selection
    retransmitInterval number
    Interval (in seconds) to retransmit LSAs
    transitDelay number
    Estimated delay (in seconds) to transmit LSAs
    name str
    authentication str
    Authentication options
    bfd VirtualRouterProtocolOspfAreaInterfaceBfd
    dead_counts float
    number of lost hello packets to declare router down
    enable bool
    Enable OSPF in this interface
    gr_delay float
    Period (in seconds) used to send grace LSAs before first hello is sent when graceful restart starts
    hello_interval float
    Interval (in seconds) to send Hello packets
    link_type VirtualRouterProtocolOspfAreaInterfaceLinkType
    metric float
    Cost of OSPF interface
    neighbors Sequence[VirtualRouterProtocolOspfAreaInterfaceNeighbor]
    passive bool
    Suppress the sending of hello packets in this interface
    priority float
    Priority for OSPF designated router selection
    retransmit_interval float
    Interval (in seconds) to retransmit LSAs
    transit_delay float
    Estimated delay (in seconds) to transmit LSAs
    name String
    authentication String
    Authentication options
    bfd Property Map
    deadCounts Number
    number of lost hello packets to declare router down
    enable Boolean
    Enable OSPF in this interface
    grDelay Number
    Period (in seconds) used to send grace LSAs before first hello is sent when graceful restart starts
    helloInterval Number
    Interval (in seconds) to send Hello packets
    linkType Property Map
    metric Number
    Cost of OSPF interface
    neighbors List<Property Map>
    passive Boolean
    Suppress the sending of hello packets in this interface
    priority Number
    Priority for OSPF designated router selection
    retransmitInterval Number
    Interval (in seconds) to retransmit LSAs
    transitDelay Number
    Estimated delay (in seconds) to transmit LSAs

    VirtualRouterProtocolOspfAreaInterfaceBfd, VirtualRouterProtocolOspfAreaInterfaceBfdArgs

    Profile string
    BFD profile
    Profile string
    BFD profile
    profile String
    BFD profile
    profile string
    BFD profile
    profile str
    BFD profile
    profile String
    BFD profile

    VirtualRouterProtocolOspfAreaInterfaceLinkType, VirtualRouterProtocolOspfAreaInterfaceLinkTypeArgs

    VirtualRouterProtocolOspfAreaInterfaceNeighbor, VirtualRouterProtocolOspfAreaInterfaceNeighborArgs

    Name string
    Name string
    name String
    name string
    name str
    name String

    VirtualRouterProtocolOspfAreaRange, VirtualRouterProtocolOspfAreaRangeArgs

    VirtualRouterProtocolOspfAreaType, VirtualRouterProtocolOspfAreaTypeArgs

    VirtualRouterProtocolOspfAreaTypeNssa, VirtualRouterProtocolOspfAreaTypeNssaArgs

    VirtualRouterProtocolOspfAreaTypeNssaDefaultRoute, VirtualRouterProtocolOspfAreaTypeNssaDefaultRouteArgs

    VirtualRouterProtocolOspfAreaTypeNssaDefaultRouteAdvertise, VirtualRouterProtocolOspfAreaTypeNssaDefaultRouteAdvertiseArgs

    Metric double
    metric to be used when advertise default route within this stub area
    Type string
    metric type to be used when advertise default route
    Metric float64
    metric to be used when advertise default route within this stub area
    Type string
    metric type to be used when advertise default route
    metric Double
    metric to be used when advertise default route within this stub area
    type String
    metric type to be used when advertise default route
    metric number
    metric to be used when advertise default route within this stub area
    type string
    metric type to be used when advertise default route
    metric float
    metric to be used when advertise default route within this stub area
    type str
    metric type to be used when advertise default route
    metric Number
    metric to be used when advertise default route within this stub area
    type String
    metric type to be used when advertise default route

    VirtualRouterProtocolOspfAreaTypeNssaNssaExtRange, VirtualRouterProtocolOspfAreaTypeNssaNssaExtRangeArgs

    VirtualRouterProtocolOspfAreaTypeStub, VirtualRouterProtocolOspfAreaTypeStubArgs

    VirtualRouterProtocolOspfAreaTypeStubDefaultRoute, VirtualRouterProtocolOspfAreaTypeStubDefaultRouteArgs

    VirtualRouterProtocolOspfAreaTypeStubDefaultRouteAdvertise, VirtualRouterProtocolOspfAreaTypeStubDefaultRouteAdvertiseArgs

    Metric double
    metric to be used when advertise default route within this stub area
    Metric float64
    metric to be used when advertise default route within this stub area
    metric Double
    metric to be used when advertise default route within this stub area
    metric number
    metric to be used when advertise default route within this stub area
    metric float
    metric to be used when advertise default route within this stub area
    metric Number
    metric to be used when advertise default route within this stub area
    Name string
    Authentication string
    Authentication options
    Bfd VirtualRouterProtocolOspfAreaVirtualLinkBfd
    DeadCounts double
    number of lost hello packets to declare router down
    Enable bool
    Enable this virtual link
    HelloInterval double
    Interval (in seconds) to send Hello packets
    NeighborId string
    neighbor router id for virtual link
    RetransmitInterval double
    Interval (in seconds) to retransmit LSAs
    TransitAreaId string
    id of transit area, cannot be backbone, stub or NSSA
    TransitDelay double
    Estimated delay (in seconds) to transmit LSAs
    Name string
    Authentication string
    Authentication options
    Bfd VirtualRouterProtocolOspfAreaVirtualLinkBfd
    DeadCounts float64
    number of lost hello packets to declare router down
    Enable bool
    Enable this virtual link
    HelloInterval float64
    Interval (in seconds) to send Hello packets
    NeighborId string
    neighbor router id for virtual link
    RetransmitInterval float64
    Interval (in seconds) to retransmit LSAs
    TransitAreaId string
    id of transit area, cannot be backbone, stub or NSSA
    TransitDelay float64
    Estimated delay (in seconds) to transmit LSAs
    name String
    authentication String
    Authentication options
    bfd VirtualRouterProtocolOspfAreaVirtualLinkBfd
    deadCounts Double
    number of lost hello packets to declare router down
    enable Boolean
    Enable this virtual link
    helloInterval Double
    Interval (in seconds) to send Hello packets
    neighborId String
    neighbor router id for virtual link
    retransmitInterval Double
    Interval (in seconds) to retransmit LSAs
    transitAreaId String
    id of transit area, cannot be backbone, stub or NSSA
    transitDelay Double
    Estimated delay (in seconds) to transmit LSAs
    name string
    authentication string
    Authentication options
    bfd VirtualRouterProtocolOspfAreaVirtualLinkBfd
    deadCounts number
    number of lost hello packets to declare router down
    enable boolean
    Enable this virtual link
    helloInterval number
    Interval (in seconds) to send Hello packets
    neighborId string
    neighbor router id for virtual link
    retransmitInterval number
    Interval (in seconds) to retransmit LSAs
    transitAreaId string
    id of transit area, cannot be backbone, stub or NSSA
    transitDelay number
    Estimated delay (in seconds) to transmit LSAs
    name str
    authentication str
    Authentication options
    bfd VirtualRouterProtocolOspfAreaVirtualLinkBfd
    dead_counts float
    number of lost hello packets to declare router down
    enable bool
    Enable this virtual link
    hello_interval float
    Interval (in seconds) to send Hello packets
    neighbor_id str
    neighbor router id for virtual link
    retransmit_interval float
    Interval (in seconds) to retransmit LSAs
    transit_area_id str
    id of transit area, cannot be backbone, stub or NSSA
    transit_delay float
    Estimated delay (in seconds) to transmit LSAs
    name String
    authentication String
    Authentication options
    bfd Property Map
    deadCounts Number
    number of lost hello packets to declare router down
    enable Boolean
    Enable this virtual link
    helloInterval Number
    Interval (in seconds) to send Hello packets
    neighborId String
    neighbor router id for virtual link
    retransmitInterval Number
    Interval (in seconds) to retransmit LSAs
    transitAreaId String
    id of transit area, cannot be backbone, stub or NSSA
    transitDelay Number
    Estimated delay (in seconds) to transmit LSAs

    VirtualRouterProtocolOspfAreaVirtualLinkBfd, VirtualRouterProtocolOspfAreaVirtualLinkBfdArgs

    Profile string
    BFD profile
    Profile string
    BFD profile
    profile String
    BFD profile
    profile string
    BFD profile
    profile str
    BFD profile
    profile String
    BFD profile

    VirtualRouterProtocolOspfAuthProfile, VirtualRouterProtocolOspfAuthProfileArgs

    Name string
    Md5s List<VirtualRouterProtocolOspfAuthProfileMd5>
    Password string
    Simple password authentication
    Name string
    Md5s []VirtualRouterProtocolOspfAuthProfileMd5
    Password string
    Simple password authentication
    name String
    md5s List<VirtualRouterProtocolOspfAuthProfileMd5>
    password String
    Simple password authentication
    name string
    md5s VirtualRouterProtocolOspfAuthProfileMd5[]
    password string
    Simple password authentication
    name String
    md5s List<Property Map>
    password String
    Simple password authentication

    VirtualRouterProtocolOspfAuthProfileMd5, VirtualRouterProtocolOspfAuthProfileMd5Args

    Name string
    Key string
    key for the authentication
    Preferred bool
    use this key when sending packet
    Name string
    Key string
    key for the authentication
    Preferred bool
    use this key when sending packet
    name String
    key String
    key for the authentication
    preferred Boolean
    use this key when sending packet
    name string
    key string
    key for the authentication
    preferred boolean
    use this key when sending packet
    name str
    key str
    key for the authentication
    preferred bool
    use this key when sending packet
    name String
    key String
    key for the authentication
    preferred Boolean
    use this key when sending packet

    VirtualRouterProtocolOspfExportRule, VirtualRouterProtocolOspfExportRuleArgs

    Name string
    Metric double
    metric value
    NewPathType string
    path type to be used for imported external routes
    NewTag string
    new tag value
    Name string
    Metric float64
    metric value
    NewPathType string
    path type to be used for imported external routes
    NewTag string
    new tag value
    name String
    metric Double
    metric value
    newPathType String
    path type to be used for imported external routes
    newTag String
    new tag value
    name string
    metric number
    metric value
    newPathType string
    path type to be used for imported external routes
    newTag string
    new tag value
    name str
    metric float
    metric value
    new_path_type str
    path type to be used for imported external routes
    new_tag str
    new tag value
    name String
    metric Number
    metric value
    newPathType String
    path type to be used for imported external routes
    newTag String
    new tag value

    VirtualRouterProtocolOspfGlobalBfd, VirtualRouterProtocolOspfGlobalBfdArgs

    Profile string
    BFD profile
    Profile string
    BFD profile
    profile String
    BFD profile
    profile string
    BFD profile
    profile str
    BFD profile
    profile String
    BFD profile

    VirtualRouterProtocolOspfGracefulRestart, VirtualRouterProtocolOspfGracefulRestartArgs

    Enable bool
    GracePeriod double
    maximum local restarting time (in seconds)
    HelperEnable bool
    enable/disable helping neighboring routers to graceful restart
    MaxNeighborRestartTime double
    maximum of neighbor restart time accepted (in seconds)
    StrictLSAChecking bool
    enable/disable strict LSA checking. Abort GR if lsa change is detected
    Enable bool
    GracePeriod float64
    maximum local restarting time (in seconds)
    HelperEnable bool
    enable/disable helping neighboring routers to graceful restart
    MaxNeighborRestartTime float64
    maximum of neighbor restart time accepted (in seconds)
    StrictLSAChecking bool
    enable/disable strict LSA checking. Abort GR if lsa change is detected
    enable Boolean
    gracePeriod Double
    maximum local restarting time (in seconds)
    helperEnable Boolean
    enable/disable helping neighboring routers to graceful restart
    maxNeighborRestartTime Double
    maximum of neighbor restart time accepted (in seconds)
    strictLSAChecking Boolean
    enable/disable strict LSA checking. Abort GR if lsa change is detected
    enable boolean
    gracePeriod number
    maximum local restarting time (in seconds)
    helperEnable boolean
    enable/disable helping neighboring routers to graceful restart
    maxNeighborRestartTime number
    maximum of neighbor restart time accepted (in seconds)
    strictLSAChecking boolean
    enable/disable strict LSA checking. Abort GR if lsa change is detected
    enable bool
    grace_period float
    maximum local restarting time (in seconds)
    helper_enable bool
    enable/disable helping neighboring routers to graceful restart
    max_neighbor_restart_time float
    maximum of neighbor restart time accepted (in seconds)
    strict_lsa_checking bool
    enable/disable strict LSA checking. Abort GR if lsa change is detected
    enable Boolean
    gracePeriod Number
    maximum local restarting time (in seconds)
    helperEnable Boolean
    enable/disable helping neighboring routers to graceful restart
    maxNeighborRestartTime Number
    maximum of neighbor restart time accepted (in seconds)
    strictLSAChecking Boolean
    enable/disable strict LSA checking. Abort GR if lsa change is detected

    VirtualRouterProtocolOspfTimers, VirtualRouterProtocolOspfTimersArgs

    LsaInterval double
    The minimum time in seconds between distinct originations of any particular LSA
    SpfCalculationDelay double
    Delay in seconds before running the SPF algorithm
    LsaInterval float64
    The minimum time in seconds between distinct originations of any particular LSA
    SpfCalculationDelay float64
    Delay in seconds before running the SPF algorithm
    lsaInterval Double
    The minimum time in seconds between distinct originations of any particular LSA
    spfCalculationDelay Double
    Delay in seconds before running the SPF algorithm
    lsaInterval number
    The minimum time in seconds between distinct originations of any particular LSA
    spfCalculationDelay number
    Delay in seconds before running the SPF algorithm
    lsa_interval float
    The minimum time in seconds between distinct originations of any particular LSA
    spf_calculation_delay float
    Delay in seconds before running the SPF algorithm
    lsaInterval Number
    The minimum time in seconds between distinct originations of any particular LSA
    spfCalculationDelay Number
    Delay in seconds before running the SPF algorithm

    VirtualRouterProtocolOspfv3, VirtualRouterProtocolOspfv3Args

    allowRedistDefaultRoute Boolean
    allow redistribute default route to OSPF
    areas List<Property Map>
    authProfiles List<Property Map>
    disableTransitTraffic Boolean
    whether OSPFv3 should set the R- and V6-bits in its Router-LSAs
    enable Boolean
    exportRules List<Property Map>
    globalBfd Property Map
    gracefulRestart Property Map
    rejectDefaultRoute Boolean
    do not learn default route from OSPF
    routerId String
    router id of this OSPFv3 instance
    timers Property Map

    VirtualRouterProtocolOspfv3Area, VirtualRouterProtocolOspfv3AreaArgs

    VirtualRouterProtocolOspfv3AreaInterface, VirtualRouterProtocolOspfv3AreaInterfaceArgs

    Name string
    Authentication string
    Authentication options
    Bfd VirtualRouterProtocolOspfv3AreaInterfaceBfd
    DeadCounts double
    number of lost hello packets to declare router down
    Enable bool
    Enable OSPF in this interface
    GrDelay double
    Period (in seconds) used to send grace LSAs before first hello is sent when graceful restart starts
    HelloInterval double
    Interval (in seconds) to send Hello packets
    InstanceId double
    OSPFv3 instance ID
    LinkType VirtualRouterProtocolOspfv3AreaInterfaceLinkType
    Metric double
    Cost of OSPF interface
    Neighbors List<VirtualRouterProtocolOspfv3AreaInterfaceNeighbor>
    Passive bool
    Suppress the sending of hello packets in this interface
    Priority double
    Priority for OSPF designated router selection
    RetransmitInterval double
    Interval (in seconds) to retransmit LSAs
    TransitDelay double
    Estimated delay (in seconds) to transmit LSAs
    Name string
    Authentication string
    Authentication options
    Bfd VirtualRouterProtocolOspfv3AreaInterfaceBfd
    DeadCounts float64
    number of lost hello packets to declare router down
    Enable bool
    Enable OSPF in this interface
    GrDelay float64
    Period (in seconds) used to send grace LSAs before first hello is sent when graceful restart starts
    HelloInterval float64
    Interval (in seconds) to send Hello packets
    InstanceId float64
    OSPFv3 instance ID
    LinkType VirtualRouterProtocolOspfv3AreaInterfaceLinkType
    Metric float64
    Cost of OSPF interface
    Neighbors []VirtualRouterProtocolOspfv3AreaInterfaceNeighbor
    Passive bool
    Suppress the sending of hello packets in this interface
    Priority float64
    Priority for OSPF designated router selection
    RetransmitInterval float64
    Interval (in seconds) to retransmit LSAs
    TransitDelay float64
    Estimated delay (in seconds) to transmit LSAs
    name String
    authentication String
    Authentication options
    bfd VirtualRouterProtocolOspfv3AreaInterfaceBfd
    deadCounts Double
    number of lost hello packets to declare router down
    enable Boolean
    Enable OSPF in this interface
    grDelay Double
    Period (in seconds) used to send grace LSAs before first hello is sent when graceful restart starts
    helloInterval Double
    Interval (in seconds) to send Hello packets
    instanceId Double
    OSPFv3 instance ID
    linkType VirtualRouterProtocolOspfv3AreaInterfaceLinkType
    metric Double
    Cost of OSPF interface
    neighbors List<VirtualRouterProtocolOspfv3AreaInterfaceNeighbor>
    passive Boolean
    Suppress the sending of hello packets in this interface
    priority Double
    Priority for OSPF designated router selection
    retransmitInterval Double
    Interval (in seconds) to retransmit LSAs
    transitDelay Double
    Estimated delay (in seconds) to transmit LSAs
    name string
    authentication string
    Authentication options
    bfd VirtualRouterProtocolOspfv3AreaInterfaceBfd
    deadCounts number
    number of lost hello packets to declare router down
    enable boolean
    Enable OSPF in this interface
    grDelay number
    Period (in seconds) used to send grace LSAs before first hello is sent when graceful restart starts
    helloInterval number
    Interval (in seconds) to send Hello packets
    instanceId number
    OSPFv3 instance ID
    linkType VirtualRouterProtocolOspfv3AreaInterfaceLinkType
    metric number
    Cost of OSPF interface
    neighbors VirtualRouterProtocolOspfv3AreaInterfaceNeighbor[]
    passive boolean
    Suppress the sending of hello packets in this interface
    priority number
    Priority for OSPF designated router selection
    retransmitInterval number
    Interval (in seconds) to retransmit LSAs
    transitDelay number
    Estimated delay (in seconds) to transmit LSAs
    name str
    authentication str
    Authentication options
    bfd VirtualRouterProtocolOspfv3AreaInterfaceBfd
    dead_counts float
    number of lost hello packets to declare router down
    enable bool
    Enable OSPF in this interface
    gr_delay float
    Period (in seconds) used to send grace LSAs before first hello is sent when graceful restart starts
    hello_interval float
    Interval (in seconds) to send Hello packets
    instance_id float
    OSPFv3 instance ID
    link_type VirtualRouterProtocolOspfv3AreaInterfaceLinkType
    metric float
    Cost of OSPF interface
    neighbors Sequence[VirtualRouterProtocolOspfv3AreaInterfaceNeighbor]
    passive bool
    Suppress the sending of hello packets in this interface
    priority float
    Priority for OSPF designated router selection
    retransmit_interval float
    Interval (in seconds) to retransmit LSAs
    transit_delay float
    Estimated delay (in seconds) to transmit LSAs
    name String
    authentication String
    Authentication options
    bfd Property Map
    deadCounts Number
    number of lost hello packets to declare router down
    enable Boolean
    Enable OSPF in this interface
    grDelay Number
    Period (in seconds) used to send grace LSAs before first hello is sent when graceful restart starts
    helloInterval Number
    Interval (in seconds) to send Hello packets
    instanceId Number
    OSPFv3 instance ID
    linkType Property Map
    metric Number
    Cost of OSPF interface
    neighbors List<Property Map>
    passive Boolean
    Suppress the sending of hello packets in this interface
    priority Number
    Priority for OSPF designated router selection
    retransmitInterval Number
    Interval (in seconds) to retransmit LSAs
    transitDelay Number
    Estimated delay (in seconds) to transmit LSAs

    VirtualRouterProtocolOspfv3AreaInterfaceBfd, VirtualRouterProtocolOspfv3AreaInterfaceBfdArgs

    Profile string
    BFD profile
    Profile string
    BFD profile
    profile String
    BFD profile
    profile string
    BFD profile
    profile str
    BFD profile
    profile String
    BFD profile

    VirtualRouterProtocolOspfv3AreaInterfaceLinkType, VirtualRouterProtocolOspfv3AreaInterfaceLinkTypeArgs

    VirtualRouterProtocolOspfv3AreaInterfaceNeighbor, VirtualRouterProtocolOspfv3AreaInterfaceNeighborArgs

    Name string
    Name string
    name String
    name string
    name str
    name String

    VirtualRouterProtocolOspfv3AreaRange, VirtualRouterProtocolOspfv3AreaRangeArgs

    VirtualRouterProtocolOspfv3AreaType, VirtualRouterProtocolOspfv3AreaTypeArgs

    VirtualRouterProtocolOspfv3AreaTypeNssa, VirtualRouterProtocolOspfv3AreaTypeNssaArgs

    acceptSummary Boolean
    Enable the origination and propagation of summary LSA to this area
    defaultRoute Property Map
    nssaExtRanges List<Property Map>

    VirtualRouterProtocolOspfv3AreaTypeNssaDefaultRoute, VirtualRouterProtocolOspfv3AreaTypeNssaDefaultRouteArgs

    VirtualRouterProtocolOspfv3AreaTypeNssaDefaultRouteAdvertise, VirtualRouterProtocolOspfv3AreaTypeNssaDefaultRouteAdvertiseArgs

    Metric double
    metric to be used when advertise default route within this stub area
    Type string
    metric type to be used when advertise default route
    Metric float64
    metric to be used when advertise default route within this stub area
    Type string
    metric type to be used when advertise default route
    metric Double
    metric to be used when advertise default route within this stub area
    type String
    metric type to be used when advertise default route
    metric number
    metric to be used when advertise default route within this stub area
    type string
    metric type to be used when advertise default route
    metric float
    metric to be used when advertise default route within this stub area
    type str
    metric type to be used when advertise default route
    metric Number
    metric to be used when advertise default route within this stub area
    type String
    metric type to be used when advertise default route

    VirtualRouterProtocolOspfv3AreaTypeNssaNssaExtRange, VirtualRouterProtocolOspfv3AreaTypeNssaNssaExtRangeArgs

    VirtualRouterProtocolOspfv3AreaTypeStub, VirtualRouterProtocolOspfv3AreaTypeStubArgs

    AcceptSummary bool
    Enable the origination and propagation of summary LSA to this area
    DefaultRoute VirtualRouterProtocolOspfv3AreaTypeStubDefaultRoute
    AcceptSummary bool
    Enable the origination and propagation of summary LSA to this area
    DefaultRoute VirtualRouterProtocolOspfv3AreaTypeStubDefaultRoute
    acceptSummary Boolean
    Enable the origination and propagation of summary LSA to this area
    defaultRoute VirtualRouterProtocolOspfv3AreaTypeStubDefaultRoute
    acceptSummary boolean
    Enable the origination and propagation of summary LSA to this area
    defaultRoute VirtualRouterProtocolOspfv3AreaTypeStubDefaultRoute
    accept_summary bool
    Enable the origination and propagation of summary LSA to this area
    default_route VirtualRouterProtocolOspfv3AreaTypeStubDefaultRoute
    acceptSummary Boolean
    Enable the origination and propagation of summary LSA to this area
    defaultRoute Property Map

    VirtualRouterProtocolOspfv3AreaTypeStubDefaultRoute, VirtualRouterProtocolOspfv3AreaTypeStubDefaultRouteArgs

    VirtualRouterProtocolOspfv3AreaTypeStubDefaultRouteAdvertise, VirtualRouterProtocolOspfv3AreaTypeStubDefaultRouteAdvertiseArgs

    Metric double
    metric to be used when advertise default route within this stub area
    Metric float64
    metric to be used when advertise default route within this stub area
    metric Double
    metric to be used when advertise default route within this stub area
    metric number
    metric to be used when advertise default route within this stub area
    metric float
    metric to be used when advertise default route within this stub area
    metric Number
    metric to be used when advertise default route within this stub area
    Name string
    Authentication string
    Authentication options
    Bfd VirtualRouterProtocolOspfv3AreaVirtualLinkBfd
    DeadCounts double
    number of lost hello packets to declare router down
    Enable bool
    Enable this virtual link
    HelloInterval double
    Interval (in seconds) to send Hello packets
    InstanceId double
    OSPFv3 instance ID
    NeighborId string
    neighbor router id for virtual link
    RetransmitInterval double
    Interval (in seconds) to retransmit LSAs
    TransitAreaId string
    id of transit area, cannot be backbone, stub or NSSA
    TransitDelay double
    Estimated delay (in seconds) to transmit LSAs
    Name string
    Authentication string
    Authentication options
    Bfd VirtualRouterProtocolOspfv3AreaVirtualLinkBfd
    DeadCounts float64
    number of lost hello packets to declare router down
    Enable bool
    Enable this virtual link
    HelloInterval float64
    Interval (in seconds) to send Hello packets
    InstanceId float64
    OSPFv3 instance ID
    NeighborId string
    neighbor router id for virtual link
    RetransmitInterval float64
    Interval (in seconds) to retransmit LSAs
    TransitAreaId string
    id of transit area, cannot be backbone, stub or NSSA
    TransitDelay float64
    Estimated delay (in seconds) to transmit LSAs
    name String
    authentication String
    Authentication options
    bfd VirtualRouterProtocolOspfv3AreaVirtualLinkBfd
    deadCounts Double
    number of lost hello packets to declare router down
    enable Boolean
    Enable this virtual link
    helloInterval Double
    Interval (in seconds) to send Hello packets
    instanceId Double
    OSPFv3 instance ID
    neighborId String
    neighbor router id for virtual link
    retransmitInterval Double
    Interval (in seconds) to retransmit LSAs
    transitAreaId String
    id of transit area, cannot be backbone, stub or NSSA
    transitDelay Double
    Estimated delay (in seconds) to transmit LSAs
    name string
    authentication string
    Authentication options
    bfd VirtualRouterProtocolOspfv3AreaVirtualLinkBfd
    deadCounts number
    number of lost hello packets to declare router down
    enable boolean
    Enable this virtual link
    helloInterval number
    Interval (in seconds) to send Hello packets
    instanceId number
    OSPFv3 instance ID
    neighborId string
    neighbor router id for virtual link
    retransmitInterval number
    Interval (in seconds) to retransmit LSAs
    transitAreaId string
    id of transit area, cannot be backbone, stub or NSSA
    transitDelay number
    Estimated delay (in seconds) to transmit LSAs
    name str
    authentication str
    Authentication options
    bfd VirtualRouterProtocolOspfv3AreaVirtualLinkBfd
    dead_counts float
    number of lost hello packets to declare router down
    enable bool
    Enable this virtual link
    hello_interval float
    Interval (in seconds) to send Hello packets
    instance_id float
    OSPFv3 instance ID
    neighbor_id str
    neighbor router id for virtual link
    retransmit_interval float
    Interval (in seconds) to retransmit LSAs
    transit_area_id str
    id of transit area, cannot be backbone, stub or NSSA
    transit_delay float
    Estimated delay (in seconds) to transmit LSAs
    name String
    authentication String
    Authentication options
    bfd Property Map
    deadCounts Number
    number of lost hello packets to declare router down
    enable Boolean
    Enable this virtual link
    helloInterval Number
    Interval (in seconds) to send Hello packets
    instanceId Number
    OSPFv3 instance ID
    neighborId String
    neighbor router id for virtual link
    retransmitInterval Number
    Interval (in seconds) to retransmit LSAs
    transitAreaId String
    id of transit area, cannot be backbone, stub or NSSA
    transitDelay Number
    Estimated delay (in seconds) to transmit LSAs

    VirtualRouterProtocolOspfv3AreaVirtualLinkBfd, VirtualRouterProtocolOspfv3AreaVirtualLinkBfdArgs

    Profile string
    BFD profile
    Profile string
    BFD profile
    profile String
    BFD profile
    profile string
    BFD profile
    profile str
    BFD profile
    profile String
    BFD profile

    VirtualRouterProtocolOspfv3AuthProfile, VirtualRouterProtocolOspfv3AuthProfileArgs

    Name string
    Ah VirtualRouterProtocolOspfv3AuthProfileAh
    Esp VirtualRouterProtocolOspfv3AuthProfileEsp
    Spi string
    SPI for both inbound and outbound SA, hex format xxxxxxxx.
    Name string
    Ah VirtualRouterProtocolOspfv3AuthProfileAh
    Esp VirtualRouterProtocolOspfv3AuthProfileEsp
    Spi string
    SPI for both inbound and outbound SA, hex format xxxxxxxx.
    name String
    ah VirtualRouterProtocolOspfv3AuthProfileAh
    esp VirtualRouterProtocolOspfv3AuthProfileEsp
    spi String
    SPI for both inbound and outbound SA, hex format xxxxxxxx.
    name string
    ah VirtualRouterProtocolOspfv3AuthProfileAh
    esp VirtualRouterProtocolOspfv3AuthProfileEsp
    spi string
    SPI for both inbound and outbound SA, hex format xxxxxxxx.
    name str
    ah VirtualRouterProtocolOspfv3AuthProfileAh
    esp VirtualRouterProtocolOspfv3AuthProfileEsp
    spi str
    SPI for both inbound and outbound SA, hex format xxxxxxxx.
    name String
    ah Property Map
    esp Property Map
    spi String
    SPI for both inbound and outbound SA, hex format xxxxxxxx.

    VirtualRouterProtocolOspfv3AuthProfileAh, VirtualRouterProtocolOspfv3AuthProfileAhArgs

    VirtualRouterProtocolOspfv3AuthProfileAhMd5, VirtualRouterProtocolOspfv3AuthProfileAhMd5Args

    Key string
    hex format xxxxxxxx[-xxxxxxxx]... total 4 sections
    Key string
    hex format xxxxxxxx[-xxxxxxxx]... total 4 sections
    key String
    hex format xxxxxxxx[-xxxxxxxx]... total 4 sections
    key string
    hex format xxxxxxxx[-xxxxxxxx]... total 4 sections
    key str
    hex format xxxxxxxx[-xxxxxxxx]... total 4 sections
    key String
    hex format xxxxxxxx[-xxxxxxxx]... total 4 sections

    VirtualRouterProtocolOspfv3AuthProfileAhSha1, VirtualRouterProtocolOspfv3AuthProfileAhSha1Args

    Key string
    hex format xxxxxxxx[-xxxxxxxx]... total 5 sections
    Key string
    hex format xxxxxxxx[-xxxxxxxx]... total 5 sections
    key String
    hex format xxxxxxxx[-xxxxxxxx]... total 5 sections
    key string
    hex format xxxxxxxx[-xxxxxxxx]... total 5 sections
    key str
    hex format xxxxxxxx[-xxxxxxxx]... total 5 sections
    key String
    hex format xxxxxxxx[-xxxxxxxx]... total 5 sections

    VirtualRouterProtocolOspfv3AuthProfileAhSha256, VirtualRouterProtocolOspfv3AuthProfileAhSha256Args

    Key string
    hex format xxxxxxxx[-xxxxxxxx]... total 8 sections
    Key string
    hex format xxxxxxxx[-xxxxxxxx]... total 8 sections
    key String
    hex format xxxxxxxx[-xxxxxxxx]... total 8 sections
    key string
    hex format xxxxxxxx[-xxxxxxxx]... total 8 sections
    key str
    hex format xxxxxxxx[-xxxxxxxx]... total 8 sections
    key String
    hex format xxxxxxxx[-xxxxxxxx]... total 8 sections

    VirtualRouterProtocolOspfv3AuthProfileAhSha384, VirtualRouterProtocolOspfv3AuthProfileAhSha384Args

    Key string
    hex format xxxxxxxx[-xxxxxxxx]... total 12 sections
    Key string
    hex format xxxxxxxx[-xxxxxxxx]... total 12 sections
    key String
    hex format xxxxxxxx[-xxxxxxxx]... total 12 sections
    key string
    hex format xxxxxxxx[-xxxxxxxx]... total 12 sections
    key str
    hex format xxxxxxxx[-xxxxxxxx]... total 12 sections
    key String
    hex format xxxxxxxx[-xxxxxxxx]... total 12 sections

    VirtualRouterProtocolOspfv3AuthProfileAhSha512, VirtualRouterProtocolOspfv3AuthProfileAhSha512Args

    Key string
    hex format xxxxxxxx[-xxxxxxxx]... total 16 sections
    Key string
    hex format xxxxxxxx[-xxxxxxxx]... total 16 sections
    key String
    hex format xxxxxxxx[-xxxxxxxx]... total 16 sections
    key string
    hex format xxxxxxxx[-xxxxxxxx]... total 16 sections
    key str
    hex format xxxxxxxx[-xxxxxxxx]... total 16 sections
    key String
    hex format xxxxxxxx[-xxxxxxxx]... total 16 sections

    VirtualRouterProtocolOspfv3AuthProfileEsp, VirtualRouterProtocolOspfv3AuthProfileEspArgs

    VirtualRouterProtocolOspfv3AuthProfileEspAuthentication, VirtualRouterProtocolOspfv3AuthProfileEspAuthenticationArgs

    VirtualRouterProtocolOspfv3AuthProfileEspAuthenticationMd5, VirtualRouterProtocolOspfv3AuthProfileEspAuthenticationMd5Args

    Key string
    hex format xxxxxxxx[-xxxxxxxx]... total 4 sections
    Key string
    hex format xxxxxxxx[-xxxxxxxx]... total 4 sections
    key String
    hex format xxxxxxxx[-xxxxxxxx]... total 4 sections
    key string
    hex format xxxxxxxx[-xxxxxxxx]... total 4 sections
    key str
    hex format xxxxxxxx[-xxxxxxxx]... total 4 sections
    key String
    hex format xxxxxxxx[-xxxxxxxx]... total 4 sections

    VirtualRouterProtocolOspfv3AuthProfileEspAuthenticationSha1, VirtualRouterProtocolOspfv3AuthProfileEspAuthenticationSha1Args

    Key string
    hex format xxxxxxxx[-xxxxxxxx]... total 5 sections
    Key string
    hex format xxxxxxxx[-xxxxxxxx]... total 5 sections
    key String
    hex format xxxxxxxx[-xxxxxxxx]... total 5 sections
    key string
    hex format xxxxxxxx[-xxxxxxxx]... total 5 sections
    key str
    hex format xxxxxxxx[-xxxxxxxx]... total 5 sections
    key String
    hex format xxxxxxxx[-xxxxxxxx]... total 5 sections

    VirtualRouterProtocolOspfv3AuthProfileEspAuthenticationSha256, VirtualRouterProtocolOspfv3AuthProfileEspAuthenticationSha256Args

    Key string
    hex format xxxxxxxx[-xxxxxxxx]... total 8 sections
    Key string
    hex format xxxxxxxx[-xxxxxxxx]... total 8 sections
    key String
    hex format xxxxxxxx[-xxxxxxxx]... total 8 sections
    key string
    hex format xxxxxxxx[-xxxxxxxx]... total 8 sections
    key str
    hex format xxxxxxxx[-xxxxxxxx]... total 8 sections
    key String
    hex format xxxxxxxx[-xxxxxxxx]... total 8 sections

    VirtualRouterProtocolOspfv3AuthProfileEspAuthenticationSha384, VirtualRouterProtocolOspfv3AuthProfileEspAuthenticationSha384Args

    Key string
    hex format xxxxxxxx[-xxxxxxxx]... total 12 sections
    Key string
    hex format xxxxxxxx[-xxxxxxxx]... total 12 sections
    key String
    hex format xxxxxxxx[-xxxxxxxx]... total 12 sections
    key string
    hex format xxxxxxxx[-xxxxxxxx]... total 12 sections
    key str
    hex format xxxxxxxx[-xxxxxxxx]... total 12 sections
    key String
    hex format xxxxxxxx[-xxxxxxxx]... total 12 sections

    VirtualRouterProtocolOspfv3AuthProfileEspAuthenticationSha512, VirtualRouterProtocolOspfv3AuthProfileEspAuthenticationSha512Args

    Key string
    hex format xxxxxxxx[-xxxxxxxx]... total 16 sections
    Key string
    hex format xxxxxxxx[-xxxxxxxx]... total 16 sections
    key String
    hex format xxxxxxxx[-xxxxxxxx]... total 16 sections
    key string
    hex format xxxxxxxx[-xxxxxxxx]... total 16 sections
    key str
    hex format xxxxxxxx[-xxxxxxxx]... total 16 sections
    key String
    hex format xxxxxxxx[-xxxxxxxx]... total 16 sections

    VirtualRouterProtocolOspfv3AuthProfileEspEncryption, VirtualRouterProtocolOspfv3AuthProfileEspEncryptionArgs

    Algorithm string
    Key string
    hex format xxxxxxxx[-xxxxxxxx]... total number of sections: 3des: 6, aes128: 4, aes192: 6, aes256: 8
    Algorithm string
    Key string
    hex format xxxxxxxx[-xxxxxxxx]... total number of sections: 3des: 6, aes128: 4, aes192: 6, aes256: 8
    algorithm String
    key String
    hex format xxxxxxxx[-xxxxxxxx]... total number of sections: 3des: 6, aes128: 4, aes192: 6, aes256: 8
    algorithm string
    key string
    hex format xxxxxxxx[-xxxxxxxx]... total number of sections: 3des: 6, aes128: 4, aes192: 6, aes256: 8
    algorithm str
    key str
    hex format xxxxxxxx[-xxxxxxxx]... total number of sections: 3des: 6, aes128: 4, aes192: 6, aes256: 8
    algorithm String
    key String
    hex format xxxxxxxx[-xxxxxxxx]... total number of sections: 3des: 6, aes128: 4, aes192: 6, aes256: 8

    VirtualRouterProtocolOspfv3ExportRule, VirtualRouterProtocolOspfv3ExportRuleArgs

    Name string
    Metric double
    metric value
    NewPathType string
    path type to be used for imported external routes
    NewTag string
    new tag value
    Name string
    Metric float64
    metric value
    NewPathType string
    path type to be used for imported external routes
    NewTag string
    new tag value
    name String
    metric Double
    metric value
    newPathType String
    path type to be used for imported external routes
    newTag String
    new tag value
    name string
    metric number
    metric value
    newPathType string
    path type to be used for imported external routes
    newTag string
    new tag value
    name str
    metric float
    metric value
    new_path_type str
    path type to be used for imported external routes
    new_tag str
    new tag value
    name String
    metric Number
    metric value
    newPathType String
    path type to be used for imported external routes
    newTag String
    new tag value

    VirtualRouterProtocolOspfv3GlobalBfd, VirtualRouterProtocolOspfv3GlobalBfdArgs

    Profile string
    BFD profile
    Profile string
    BFD profile
    profile String
    BFD profile
    profile string
    BFD profile
    profile str
    BFD profile
    profile String
    BFD profile

    VirtualRouterProtocolOspfv3GracefulRestart, VirtualRouterProtocolOspfv3GracefulRestartArgs

    Enable bool
    GracePeriod double
    maximum local restarting time (in seconds)
    HelperEnable bool
    enable/disable helping neighboring routers to graceful restart
    MaxNeighborRestartTime double
    maximum of neighbor restart time accepted (in seconds)
    StrictLSAChecking bool
    enable/disable strict LSA checking. Abort GR if lsa change is detected
    Enable bool
    GracePeriod float64
    maximum local restarting time (in seconds)
    HelperEnable bool
    enable/disable helping neighboring routers to graceful restart
    MaxNeighborRestartTime float64
    maximum of neighbor restart time accepted (in seconds)
    StrictLSAChecking bool
    enable/disable strict LSA checking. Abort GR if lsa change is detected
    enable Boolean
    gracePeriod Double
    maximum local restarting time (in seconds)
    helperEnable Boolean
    enable/disable helping neighboring routers to graceful restart
    maxNeighborRestartTime Double
    maximum of neighbor restart time accepted (in seconds)
    strictLSAChecking Boolean
    enable/disable strict LSA checking. Abort GR if lsa change is detected
    enable boolean
    gracePeriod number
    maximum local restarting time (in seconds)
    helperEnable boolean
    enable/disable helping neighboring routers to graceful restart
    maxNeighborRestartTime number
    maximum of neighbor restart time accepted (in seconds)
    strictLSAChecking boolean
    enable/disable strict LSA checking. Abort GR if lsa change is detected
    enable bool
    grace_period float
    maximum local restarting time (in seconds)
    helper_enable bool
    enable/disable helping neighboring routers to graceful restart
    max_neighbor_restart_time float
    maximum of neighbor restart time accepted (in seconds)
    strict_lsa_checking bool
    enable/disable strict LSA checking. Abort GR if lsa change is detected
    enable Boolean
    gracePeriod Number
    maximum local restarting time (in seconds)
    helperEnable Boolean
    enable/disable helping neighboring routers to graceful restart
    maxNeighborRestartTime Number
    maximum of neighbor restart time accepted (in seconds)
    strictLSAChecking Boolean
    enable/disable strict LSA checking. Abort GR if lsa change is detected

    VirtualRouterProtocolOspfv3Timers, VirtualRouterProtocolOspfv3TimersArgs

    LsaInterval double
    The minimum time in seconds between distinct originations of any particular LSA
    SpfCalculationDelay double
    Delay in seconds before running the SPF algorithm
    LsaInterval float64
    The minimum time in seconds between distinct originations of any particular LSA
    SpfCalculationDelay float64
    Delay in seconds before running the SPF algorithm
    lsaInterval Double
    The minimum time in seconds between distinct originations of any particular LSA
    spfCalculationDelay Double
    Delay in seconds before running the SPF algorithm
    lsaInterval number
    The minimum time in seconds between distinct originations of any particular LSA
    spfCalculationDelay number
    Delay in seconds before running the SPF algorithm
    lsa_interval float
    The minimum time in seconds between distinct originations of any particular LSA
    spf_calculation_delay float
    Delay in seconds before running the SPF algorithm
    lsaInterval Number
    The minimum time in seconds between distinct originations of any particular LSA
    spfCalculationDelay Number
    Delay in seconds before running the SPF algorithm

    VirtualRouterProtocolRedistProfile, VirtualRouterProtocolRedistProfileArgs

    VirtualRouterProtocolRedistProfileAction, VirtualRouterProtocolRedistProfileActionArgs

    VirtualRouterProtocolRedistProfileFilter, VirtualRouterProtocolRedistProfileFilterArgs

    bgp Property Map
    destinations List<String>
    interfaces List<String>
    nexthops List<String>
    ospf Property Map
    types List<String>

    VirtualRouterProtocolRedistProfileFilterBgp, VirtualRouterProtocolRedistProfileFilterBgpArgs

    Communities List<string>
    ExtendedCommunities List<string>
    communities List<String>
    extendedCommunities List<String>
    communities Sequence[str]
    extended_communities Sequence[str]
    communities List<String>
    extendedCommunities List<String>

    VirtualRouterProtocolRedistProfileFilterOspf, VirtualRouterProtocolRedistProfileFilterOspfArgs

    Areas List<string>
    PathTypes List<string>
    Tags List<string>
    Areas []string
    PathTypes []string
    Tags []string
    areas List<String>
    pathTypes List<String>
    tags List<String>
    areas string[]
    pathTypes string[]
    tags string[]
    areas Sequence[str]
    path_types Sequence[str]
    tags Sequence[str]
    areas List<String>
    pathTypes List<String>
    tags List<String>

    VirtualRouterProtocolRedistProfileIpv6, VirtualRouterProtocolRedistProfileIpv6Args

    VirtualRouterProtocolRedistProfileIpv6Action, VirtualRouterProtocolRedistProfileIpv6ActionArgs

    VirtualRouterProtocolRedistProfileIpv6Filter, VirtualRouterProtocolRedistProfileIpv6FilterArgs

    bgp Property Map
    destinations List<String>
    interfaces List<String>
    nexthops List<String>
    ospfv3 Property Map
    types List<String>

    VirtualRouterProtocolRedistProfileIpv6FilterBgp, VirtualRouterProtocolRedistProfileIpv6FilterBgpArgs

    Communities List<string>
    ExtendedCommunities List<string>
    communities List<String>
    extendedCommunities List<String>
    communities Sequence[str]
    extended_communities Sequence[str]
    communities List<String>
    extendedCommunities List<String>

    VirtualRouterProtocolRedistProfileIpv6FilterOspfv3, VirtualRouterProtocolRedistProfileIpv6FilterOspfv3Args

    Areas List<string>
    PathTypes List<string>
    Tags List<string>
    Areas []string
    PathTypes []string
    Tags []string
    areas List<String>
    pathTypes List<String>
    tags List<String>
    areas string[]
    pathTypes string[]
    tags string[]
    areas Sequence[str]
    path_types Sequence[str]
    tags Sequence[str]
    areas List<String>
    pathTypes List<String>
    tags List<String>

    VirtualRouterProtocolRip, VirtualRouterProtocolRipArgs

    VirtualRouterProtocolRipAuthProfile, VirtualRouterProtocolRipAuthProfileArgs

    Name string
    Md5s List<VirtualRouterProtocolRipAuthProfileMd5>
    Password string
    Simple password authentication
    Name string
    Md5s []VirtualRouterProtocolRipAuthProfileMd5
    Password string
    Simple password authentication
    name String
    md5s List<VirtualRouterProtocolRipAuthProfileMd5>
    password String
    Simple password authentication
    name string
    md5s VirtualRouterProtocolRipAuthProfileMd5[]
    password string
    Simple password authentication
    name String
    md5s List<Property Map>
    password String
    Simple password authentication

    VirtualRouterProtocolRipAuthProfileMd5, VirtualRouterProtocolRipAuthProfileMd5Args

    Name string
    Key string
    key for the authentication
    Preferred bool
    prefer to use this key when sending packet
    Name string
    Key string
    key for the authentication
    Preferred bool
    prefer to use this key when sending packet
    name String
    key String
    key for the authentication
    preferred Boolean
    prefer to use this key when sending packet
    name string
    key string
    key for the authentication
    preferred boolean
    prefer to use this key when sending packet
    name str
    key str
    key for the authentication
    preferred bool
    prefer to use this key when sending packet
    name String
    key String
    key for the authentication
    preferred Boolean
    prefer to use this key when sending packet

    VirtualRouterProtocolRipExportRule, VirtualRouterProtocolRipExportRuleArgs

    Name string
    Metric double
    metric value
    Name string
    Metric float64
    metric value
    name String
    metric Double
    metric value
    name string
    metric number
    metric value
    name str
    metric float
    metric value
    name String
    metric Number
    metric value

    VirtualRouterProtocolRipGlobalBfd, VirtualRouterProtocolRipGlobalBfdArgs

    Profile string
    BFD profile
    Profile string
    BFD profile
    profile String
    BFD profile
    profile string
    BFD profile
    profile str
    BFD profile
    profile String
    BFD profile

    VirtualRouterProtocolRipInterface, VirtualRouterProtocolRipInterfaceArgs

    name String
    authentication String
    Authentication options
    bfd Property Map
    defaultRoute Property Map
    enable Boolean
    mode String

    VirtualRouterProtocolRipInterfaceBfd, VirtualRouterProtocolRipInterfaceBfdArgs

    Profile string
    BFD profile
    Profile string
    BFD profile
    profile String
    BFD profile
    profile string
    BFD profile
    profile str
    BFD profile
    profile String
    BFD profile

    VirtualRouterProtocolRipInterfaceDefaultRoute, VirtualRouterProtocolRipInterfaceDefaultRouteArgs

    VirtualRouterProtocolRipInterfaceDefaultRouteAdvertise, VirtualRouterProtocolRipInterfaceDefaultRouteAdvertiseArgs

    Metric double
    metric to be used when advertise default route via RIP
    Metric float64
    metric to be used when advertise default route via RIP
    metric Double
    metric to be used when advertise default route via RIP
    metric number
    metric to be used when advertise default route via RIP
    metric float
    metric to be used when advertise default route via RIP
    metric Number
    metric to be used when advertise default route via RIP

    VirtualRouterProtocolRipTimers, VirtualRouterProtocolRipTimersArgs

    DeleteIntervals double
    number of intervals take between route expiration to its deletion
    ExpireIntervals double
    number of intervals take between route last updated to its expiration
    IntervalSeconds double
    timer interval value in seconds
    UpdateIntervals double
    number of intervals take between route advertisement (RIP response packet)
    DeleteIntervals float64
    number of intervals take between route expiration to its deletion
    ExpireIntervals float64
    number of intervals take between route last updated to its expiration
    IntervalSeconds float64
    timer interval value in seconds
    UpdateIntervals float64
    number of intervals take between route advertisement (RIP response packet)
    deleteIntervals Double
    number of intervals take between route expiration to its deletion
    expireIntervals Double
    number of intervals take between route last updated to its expiration
    intervalSeconds Double
    timer interval value in seconds
    updateIntervals Double
    number of intervals take between route advertisement (RIP response packet)
    deleteIntervals number
    number of intervals take between route expiration to its deletion
    expireIntervals number
    number of intervals take between route last updated to its expiration
    intervalSeconds number
    timer interval value in seconds
    updateIntervals number
    number of intervals take between route advertisement (RIP response packet)
    delete_intervals float
    number of intervals take between route expiration to its deletion
    expire_intervals float
    number of intervals take between route last updated to its expiration
    interval_seconds float
    timer interval value in seconds
    update_intervals float
    number of intervals take between route advertisement (RIP response packet)
    deleteIntervals Number
    number of intervals take between route expiration to its deletion
    expireIntervals Number
    number of intervals take between route last updated to its expiration
    intervalSeconds Number
    timer interval value in seconds
    updateIntervals Number
    number of intervals take between route advertisement (RIP response packet)

    VirtualRouterRoutingTable, VirtualRouterRoutingTableArgs

    VirtualRouterRoutingTableIp, VirtualRouterRoutingTableIpArgs

    VirtualRouterRoutingTableIpStaticRoute, VirtualRouterRoutingTableIpStaticRouteArgs

    name String
    administrativeDistance Number
    adminitrative distance
    bfd Property Map
    destination String
    Destination IP address/prefix
    interface String
    metric Number
    metric value (path cost)
    nexthop Property Map
    pathMonitor Property Map
    routeTable Property Map

    VirtualRouterRoutingTableIpStaticRouteBfd, VirtualRouterRoutingTableIpStaticRouteBfdArgs

    Profile string
    BFD profile
    Profile string
    BFD profile
    profile String
    BFD profile
    profile string
    BFD profile
    profile str
    BFD profile
    profile String
    BFD profile

    VirtualRouterRoutingTableIpStaticRouteNexthop, VirtualRouterRoutingTableIpStaticRouteNexthopArgs

    Discard VirtualRouterRoutingTableIpStaticRouteNexthopDiscard
    Fqdn string
    nexthop address FQDN address object configuration
    IpAddress string
    Next hop IP address
    NextVr string
    Next hop virtual router
    Receive VirtualRouterRoutingTableIpStaticRouteNexthopReceive
    Discard VirtualRouterRoutingTableIpStaticRouteNexthopDiscard
    Fqdn string
    nexthop address FQDN address object configuration
    IpAddress string
    Next hop IP address
    NextVr string
    Next hop virtual router
    Receive VirtualRouterRoutingTableIpStaticRouteNexthopReceive
    discard VirtualRouterRoutingTableIpStaticRouteNexthopDiscard
    fqdn String
    nexthop address FQDN address object configuration
    ipAddress String
    Next hop IP address
    nextVr String
    Next hop virtual router
    receive VirtualRouterRoutingTableIpStaticRouteNexthopReceive
    discard VirtualRouterRoutingTableIpStaticRouteNexthopDiscard
    fqdn string
    nexthop address FQDN address object configuration
    ipAddress string
    Next hop IP address
    nextVr string
    Next hop virtual router
    receive VirtualRouterRoutingTableIpStaticRouteNexthopReceive
    discard VirtualRouterRoutingTableIpStaticRouteNexthopDiscard
    fqdn str
    nexthop address FQDN address object configuration
    ip_address str
    Next hop IP address
    next_vr str
    Next hop virtual router
    receive VirtualRouterRoutingTableIpStaticRouteNexthopReceive
    discard Property Map
    fqdn String
    nexthop address FQDN address object configuration
    ipAddress String
    Next hop IP address
    nextVr String
    Next hop virtual router
    receive Property Map

    VirtualRouterRoutingTableIpStaticRoutePathMonitor, VirtualRouterRoutingTableIpStaticRoutePathMonitorArgs

    enable Boolean
    failureCondition String
    failure condition
    holdTime Number
    hold time (minutes)
    monitorDestinations List<Property Map>

    VirtualRouterRoutingTableIpStaticRoutePathMonitorMonitorDestination, VirtualRouterRoutingTableIpStaticRoutePathMonitorMonitorDestinationArgs

    Name string
    Count double
    ping count
    Destination string
    Destination IP address
    Enable bool
    Interval double
    ping interval
    Source string
    Source IP address
    Name string
    Count float64
    ping count
    Destination string
    Destination IP address
    Enable bool
    Interval float64
    ping interval
    Source string
    Source IP address
    name String
    count Double
    ping count
    destination String
    Destination IP address
    enable Boolean
    interval Double
    ping interval
    source String
    Source IP address
    name string
    count number
    ping count
    destination string
    Destination IP address
    enable boolean
    interval number
    ping interval
    source string
    Source IP address
    name str
    count float
    ping count
    destination str
    Destination IP address
    enable bool
    interval float
    ping interval
    source str
    Source IP address
    name String
    count Number
    ping count
    destination String
    Destination IP address
    enable Boolean
    interval Number
    ping interval
    source String
    Source IP address

    VirtualRouterRoutingTableIpStaticRouteRouteTable, VirtualRouterRoutingTableIpStaticRouteRouteTableArgs

    VirtualRouterRoutingTableIpv6, VirtualRouterRoutingTableIpv6Args

    VirtualRouterRoutingTableIpv6StaticRoute, VirtualRouterRoutingTableIpv6StaticRouteArgs

    name String
    administrativeDistance Number
    adminitrative distance
    bfd Property Map
    destination String
    Destination IP address/prefix
    interface String
    metric Number
    metric value (path cost)
    nexthop Property Map
    pathMonitor Property Map
    routeTable Property Map

    VirtualRouterRoutingTableIpv6StaticRouteBfd, VirtualRouterRoutingTableIpv6StaticRouteBfdArgs

    Profile string
    BFD profile
    Profile string
    BFD profile
    profile String
    BFD profile
    profile string
    BFD profile
    profile str
    BFD profile
    profile String
    BFD profile

    VirtualRouterRoutingTableIpv6StaticRouteNexthop, VirtualRouterRoutingTableIpv6StaticRouteNexthopArgs

    discard Property Map
    ipv6Address String
    Next hop IP address
    nextVr String
    Next hop virtual router
    receive Property Map

    VirtualRouterRoutingTableIpv6StaticRoutePathMonitor, VirtualRouterRoutingTableIpv6StaticRoutePathMonitorArgs

    enable Boolean
    failureCondition String
    failure condition
    holdTime Number
    hold time (minutes)
    monitorDestinations List<Property Map>

    VirtualRouterRoutingTableIpv6StaticRoutePathMonitorMonitorDestination, VirtualRouterRoutingTableIpv6StaticRoutePathMonitorMonitorDestinationArgs

    Name string
    Count double
    ping count
    Destination string
    Destination IP address
    Enable bool
    Interval double
    ping interval
    Source string
    Source IP address
    Name string
    Count float64
    ping count
    Destination string
    Destination IP address
    Enable bool
    Interval float64
    ping interval
    Source string
    Source IP address
    name String
    count Double
    ping count
    destination String
    Destination IP address
    enable Boolean
    interval Double
    ping interval
    source String
    Source IP address
    name string
    count number
    ping count
    destination string
    Destination IP address
    enable boolean
    interval number
    ping interval
    source string
    Source IP address
    name str
    count float
    ping count
    destination str
    Destination IP address
    enable bool
    interval float
    ping interval
    source str
    Source IP address
    name String
    count Number
    ping count
    destination String
    Destination IP address
    enable Boolean
    interval Number
    ping interval
    source String
    Source IP address

    VirtualRouterRoutingTableIpv6StaticRouteRouteTable, VirtualRouterRoutingTableIpv6StaticRouteRouteTableArgs

    Package Details

    Repository
    panos paloaltonetworks/terraform-provider-panos
    License
    Notes
    This Pulumi package is based on the panos Terraform Provider.
    panos logo
    panos 2.0.0 published on Tuesday, Apr 15, 2025 by paloaltonetworks