1. Packages
  2. Panos Provider
  3. API Docs
  4. FiltersAsPathAccessListRoutingProfile
panos 2.0.7 published on Thursday, Nov 27, 2025 by paloaltonetworks
panos logo
panos 2.0.7 published on Thursday, Nov 27, 2025 by paloaltonetworks

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as panos from "@pulumi/panos";
    
    // Create a template for the AS Path Access List profiles
    const example = new panos.Template("example", {
        location: {
            panorama: {},
        },
        name: "as-path-acl-template",
    });
    // Basic AS Path Access List Profile
    const basic = new panos.FiltersAsPathAccessListRoutingProfile("basic", {
        location: {
            template: {
                name: example.name,
            },
        },
        name: "basic-as-path-acl",
        description: "Basic AS Path Access List for filtering BGP routes",
        aspathEntries: [{
            name: "1",
            action: "deny",
            aspathRegex: "^65000_",
        }],
    });
    // AS Path Access List with Permit Action
    const permitExample = new panos.FiltersAsPathAccessListRoutingProfile("permit_example", {
        location: {
            template: {
                name: example.name,
            },
        },
        name: "permit-as-path-acl",
        description: "AS Path Access List permitting specific AS paths",
        aspathEntries: [{
            name: "1",
            action: "permit",
            aspathRegex: "^65100_",
        }],
    });
    // AS Path Access List with Multiple Entries
    const multipleEntries = new panos.FiltersAsPathAccessListRoutingProfile("multiple_entries", {
        location: {
            template: {
                name: example.name,
            },
        },
        name: "multi-entry-as-path-acl",
        description: "AS Path Access List with multiple filtering rules",
        aspathEntries: [
            {
                name: "1",
                action: "permit",
                aspathRegex: "^65000_",
            },
            {
                name: "2",
                action: "deny",
                aspathRegex: "_65100$",
            },
            {
                name: "3",
                action: "permit",
                aspathRegex: "^65200_.*_65300$",
            },
        ],
    });
    // Complex AS Path Access List with Advanced Regex Patterns
    const advanced = new panos.FiltersAsPathAccessListRoutingProfile("advanced", {
        location: {
            template: {
                name: example.name,
            },
        },
        name: "advanced-as-path-acl",
        description: "Advanced AS Path Access List with complex regex patterns",
        aspathEntries: [
            {
                name: "1",
                action: "permit",
                aspathRegex: "^$",
            },
            {
                name: "2",
                action: "deny",
                aspathRegex: "_64512_",
            },
            {
                name: "3",
                action: "permit",
                aspathRegex: "^65[0-9]{3}_",
            },
            {
                name: "4",
                action: "deny",
                aspathRegex: ".*",
            },
        ],
    });
    // AS Path Access List on NGFW Device
    const ngfwExample = new panos.FiltersAsPathAccessListRoutingProfile("ngfw_example", {
        location: {
            ngfw: {
                ngfwDevice: "localhost.localdomain",
            },
        },
        name: "ngfw-as-path-acl",
        description: "AS Path Access List configured on NGFW device",
        aspathEntries: [
            {
                name: "1",
                action: "permit",
                aspathRegex: "^65001_65002_",
            },
            {
                name: "2",
                action: "deny",
                aspathRegex: "_65003_",
            },
        ],
    });
    
    import pulumi
    import pulumi_panos as panos
    
    # Create a template for the AS Path Access List profiles
    example = panos.Template("example",
        location={
            "panorama": {},
        },
        name="as-path-acl-template")
    # Basic AS Path Access List Profile
    basic = panos.FiltersAsPathAccessListRoutingProfile("basic",
        location={
            "template": {
                "name": example.name,
            },
        },
        name="basic-as-path-acl",
        description="Basic AS Path Access List for filtering BGP routes",
        aspath_entries=[{
            "name": "1",
            "action": "deny",
            "aspath_regex": "^65000_",
        }])
    # AS Path Access List with Permit Action
    permit_example = panos.FiltersAsPathAccessListRoutingProfile("permit_example",
        location={
            "template": {
                "name": example.name,
            },
        },
        name="permit-as-path-acl",
        description="AS Path Access List permitting specific AS paths",
        aspath_entries=[{
            "name": "1",
            "action": "permit",
            "aspath_regex": "^65100_",
        }])
    # AS Path Access List with Multiple Entries
    multiple_entries = panos.FiltersAsPathAccessListRoutingProfile("multiple_entries",
        location={
            "template": {
                "name": example.name,
            },
        },
        name="multi-entry-as-path-acl",
        description="AS Path Access List with multiple filtering rules",
        aspath_entries=[
            {
                "name": "1",
                "action": "permit",
                "aspath_regex": "^65000_",
            },
            {
                "name": "2",
                "action": "deny",
                "aspath_regex": "_65100$",
            },
            {
                "name": "3",
                "action": "permit",
                "aspath_regex": "^65200_.*_65300$",
            },
        ])
    # Complex AS Path Access List with Advanced Regex Patterns
    advanced = panos.FiltersAsPathAccessListRoutingProfile("advanced",
        location={
            "template": {
                "name": example.name,
            },
        },
        name="advanced-as-path-acl",
        description="Advanced AS Path Access List with complex regex patterns",
        aspath_entries=[
            {
                "name": "1",
                "action": "permit",
                "aspath_regex": "^$",
            },
            {
                "name": "2",
                "action": "deny",
                "aspath_regex": "_64512_",
            },
            {
                "name": "3",
                "action": "permit",
                "aspath_regex": "^65[0-9]{3}_",
            },
            {
                "name": "4",
                "action": "deny",
                "aspath_regex": ".*",
            },
        ])
    # AS Path Access List on NGFW Device
    ngfw_example = panos.FiltersAsPathAccessListRoutingProfile("ngfw_example",
        location={
            "ngfw": {
                "ngfw_device": "localhost.localdomain",
            },
        },
        name="ngfw-as-path-acl",
        description="AS Path Access List configured on NGFW device",
        aspath_entries=[
            {
                "name": "1",
                "action": "permit",
                "aspath_regex": "^65001_65002_",
            },
            {
                "name": "2",
                "action": "deny",
                "aspath_regex": "_65003_",
            },
        ])
    
    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 AS Path Access List profiles
    		example, err := panos.NewTemplate(ctx, "example", &panos.TemplateArgs{
    			Location: &panos.TemplateLocationArgs{
    				Panorama: &panos.TemplateLocationPanoramaArgs{},
    			},
    			Name: pulumi.String("as-path-acl-template"),
    		})
    		if err != nil {
    			return err
    		}
    		// Basic AS Path Access List Profile
    		_, err = panos.NewFiltersAsPathAccessListRoutingProfile(ctx, "basic", &panos.FiltersAsPathAccessListRoutingProfileArgs{
    			Location: &panos.FiltersAsPathAccessListRoutingProfileLocationArgs{
    				Template: &panos.FiltersAsPathAccessListRoutingProfileLocationTemplateArgs{
    					Name: example.Name,
    				},
    			},
    			Name:        pulumi.String("basic-as-path-acl"),
    			Description: pulumi.String("Basic AS Path Access List for filtering BGP routes"),
    			AspathEntries: panos.FiltersAsPathAccessListRoutingProfileAspathEntryArray{
    				&panos.FiltersAsPathAccessListRoutingProfileAspathEntryArgs{
    					Name:        pulumi.String("1"),
    					Action:      pulumi.String("deny"),
    					AspathRegex: pulumi.String("^65000_"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		// AS Path Access List with Permit Action
    		_, err = panos.NewFiltersAsPathAccessListRoutingProfile(ctx, "permit_example", &panos.FiltersAsPathAccessListRoutingProfileArgs{
    			Location: &panos.FiltersAsPathAccessListRoutingProfileLocationArgs{
    				Template: &panos.FiltersAsPathAccessListRoutingProfileLocationTemplateArgs{
    					Name: example.Name,
    				},
    			},
    			Name:        pulumi.String("permit-as-path-acl"),
    			Description: pulumi.String("AS Path Access List permitting specific AS paths"),
    			AspathEntries: panos.FiltersAsPathAccessListRoutingProfileAspathEntryArray{
    				&panos.FiltersAsPathAccessListRoutingProfileAspathEntryArgs{
    					Name:        pulumi.String("1"),
    					Action:      pulumi.String("permit"),
    					AspathRegex: pulumi.String("^65100_"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		// AS Path Access List with Multiple Entries
    		_, err = panos.NewFiltersAsPathAccessListRoutingProfile(ctx, "multiple_entries", &panos.FiltersAsPathAccessListRoutingProfileArgs{
    			Location: &panos.FiltersAsPathAccessListRoutingProfileLocationArgs{
    				Template: &panos.FiltersAsPathAccessListRoutingProfileLocationTemplateArgs{
    					Name: example.Name,
    				},
    			},
    			Name:        pulumi.String("multi-entry-as-path-acl"),
    			Description: pulumi.String("AS Path Access List with multiple filtering rules"),
    			AspathEntries: panos.FiltersAsPathAccessListRoutingProfileAspathEntryArray{
    				&panos.FiltersAsPathAccessListRoutingProfileAspathEntryArgs{
    					Name:        pulumi.String("1"),
    					Action:      pulumi.String("permit"),
    					AspathRegex: pulumi.String("^65000_"),
    				},
    				&panos.FiltersAsPathAccessListRoutingProfileAspathEntryArgs{
    					Name:        pulumi.String("2"),
    					Action:      pulumi.String("deny"),
    					AspathRegex: pulumi.String("_65100$"),
    				},
    				&panos.FiltersAsPathAccessListRoutingProfileAspathEntryArgs{
    					Name:        pulumi.String("3"),
    					Action:      pulumi.String("permit"),
    					AspathRegex: pulumi.String("^65200_.*_65300$"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		// Complex AS Path Access List with Advanced Regex Patterns
    		_, err = panos.NewFiltersAsPathAccessListRoutingProfile(ctx, "advanced", &panos.FiltersAsPathAccessListRoutingProfileArgs{
    			Location: &panos.FiltersAsPathAccessListRoutingProfileLocationArgs{
    				Template: &panos.FiltersAsPathAccessListRoutingProfileLocationTemplateArgs{
    					Name: example.Name,
    				},
    			},
    			Name:        pulumi.String("advanced-as-path-acl"),
    			Description: pulumi.String("Advanced AS Path Access List with complex regex patterns"),
    			AspathEntries: panos.FiltersAsPathAccessListRoutingProfileAspathEntryArray{
    				&panos.FiltersAsPathAccessListRoutingProfileAspathEntryArgs{
    					Name:        pulumi.String("1"),
    					Action:      pulumi.String("permit"),
    					AspathRegex: pulumi.String("^$"),
    				},
    				&panos.FiltersAsPathAccessListRoutingProfileAspathEntryArgs{
    					Name:        pulumi.String("2"),
    					Action:      pulumi.String("deny"),
    					AspathRegex: pulumi.String("_64512_"),
    				},
    				&panos.FiltersAsPathAccessListRoutingProfileAspathEntryArgs{
    					Name:        pulumi.String("3"),
    					Action:      pulumi.String("permit"),
    					AspathRegex: pulumi.String("^65[0-9]{3}_"),
    				},
    				&panos.FiltersAsPathAccessListRoutingProfileAspathEntryArgs{
    					Name:        pulumi.String("4"),
    					Action:      pulumi.String("deny"),
    					AspathRegex: pulumi.String(".*"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		// AS Path Access List on NGFW Device
    		_, err = panos.NewFiltersAsPathAccessListRoutingProfile(ctx, "ngfw_example", &panos.FiltersAsPathAccessListRoutingProfileArgs{
    			Location: &panos.FiltersAsPathAccessListRoutingProfileLocationArgs{
    				Ngfw: &panos.FiltersAsPathAccessListRoutingProfileLocationNgfwArgs{
    					NgfwDevice: pulumi.String("localhost.localdomain"),
    				},
    			},
    			Name:        pulumi.String("ngfw-as-path-acl"),
    			Description: pulumi.String("AS Path Access List configured on NGFW device"),
    			AspathEntries: panos.FiltersAsPathAccessListRoutingProfileAspathEntryArray{
    				&panos.FiltersAsPathAccessListRoutingProfileAspathEntryArgs{
    					Name:        pulumi.String("1"),
    					Action:      pulumi.String("permit"),
    					AspathRegex: pulumi.String("^65001_65002_"),
    				},
    				&panos.FiltersAsPathAccessListRoutingProfileAspathEntryArgs{
    					Name:        pulumi.String("2"),
    					Action:      pulumi.String("deny"),
    					AspathRegex: pulumi.String("_65003_"),
    				},
    			},
    		})
    		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 AS Path Access List profiles
        var example = new Panos.Template("example", new()
        {
            Location = new Panos.Inputs.TemplateLocationArgs
            {
                Panorama = null,
            },
            Name = "as-path-acl-template",
        });
    
        // Basic AS Path Access List Profile
        var basic = new Panos.FiltersAsPathAccessListRoutingProfile("basic", new()
        {
            Location = new Panos.Inputs.FiltersAsPathAccessListRoutingProfileLocationArgs
            {
                Template = new Panos.Inputs.FiltersAsPathAccessListRoutingProfileLocationTemplateArgs
                {
                    Name = example.Name,
                },
            },
            Name = "basic-as-path-acl",
            Description = "Basic AS Path Access List for filtering BGP routes",
            AspathEntries = new[]
            {
                new Panos.Inputs.FiltersAsPathAccessListRoutingProfileAspathEntryArgs
                {
                    Name = "1",
                    Action = "deny",
                    AspathRegex = "^65000_",
                },
            },
        });
    
        // AS Path Access List with Permit Action
        var permitExample = new Panos.FiltersAsPathAccessListRoutingProfile("permit_example", new()
        {
            Location = new Panos.Inputs.FiltersAsPathAccessListRoutingProfileLocationArgs
            {
                Template = new Panos.Inputs.FiltersAsPathAccessListRoutingProfileLocationTemplateArgs
                {
                    Name = example.Name,
                },
            },
            Name = "permit-as-path-acl",
            Description = "AS Path Access List permitting specific AS paths",
            AspathEntries = new[]
            {
                new Panos.Inputs.FiltersAsPathAccessListRoutingProfileAspathEntryArgs
                {
                    Name = "1",
                    Action = "permit",
                    AspathRegex = "^65100_",
                },
            },
        });
    
        // AS Path Access List with Multiple Entries
        var multipleEntries = new Panos.FiltersAsPathAccessListRoutingProfile("multiple_entries", new()
        {
            Location = new Panos.Inputs.FiltersAsPathAccessListRoutingProfileLocationArgs
            {
                Template = new Panos.Inputs.FiltersAsPathAccessListRoutingProfileLocationTemplateArgs
                {
                    Name = example.Name,
                },
            },
            Name = "multi-entry-as-path-acl",
            Description = "AS Path Access List with multiple filtering rules",
            AspathEntries = new[]
            {
                new Panos.Inputs.FiltersAsPathAccessListRoutingProfileAspathEntryArgs
                {
                    Name = "1",
                    Action = "permit",
                    AspathRegex = "^65000_",
                },
                new Panos.Inputs.FiltersAsPathAccessListRoutingProfileAspathEntryArgs
                {
                    Name = "2",
                    Action = "deny",
                    AspathRegex = "_65100$",
                },
                new Panos.Inputs.FiltersAsPathAccessListRoutingProfileAspathEntryArgs
                {
                    Name = "3",
                    Action = "permit",
                    AspathRegex = "^65200_.*_65300$",
                },
            },
        });
    
        // Complex AS Path Access List with Advanced Regex Patterns
        var advanced = new Panos.FiltersAsPathAccessListRoutingProfile("advanced", new()
        {
            Location = new Panos.Inputs.FiltersAsPathAccessListRoutingProfileLocationArgs
            {
                Template = new Panos.Inputs.FiltersAsPathAccessListRoutingProfileLocationTemplateArgs
                {
                    Name = example.Name,
                },
            },
            Name = "advanced-as-path-acl",
            Description = "Advanced AS Path Access List with complex regex patterns",
            AspathEntries = new[]
            {
                new Panos.Inputs.FiltersAsPathAccessListRoutingProfileAspathEntryArgs
                {
                    Name = "1",
                    Action = "permit",
                    AspathRegex = "^$",
                },
                new Panos.Inputs.FiltersAsPathAccessListRoutingProfileAspathEntryArgs
                {
                    Name = "2",
                    Action = "deny",
                    AspathRegex = "_64512_",
                },
                new Panos.Inputs.FiltersAsPathAccessListRoutingProfileAspathEntryArgs
                {
                    Name = "3",
                    Action = "permit",
                    AspathRegex = "^65[0-9]{3}_",
                },
                new Panos.Inputs.FiltersAsPathAccessListRoutingProfileAspathEntryArgs
                {
                    Name = "4",
                    Action = "deny",
                    AspathRegex = ".*",
                },
            },
        });
    
        // AS Path Access List on NGFW Device
        var ngfwExample = new Panos.FiltersAsPathAccessListRoutingProfile("ngfw_example", new()
        {
            Location = new Panos.Inputs.FiltersAsPathAccessListRoutingProfileLocationArgs
            {
                Ngfw = new Panos.Inputs.FiltersAsPathAccessListRoutingProfileLocationNgfwArgs
                {
                    NgfwDevice = "localhost.localdomain",
                },
            },
            Name = "ngfw-as-path-acl",
            Description = "AS Path Access List configured on NGFW device",
            AspathEntries = new[]
            {
                new Panos.Inputs.FiltersAsPathAccessListRoutingProfileAspathEntryArgs
                {
                    Name = "1",
                    Action = "permit",
                    AspathRegex = "^65001_65002_",
                },
                new Panos.Inputs.FiltersAsPathAccessListRoutingProfileAspathEntryArgs
                {
                    Name = "2",
                    Action = "deny",
                    AspathRegex = "_65003_",
                },
            },
        });
    
    });
    
    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.FiltersAsPathAccessListRoutingProfile;
    import com.pulumi.panos.FiltersAsPathAccessListRoutingProfileArgs;
    import com.pulumi.panos.inputs.FiltersAsPathAccessListRoutingProfileLocationArgs;
    import com.pulumi.panos.inputs.FiltersAsPathAccessListRoutingProfileLocationTemplateArgs;
    import com.pulumi.panos.inputs.FiltersAsPathAccessListRoutingProfileAspathEntryArgs;
    import com.pulumi.panos.inputs.FiltersAsPathAccessListRoutingProfileLocationNgfwArgs;
    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 AS Path Access List profiles
            var example = new Template("example", TemplateArgs.builder()
                .location(TemplateLocationArgs.builder()
                    .panorama(TemplateLocationPanoramaArgs.builder()
                        .build())
                    .build())
                .name("as-path-acl-template")
                .build());
    
            // Basic AS Path Access List Profile
            var basic = new FiltersAsPathAccessListRoutingProfile("basic", FiltersAsPathAccessListRoutingProfileArgs.builder()
                .location(FiltersAsPathAccessListRoutingProfileLocationArgs.builder()
                    .template(FiltersAsPathAccessListRoutingProfileLocationTemplateArgs.builder()
                        .name(example.name())
                        .build())
                    .build())
                .name("basic-as-path-acl")
                .description("Basic AS Path Access List for filtering BGP routes")
                .aspathEntries(FiltersAsPathAccessListRoutingProfileAspathEntryArgs.builder()
                    .name("1")
                    .action("deny")
                    .aspathRegex("^65000_")
                    .build())
                .build());
    
            // AS Path Access List with Permit Action
            var permitExample = new FiltersAsPathAccessListRoutingProfile("permitExample", FiltersAsPathAccessListRoutingProfileArgs.builder()
                .location(FiltersAsPathAccessListRoutingProfileLocationArgs.builder()
                    .template(FiltersAsPathAccessListRoutingProfileLocationTemplateArgs.builder()
                        .name(example.name())
                        .build())
                    .build())
                .name("permit-as-path-acl")
                .description("AS Path Access List permitting specific AS paths")
                .aspathEntries(FiltersAsPathAccessListRoutingProfileAspathEntryArgs.builder()
                    .name("1")
                    .action("permit")
                    .aspathRegex("^65100_")
                    .build())
                .build());
    
            // AS Path Access List with Multiple Entries
            var multipleEntries = new FiltersAsPathAccessListRoutingProfile("multipleEntries", FiltersAsPathAccessListRoutingProfileArgs.builder()
                .location(FiltersAsPathAccessListRoutingProfileLocationArgs.builder()
                    .template(FiltersAsPathAccessListRoutingProfileLocationTemplateArgs.builder()
                        .name(example.name())
                        .build())
                    .build())
                .name("multi-entry-as-path-acl")
                .description("AS Path Access List with multiple filtering rules")
                .aspathEntries(            
                    FiltersAsPathAccessListRoutingProfileAspathEntryArgs.builder()
                        .name("1")
                        .action("permit")
                        .aspathRegex("^65000_")
                        .build(),
                    FiltersAsPathAccessListRoutingProfileAspathEntryArgs.builder()
                        .name("2")
                        .action("deny")
                        .aspathRegex("_65100$")
                        .build(),
                    FiltersAsPathAccessListRoutingProfileAspathEntryArgs.builder()
                        .name("3")
                        .action("permit")
                        .aspathRegex("^65200_.*_65300$")
                        .build())
                .build());
    
            // Complex AS Path Access List with Advanced Regex Patterns
            var advanced = new FiltersAsPathAccessListRoutingProfile("advanced", FiltersAsPathAccessListRoutingProfileArgs.builder()
                .location(FiltersAsPathAccessListRoutingProfileLocationArgs.builder()
                    .template(FiltersAsPathAccessListRoutingProfileLocationTemplateArgs.builder()
                        .name(example.name())
                        .build())
                    .build())
                .name("advanced-as-path-acl")
                .description("Advanced AS Path Access List with complex regex patterns")
                .aspathEntries(            
                    FiltersAsPathAccessListRoutingProfileAspathEntryArgs.builder()
                        .name("1")
                        .action("permit")
                        .aspathRegex("^$")
                        .build(),
                    FiltersAsPathAccessListRoutingProfileAspathEntryArgs.builder()
                        .name("2")
                        .action("deny")
                        .aspathRegex("_64512_")
                        .build(),
                    FiltersAsPathAccessListRoutingProfileAspathEntryArgs.builder()
                        .name("3")
                        .action("permit")
                        .aspathRegex("^65[0-9]{3}_")
                        .build(),
                    FiltersAsPathAccessListRoutingProfileAspathEntryArgs.builder()
                        .name("4")
                        .action("deny")
                        .aspathRegex(".*")
                        .build())
                .build());
    
            // AS Path Access List on NGFW Device
            var ngfwExample = new FiltersAsPathAccessListRoutingProfile("ngfwExample", FiltersAsPathAccessListRoutingProfileArgs.builder()
                .location(FiltersAsPathAccessListRoutingProfileLocationArgs.builder()
                    .ngfw(FiltersAsPathAccessListRoutingProfileLocationNgfwArgs.builder()
                        .ngfwDevice("localhost.localdomain")
                        .build())
                    .build())
                .name("ngfw-as-path-acl")
                .description("AS Path Access List configured on NGFW device")
                .aspathEntries(            
                    FiltersAsPathAccessListRoutingProfileAspathEntryArgs.builder()
                        .name("1")
                        .action("permit")
                        .aspathRegex("^65001_65002_")
                        .build(),
                    FiltersAsPathAccessListRoutingProfileAspathEntryArgs.builder()
                        .name("2")
                        .action("deny")
                        .aspathRegex("_65003_")
                        .build())
                .build());
    
        }
    }
    
    resources:
      # Create a template for the AS Path Access List profiles
      example:
        type: panos:Template
        properties:
          location:
            panorama: {}
          name: as-path-acl-template
      # Basic AS Path Access List Profile
      basic:
        type: panos:FiltersAsPathAccessListRoutingProfile
        properties:
          location:
            template:
              name: ${example.name}
          name: basic-as-path-acl
          description: Basic AS Path Access List for filtering BGP routes
          aspathEntries:
            - name: '1'
              action: deny
              aspathRegex: ^65000_
      # AS Path Access List with Permit Action
      permitExample:
        type: panos:FiltersAsPathAccessListRoutingProfile
        name: permit_example
        properties:
          location:
            template:
              name: ${example.name}
          name: permit-as-path-acl
          description: AS Path Access List permitting specific AS paths
          aspathEntries:
            - name: '1'
              action: permit
              aspathRegex: ^65100_
      # AS Path Access List with Multiple Entries
      multipleEntries:
        type: panos:FiltersAsPathAccessListRoutingProfile
        name: multiple_entries
        properties:
          location:
            template:
              name: ${example.name}
          name: multi-entry-as-path-acl
          description: AS Path Access List with multiple filtering rules
          aspathEntries:
            - name: '1'
              action: permit
              aspathRegex: ^65000_
            - name: '2'
              action: deny
              aspathRegex: _65100$
            - name: '3'
              action: permit
              aspathRegex: ^65200_.*_65300$
      # Complex AS Path Access List with Advanced Regex Patterns
      advanced:
        type: panos:FiltersAsPathAccessListRoutingProfile
        properties:
          location:
            template:
              name: ${example.name}
          name: advanced-as-path-acl
          description: Advanced AS Path Access List with complex regex patterns
          aspathEntries:
            - name: '1'
              action: permit
              aspathRegex: ^$
            - name: '2'
              action: deny
              aspathRegex: _64512_
            - name: '3'
              action: permit
              aspathRegex: ^65[0-9]{3}_
            - name: '4'
              action: deny
              aspathRegex: .*
      # AS Path Access List on NGFW Device
      ngfwExample:
        type: panos:FiltersAsPathAccessListRoutingProfile
        name: ngfw_example
        properties:
          location:
            ngfw:
              ngfwDevice: localhost.localdomain
          name: ngfw-as-path-acl
          description: AS Path Access List configured on NGFW device
          aspathEntries:
            - name: '1'
              action: permit
              aspathRegex: ^65001_65002_
            - name: '2'
              action: deny
              aspathRegex: _65003_
    

    Create FiltersAsPathAccessListRoutingProfile Resource

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

    Constructor syntax

    new FiltersAsPathAccessListRoutingProfile(name: string, args: FiltersAsPathAccessListRoutingProfileArgs, opts?: CustomResourceOptions);
    @overload
    def FiltersAsPathAccessListRoutingProfile(resource_name: str,
                                              args: FiltersAsPathAccessListRoutingProfileArgs,
                                              opts: Optional[ResourceOptions] = None)
    
    @overload
    def FiltersAsPathAccessListRoutingProfile(resource_name: str,
                                              opts: Optional[ResourceOptions] = None,
                                              location: Optional[FiltersAsPathAccessListRoutingProfileLocationArgs] = None,
                                              aspath_entries: Optional[Sequence[FiltersAsPathAccessListRoutingProfileAspathEntryArgs]] = None,
                                              description: Optional[str] = None,
                                              name: Optional[str] = None)
    func NewFiltersAsPathAccessListRoutingProfile(ctx *Context, name string, args FiltersAsPathAccessListRoutingProfileArgs, opts ...ResourceOption) (*FiltersAsPathAccessListRoutingProfile, error)
    public FiltersAsPathAccessListRoutingProfile(string name, FiltersAsPathAccessListRoutingProfileArgs args, CustomResourceOptions? opts = null)
    public FiltersAsPathAccessListRoutingProfile(String name, FiltersAsPathAccessListRoutingProfileArgs args)
    public FiltersAsPathAccessListRoutingProfile(String name, FiltersAsPathAccessListRoutingProfileArgs args, CustomResourceOptions options)
    
    type: panos:FiltersAsPathAccessListRoutingProfile
    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 FiltersAsPathAccessListRoutingProfileArgs
    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 FiltersAsPathAccessListRoutingProfileArgs
    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 FiltersAsPathAccessListRoutingProfileArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args FiltersAsPathAccessListRoutingProfileArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args FiltersAsPathAccessListRoutingProfileArgs
    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 filtersAsPathAccessListRoutingProfileResource = new Panos.FiltersAsPathAccessListRoutingProfile("filtersAsPathAccessListRoutingProfileResource", new()
    {
        Location = new Panos.Inputs.FiltersAsPathAccessListRoutingProfileLocationArgs
        {
            Ngfw = new Panos.Inputs.FiltersAsPathAccessListRoutingProfileLocationNgfwArgs
            {
                NgfwDevice = "string",
            },
            Template = new Panos.Inputs.FiltersAsPathAccessListRoutingProfileLocationTemplateArgs
            {
                Name = "string",
                NgfwDevice = "string",
                PanoramaDevice = "string",
            },
            TemplateStack = new Panos.Inputs.FiltersAsPathAccessListRoutingProfileLocationTemplateStackArgs
            {
                Name = "string",
                NgfwDevice = "string",
                PanoramaDevice = "string",
            },
        },
        AspathEntries = new[]
        {
            new Panos.Inputs.FiltersAsPathAccessListRoutingProfileAspathEntryArgs
            {
                Name = "string",
                Action = "string",
                AspathRegex = "string",
            },
        },
        Description = "string",
        Name = "string",
    });
    
    example, err := panos.NewFiltersAsPathAccessListRoutingProfile(ctx, "filtersAsPathAccessListRoutingProfileResource", &panos.FiltersAsPathAccessListRoutingProfileArgs{
    	Location: &panos.FiltersAsPathAccessListRoutingProfileLocationArgs{
    		Ngfw: &panos.FiltersAsPathAccessListRoutingProfileLocationNgfwArgs{
    			NgfwDevice: pulumi.String("string"),
    		},
    		Template: &panos.FiltersAsPathAccessListRoutingProfileLocationTemplateArgs{
    			Name:           pulumi.String("string"),
    			NgfwDevice:     pulumi.String("string"),
    			PanoramaDevice: pulumi.String("string"),
    		},
    		TemplateStack: &panos.FiltersAsPathAccessListRoutingProfileLocationTemplateStackArgs{
    			Name:           pulumi.String("string"),
    			NgfwDevice:     pulumi.String("string"),
    			PanoramaDevice: pulumi.String("string"),
    		},
    	},
    	AspathEntries: panos.FiltersAsPathAccessListRoutingProfileAspathEntryArray{
    		&panos.FiltersAsPathAccessListRoutingProfileAspathEntryArgs{
    			Name:        pulumi.String("string"),
    			Action:      pulumi.String("string"),
    			AspathRegex: pulumi.String("string"),
    		},
    	},
    	Description: pulumi.String("string"),
    	Name:        pulumi.String("string"),
    })
    
    var filtersAsPathAccessListRoutingProfileResource = new FiltersAsPathAccessListRoutingProfile("filtersAsPathAccessListRoutingProfileResource", FiltersAsPathAccessListRoutingProfileArgs.builder()
        .location(FiltersAsPathAccessListRoutingProfileLocationArgs.builder()
            .ngfw(FiltersAsPathAccessListRoutingProfileLocationNgfwArgs.builder()
                .ngfwDevice("string")
                .build())
            .template(FiltersAsPathAccessListRoutingProfileLocationTemplateArgs.builder()
                .name("string")
                .ngfwDevice("string")
                .panoramaDevice("string")
                .build())
            .templateStack(FiltersAsPathAccessListRoutingProfileLocationTemplateStackArgs.builder()
                .name("string")
                .ngfwDevice("string")
                .panoramaDevice("string")
                .build())
            .build())
        .aspathEntries(FiltersAsPathAccessListRoutingProfileAspathEntryArgs.builder()
            .name("string")
            .action("string")
            .aspathRegex("string")
            .build())
        .description("string")
        .name("string")
        .build());
    
    filters_as_path_access_list_routing_profile_resource = panos.FiltersAsPathAccessListRoutingProfile("filtersAsPathAccessListRoutingProfileResource",
        location={
            "ngfw": {
                "ngfw_device": "string",
            },
            "template": {
                "name": "string",
                "ngfw_device": "string",
                "panorama_device": "string",
            },
            "template_stack": {
                "name": "string",
                "ngfw_device": "string",
                "panorama_device": "string",
            },
        },
        aspath_entries=[{
            "name": "string",
            "action": "string",
            "aspath_regex": "string",
        }],
        description="string",
        name="string")
    
    const filtersAsPathAccessListRoutingProfileResource = new panos.FiltersAsPathAccessListRoutingProfile("filtersAsPathAccessListRoutingProfileResource", {
        location: {
            ngfw: {
                ngfwDevice: "string",
            },
            template: {
                name: "string",
                ngfwDevice: "string",
                panoramaDevice: "string",
            },
            templateStack: {
                name: "string",
                ngfwDevice: "string",
                panoramaDevice: "string",
            },
        },
        aspathEntries: [{
            name: "string",
            action: "string",
            aspathRegex: "string",
        }],
        description: "string",
        name: "string",
    });
    
    type: panos:FiltersAsPathAccessListRoutingProfile
    properties:
        aspathEntries:
            - action: string
              aspathRegex: string
              name: string
        description: string
        location:
            ngfw:
                ngfwDevice: string
            template:
                name: string
                ngfwDevice: string
                panoramaDevice: string
            templateStack:
                name: string
                ngfwDevice: string
                panoramaDevice: string
        name: string
    

    FiltersAsPathAccessListRoutingProfile 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 FiltersAsPathAccessListRoutingProfile resource accepts the following input properties:

    location Property Map
    The location of this object.
    aspathEntries List<Property Map>
    description String
    Describe BGP AS-Path Access-List
    name String

    Outputs

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

    Get an existing FiltersAsPathAccessListRoutingProfile 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?: FiltersAsPathAccessListRoutingProfileState, opts?: CustomResourceOptions): FiltersAsPathAccessListRoutingProfile
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            aspath_entries: Optional[Sequence[FiltersAsPathAccessListRoutingProfileAspathEntryArgs]] = None,
            description: Optional[str] = None,
            location: Optional[FiltersAsPathAccessListRoutingProfileLocationArgs] = None,
            name: Optional[str] = None) -> FiltersAsPathAccessListRoutingProfile
    func GetFiltersAsPathAccessListRoutingProfile(ctx *Context, name string, id IDInput, state *FiltersAsPathAccessListRoutingProfileState, opts ...ResourceOption) (*FiltersAsPathAccessListRoutingProfile, error)
    public static FiltersAsPathAccessListRoutingProfile Get(string name, Input<string> id, FiltersAsPathAccessListRoutingProfileState? state, CustomResourceOptions? opts = null)
    public static FiltersAsPathAccessListRoutingProfile get(String name, Output<String> id, FiltersAsPathAccessListRoutingProfileState state, CustomResourceOptions options)
    resources:  _:    type: panos:FiltersAsPathAccessListRoutingProfile    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:
    aspathEntries List<Property Map>
    description String
    Describe BGP AS-Path Access-List
    location Property Map
    The location of this object.
    name String

    Supporting Types

    FiltersAsPathAccessListRoutingProfileAspathEntry, FiltersAsPathAccessListRoutingProfileAspathEntryArgs

    Name string
    Action string
    Permit or Deny (default) this BGP AS-Path Access-List Entry
    AspathRegex string
    Set regular-expression (1234567890_^|[,{}()]$*+.?-) to match the BGP AS path
    Name string
    Action string
    Permit or Deny (default) this BGP AS-Path Access-List Entry
    AspathRegex string
    Set regular-expression (1234567890_^|[,{}()]$*+.?-) to match the BGP AS path
    name String
    action String
    Permit or Deny (default) this BGP AS-Path Access-List Entry
    aspathRegex String
    Set regular-expression (1234567890_^|[,{}()]$*+.?-) to match the BGP AS path
    name string
    action string
    Permit or Deny (default) this BGP AS-Path Access-List Entry
    aspathRegex string
    Set regular-expression (1234567890_^|[,{}()]$*+.?-) to match the BGP AS path
    name str
    action str
    Permit or Deny (default) this BGP AS-Path Access-List Entry
    aspath_regex str
    Set regular-expression (1234567890_^|[,{}()]$*+.?-) to match the BGP AS path
    name String
    action String
    Permit or Deny (default) this BGP AS-Path Access-List Entry
    aspathRegex String
    Set regular-expression (1234567890_^|[,{}()]$*+.?-) to match the BGP AS path

    FiltersAsPathAccessListRoutingProfileLocation, FiltersAsPathAccessListRoutingProfileLocationArgs

    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

    FiltersAsPathAccessListRoutingProfileLocationNgfw, FiltersAsPathAccessListRoutingProfileLocationNgfwArgs

    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

    FiltersAsPathAccessListRoutingProfileLocationTemplate, FiltersAsPathAccessListRoutingProfileLocationTemplateArgs

    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

    FiltersAsPathAccessListRoutingProfileLocationTemplateStack, FiltersAsPathAccessListRoutingProfileLocationTemplateStackArgs

    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

    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.7 published on Thursday, Nov 27, 2025 by paloaltonetworks
      Meet Neo: Your AI Platform Teammate