Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as panos from "@pulumi/panos";
// Create a template for the BGP route map routing profile
const example = new panos.Template("example", {
location: {
panorama: {},
},
name: "bgp-route-map-template",
});
// Create supporting resources for match conditions
// IPv4 Access List for matching
const ipv4Acl = new panos.FiltersAccessListRoutingProfile("ipv4_acl", {
location: {
template: {
name: example.name,
},
},
name: "ipv4-acl-example",
description: "IPv4 access list for route map matching",
type: {
ipv4: {
ipv4Entries: [{
name: "10",
action: "permit",
sourceAddress: {
address: "any",
},
}],
},
},
});
// IPv4 Prefix List for matching
const ipv4Prefix = new panos.FiltersPrefixListRoutingProfile("ipv4_prefix", {
location: {
template: {
name: example.name,
},
},
name: "ipv4-prefix-example",
description: "IPv4 prefix list for route map matching",
type: {
ipv4: {
ipv4Entries: [{
name: "10",
action: "permit",
prefix: {
entry: {
network: "10.0.0.0/8",
},
},
}],
},
},
});
// Basic BGP Route Map - Simple Deny
const basicDeny = new panos.FiltersBgpRouteMapRoutingProfile("basic_deny", {
location: {
template: {
name: example.name,
},
},
name: "basic-deny-route-map",
description: "Simple route map that denies all routes",
routeMaps: [{
name: "10",
action: "deny",
description: "Deny all routes",
}],
});
// Advanced BGP Route Map - Match and Set Operations
const advanced = new panos.FiltersBgpRouteMapRoutingProfile("advanced", {
location: {
template: {
name: example.name,
},
},
name: "advanced-route-map",
description: "Advanced route map with match and set operations",
routeMaps: [
{
name: "10",
action: "permit",
description: "Match IPv4 address and set communities",
match: {
ipv4: {
address: {
accessList: ipv4Acl.name,
},
},
origin: "igp",
metric: 100,
localPreference: 200,
},
set: {
localPreference: 300,
weight: 500,
metric: {
value: 50,
action: "add",
},
regularCommunities: [
"65001:100",
"65001:200",
],
largeCommunities: [
"65001:100:200",
"65001:300:400",
],
aspathPrepends: [
65001,
65001,
],
},
},
{
name: "20",
action: "permit",
description: "Match prefix list and modify AS path",
match: {
ipv4: {
address: {
prefixList: ipv4Prefix.name,
},
},
},
set: {
origin: "incomplete",
metric: {
value: 100,
action: "set",
},
aspathExcludes: [65002],
},
},
{
name: "30",
action: "deny",
description: "Deny remaining routes",
},
],
}, {
dependsOn: [
ipv4Acl,
ipv4Prefix,
],
});
// Route Map with IPv4 Next-Hop Matching
const nexthopMatch = new panos.FiltersBgpRouteMapRoutingProfile("nexthop_match", {
location: {
template: {
name: example.name,
},
},
name: "nexthop-match-route-map",
description: "Route map matching on next-hop",
routeMaps: [{
name: "10",
action: "permit",
description: "Match next-hop and set attributes",
match: {
ipv4: {
nextHop: {
accessList: ipv4Acl.name,
},
},
},
set: {
localPreference: 150,
weight: 200,
},
}],
}, {
dependsOn: [ipv4Acl],
});
// Route Map with Aggregator and Origin Settings
const aggregator = new panos.FiltersBgpRouteMapRoutingProfile("aggregator", {
location: {
template: {
name: example.name,
},
},
name: "aggregator-route-map",
description: "Route map with aggregator and origin settings",
routeMaps: [{
name: "10",
action: "permit",
description: "Set aggregator and origin",
set: {
aggregator: {
as: 65001,
routerId: "192.0.2.1",
},
origin: "egp",
atomicAggregate: true,
originatorId: "192.0.2.2",
},
}],
});
// Route Map with Boolean Flags
const flags = new panos.FiltersBgpRouteMapRoutingProfile("flags", {
location: {
template: {
name: example.name,
},
},
name: "flags-route-map",
description: "Route map demonstrating boolean flags",
routeMaps: [{
name: "10",
action: "permit",
description: "Set various boolean flags",
set: {
atomicAggregate: true,
ipv6NexthopPreferGlobal: true,
overwriteRegularCommunity: true,
overwriteLargeCommunity: true,
},
}],
});
// Multiple Match Conditions
const multipleMatch = new panos.FiltersBgpRouteMapRoutingProfile("multiple_match", {
location: {
template: {
name: example.name,
},
},
name: "multiple-match-route-map",
description: "Route map with multiple match conditions",
routeMaps: [{
name: "10",
action: "permit",
description: "Match on multiple conditions",
match: {
origin: "igp",
metric: 100,
tag: 200,
localPreference: 150,
"interface": "ethernet1/1",
peer: "192.0.2.10",
},
set: {
tag: 300,
localPreference: 250,
weight: 500,
},
}],
});
import pulumi
import pulumi_panos as panos
# Create a template for the BGP route map routing profile
example = panos.Template("example",
location={
"panorama": {},
},
name="bgp-route-map-template")
# Create supporting resources for match conditions
# IPv4 Access List for matching
ipv4_acl = panos.FiltersAccessListRoutingProfile("ipv4_acl",
location={
"template": {
"name": example.name,
},
},
name="ipv4-acl-example",
description="IPv4 access list for route map matching",
type={
"ipv4": {
"ipv4_entries": [{
"name": "10",
"action": "permit",
"source_address": {
"address": "any",
},
}],
},
})
# IPv4 Prefix List for matching
ipv4_prefix = panos.FiltersPrefixListRoutingProfile("ipv4_prefix",
location={
"template": {
"name": example.name,
},
},
name="ipv4-prefix-example",
description="IPv4 prefix list for route map matching",
type={
"ipv4": {
"ipv4_entries": [{
"name": "10",
"action": "permit",
"prefix": {
"entry": {
"network": "10.0.0.0/8",
},
},
}],
},
})
# Basic BGP Route Map - Simple Deny
basic_deny = panos.FiltersBgpRouteMapRoutingProfile("basic_deny",
location={
"template": {
"name": example.name,
},
},
name="basic-deny-route-map",
description="Simple route map that denies all routes",
route_maps=[{
"name": "10",
"action": "deny",
"description": "Deny all routes",
}])
# Advanced BGP Route Map - Match and Set Operations
advanced = panos.FiltersBgpRouteMapRoutingProfile("advanced",
location={
"template": {
"name": example.name,
},
},
name="advanced-route-map",
description="Advanced route map with match and set operations",
route_maps=[
{
"name": "10",
"action": "permit",
"description": "Match IPv4 address and set communities",
"match": {
"ipv4": {
"address": {
"access_list": ipv4_acl.name,
},
},
"origin": "igp",
"metric": 100,
"local_preference": 200,
},
"set": {
"local_preference": 300,
"weight": 500,
"metric": {
"value": 50,
"action": "add",
},
"regular_communities": [
"65001:100",
"65001:200",
],
"large_communities": [
"65001:100:200",
"65001:300:400",
],
"aspath_prepends": [
65001,
65001,
],
},
},
{
"name": "20",
"action": "permit",
"description": "Match prefix list and modify AS path",
"match": {
"ipv4": {
"address": {
"prefix_list": ipv4_prefix.name,
},
},
},
"set": {
"origin": "incomplete",
"metric": {
"value": 100,
"action": "set",
},
"aspath_excludes": [65002],
},
},
{
"name": "30",
"action": "deny",
"description": "Deny remaining routes",
},
],
opts = pulumi.ResourceOptions(depends_on=[
ipv4_acl,
ipv4_prefix,
]))
# Route Map with IPv4 Next-Hop Matching
nexthop_match = panos.FiltersBgpRouteMapRoutingProfile("nexthop_match",
location={
"template": {
"name": example.name,
},
},
name="nexthop-match-route-map",
description="Route map matching on next-hop",
route_maps=[{
"name": "10",
"action": "permit",
"description": "Match next-hop and set attributes",
"match": {
"ipv4": {
"next_hop": {
"access_list": ipv4_acl.name,
},
},
},
"set": {
"local_preference": 150,
"weight": 200,
},
}],
opts = pulumi.ResourceOptions(depends_on=[ipv4_acl]))
# Route Map with Aggregator and Origin Settings
aggregator = panos.FiltersBgpRouteMapRoutingProfile("aggregator",
location={
"template": {
"name": example.name,
},
},
name="aggregator-route-map",
description="Route map with aggregator and origin settings",
route_maps=[{
"name": "10",
"action": "permit",
"description": "Set aggregator and origin",
"set": {
"aggregator": {
"as_": 65001,
"router_id": "192.0.2.1",
},
"origin": "egp",
"atomic_aggregate": True,
"originator_id": "192.0.2.2",
},
}])
# Route Map with Boolean Flags
flags = panos.FiltersBgpRouteMapRoutingProfile("flags",
location={
"template": {
"name": example.name,
},
},
name="flags-route-map",
description="Route map demonstrating boolean flags",
route_maps=[{
"name": "10",
"action": "permit",
"description": "Set various boolean flags",
"set": {
"atomic_aggregate": True,
"ipv6_nexthop_prefer_global": True,
"overwrite_regular_community": True,
"overwrite_large_community": True,
},
}])
# Multiple Match Conditions
multiple_match = panos.FiltersBgpRouteMapRoutingProfile("multiple_match",
location={
"template": {
"name": example.name,
},
},
name="multiple-match-route-map",
description="Route map with multiple match conditions",
route_maps=[{
"name": "10",
"action": "permit",
"description": "Match on multiple conditions",
"match": {
"origin": "igp",
"metric": 100,
"tag": 200,
"local_preference": 150,
"interface": "ethernet1/1",
"peer": "192.0.2.10",
},
"set": {
"tag": 300,
"local_preference": 250,
"weight": 500,
},
}])
package main
import (
"github.com/pulumi/pulumi-terraform-provider/sdks/go/panos/v2/panos"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
// Create a template for the BGP route map routing profile
example, err := panos.NewTemplate(ctx, "example", &panos.TemplateArgs{
Location: &panos.TemplateLocationArgs{
Panorama: &panos.TemplateLocationPanoramaArgs{},
},
Name: pulumi.String("bgp-route-map-template"),
})
if err != nil {
return err
}
// IPv4 Access List for matching
ipv4Acl, err := panos.NewFiltersAccessListRoutingProfile(ctx, "ipv4_acl", &panos.FiltersAccessListRoutingProfileArgs{
Location: &panos.FiltersAccessListRoutingProfileLocationArgs{
Template: &panos.FiltersAccessListRoutingProfileLocationTemplateArgs{
Name: example.Name,
},
},
Name: pulumi.String("ipv4-acl-example"),
Description: pulumi.String("IPv4 access list for route map matching"),
Type: &panos.FiltersAccessListRoutingProfileTypeArgs{
Ipv4: &panos.FiltersAccessListRoutingProfileTypeIpv4Args{
Ipv4Entries: panos.FiltersAccessListRoutingProfileTypeIpv4Ipv4EntryArray{
&panos.FiltersAccessListRoutingProfileTypeIpv4Ipv4EntryArgs{
Name: pulumi.String("10"),
Action: pulumi.String("permit"),
SourceAddress: &panos.FiltersAccessListRoutingProfileTypeIpv4Ipv4EntrySourceAddressArgs{
Address: pulumi.String("any"),
},
},
},
},
},
})
if err != nil {
return err
}
// IPv4 Prefix List for matching
ipv4Prefix, err := panos.NewFiltersPrefixListRoutingProfile(ctx, "ipv4_prefix", &panos.FiltersPrefixListRoutingProfileArgs{
Location: &panos.FiltersPrefixListRoutingProfileLocationArgs{
Template: &panos.FiltersPrefixListRoutingProfileLocationTemplateArgs{
Name: example.Name,
},
},
Name: pulumi.String("ipv4-prefix-example"),
Description: pulumi.String("IPv4 prefix list for route map matching"),
Type: &panos.FiltersPrefixListRoutingProfileTypeArgs{
Ipv4: &panos.FiltersPrefixListRoutingProfileTypeIpv4Args{
Ipv4Entries: panos.FiltersPrefixListRoutingProfileTypeIpv4Ipv4EntryArray{
&panos.FiltersPrefixListRoutingProfileTypeIpv4Ipv4EntryArgs{
Name: pulumi.String("10"),
Action: pulumi.String("permit"),
Prefix: &panos.FiltersPrefixListRoutingProfileTypeIpv4Ipv4EntryPrefixArgs{
Entry: &panos.FiltersPrefixListRoutingProfileTypeIpv4Ipv4EntryPrefixEntryArgs{
Network: pulumi.String("10.0.0.0/8"),
},
},
},
},
},
},
})
if err != nil {
return err
}
// Basic BGP Route Map - Simple Deny
_, err = panos.NewFiltersBgpRouteMapRoutingProfile(ctx, "basic_deny", &panos.FiltersBgpRouteMapRoutingProfileArgs{
Location: &panos.FiltersBgpRouteMapRoutingProfileLocationArgs{
Template: &panos.FiltersBgpRouteMapRoutingProfileLocationTemplateArgs{
Name: example.Name,
},
},
Name: pulumi.String("basic-deny-route-map"),
Description: pulumi.String("Simple route map that denies all routes"),
RouteMaps: panos.FiltersBgpRouteMapRoutingProfileRouteMapArray{
&panos.FiltersBgpRouteMapRoutingProfileRouteMapArgs{
Name: pulumi.String("10"),
Action: pulumi.String("deny"),
Description: pulumi.String("Deny all routes"),
},
},
})
if err != nil {
return err
}
// Advanced BGP Route Map - Match and Set Operations
_, err = panos.NewFiltersBgpRouteMapRoutingProfile(ctx, "advanced", &panos.FiltersBgpRouteMapRoutingProfileArgs{
Location: &panos.FiltersBgpRouteMapRoutingProfileLocationArgs{
Template: &panos.FiltersBgpRouteMapRoutingProfileLocationTemplateArgs{
Name: example.Name,
},
},
Name: pulumi.String("advanced-route-map"),
Description: pulumi.String("Advanced route map with match and set operations"),
RouteMaps: panos.FiltersBgpRouteMapRoutingProfileRouteMapArray{
&panos.FiltersBgpRouteMapRoutingProfileRouteMapArgs{
Name: pulumi.String("10"),
Action: pulumi.String("permit"),
Description: pulumi.String("Match IPv4 address and set communities"),
Match: &panos.FiltersBgpRouteMapRoutingProfileRouteMapMatchArgs{
Ipv4: &panos.FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4Args{
Address: &panos.FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4AddressArgs{
AccessList: ipv4Acl.Name,
},
},
Origin: pulumi.String("igp"),
Metric: pulumi.Float64(100),
LocalPreference: pulumi.Float64(200),
},
Set: &panos.FiltersBgpRouteMapRoutingProfileRouteMapSetArgs{
LocalPreference: pulumi.Float64(300),
Weight: pulumi.Float64(500),
Metric: &panos.FiltersBgpRouteMapRoutingProfileRouteMapSetMetricArgs{
Value: pulumi.Float64(50),
Action: pulumi.String("add"),
},
RegularCommunities: pulumi.StringArray{
pulumi.String("65001:100"),
pulumi.String("65001:200"),
},
LargeCommunities: pulumi.StringArray{
pulumi.String("65001:100:200"),
pulumi.String("65001:300:400"),
},
AspathPrepends: pulumi.Float64Array{
pulumi.Float64(65001),
pulumi.Float64(65001),
},
},
},
&panos.FiltersBgpRouteMapRoutingProfileRouteMapArgs{
Name: pulumi.String("20"),
Action: pulumi.String("permit"),
Description: pulumi.String("Match prefix list and modify AS path"),
Match: &panos.FiltersBgpRouteMapRoutingProfileRouteMapMatchArgs{
Ipv4: &panos.FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4Args{
Address: &panos.FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4AddressArgs{
PrefixList: ipv4Prefix.Name,
},
},
},
Set: &panos.FiltersBgpRouteMapRoutingProfileRouteMapSetArgs{
Origin: pulumi.String("incomplete"),
Metric: &panos.FiltersBgpRouteMapRoutingProfileRouteMapSetMetricArgs{
Value: pulumi.Float64(100),
Action: pulumi.String("set"),
},
AspathExcludes: pulumi.Float64Array{
pulumi.Float64(65002),
},
},
},
&panos.FiltersBgpRouteMapRoutingProfileRouteMapArgs{
Name: pulumi.String("30"),
Action: pulumi.String("deny"),
Description: pulumi.String("Deny remaining routes"),
},
},
}, pulumi.DependsOn([]pulumi.Resource{
ipv4Acl,
ipv4Prefix,
}))
if err != nil {
return err
}
// Route Map with IPv4 Next-Hop Matching
_, err = panos.NewFiltersBgpRouteMapRoutingProfile(ctx, "nexthop_match", &panos.FiltersBgpRouteMapRoutingProfileArgs{
Location: &panos.FiltersBgpRouteMapRoutingProfileLocationArgs{
Template: &panos.FiltersBgpRouteMapRoutingProfileLocationTemplateArgs{
Name: example.Name,
},
},
Name: pulumi.String("nexthop-match-route-map"),
Description: pulumi.String("Route map matching on next-hop"),
RouteMaps: panos.FiltersBgpRouteMapRoutingProfileRouteMapArray{
&panos.FiltersBgpRouteMapRoutingProfileRouteMapArgs{
Name: pulumi.String("10"),
Action: pulumi.String("permit"),
Description: pulumi.String("Match next-hop and set attributes"),
Match: &panos.FiltersBgpRouteMapRoutingProfileRouteMapMatchArgs{
Ipv4: &panos.FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4Args{
NextHop: &panos.FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4NextHopArgs{
AccessList: ipv4Acl.Name,
},
},
},
Set: &panos.FiltersBgpRouteMapRoutingProfileRouteMapSetArgs{
LocalPreference: pulumi.Float64(150),
Weight: pulumi.Float64(200),
},
},
},
}, pulumi.DependsOn([]pulumi.Resource{
ipv4Acl,
}))
if err != nil {
return err
}
// Route Map with Aggregator and Origin Settings
_, err = panos.NewFiltersBgpRouteMapRoutingProfile(ctx, "aggregator", &panos.FiltersBgpRouteMapRoutingProfileArgs{
Location: &panos.FiltersBgpRouteMapRoutingProfileLocationArgs{
Template: &panos.FiltersBgpRouteMapRoutingProfileLocationTemplateArgs{
Name: example.Name,
},
},
Name: pulumi.String("aggregator-route-map"),
Description: pulumi.String("Route map with aggregator and origin settings"),
RouteMaps: panos.FiltersBgpRouteMapRoutingProfileRouteMapArray{
&panos.FiltersBgpRouteMapRoutingProfileRouteMapArgs{
Name: pulumi.String("10"),
Action: pulumi.String("permit"),
Description: pulumi.String("Set aggregator and origin"),
Set: &panos.FiltersBgpRouteMapRoutingProfileRouteMapSetArgs{
Aggregator: &panos.FiltersBgpRouteMapRoutingProfileRouteMapSetAggregatorArgs{
As: pulumi.Float64(65001),
RouterId: pulumi.String("192.0.2.1"),
},
Origin: pulumi.String("egp"),
AtomicAggregate: pulumi.Bool(true),
OriginatorId: pulumi.String("192.0.2.2"),
},
},
},
})
if err != nil {
return err
}
// Route Map with Boolean Flags
_, err = panos.NewFiltersBgpRouteMapRoutingProfile(ctx, "flags", &panos.FiltersBgpRouteMapRoutingProfileArgs{
Location: &panos.FiltersBgpRouteMapRoutingProfileLocationArgs{
Template: &panos.FiltersBgpRouteMapRoutingProfileLocationTemplateArgs{
Name: example.Name,
},
},
Name: pulumi.String("flags-route-map"),
Description: pulumi.String("Route map demonstrating boolean flags"),
RouteMaps: panos.FiltersBgpRouteMapRoutingProfileRouteMapArray{
&panos.FiltersBgpRouteMapRoutingProfileRouteMapArgs{
Name: pulumi.String("10"),
Action: pulumi.String("permit"),
Description: pulumi.String("Set various boolean flags"),
Set: &panos.FiltersBgpRouteMapRoutingProfileRouteMapSetArgs{
AtomicAggregate: pulumi.Bool(true),
Ipv6NexthopPreferGlobal: pulumi.Bool(true),
OverwriteRegularCommunity: pulumi.Bool(true),
OverwriteLargeCommunity: pulumi.Bool(true),
},
},
},
})
if err != nil {
return err
}
// Multiple Match Conditions
_, err = panos.NewFiltersBgpRouteMapRoutingProfile(ctx, "multiple_match", &panos.FiltersBgpRouteMapRoutingProfileArgs{
Location: &panos.FiltersBgpRouteMapRoutingProfileLocationArgs{
Template: &panos.FiltersBgpRouteMapRoutingProfileLocationTemplateArgs{
Name: example.Name,
},
},
Name: pulumi.String("multiple-match-route-map"),
Description: pulumi.String("Route map with multiple match conditions"),
RouteMaps: panos.FiltersBgpRouteMapRoutingProfileRouteMapArray{
&panos.FiltersBgpRouteMapRoutingProfileRouteMapArgs{
Name: pulumi.String("10"),
Action: pulumi.String("permit"),
Description: pulumi.String("Match on multiple conditions"),
Match: &panos.FiltersBgpRouteMapRoutingProfileRouteMapMatchArgs{
Origin: pulumi.String("igp"),
Metric: pulumi.Float64(100),
Tag: pulumi.Float64(200),
LocalPreference: pulumi.Float64(150),
Interface: pulumi.String("ethernet1/1"),
Peer: pulumi.String("192.0.2.10"),
},
Set: &panos.FiltersBgpRouteMapRoutingProfileRouteMapSetArgs{
Tag: pulumi.Float64(300),
LocalPreference: pulumi.Float64(250),
Weight: pulumi.Float64(500),
},
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Panos = Pulumi.Panos;
return await Deployment.RunAsync(() =>
{
// Create a template for the BGP route map routing profile
var example = new Panos.Template("example", new()
{
Location = new Panos.Inputs.TemplateLocationArgs
{
Panorama = null,
},
Name = "bgp-route-map-template",
});
// Create supporting resources for match conditions
// IPv4 Access List for matching
var ipv4Acl = new Panos.FiltersAccessListRoutingProfile("ipv4_acl", new()
{
Location = new Panos.Inputs.FiltersAccessListRoutingProfileLocationArgs
{
Template = new Panos.Inputs.FiltersAccessListRoutingProfileLocationTemplateArgs
{
Name = example.Name,
},
},
Name = "ipv4-acl-example",
Description = "IPv4 access list for route map matching",
Type = new Panos.Inputs.FiltersAccessListRoutingProfileTypeArgs
{
Ipv4 = new Panos.Inputs.FiltersAccessListRoutingProfileTypeIpv4Args
{
Ipv4Entries = new[]
{
new Panos.Inputs.FiltersAccessListRoutingProfileTypeIpv4Ipv4EntryArgs
{
Name = "10",
Action = "permit",
SourceAddress = new Panos.Inputs.FiltersAccessListRoutingProfileTypeIpv4Ipv4EntrySourceAddressArgs
{
Address = "any",
},
},
},
},
},
});
// IPv4 Prefix List for matching
var ipv4Prefix = new Panos.FiltersPrefixListRoutingProfile("ipv4_prefix", new()
{
Location = new Panos.Inputs.FiltersPrefixListRoutingProfileLocationArgs
{
Template = new Panos.Inputs.FiltersPrefixListRoutingProfileLocationTemplateArgs
{
Name = example.Name,
},
},
Name = "ipv4-prefix-example",
Description = "IPv4 prefix list for route map matching",
Type = new Panos.Inputs.FiltersPrefixListRoutingProfileTypeArgs
{
Ipv4 = new Panos.Inputs.FiltersPrefixListRoutingProfileTypeIpv4Args
{
Ipv4Entries = new[]
{
new Panos.Inputs.FiltersPrefixListRoutingProfileTypeIpv4Ipv4EntryArgs
{
Name = "10",
Action = "permit",
Prefix = new Panos.Inputs.FiltersPrefixListRoutingProfileTypeIpv4Ipv4EntryPrefixArgs
{
Entry = new Panos.Inputs.FiltersPrefixListRoutingProfileTypeIpv4Ipv4EntryPrefixEntryArgs
{
Network = "10.0.0.0/8",
},
},
},
},
},
},
});
// Basic BGP Route Map - Simple Deny
var basicDeny = new Panos.FiltersBgpRouteMapRoutingProfile("basic_deny", new()
{
Location = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileLocationArgs
{
Template = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileLocationTemplateArgs
{
Name = example.Name,
},
},
Name = "basic-deny-route-map",
Description = "Simple route map that denies all routes",
RouteMaps = new[]
{
new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapArgs
{
Name = "10",
Action = "deny",
Description = "Deny all routes",
},
},
});
// Advanced BGP Route Map - Match and Set Operations
var advanced = new Panos.FiltersBgpRouteMapRoutingProfile("advanced", new()
{
Location = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileLocationArgs
{
Template = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileLocationTemplateArgs
{
Name = example.Name,
},
},
Name = "advanced-route-map",
Description = "Advanced route map with match and set operations",
RouteMaps = new[]
{
new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapArgs
{
Name = "10",
Action = "permit",
Description = "Match IPv4 address and set communities",
Match = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapMatchArgs
{
Ipv4 = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4Args
{
Address = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4AddressArgs
{
AccessList = ipv4Acl.Name,
},
},
Origin = "igp",
Metric = 100,
LocalPreference = 200,
},
Set = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapSetArgs
{
LocalPreference = 300,
Weight = 500,
Metric = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapSetMetricArgs
{
Value = 50,
Action = "add",
},
RegularCommunities = new[]
{
"65001:100",
"65001:200",
},
LargeCommunities = new[]
{
"65001:100:200",
"65001:300:400",
},
AspathPrepends = new[]
{
65001,
65001,
},
},
},
new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapArgs
{
Name = "20",
Action = "permit",
Description = "Match prefix list and modify AS path",
Match = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapMatchArgs
{
Ipv4 = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4Args
{
Address = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4AddressArgs
{
PrefixList = ipv4Prefix.Name,
},
},
},
Set = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapSetArgs
{
Origin = "incomplete",
Metric = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapSetMetricArgs
{
Value = 100,
Action = "set",
},
AspathExcludes = new[]
{
65002,
},
},
},
new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapArgs
{
Name = "30",
Action = "deny",
Description = "Deny remaining routes",
},
},
}, new CustomResourceOptions
{
DependsOn =
{
ipv4Acl,
ipv4Prefix,
},
});
// Route Map with IPv4 Next-Hop Matching
var nexthopMatch = new Panos.FiltersBgpRouteMapRoutingProfile("nexthop_match", new()
{
Location = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileLocationArgs
{
Template = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileLocationTemplateArgs
{
Name = example.Name,
},
},
Name = "nexthop-match-route-map",
Description = "Route map matching on next-hop",
RouteMaps = new[]
{
new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapArgs
{
Name = "10",
Action = "permit",
Description = "Match next-hop and set attributes",
Match = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapMatchArgs
{
Ipv4 = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4Args
{
NextHop = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4NextHopArgs
{
AccessList = ipv4Acl.Name,
},
},
},
Set = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapSetArgs
{
LocalPreference = 150,
Weight = 200,
},
},
},
}, new CustomResourceOptions
{
DependsOn =
{
ipv4Acl,
},
});
// Route Map with Aggregator and Origin Settings
var aggregator = new Panos.FiltersBgpRouteMapRoutingProfile("aggregator", new()
{
Location = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileLocationArgs
{
Template = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileLocationTemplateArgs
{
Name = example.Name,
},
},
Name = "aggregator-route-map",
Description = "Route map with aggregator and origin settings",
RouteMaps = new[]
{
new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapArgs
{
Name = "10",
Action = "permit",
Description = "Set aggregator and origin",
Set = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapSetArgs
{
Aggregator = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapSetAggregatorArgs
{
As = 65001,
RouterId = "192.0.2.1",
},
Origin = "egp",
AtomicAggregate = true,
OriginatorId = "192.0.2.2",
},
},
},
});
// Route Map with Boolean Flags
var flags = new Panos.FiltersBgpRouteMapRoutingProfile("flags", new()
{
Location = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileLocationArgs
{
Template = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileLocationTemplateArgs
{
Name = example.Name,
},
},
Name = "flags-route-map",
Description = "Route map demonstrating boolean flags",
RouteMaps = new[]
{
new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapArgs
{
Name = "10",
Action = "permit",
Description = "Set various boolean flags",
Set = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapSetArgs
{
AtomicAggregate = true,
Ipv6NexthopPreferGlobal = true,
OverwriteRegularCommunity = true,
OverwriteLargeCommunity = true,
},
},
},
});
// Multiple Match Conditions
var multipleMatch = new Panos.FiltersBgpRouteMapRoutingProfile("multiple_match", new()
{
Location = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileLocationArgs
{
Template = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileLocationTemplateArgs
{
Name = example.Name,
},
},
Name = "multiple-match-route-map",
Description = "Route map with multiple match conditions",
RouteMaps = new[]
{
new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapArgs
{
Name = "10",
Action = "permit",
Description = "Match on multiple conditions",
Match = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapMatchArgs
{
Origin = "igp",
Metric = 100,
Tag = 200,
LocalPreference = 150,
Interface = "ethernet1/1",
Peer = "192.0.2.10",
},
Set = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapSetArgs
{
Tag = 300,
LocalPreference = 250,
Weight = 500,
},
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.panos.Template;
import com.pulumi.panos.TemplateArgs;
import com.pulumi.panos.inputs.TemplateLocationArgs;
import com.pulumi.panos.inputs.TemplateLocationPanoramaArgs;
import com.pulumi.panos.FiltersAccessListRoutingProfile;
import com.pulumi.panos.FiltersAccessListRoutingProfileArgs;
import com.pulumi.panos.inputs.FiltersAccessListRoutingProfileLocationArgs;
import com.pulumi.panos.inputs.FiltersAccessListRoutingProfileLocationTemplateArgs;
import com.pulumi.panos.inputs.FiltersAccessListRoutingProfileTypeArgs;
import com.pulumi.panos.inputs.FiltersAccessListRoutingProfileTypeIpv4Args;
import com.pulumi.panos.FiltersPrefixListRoutingProfile;
import com.pulumi.panos.FiltersPrefixListRoutingProfileArgs;
import com.pulumi.panos.inputs.FiltersPrefixListRoutingProfileLocationArgs;
import com.pulumi.panos.inputs.FiltersPrefixListRoutingProfileLocationTemplateArgs;
import com.pulumi.panos.inputs.FiltersPrefixListRoutingProfileTypeArgs;
import com.pulumi.panos.inputs.FiltersPrefixListRoutingProfileTypeIpv4Args;
import com.pulumi.panos.FiltersBgpRouteMapRoutingProfile;
import com.pulumi.panos.FiltersBgpRouteMapRoutingProfileArgs;
import com.pulumi.panos.inputs.FiltersBgpRouteMapRoutingProfileLocationArgs;
import com.pulumi.panos.inputs.FiltersBgpRouteMapRoutingProfileLocationTemplateArgs;
import com.pulumi.panos.inputs.FiltersBgpRouteMapRoutingProfileRouteMapArgs;
import com.pulumi.panos.inputs.FiltersBgpRouteMapRoutingProfileRouteMapMatchArgs;
import com.pulumi.panos.inputs.FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4Args;
import com.pulumi.panos.inputs.FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4AddressArgs;
import com.pulumi.panos.inputs.FiltersBgpRouteMapRoutingProfileRouteMapSetArgs;
import com.pulumi.panos.inputs.FiltersBgpRouteMapRoutingProfileRouteMapSetMetricArgs;
import com.pulumi.panos.inputs.FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4NextHopArgs;
import com.pulumi.panos.inputs.FiltersBgpRouteMapRoutingProfileRouteMapSetAggregatorArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
// Create a template for the BGP route map routing profile
var example = new Template("example", TemplateArgs.builder()
.location(TemplateLocationArgs.builder()
.panorama(TemplateLocationPanoramaArgs.builder()
.build())
.build())
.name("bgp-route-map-template")
.build());
// Create supporting resources for match conditions
// IPv4 Access List for matching
var ipv4Acl = new FiltersAccessListRoutingProfile("ipv4Acl", FiltersAccessListRoutingProfileArgs.builder()
.location(FiltersAccessListRoutingProfileLocationArgs.builder()
.template(FiltersAccessListRoutingProfileLocationTemplateArgs.builder()
.name(example.name())
.build())
.build())
.name("ipv4-acl-example")
.description("IPv4 access list for route map matching")
.type(FiltersAccessListRoutingProfileTypeArgs.builder()
.ipv4(FiltersAccessListRoutingProfileTypeIpv4Args.builder()
.ipv4Entries(FiltersAccessListRoutingProfileTypeIpv4Ipv4EntryArgs.builder()
.name("10")
.action("permit")
.sourceAddress(FiltersAccessListRoutingProfileTypeIpv4Ipv4EntrySourceAddressArgs.builder()
.address("any")
.build())
.build())
.build())
.build())
.build());
// IPv4 Prefix List for matching
var ipv4Prefix = new FiltersPrefixListRoutingProfile("ipv4Prefix", FiltersPrefixListRoutingProfileArgs.builder()
.location(FiltersPrefixListRoutingProfileLocationArgs.builder()
.template(FiltersPrefixListRoutingProfileLocationTemplateArgs.builder()
.name(example.name())
.build())
.build())
.name("ipv4-prefix-example")
.description("IPv4 prefix list for route map matching")
.type(FiltersPrefixListRoutingProfileTypeArgs.builder()
.ipv4(FiltersPrefixListRoutingProfileTypeIpv4Args.builder()
.ipv4Entries(FiltersPrefixListRoutingProfileTypeIpv4Ipv4EntryArgs.builder()
.name("10")
.action("permit")
.prefix(FiltersPrefixListRoutingProfileTypeIpv4Ipv4EntryPrefixArgs.builder()
.entry(FiltersPrefixListRoutingProfileTypeIpv4Ipv4EntryPrefixEntryArgs.builder()
.network("10.0.0.0/8")
.build())
.build())
.build())
.build())
.build())
.build());
// Basic BGP Route Map - Simple Deny
var basicDeny = new FiltersBgpRouteMapRoutingProfile("basicDeny", FiltersBgpRouteMapRoutingProfileArgs.builder()
.location(FiltersBgpRouteMapRoutingProfileLocationArgs.builder()
.template(FiltersBgpRouteMapRoutingProfileLocationTemplateArgs.builder()
.name(example.name())
.build())
.build())
.name("basic-deny-route-map")
.description("Simple route map that denies all routes")
.routeMaps(FiltersBgpRouteMapRoutingProfileRouteMapArgs.builder()
.name("10")
.action("deny")
.description("Deny all routes")
.build())
.build());
// Advanced BGP Route Map - Match and Set Operations
var advanced = new FiltersBgpRouteMapRoutingProfile("advanced", FiltersBgpRouteMapRoutingProfileArgs.builder()
.location(FiltersBgpRouteMapRoutingProfileLocationArgs.builder()
.template(FiltersBgpRouteMapRoutingProfileLocationTemplateArgs.builder()
.name(example.name())
.build())
.build())
.name("advanced-route-map")
.description("Advanced route map with match and set operations")
.routeMaps(
FiltersBgpRouteMapRoutingProfileRouteMapArgs.builder()
.name("10")
.action("permit")
.description("Match IPv4 address and set communities")
.match(FiltersBgpRouteMapRoutingProfileRouteMapMatchArgs.builder()
.ipv4(FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4Args.builder()
.address(FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4AddressArgs.builder()
.accessList(ipv4Acl.name())
.build())
.build())
.origin("igp")
.metric(100.0)
.localPreference(200.0)
.build())
.set(FiltersBgpRouteMapRoutingProfileRouteMapSetArgs.builder()
.localPreference(300.0)
.weight(500.0)
.metric(FiltersBgpRouteMapRoutingProfileRouteMapSetMetricArgs.builder()
.value(50.0)
.action("add")
.build())
.regularCommunities(
"65001:100",
"65001:200")
.largeCommunities(
"65001:100:200",
"65001:300:400")
.aspathPrepends(
65001.0,
65001.0)
.build())
.build(),
FiltersBgpRouteMapRoutingProfileRouteMapArgs.builder()
.name("20")
.action("permit")
.description("Match prefix list and modify AS path")
.match(FiltersBgpRouteMapRoutingProfileRouteMapMatchArgs.builder()
.ipv4(FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4Args.builder()
.address(FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4AddressArgs.builder()
.prefixList(ipv4Prefix.name())
.build())
.build())
.build())
.set(FiltersBgpRouteMapRoutingProfileRouteMapSetArgs.builder()
.origin("incomplete")
.metric(FiltersBgpRouteMapRoutingProfileRouteMapSetMetricArgs.builder()
.value(100.0)
.action("set")
.build())
.aspathExcludes(65002.0)
.build())
.build(),
FiltersBgpRouteMapRoutingProfileRouteMapArgs.builder()
.name("30")
.action("deny")
.description("Deny remaining routes")
.build())
.build(), CustomResourceOptions.builder()
.dependsOn(
ipv4Acl,
ipv4Prefix)
.build());
// Route Map with IPv4 Next-Hop Matching
var nexthopMatch = new FiltersBgpRouteMapRoutingProfile("nexthopMatch", FiltersBgpRouteMapRoutingProfileArgs.builder()
.location(FiltersBgpRouteMapRoutingProfileLocationArgs.builder()
.template(FiltersBgpRouteMapRoutingProfileLocationTemplateArgs.builder()
.name(example.name())
.build())
.build())
.name("nexthop-match-route-map")
.description("Route map matching on next-hop")
.routeMaps(FiltersBgpRouteMapRoutingProfileRouteMapArgs.builder()
.name("10")
.action("permit")
.description("Match next-hop and set attributes")
.match(FiltersBgpRouteMapRoutingProfileRouteMapMatchArgs.builder()
.ipv4(FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4Args.builder()
.nextHop(FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4NextHopArgs.builder()
.accessList(ipv4Acl.name())
.build())
.build())
.build())
.set(FiltersBgpRouteMapRoutingProfileRouteMapSetArgs.builder()
.localPreference(150.0)
.weight(200.0)
.build())
.build())
.build(), CustomResourceOptions.builder()
.dependsOn(ipv4Acl)
.build());
// Route Map with Aggregator and Origin Settings
var aggregator = new FiltersBgpRouteMapRoutingProfile("aggregator", FiltersBgpRouteMapRoutingProfileArgs.builder()
.location(FiltersBgpRouteMapRoutingProfileLocationArgs.builder()
.template(FiltersBgpRouteMapRoutingProfileLocationTemplateArgs.builder()
.name(example.name())
.build())
.build())
.name("aggregator-route-map")
.description("Route map with aggregator and origin settings")
.routeMaps(FiltersBgpRouteMapRoutingProfileRouteMapArgs.builder()
.name("10")
.action("permit")
.description("Set aggregator and origin")
.set(FiltersBgpRouteMapRoutingProfileRouteMapSetArgs.builder()
.aggregator(FiltersBgpRouteMapRoutingProfileRouteMapSetAggregatorArgs.builder()
.as(65001.0)
.routerId("192.0.2.1")
.build())
.origin("egp")
.atomicAggregate(true)
.originatorId("192.0.2.2")
.build())
.build())
.build());
// Route Map with Boolean Flags
var flags = new FiltersBgpRouteMapRoutingProfile("flags", FiltersBgpRouteMapRoutingProfileArgs.builder()
.location(FiltersBgpRouteMapRoutingProfileLocationArgs.builder()
.template(FiltersBgpRouteMapRoutingProfileLocationTemplateArgs.builder()
.name(example.name())
.build())
.build())
.name("flags-route-map")
.description("Route map demonstrating boolean flags")
.routeMaps(FiltersBgpRouteMapRoutingProfileRouteMapArgs.builder()
.name("10")
.action("permit")
.description("Set various boolean flags")
.set(FiltersBgpRouteMapRoutingProfileRouteMapSetArgs.builder()
.atomicAggregate(true)
.ipv6NexthopPreferGlobal(true)
.overwriteRegularCommunity(true)
.overwriteLargeCommunity(true)
.build())
.build())
.build());
// Multiple Match Conditions
var multipleMatch = new FiltersBgpRouteMapRoutingProfile("multipleMatch", FiltersBgpRouteMapRoutingProfileArgs.builder()
.location(FiltersBgpRouteMapRoutingProfileLocationArgs.builder()
.template(FiltersBgpRouteMapRoutingProfileLocationTemplateArgs.builder()
.name(example.name())
.build())
.build())
.name("multiple-match-route-map")
.description("Route map with multiple match conditions")
.routeMaps(FiltersBgpRouteMapRoutingProfileRouteMapArgs.builder()
.name("10")
.action("permit")
.description("Match on multiple conditions")
.match(FiltersBgpRouteMapRoutingProfileRouteMapMatchArgs.builder()
.origin("igp")
.metric(100.0)
.tag(200.0)
.localPreference(150.0)
.interface_("ethernet1/1")
.peer("192.0.2.10")
.build())
.set(FiltersBgpRouteMapRoutingProfileRouteMapSetArgs.builder()
.tag(300.0)
.localPreference(250.0)
.weight(500.0)
.build())
.build())
.build());
}
}
resources:
# Create a template for the BGP route map routing profile
example: # Create supporting resources for match conditions
type: panos:Template
properties:
location:
panorama: {}
name: bgp-route-map-template
# IPv4 Access List for matching
ipv4Acl:
type: panos:FiltersAccessListRoutingProfile
name: ipv4_acl
properties:
location:
template:
name: ${example.name}
name: ipv4-acl-example
description: IPv4 access list for route map matching
type:
ipv4:
ipv4Entries:
- name: '10'
action: permit
sourceAddress:
address: any
# IPv4 Prefix List for matching
ipv4Prefix:
type: panos:FiltersPrefixListRoutingProfile
name: ipv4_prefix
properties:
location:
template:
name: ${example.name}
name: ipv4-prefix-example
description: IPv4 prefix list for route map matching
type:
ipv4:
ipv4Entries:
- name: '10'
action: permit
prefix:
entry:
network: 10.0.0.0/8
# Basic BGP Route Map - Simple Deny
basicDeny:
type: panos:FiltersBgpRouteMapRoutingProfile
name: basic_deny
properties:
location:
template:
name: ${example.name}
name: basic-deny-route-map
description: Simple route map that denies all routes
routeMaps:
- name: '10'
action: deny
description: Deny all routes
# Advanced BGP Route Map - Match and Set Operations
advanced:
type: panos:FiltersBgpRouteMapRoutingProfile
properties:
location:
template:
name: ${example.name}
name: advanced-route-map
description: Advanced route map with match and set operations
routeMaps:
- name: '10'
action: permit
description: Match IPv4 address and set communities
match:
ipv4:
address:
accessList: ${ipv4Acl.name}
origin: igp
metric: 100
localPreference: 200
set:
localPreference: 300
weight: 500
metric:
value: 50
action: add
regularCommunities:
- 65001:100
- 65001:200
largeCommunities:
- 65001:100:200
- 65001:300:400
aspathPrepends:
- 65001
- 65001
- name: '20'
action: permit
description: Match prefix list and modify AS path
match:
ipv4:
address:
prefixList: ${ipv4Prefix.name}
set:
origin: incomplete
metric:
value: 100
action: set
aspathExcludes:
- 65002
- name: '30'
action: deny
description: Deny remaining routes
options:
dependsOn:
- ${ipv4Acl}
- ${ipv4Prefix}
# Route Map with IPv4 Next-Hop Matching
nexthopMatch:
type: panos:FiltersBgpRouteMapRoutingProfile
name: nexthop_match
properties:
location:
template:
name: ${example.name}
name: nexthop-match-route-map
description: Route map matching on next-hop
routeMaps:
- name: '10'
action: permit
description: Match next-hop and set attributes
match:
ipv4:
nextHop:
accessList: ${ipv4Acl.name}
set:
localPreference: 150
weight: 200
options:
dependsOn:
- ${ipv4Acl}
# Route Map with Aggregator and Origin Settings
aggregator:
type: panos:FiltersBgpRouteMapRoutingProfile
properties:
location:
template:
name: ${example.name}
name: aggregator-route-map
description: Route map with aggregator and origin settings
routeMaps:
- name: '10'
action: permit
description: Set aggregator and origin
set:
aggregator:
as: 65001
routerId: 192.0.2.1
origin: egp
atomicAggregate: true
originatorId: 192.0.2.2
# Route Map with Boolean Flags
flags:
type: panos:FiltersBgpRouteMapRoutingProfile
properties:
location:
template:
name: ${example.name}
name: flags-route-map
description: Route map demonstrating boolean flags
routeMaps:
- name: '10'
action: permit
description: Set various boolean flags
set:
atomicAggregate: true
ipv6NexthopPreferGlobal: true
overwriteRegularCommunity: true
overwriteLargeCommunity: true
# Multiple Match Conditions
multipleMatch:
type: panos:FiltersBgpRouteMapRoutingProfile
name: multiple_match
properties:
location:
template:
name: ${example.name}
name: multiple-match-route-map
description: Route map with multiple match conditions
routeMaps:
- name: '10'
action: permit
description: Match on multiple conditions
match:
origin: igp
metric: 100
tag: 200
localPreference: 150
interface: ethernet1/1
peer: 192.0.2.10
set:
tag: 300
localPreference: 250
weight: 500
Create FiltersBgpRouteMapRoutingProfile Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new FiltersBgpRouteMapRoutingProfile(name: string, args: FiltersBgpRouteMapRoutingProfileArgs, opts?: CustomResourceOptions);@overload
def FiltersBgpRouteMapRoutingProfile(resource_name: str,
args: FiltersBgpRouteMapRoutingProfileArgs,
opts: Optional[ResourceOptions] = None)
@overload
def FiltersBgpRouteMapRoutingProfile(resource_name: str,
opts: Optional[ResourceOptions] = None,
location: Optional[FiltersBgpRouteMapRoutingProfileLocationArgs] = None,
description: Optional[str] = None,
name: Optional[str] = None,
route_maps: Optional[Sequence[FiltersBgpRouteMapRoutingProfileRouteMapArgs]] = None)func NewFiltersBgpRouteMapRoutingProfile(ctx *Context, name string, args FiltersBgpRouteMapRoutingProfileArgs, opts ...ResourceOption) (*FiltersBgpRouteMapRoutingProfile, error)public FiltersBgpRouteMapRoutingProfile(string name, FiltersBgpRouteMapRoutingProfileArgs args, CustomResourceOptions? opts = null)
public FiltersBgpRouteMapRoutingProfile(String name, FiltersBgpRouteMapRoutingProfileArgs args)
public FiltersBgpRouteMapRoutingProfile(String name, FiltersBgpRouteMapRoutingProfileArgs args, CustomResourceOptions options)
type: panos:FiltersBgpRouteMapRoutingProfile
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 FiltersBgpRouteMapRoutingProfileArgs
- 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 FiltersBgpRouteMapRoutingProfileArgs
- 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 FiltersBgpRouteMapRoutingProfileArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args FiltersBgpRouteMapRoutingProfileArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args FiltersBgpRouteMapRoutingProfileArgs
- 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 filtersBgpRouteMapRoutingProfileResource = new Panos.FiltersBgpRouteMapRoutingProfile("filtersBgpRouteMapRoutingProfileResource", new()
{
Location = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileLocationArgs
{
Ngfw = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileLocationNgfwArgs
{
NgfwDevice = "string",
},
Template = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileLocationTemplateArgs
{
Name = "string",
NgfwDevice = "string",
PanoramaDevice = "string",
},
TemplateStack = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileLocationTemplateStackArgs
{
Name = "string",
NgfwDevice = "string",
PanoramaDevice = "string",
},
},
Description = "string",
Name = "string",
RouteMaps = new[]
{
new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapArgs
{
Name = "string",
Action = "string",
Description = "string",
Match = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapMatchArgs
{
AsPathAccessList = "string",
ExtendedCommunity = "string",
Interface = "string",
Ipv4 = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4Args
{
Address = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4AddressArgs
{
AccessList = "string",
PrefixList = "string",
},
NextHop = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4NextHopArgs
{
AccessList = "string",
PrefixList = "string",
},
RouteSource = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4RouteSourceArgs
{
AccessList = "string",
PrefixList = "string",
},
},
Ipv6 = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv6Args
{
Address = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv6AddressArgs
{
AccessList = "string",
PrefixList = "string",
},
NextHop = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv6NextHopArgs
{
AccessList = "string",
PrefixList = "string",
},
},
LargeCommunity = "string",
LocalPreference = 0,
Metric = 0,
Origin = "string",
Peer = "string",
RegularCommunity = "string",
Tag = 0,
},
Set = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapSetArgs
{
Aggregator = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapSetAggregatorArgs
{
As = 0,
RouterId = "string",
},
AspathExcludes = new[]
{
0,
},
AspathPrepends = new[]
{
0,
},
AtomicAggregate = false,
ExtendedCommunities = new[]
{
"string",
},
Ipv4 = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapSetIpv4Args
{
NextHop = "string",
SourceAddress = "string",
},
Ipv6 = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapSetIpv6Args
{
NextHop = "string",
SourceAddress = "string",
},
Ipv6NexthopPreferGlobal = false,
LargeCommunities = new[]
{
"string",
},
LocalPreference = 0,
Metric = new Panos.Inputs.FiltersBgpRouteMapRoutingProfileRouteMapSetMetricArgs
{
Action = "string",
Value = 0,
},
Origin = "string",
OriginatorId = "string",
OverwriteLargeCommunity = false,
OverwriteRegularCommunity = false,
RegularCommunities = new[]
{
"string",
},
RemoveLargeCommunity = "string",
RemoveRegularCommunity = "string",
Tag = 0,
Weight = 0,
},
},
},
});
example, err := panos.NewFiltersBgpRouteMapRoutingProfile(ctx, "filtersBgpRouteMapRoutingProfileResource", &panos.FiltersBgpRouteMapRoutingProfileArgs{
Location: &panos.FiltersBgpRouteMapRoutingProfileLocationArgs{
Ngfw: &panos.FiltersBgpRouteMapRoutingProfileLocationNgfwArgs{
NgfwDevice: pulumi.String("string"),
},
Template: &panos.FiltersBgpRouteMapRoutingProfileLocationTemplateArgs{
Name: pulumi.String("string"),
NgfwDevice: pulumi.String("string"),
PanoramaDevice: pulumi.String("string"),
},
TemplateStack: &panos.FiltersBgpRouteMapRoutingProfileLocationTemplateStackArgs{
Name: pulumi.String("string"),
NgfwDevice: pulumi.String("string"),
PanoramaDevice: pulumi.String("string"),
},
},
Description: pulumi.String("string"),
Name: pulumi.String("string"),
RouteMaps: panos.FiltersBgpRouteMapRoutingProfileRouteMapArray{
&panos.FiltersBgpRouteMapRoutingProfileRouteMapArgs{
Name: pulumi.String("string"),
Action: pulumi.String("string"),
Description: pulumi.String("string"),
Match: &panos.FiltersBgpRouteMapRoutingProfileRouteMapMatchArgs{
AsPathAccessList: pulumi.String("string"),
ExtendedCommunity: pulumi.String("string"),
Interface: pulumi.String("string"),
Ipv4: &panos.FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4Args{
Address: &panos.FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4AddressArgs{
AccessList: pulumi.String("string"),
PrefixList: pulumi.String("string"),
},
NextHop: &panos.FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4NextHopArgs{
AccessList: pulumi.String("string"),
PrefixList: pulumi.String("string"),
},
RouteSource: &panos.FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4RouteSourceArgs{
AccessList: pulumi.String("string"),
PrefixList: pulumi.String("string"),
},
},
Ipv6: &panos.FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv6Args{
Address: &panos.FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv6AddressArgs{
AccessList: pulumi.String("string"),
PrefixList: pulumi.String("string"),
},
NextHop: &panos.FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv6NextHopArgs{
AccessList: pulumi.String("string"),
PrefixList: pulumi.String("string"),
},
},
LargeCommunity: pulumi.String("string"),
LocalPreference: pulumi.Float64(0),
Metric: pulumi.Float64(0),
Origin: pulumi.String("string"),
Peer: pulumi.String("string"),
RegularCommunity: pulumi.String("string"),
Tag: pulumi.Float64(0),
},
Set: &panos.FiltersBgpRouteMapRoutingProfileRouteMapSetArgs{
Aggregator: &panos.FiltersBgpRouteMapRoutingProfileRouteMapSetAggregatorArgs{
As: pulumi.Float64(0),
RouterId: pulumi.String("string"),
},
AspathExcludes: pulumi.Float64Array{
pulumi.Float64(0),
},
AspathPrepends: pulumi.Float64Array{
pulumi.Float64(0),
},
AtomicAggregate: pulumi.Bool(false),
ExtendedCommunities: pulumi.StringArray{
pulumi.String("string"),
},
Ipv4: &panos.FiltersBgpRouteMapRoutingProfileRouteMapSetIpv4Args{
NextHop: pulumi.String("string"),
SourceAddress: pulumi.String("string"),
},
Ipv6: &panos.FiltersBgpRouteMapRoutingProfileRouteMapSetIpv6Args{
NextHop: pulumi.String("string"),
SourceAddress: pulumi.String("string"),
},
Ipv6NexthopPreferGlobal: pulumi.Bool(false),
LargeCommunities: pulumi.StringArray{
pulumi.String("string"),
},
LocalPreference: pulumi.Float64(0),
Metric: &panos.FiltersBgpRouteMapRoutingProfileRouteMapSetMetricArgs{
Action: pulumi.String("string"),
Value: pulumi.Float64(0),
},
Origin: pulumi.String("string"),
OriginatorId: pulumi.String("string"),
OverwriteLargeCommunity: pulumi.Bool(false),
OverwriteRegularCommunity: pulumi.Bool(false),
RegularCommunities: pulumi.StringArray{
pulumi.String("string"),
},
RemoveLargeCommunity: pulumi.String("string"),
RemoveRegularCommunity: pulumi.String("string"),
Tag: pulumi.Float64(0),
Weight: pulumi.Float64(0),
},
},
},
})
var filtersBgpRouteMapRoutingProfileResource = new FiltersBgpRouteMapRoutingProfile("filtersBgpRouteMapRoutingProfileResource", FiltersBgpRouteMapRoutingProfileArgs.builder()
.location(FiltersBgpRouteMapRoutingProfileLocationArgs.builder()
.ngfw(FiltersBgpRouteMapRoutingProfileLocationNgfwArgs.builder()
.ngfwDevice("string")
.build())
.template(FiltersBgpRouteMapRoutingProfileLocationTemplateArgs.builder()
.name("string")
.ngfwDevice("string")
.panoramaDevice("string")
.build())
.templateStack(FiltersBgpRouteMapRoutingProfileLocationTemplateStackArgs.builder()
.name("string")
.ngfwDevice("string")
.panoramaDevice("string")
.build())
.build())
.description("string")
.name("string")
.routeMaps(FiltersBgpRouteMapRoutingProfileRouteMapArgs.builder()
.name("string")
.action("string")
.description("string")
.match(FiltersBgpRouteMapRoutingProfileRouteMapMatchArgs.builder()
.asPathAccessList("string")
.extendedCommunity("string")
.interface_("string")
.ipv4(FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4Args.builder()
.address(FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4AddressArgs.builder()
.accessList("string")
.prefixList("string")
.build())
.nextHop(FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4NextHopArgs.builder()
.accessList("string")
.prefixList("string")
.build())
.routeSource(FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4RouteSourceArgs.builder()
.accessList("string")
.prefixList("string")
.build())
.build())
.ipv6(FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv6Args.builder()
.address(FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv6AddressArgs.builder()
.accessList("string")
.prefixList("string")
.build())
.nextHop(FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv6NextHopArgs.builder()
.accessList("string")
.prefixList("string")
.build())
.build())
.largeCommunity("string")
.localPreference(0.0)
.metric(0.0)
.origin("string")
.peer("string")
.regularCommunity("string")
.tag(0.0)
.build())
.set(FiltersBgpRouteMapRoutingProfileRouteMapSetArgs.builder()
.aggregator(FiltersBgpRouteMapRoutingProfileRouteMapSetAggregatorArgs.builder()
.as(0.0)
.routerId("string")
.build())
.aspathExcludes(0.0)
.aspathPrepends(0.0)
.atomicAggregate(false)
.extendedCommunities("string")
.ipv4(FiltersBgpRouteMapRoutingProfileRouteMapSetIpv4Args.builder()
.nextHop("string")
.sourceAddress("string")
.build())
.ipv6(FiltersBgpRouteMapRoutingProfileRouteMapSetIpv6Args.builder()
.nextHop("string")
.sourceAddress("string")
.build())
.ipv6NexthopPreferGlobal(false)
.largeCommunities("string")
.localPreference(0.0)
.metric(FiltersBgpRouteMapRoutingProfileRouteMapSetMetricArgs.builder()
.action("string")
.value(0.0)
.build())
.origin("string")
.originatorId("string")
.overwriteLargeCommunity(false)
.overwriteRegularCommunity(false)
.regularCommunities("string")
.removeLargeCommunity("string")
.removeRegularCommunity("string")
.tag(0.0)
.weight(0.0)
.build())
.build())
.build());
filters_bgp_route_map_routing_profile_resource = panos.FiltersBgpRouteMapRoutingProfile("filtersBgpRouteMapRoutingProfileResource",
location={
"ngfw": {
"ngfw_device": "string",
},
"template": {
"name": "string",
"ngfw_device": "string",
"panorama_device": "string",
},
"template_stack": {
"name": "string",
"ngfw_device": "string",
"panorama_device": "string",
},
},
description="string",
name="string",
route_maps=[{
"name": "string",
"action": "string",
"description": "string",
"match": {
"as_path_access_list": "string",
"extended_community": "string",
"interface": "string",
"ipv4": {
"address": {
"access_list": "string",
"prefix_list": "string",
},
"next_hop": {
"access_list": "string",
"prefix_list": "string",
},
"route_source": {
"access_list": "string",
"prefix_list": "string",
},
},
"ipv6": {
"address": {
"access_list": "string",
"prefix_list": "string",
},
"next_hop": {
"access_list": "string",
"prefix_list": "string",
},
},
"large_community": "string",
"local_preference": 0,
"metric": 0,
"origin": "string",
"peer": "string",
"regular_community": "string",
"tag": 0,
},
"set": {
"aggregator": {
"as_": 0,
"router_id": "string",
},
"aspath_excludes": [0],
"aspath_prepends": [0],
"atomic_aggregate": False,
"extended_communities": ["string"],
"ipv4": {
"next_hop": "string",
"source_address": "string",
},
"ipv6": {
"next_hop": "string",
"source_address": "string",
},
"ipv6_nexthop_prefer_global": False,
"large_communities": ["string"],
"local_preference": 0,
"metric": {
"action": "string",
"value": 0,
},
"origin": "string",
"originator_id": "string",
"overwrite_large_community": False,
"overwrite_regular_community": False,
"regular_communities": ["string"],
"remove_large_community": "string",
"remove_regular_community": "string",
"tag": 0,
"weight": 0,
},
}])
const filtersBgpRouteMapRoutingProfileResource = new panos.FiltersBgpRouteMapRoutingProfile("filtersBgpRouteMapRoutingProfileResource", {
location: {
ngfw: {
ngfwDevice: "string",
},
template: {
name: "string",
ngfwDevice: "string",
panoramaDevice: "string",
},
templateStack: {
name: "string",
ngfwDevice: "string",
panoramaDevice: "string",
},
},
description: "string",
name: "string",
routeMaps: [{
name: "string",
action: "string",
description: "string",
match: {
asPathAccessList: "string",
extendedCommunity: "string",
"interface": "string",
ipv4: {
address: {
accessList: "string",
prefixList: "string",
},
nextHop: {
accessList: "string",
prefixList: "string",
},
routeSource: {
accessList: "string",
prefixList: "string",
},
},
ipv6: {
address: {
accessList: "string",
prefixList: "string",
},
nextHop: {
accessList: "string",
prefixList: "string",
},
},
largeCommunity: "string",
localPreference: 0,
metric: 0,
origin: "string",
peer: "string",
regularCommunity: "string",
tag: 0,
},
set: {
aggregator: {
as: 0,
routerId: "string",
},
aspathExcludes: [0],
aspathPrepends: [0],
atomicAggregate: false,
extendedCommunities: ["string"],
ipv4: {
nextHop: "string",
sourceAddress: "string",
},
ipv6: {
nextHop: "string",
sourceAddress: "string",
},
ipv6NexthopPreferGlobal: false,
largeCommunities: ["string"],
localPreference: 0,
metric: {
action: "string",
value: 0,
},
origin: "string",
originatorId: "string",
overwriteLargeCommunity: false,
overwriteRegularCommunity: false,
regularCommunities: ["string"],
removeLargeCommunity: "string",
removeRegularCommunity: "string",
tag: 0,
weight: 0,
},
}],
});
type: panos:FiltersBgpRouteMapRoutingProfile
properties:
description: string
location:
ngfw:
ngfwDevice: string
template:
name: string
ngfwDevice: string
panoramaDevice: string
templateStack:
name: string
ngfwDevice: string
panoramaDevice: string
name: string
routeMaps:
- action: string
description: string
match:
asPathAccessList: string
extendedCommunity: string
interface: string
ipv4:
address:
accessList: string
prefixList: string
nextHop:
accessList: string
prefixList: string
routeSource:
accessList: string
prefixList: string
ipv6:
address:
accessList: string
prefixList: string
nextHop:
accessList: string
prefixList: string
largeCommunity: string
localPreference: 0
metric: 0
origin: string
peer: string
regularCommunity: string
tag: 0
name: string
set:
aggregator:
as: 0
routerId: string
aspathExcludes:
- 0
aspathPrepends:
- 0
atomicAggregate: false
extendedCommunities:
- string
ipv4:
nextHop: string
sourceAddress: string
ipv6:
nextHop: string
sourceAddress: string
ipv6NexthopPreferGlobal: false
largeCommunities:
- string
localPreference: 0
metric:
action: string
value: 0
origin: string
originatorId: string
overwriteLargeCommunity: false
overwriteRegularCommunity: false
regularCommunities:
- string
removeLargeCommunity: string
removeRegularCommunity: string
tag: 0
weight: 0
FiltersBgpRouteMapRoutingProfile 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 FiltersBgpRouteMapRoutingProfile resource accepts the following input properties:
- Location
Filters
Bgp Route Map Routing Profile Location - The location of this object.
- Description string
- Describe BGP Route Map
- Name string
- Route
Maps List<FiltersBgp Route Map Routing Profile Route Map>
- Location
Filters
Bgp Route Map Routing Profile Location Args - The location of this object.
- Description string
- Describe BGP Route Map
- Name string
- Route
Maps []FiltersBgp Route Map Routing Profile Route Map Args
- location
Filters
Bgp Route Map Routing Profile Location - The location of this object.
- description String
- Describe BGP Route Map
- name String
- route
Maps List<FiltersBgp Route Map Routing Profile Route Map>
- location
Filters
Bgp Route Map Routing Profile Location - The location of this object.
- description string
- Describe BGP Route Map
- name string
- route
Maps FiltersBgp Route Map Routing Profile Route Map[]
- location
Filters
Bgp Route Map Routing Profile Location Args - The location of this object.
- description str
- Describe BGP Route Map
- name str
- route_
maps Sequence[FiltersBgp Route Map Routing Profile Route Map Args]
- location Property Map
- The location of this object.
- description String
- Describe BGP Route Map
- name String
- route
Maps List<Property Map>
Outputs
All input properties are implicitly available as output properties. Additionally, the FiltersBgpRouteMapRoutingProfile 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 FiltersBgpRouteMapRoutingProfile Resource
Get an existing FiltersBgpRouteMapRoutingProfile 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?: FiltersBgpRouteMapRoutingProfileState, opts?: CustomResourceOptions): FiltersBgpRouteMapRoutingProfile@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
description: Optional[str] = None,
location: Optional[FiltersBgpRouteMapRoutingProfileLocationArgs] = None,
name: Optional[str] = None,
route_maps: Optional[Sequence[FiltersBgpRouteMapRoutingProfileRouteMapArgs]] = None) -> FiltersBgpRouteMapRoutingProfilefunc GetFiltersBgpRouteMapRoutingProfile(ctx *Context, name string, id IDInput, state *FiltersBgpRouteMapRoutingProfileState, opts ...ResourceOption) (*FiltersBgpRouteMapRoutingProfile, error)public static FiltersBgpRouteMapRoutingProfile Get(string name, Input<string> id, FiltersBgpRouteMapRoutingProfileState? state, CustomResourceOptions? opts = null)public static FiltersBgpRouteMapRoutingProfile get(String name, Output<String> id, FiltersBgpRouteMapRoutingProfileState state, CustomResourceOptions options)resources: _: type: panos:FiltersBgpRouteMapRoutingProfile 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.
- Description string
- Describe BGP Route Map
- Location
Filters
Bgp Route Map Routing Profile Location - The location of this object.
- Name string
- Route
Maps List<FiltersBgp Route Map Routing Profile Route Map>
- Description string
- Describe BGP Route Map
- Location
Filters
Bgp Route Map Routing Profile Location Args - The location of this object.
- Name string
- Route
Maps []FiltersBgp Route Map Routing Profile Route Map Args
- description String
- Describe BGP Route Map
- location
Filters
Bgp Route Map Routing Profile Location - The location of this object.
- name String
- route
Maps List<FiltersBgp Route Map Routing Profile Route Map>
- description string
- Describe BGP Route Map
- location
Filters
Bgp Route Map Routing Profile Location - The location of this object.
- name string
- route
Maps FiltersBgp Route Map Routing Profile Route Map[]
- description str
- Describe BGP Route Map
- location
Filters
Bgp Route Map Routing Profile Location Args - The location of this object.
- name str
- route_
maps Sequence[FiltersBgp Route Map Routing Profile Route Map Args]
- description String
- Describe BGP Route Map
- location Property Map
- The location of this object.
- name String
- route
Maps List<Property Map>
Supporting Types
FiltersBgpRouteMapRoutingProfileLocation, FiltersBgpRouteMapRoutingProfileLocationArgs
- Ngfw
Filters
Bgp Route Map Routing Profile Location Ngfw - Located in a specific NGFW device
- Template
Filters
Bgp Route Map Routing Profile Location Template - Located in a specific template
- Template
Stack FiltersBgp Route Map Routing Profile Location Template Stack - Located in a specific template stack
- Ngfw
Filters
Bgp Route Map Routing Profile Location Ngfw - Located in a specific NGFW device
- Template
Filters
Bgp Route Map Routing Profile Location Template - Located in a specific template
- Template
Stack FiltersBgp Route Map Routing Profile Location Template Stack - Located in a specific template stack
- ngfw
Filters
Bgp Route Map Routing Profile Location Ngfw - Located in a specific NGFW device
- template
Filters
Bgp Route Map Routing Profile Location Template - Located in a specific template
- template
Stack FiltersBgp Route Map Routing Profile Location Template Stack - Located in a specific template stack
- ngfw
Filters
Bgp Route Map Routing Profile Location Ngfw - Located in a specific NGFW device
- template
Filters
Bgp Route Map Routing Profile Location Template - Located in a specific template
- template
Stack FiltersBgp Route Map Routing Profile Location Template Stack - Located in a specific template stack
- ngfw
Filters
Bgp Route Map Routing Profile Location Ngfw - Located in a specific NGFW device
- template
Filters
Bgp Route Map Routing Profile Location Template - Located in a specific template
- template_
stack FiltersBgp Route Map Routing Profile Location Template Stack - Located in a specific template stack
- ngfw Property Map
- Located in a specific NGFW device
- template Property Map
- Located in a specific template
- template
Stack Property Map - Located in a specific template stack
FiltersBgpRouteMapRoutingProfileLocationNgfw, FiltersBgpRouteMapRoutingProfileLocationNgfwArgs
- Ngfw
Device string - The NGFW device
- Ngfw
Device string - The NGFW device
- ngfw
Device String - The NGFW device
- ngfw
Device string - The NGFW device
- ngfw_
device str - The NGFW device
- ngfw
Device String - The NGFW device
FiltersBgpRouteMapRoutingProfileLocationTemplate, FiltersBgpRouteMapRoutingProfileLocationTemplateArgs
- Name string
- Specific Panorama template
- Ngfw
Device string - The NGFW device
- Panorama
Device string - Specific Panorama device
- Name string
- Specific Panorama template
- Ngfw
Device string - The NGFW device
- Panorama
Device string - Specific Panorama device
- name String
- Specific Panorama template
- ngfw
Device String - The NGFW device
- panorama
Device String - Specific Panorama device
- name string
- Specific Panorama template
- ngfw
Device string - The NGFW device
- panorama
Device 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
- ngfw
Device String - The NGFW device
- panorama
Device String - Specific Panorama device
FiltersBgpRouteMapRoutingProfileLocationTemplateStack, FiltersBgpRouteMapRoutingProfileLocationTemplateStackArgs
- Name string
- Specific Panorama template stack
- Ngfw
Device string - The NGFW device
- Panorama
Device string - Specific Panorama device
- Name string
- Specific Panorama template stack
- Ngfw
Device string - The NGFW device
- Panorama
Device string - Specific Panorama device
- name String
- Specific Panorama template stack
- ngfw
Device String - The NGFW device
- panorama
Device String - Specific Panorama device
- name string
- Specific Panorama template stack
- ngfw
Device string - The NGFW device
- panorama
Device 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
- ngfw
Device String - The NGFW device
- panorama
Device String - Specific Panorama device
FiltersBgpRouteMapRoutingProfileRouteMap, FiltersBgpRouteMapRoutingProfileRouteMapArgs
- Name string
- Action string
- Permit or Deny (default) Route Map
- Description string
- Describe Route Map
- Match
Filters
Bgp Route Map Routing Profile Route Map Match - Set
Filters
Bgp Route Map Routing Profile Route Map Set
- Name string
- Action string
- Permit or Deny (default) Route Map
- Description string
- Describe Route Map
- Match
Filters
Bgp Route Map Routing Profile Route Map Match - Set
Filters
Bgp Route Map Routing Profile Route Map Set
- name String
- action String
- Permit or Deny (default) Route Map
- description String
- Describe Route Map
- match
Filters
Bgp Route Map Routing Profile Route Map Match - set
Filters
Bgp Route Map Routing Profile Route Map Set
- name string
- action string
- Permit or Deny (default) Route Map
- description string
- Describe Route Map
- match
Filters
Bgp Route Map Routing Profile Route Map Match - set
Filters
Bgp Route Map Routing Profile Route Map Set
- name str
- action str
- Permit or Deny (default) Route Map
- description str
- Describe Route Map
- match
Filters
Bgp Route Map Routing Profile Route Map Match - set
Filters
Bgp Route Map Routing Profile Route Map Set
- name String
- action String
- Permit or Deny (default) Route Map
- description String
- Describe Route Map
- match Property Map
- set Property Map
FiltersBgpRouteMapRoutingProfileRouteMapMatch, FiltersBgpRouteMapRoutingProfileRouteMapMatchArgs
- As
Path stringAccess List - AS Path Access List Name
- Extended
Community string - Extended Community Name
- Interface string
- Match Interface of the route
- Ipv4
Filters
Bgp Route Map Routing Profile Route Map Match Ipv4 - Ipv6
Filters
Bgp Route Map Routing Profile Route Map Match Ipv6 - Large
Community string - Large Community Name
- Local
Preference double - Match Local Preference of route
- Metric double
- Match Metric (BGP MED) of route
- Origin string
- Match origin
- Peer string
- Match Peer Address
- Regular
Community string - Regular Community Name
- Tag double
- Match Tag of route
- As
Path stringAccess List - AS Path Access List Name
- Extended
Community string - Extended Community Name
- Interface string
- Match Interface of the route
- Ipv4
Filters
Bgp Route Map Routing Profile Route Map Match Ipv4 - Ipv6
Filters
Bgp Route Map Routing Profile Route Map Match Ipv6 - Large
Community string - Large Community Name
- Local
Preference float64 - Match Local Preference of route
- Metric float64
- Match Metric (BGP MED) of route
- Origin string
- Match origin
- Peer string
- Match Peer Address
- Regular
Community string - Regular Community Name
- Tag float64
- Match Tag of route
- as
Path StringAccess List - AS Path Access List Name
- extended
Community String - Extended Community Name
- interface_ String
- Match Interface of the route
- ipv4
Filters
Bgp Route Map Routing Profile Route Map Match Ipv4 - ipv6
Filters
Bgp Route Map Routing Profile Route Map Match Ipv6 - large
Community String - Large Community Name
- local
Preference Double - Match Local Preference of route
- metric Double
- Match Metric (BGP MED) of route
- origin String
- Match origin
- peer String
- Match Peer Address
- regular
Community String - Regular Community Name
- tag Double
- Match Tag of route
- as
Path stringAccess List - AS Path Access List Name
- extended
Community string - Extended Community Name
- interface string
- Match Interface of the route
- ipv4
Filters
Bgp Route Map Routing Profile Route Map Match Ipv4 - ipv6
Filters
Bgp Route Map Routing Profile Route Map Match Ipv6 - large
Community string - Large Community Name
- local
Preference number - Match Local Preference of route
- metric number
- Match Metric (BGP MED) of route
- origin string
- Match origin
- peer string
- Match Peer Address
- regular
Community string - Regular Community Name
- tag number
- Match Tag of route
- as_
path_ straccess_ list - AS Path Access List Name
- extended_
community str - Extended Community Name
- interface str
- Match Interface of the route
- ipv4
Filters
Bgp Route Map Routing Profile Route Map Match Ipv4 - ipv6
Filters
Bgp Route Map Routing Profile Route Map Match Ipv6 - large_
community str - Large Community Name
- local_
preference float - Match Local Preference of route
- metric float
- Match Metric (BGP MED) of route
- origin str
- Match origin
- peer str
- Match Peer Address
- regular_
community str - Regular Community Name
- tag float
- Match Tag of route
- as
Path StringAccess List - AS Path Access List Name
- extended
Community String - Extended Community Name
- interface String
- Match Interface of the route
- ipv4 Property Map
- ipv6 Property Map
- large
Community String - Large Community Name
- local
Preference Number - Match Local Preference of route
- metric Number
- Match Metric (BGP MED) of route
- origin String
- Match origin
- peer String
- Match Peer Address
- regular
Community String - Regular Community Name
- tag Number
- Match Tag of route
FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4, FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4Args
FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4Address, FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4AddressArgs
- Access
List string - Access-List Name
- Prefix
List string - Prefix-List Name
- Access
List string - Access-List Name
- Prefix
List string - Prefix-List Name
- access
List String - Access-List Name
- prefix
List String - Prefix-List Name
- access
List string - Access-List Name
- prefix
List string - Prefix-List Name
- access_
list str - Access-List Name
- prefix_
list str - Prefix-List Name
- access
List String - Access-List Name
- prefix
List String - Prefix-List Name
FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4NextHop, FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4NextHopArgs
- Access
List string - Access-List Name
- Prefix
List string - Prefix-List Name
- Access
List string - Access-List Name
- Prefix
List string - Prefix-List Name
- access
List String - Access-List Name
- prefix
List String - Prefix-List Name
- access
List string - Access-List Name
- prefix
List string - Prefix-List Name
- access_
list str - Access-List Name
- prefix_
list str - Prefix-List Name
- access
List String - Access-List Name
- prefix
List String - Prefix-List Name
FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4RouteSource, FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv4RouteSourceArgs
- Access
List string - Access-List Name
- Prefix
List string - Prefix-List Name
- Access
List string - Access-List Name
- Prefix
List string - Prefix-List Name
- access
List String - Access-List Name
- prefix
List String - Prefix-List Name
- access
List string - Access-List Name
- prefix
List string - Prefix-List Name
- access_
list str - Access-List Name
- prefix_
list str - Prefix-List Name
- access
List String - Access-List Name
- prefix
List String - Prefix-List Name
FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv6, FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv6Args
FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv6Address, FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv6AddressArgs
- Access
List string - Access-List Name
- Prefix
List string - Prefix-List Name
- Access
List string - Access-List Name
- Prefix
List string - Prefix-List Name
- access
List String - Access-List Name
- prefix
List String - Prefix-List Name
- access
List string - Access-List Name
- prefix
List string - Prefix-List Name
- access_
list str - Access-List Name
- prefix_
list str - Prefix-List Name
- access
List String - Access-List Name
- prefix
List String - Prefix-List Name
FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv6NextHop, FiltersBgpRouteMapRoutingProfileRouteMapMatchIpv6NextHopArgs
- Access
List string - Access-List Name
- Prefix
List string - Prefix-List Name
- Access
List string - Access-List Name
- Prefix
List string - Prefix-List Name
- access
List String - Access-List Name
- prefix
List String - Prefix-List Name
- access
List string - Access-List Name
- prefix
List string - Prefix-List Name
- access_
list str - Access-List Name
- prefix_
list str - Prefix-List Name
- access
List String - Access-List Name
- prefix
List String - Prefix-List Name
FiltersBgpRouteMapRoutingProfileRouteMapSet, FiltersBgpRouteMapRoutingProfileRouteMapSetArgs
- Aggregator
Filters
Bgp Route Map Routing Profile Route Map Set Aggregator - Aspath
Excludes List<double> - Aspath
Prepends List<double> - Atomic
Aggregate bool - Enable BGP atomic aggregate
- Extended
Communities List<string> - Ipv4
Filters
Bgp Route Map Routing Profile Route Map Set Ipv4 - Ipv6
Filters
Bgp Route Map Routing Profile Route Map Set Ipv6 - Ipv6Nexthop
Prefer boolGlobal - If enabled, IPv6 prefixes will prefer global address over link-local address
- Large
Communities List<string> - Local
Preference double - Set Local Preference of route
- Metric
Filters
Bgp Route Map Routing Profile Route Map Set Metric - Origin string
- Set BGP origin
- Originator
Id string - Set BGP Originator Id
- Overwrite
Large boolCommunity - If enabled, set community will overwite existing large communities, instead of appending
- Overwrite
Regular boolCommunity - If enabled, set community will overwite existing communities, instead of appending
- Regular
Communities List<string> - Remove
Large stringCommunity - Remove Large Community Name
- Remove
Regular stringCommunity - Remove Regular Community Name
- Tag double
- Set Tag of route
- Weight double
- Set BGP weight of the route
- Aggregator
Filters
Bgp Route Map Routing Profile Route Map Set Aggregator - Aspath
Excludes []float64 - Aspath
Prepends []float64 - Atomic
Aggregate bool - Enable BGP atomic aggregate
- Extended
Communities []string - Ipv4
Filters
Bgp Route Map Routing Profile Route Map Set Ipv4 - Ipv6
Filters
Bgp Route Map Routing Profile Route Map Set Ipv6 - Ipv6Nexthop
Prefer boolGlobal - If enabled, IPv6 prefixes will prefer global address over link-local address
- Large
Communities []string - Local
Preference float64 - Set Local Preference of route
- Metric
Filters
Bgp Route Map Routing Profile Route Map Set Metric - Origin string
- Set BGP origin
- Originator
Id string - Set BGP Originator Id
- Overwrite
Large boolCommunity - If enabled, set community will overwite existing large communities, instead of appending
- Overwrite
Regular boolCommunity - If enabled, set community will overwite existing communities, instead of appending
- Regular
Communities []string - Remove
Large stringCommunity - Remove Large Community Name
- Remove
Regular stringCommunity - Remove Regular Community Name
- Tag float64
- Set Tag of route
- Weight float64
- Set BGP weight of the route
- aggregator
Filters
Bgp Route Map Routing Profile Route Map Set Aggregator - aspath
Excludes List<Double> - aspath
Prepends List<Double> - atomic
Aggregate Boolean - Enable BGP atomic aggregate
- extended
Communities List<String> - ipv4
Filters
Bgp Route Map Routing Profile Route Map Set Ipv4 - ipv6
Filters
Bgp Route Map Routing Profile Route Map Set Ipv6 - ipv6Nexthop
Prefer BooleanGlobal - If enabled, IPv6 prefixes will prefer global address over link-local address
- large
Communities List<String> - local
Preference Double - Set Local Preference of route
- metric
Filters
Bgp Route Map Routing Profile Route Map Set Metric - origin String
- Set BGP origin
- originator
Id String - Set BGP Originator Id
- overwrite
Large BooleanCommunity - If enabled, set community will overwite existing large communities, instead of appending
- overwrite
Regular BooleanCommunity - If enabled, set community will overwite existing communities, instead of appending
- regular
Communities List<String> - remove
Large StringCommunity - Remove Large Community Name
- remove
Regular StringCommunity - Remove Regular Community Name
- tag Double
- Set Tag of route
- weight Double
- Set BGP weight of the route
- aggregator
Filters
Bgp Route Map Routing Profile Route Map Set Aggregator - aspath
Excludes number[] - aspath
Prepends number[] - atomic
Aggregate boolean - Enable BGP atomic aggregate
- extended
Communities string[] - ipv4
Filters
Bgp Route Map Routing Profile Route Map Set Ipv4 - ipv6
Filters
Bgp Route Map Routing Profile Route Map Set Ipv6 - ipv6Nexthop
Prefer booleanGlobal - If enabled, IPv6 prefixes will prefer global address over link-local address
- large
Communities string[] - local
Preference number - Set Local Preference of route
- metric
Filters
Bgp Route Map Routing Profile Route Map Set Metric - origin string
- Set BGP origin
- originator
Id string - Set BGP Originator Id
- overwrite
Large booleanCommunity - If enabled, set community will overwite existing large communities, instead of appending
- overwrite
Regular booleanCommunity - If enabled, set community will overwite existing communities, instead of appending
- regular
Communities string[] - remove
Large stringCommunity - Remove Large Community Name
- remove
Regular stringCommunity - Remove Regular Community Name
- tag number
- Set Tag of route
- weight number
- Set BGP weight of the route
- aggregator
Filters
Bgp Route Map Routing Profile Route Map Set Aggregator - aspath_
excludes Sequence[float] - aspath_
prepends Sequence[float] - atomic_
aggregate bool - Enable BGP atomic aggregate
- extended_
communities Sequence[str] - ipv4
Filters
Bgp Route Map Routing Profile Route Map Set Ipv4 - ipv6
Filters
Bgp Route Map Routing Profile Route Map Set Ipv6 - ipv6_
nexthop_ boolprefer_ global - If enabled, IPv6 prefixes will prefer global address over link-local address
- large_
communities Sequence[str] - local_
preference float - Set Local Preference of route
- metric
Filters
Bgp Route Map Routing Profile Route Map Set Metric - origin str
- Set BGP origin
- originator_
id str - Set BGP Originator Id
- overwrite_
large_ boolcommunity - If enabled, set community will overwite existing large communities, instead of appending
- overwrite_
regular_ boolcommunity - If enabled, set community will overwite existing communities, instead of appending
- regular_
communities Sequence[str] - remove_
large_ strcommunity - Remove Large Community Name
- remove_
regular_ strcommunity - Remove Regular Community Name
- tag float
- Set Tag of route
- weight float
- Set BGP weight of the route
- aggregator Property Map
- aspath
Excludes List<Number> - aspath
Prepends List<Number> - atomic
Aggregate Boolean - Enable BGP atomic aggregate
- extended
Communities List<String> - ipv4 Property Map
- ipv6 Property Map
- ipv6Nexthop
Prefer BooleanGlobal - If enabled, IPv6 prefixes will prefer global address over link-local address
- large
Communities List<String> - local
Preference Number - Set Local Preference of route
- metric Property Map
- origin String
- Set BGP origin
- originator
Id String - Set BGP Originator Id
- overwrite
Large BooleanCommunity - If enabled, set community will overwite existing large communities, instead of appending
- overwrite
Regular BooleanCommunity - If enabled, set community will overwite existing communities, instead of appending
- regular
Communities List<String> - remove
Large StringCommunity - Remove Large Community Name
- remove
Regular StringCommunity - Remove Regular Community Name
- tag Number
- Set Tag of route
- weight Number
- Set BGP weight of the route
FiltersBgpRouteMapRoutingProfileRouteMapSetAggregator, FiltersBgpRouteMapRoutingProfileRouteMapSetAggregatorArgs
FiltersBgpRouteMapRoutingProfileRouteMapSetIpv4, FiltersBgpRouteMapRoutingProfileRouteMapSetIpv4Args
- Next
Hop string - Set IPv4 Next-Hop Address
- Source
Address string - Set Source IPv4 Address
- Next
Hop string - Set IPv4 Next-Hop Address
- Source
Address string - Set Source IPv4 Address
- next
Hop String - Set IPv4 Next-Hop Address
- source
Address String - Set Source IPv4 Address
- next
Hop string - Set IPv4 Next-Hop Address
- source
Address string - Set Source IPv4 Address
- next_
hop str - Set IPv4 Next-Hop Address
- source_
address str - Set Source IPv4 Address
- next
Hop String - Set IPv4 Next-Hop Address
- source
Address String - Set Source IPv4 Address
FiltersBgpRouteMapRoutingProfileRouteMapSetIpv6, FiltersBgpRouteMapRoutingProfileRouteMapSetIpv6Args
- Next
Hop string - Set IPv6 Next-Hop Address
- Source
Address string - Set Source IPv6 Address
- Next
Hop string - Set IPv6 Next-Hop Address
- Source
Address string - Set Source IPv6 Address
- next
Hop String - Set IPv6 Next-Hop Address
- source
Address String - Set Source IPv6 Address
- next
Hop string - Set IPv6 Next-Hop Address
- source
Address string - Set Source IPv6 Address
- next_
hop str - Set IPv6 Next-Hop Address
- source_
address str - Set Source IPv6 Address
- next
Hop String - Set IPv6 Next-Hop Address
- source
Address String - Set Source IPv6 Address
FiltersBgpRouteMapRoutingProfileRouteMapSetMetric, FiltersBgpRouteMapRoutingProfileRouteMapSetMetricArgs
Import
The pulumi import command can be used, for example:
A BGP route map routing profile can be imported by providing the following base64 encoded object as the ID
Import from an NGFW device
{
location = {
ngfw = {
ngfw_device = "localhost.localdomain"
}
}
name = “my-route-map”
}
$ pulumi import panos:index/filtersBgpRouteMapRoutingProfile:FiltersBgpRouteMapRoutingProfile example $(echo '{"location":{"ngfw":{"ngfw_device":"localhost.localdomain"}},"name":"my-route-map"}' | base64)
Import from a Panorama template
{
location = {
template = {
name = "my-template"
panorama_device = "localhost.localdomain"
ngfw_device = "localhost.localdomain"
}
}
name = “my-route-map”
}
$ pulumi import panos:index/filtersBgpRouteMapRoutingProfile:FiltersBgpRouteMapRoutingProfile example $(echo '{"location":{"template":{"name":"my-template","panorama_device":"localhost.localdomain","ngfw_device":"localhost.localdomain"}},"name":"my-route-map"}' | base64)
Import from a Panorama template stack
{
location = {
template_stack = {
name = "my-template-stack"
panorama_device = "localhost.localdomain"
ngfw_device = "localhost.localdomain"
}
}
name = “my-route-map”
}
$ pulumi import panos:index/filtersBgpRouteMapRoutingProfile:FiltersBgpRouteMapRoutingProfile example $(echo '{"location":{"template_stack":{"name":"my-template-stack","panorama_device":"localhost.localdomain","ngfw_device":"localhost.localdomain"}},"name":"my-route-map"}' | base64)
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- panos paloaltonetworks/terraform-provider-panos
- License
- Notes
- This Pulumi package is based on the
panosTerraform Provider.
