1. Packages
  2. Packages
  3. Panos Provider
  4. API Docs
  5. VlanEntry
Viewing docs for panos 2.0.12
published on Wednesday, Jun 17, 2026 by paloaltonetworks
Viewing docs for panos 2.0.12
published on Wednesday, Jun 17, 2026 by paloaltonetworks

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as panos from "@pulumi/panos";
    
    // This example demonstrates adding static MAC address entries to a VLAN.
    // Each panos_vlan_entry binds a specific MAC address to an L2 interface,
    // allowing the firewall to forward frames for that MAC without flooding.
    //
    // The example builds the full dependency chain:
    //   panos_template -> panos_vlan_interface -> panos_vlan -> panos_vlan_entry
    //
    // To use on a standalone NGFW, replace every template location block with:
    //   location = { ngfw = {} }
    const example = new panos.Template("example", {
        location: {
            panorama: {},
        },
        name: "branch-office-template",
    });
    const vlan10 = new panos.VlanInterface("vlan10", {
        location: {
            template: {
                name: example.name,
            },
        },
        name: "vlan.10",
        comment: "L3 gateway for production VLAN 10",
        ips: [{
            name: "10.10.0.1/24",
        }],
    });
    const production = new panos.Vlan("production", {
        location: {
            template: {
                name: example.name,
            },
        },
        name: "vlan-10-production",
        interfaces: [
            "ethernet1/3",
            "ethernet1/4",
        ],
        virtualInterface: {
            "interface": vlan10.name,
        },
    });
    // Static MAC entry for a server whose frames always arrive on ethernet1/3.
    // Using panos_vlan.production.name as the parent reference ensures Terraform
    // creates the VLAN before these entries and replaces entries if the VLAN
    // is renamed.
    const serverWeb = new panos.VlanEntry("server_web", {
        location: {
            template: {
                name: example.name,
            },
        },
        vlan: production.name,
        name: "00:1a:2b:3c:4d:5e",
        "interface": "ethernet1/3",
    });
    // Static MAC entry for a second host connected via ethernet1/4.
    const serverDb = new panos.VlanEntry("server_db", {
        location: {
            template: {
                name: example.name,
            },
        },
        vlan: production.name,
        name: "00:1a:2b:3c:4d:6f",
        "interface": "ethernet1/4",
    });
    
    import pulumi
    import pulumi_panos as panos
    
    # This example demonstrates adding static MAC address entries to a VLAN.
    # Each panos_vlan_entry binds a specific MAC address to an L2 interface,
    # allowing the firewall to forward frames for that MAC without flooding.
    #
    # The example builds the full dependency chain:
    #   panos_template -> panos_vlan_interface -> panos_vlan -> panos_vlan_entry
    #
    # To use on a standalone NGFW, replace every template location block with:
    #   location = { ngfw = {} }
    example = panos.Template("example",
        location={
            "panorama": {},
        },
        name="branch-office-template")
    vlan10 = panos.VlanInterface("vlan10",
        location={
            "template": {
                "name": example.name,
            },
        },
        name="vlan.10",
        comment="L3 gateway for production VLAN 10",
        ips=[{
            "name": "10.10.0.1/24",
        }])
    production = panos.Vlan("production",
        location={
            "template": {
                "name": example.name,
            },
        },
        name="vlan-10-production",
        interfaces=[
            "ethernet1/3",
            "ethernet1/4",
        ],
        virtual_interface={
            "interface": vlan10.name,
        })
    # Static MAC entry for a server whose frames always arrive on ethernet1/3.
    # Using panos_vlan.production.name as the parent reference ensures Terraform
    # creates the VLAN before these entries and replaces entries if the VLAN
    # is renamed.
    server_web = panos.VlanEntry("server_web",
        location={
            "template": {
                "name": example.name,
            },
        },
        vlan=production.name,
        name="00:1a:2b:3c:4d:5e",
        interface="ethernet1/3")
    # Static MAC entry for a second host connected via ethernet1/4.
    server_db = panos.VlanEntry("server_db",
        location={
            "template": {
                "name": example.name,
            },
        },
        vlan=production.name,
        name="00:1a:2b:3c:4d:6f",
        interface="ethernet1/4")
    
    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 {
    		// This example demonstrates adding static MAC address entries to a VLAN.
    		// Each panos_vlan_entry binds a specific MAC address to an L2 interface,
    		// allowing the firewall to forward frames for that MAC without flooding.
    		//
    		// The example builds the full dependency chain:
    		//
    		//	panos_template -> panos_vlan_interface -> panos_vlan -> panos_vlan_entry
    		//
    		// To use on a standalone NGFW, replace every template location block with:
    		//
    		//	location = { ngfw = {} }
    		example, err := panos.NewTemplate(ctx, "example", &panos.TemplateArgs{
    			Location: &panos.TemplateLocationArgs{
    				Panorama: &panos.TemplateLocationPanoramaArgs{},
    			},
    			Name: pulumi.String("branch-office-template"),
    		})
    		if err != nil {
    			return err
    		}
    		vlan10, err := panos.NewVlanInterface(ctx, "vlan10", &panos.VlanInterfaceArgs{
    			Location: &panos.VlanInterfaceLocationArgs{
    				Template: &panos.VlanInterfaceLocationTemplateArgs{
    					Name: example.Name,
    				},
    			},
    			Name:    pulumi.String("vlan.10"),
    			Comment: pulumi.String("L3 gateway for production VLAN 10"),
    			Ips: panos.VlanInterfaceIpArray{
    				&panos.VlanInterfaceIpArgs{
    					Name: pulumi.String("10.10.0.1/24"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		production, err := panos.NewVlan(ctx, "production", &panos.VlanArgs{
    			Location: &panos.VlanLocationArgs{
    				Template: &panos.VlanLocationTemplateArgs{
    					Name: example.Name,
    				},
    			},
    			Name: pulumi.String("vlan-10-production"),
    			Interfaces: pulumi.StringArray{
    				pulumi.String("ethernet1/3"),
    				pulumi.String("ethernet1/4"),
    			},
    			VirtualInterface: &panos.VlanVirtualInterfaceArgs{
    				Interface: vlan10.Name,
    			},
    		})
    		if err != nil {
    			return err
    		}
    		// Static MAC entry for a server whose frames always arrive on ethernet1/3.
    		// Using panos_vlan.production.name as the parent reference ensures Terraform
    		// creates the VLAN before these entries and replaces entries if the VLAN
    		// is renamed.
    		_, err = panos.NewVlanEntry(ctx, "server_web", &panos.VlanEntryArgs{
    			Location: &panos.VlanEntryLocationArgs{
    				Template: &panos.VlanEntryLocationTemplateArgs{
    					Name: example.Name,
    				},
    			},
    			Vlan:      production.Name,
    			Name:      pulumi.String("00:1a:2b:3c:4d:5e"),
    			Interface: pulumi.String("ethernet1/3"),
    		})
    		if err != nil {
    			return err
    		}
    		// Static MAC entry for a second host connected via ethernet1/4.
    		_, err = panos.NewVlanEntry(ctx, "server_db", &panos.VlanEntryArgs{
    			Location: &panos.VlanEntryLocationArgs{
    				Template: &panos.VlanEntryLocationTemplateArgs{
    					Name: example.Name,
    				},
    			},
    			Vlan:      production.Name,
    			Name:      pulumi.String("00:1a:2b:3c:4d:6f"),
    			Interface: pulumi.String("ethernet1/4"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Panos = Pulumi.Panos;
    
    return await Deployment.RunAsync(() => 
    {
        // This example demonstrates adding static MAC address entries to a VLAN.
        // Each panos_vlan_entry binds a specific MAC address to an L2 interface,
        // allowing the firewall to forward frames for that MAC without flooding.
        //
        // The example builds the full dependency chain:
        //   panos_template -> panos_vlan_interface -> panos_vlan -> panos_vlan_entry
        //
        // To use on a standalone NGFW, replace every template location block with:
        //   location = { ngfw = {} }
        var example = new Panos.Template("example", new()
        {
            Location = new Panos.Inputs.TemplateLocationArgs
            {
                Panorama = null,
            },
            Name = "branch-office-template",
        });
    
        var vlan10 = new Panos.VlanInterface("vlan10", new()
        {
            Location = new Panos.Inputs.VlanInterfaceLocationArgs
            {
                Template = new Panos.Inputs.VlanInterfaceLocationTemplateArgs
                {
                    Name = example.Name,
                },
            },
            Name = "vlan.10",
            Comment = "L3 gateway for production VLAN 10",
            Ips = new[]
            {
                new Panos.Inputs.VlanInterfaceIpArgs
                {
                    Name = "10.10.0.1/24",
                },
            },
        });
    
        var production = new Panos.Vlan("production", new()
        {
            Location = new Panos.Inputs.VlanLocationArgs
            {
                Template = new Panos.Inputs.VlanLocationTemplateArgs
                {
                    Name = example.Name,
                },
            },
            Name = "vlan-10-production",
            Interfaces = new[]
            {
                "ethernet1/3",
                "ethernet1/4",
            },
            VirtualInterface = new Panos.Inputs.VlanVirtualInterfaceArgs
            {
                Interface = vlan10.Name,
            },
        });
    
        // Static MAC entry for a server whose frames always arrive on ethernet1/3.
        // Using panos_vlan.production.name as the parent reference ensures Terraform
        // creates the VLAN before these entries and replaces entries if the VLAN
        // is renamed.
        var serverWeb = new Panos.VlanEntry("server_web", new()
        {
            Location = new Panos.Inputs.VlanEntryLocationArgs
            {
                Template = new Panos.Inputs.VlanEntryLocationTemplateArgs
                {
                    Name = example.Name,
                },
            },
            Vlan = production.Name,
            Name = "00:1a:2b:3c:4d:5e",
            Interface = "ethernet1/3",
        });
    
        // Static MAC entry for a second host connected via ethernet1/4.
        var serverDb = new Panos.VlanEntry("server_db", new()
        {
            Location = new Panos.Inputs.VlanEntryLocationArgs
            {
                Template = new Panos.Inputs.VlanEntryLocationTemplateArgs
                {
                    Name = example.Name,
                },
            },
            Vlan = production.Name,
            Name = "00:1a:2b:3c:4d:6f",
            Interface = "ethernet1/4",
        });
    
    });
    
    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.VlanInterface;
    import com.pulumi.panos.VlanInterfaceArgs;
    import com.pulumi.panos.inputs.VlanInterfaceLocationArgs;
    import com.pulumi.panos.inputs.VlanInterfaceLocationTemplateArgs;
    import com.pulumi.panos.inputs.VlanInterfaceIpArgs;
    import com.pulumi.panos.Vlan;
    import com.pulumi.panos.VlanArgs;
    import com.pulumi.panos.inputs.VlanLocationArgs;
    import com.pulumi.panos.inputs.VlanLocationTemplateArgs;
    import com.pulumi.panos.inputs.VlanVirtualInterfaceArgs;
    import com.pulumi.panos.VlanEntry;
    import com.pulumi.panos.VlanEntryArgs;
    import com.pulumi.panos.inputs.VlanEntryLocationArgs;
    import com.pulumi.panos.inputs.VlanEntryLocationTemplateArgs;
    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) {
            // This example demonstrates adding static MAC address entries to a VLAN.
            // Each panos_vlan_entry binds a specific MAC address to an L2 interface,
            // allowing the firewall to forward frames for that MAC without flooding.
            //
            // The example builds the full dependency chain:
            //   panos_template -> panos_vlan_interface -> panos_vlan -> panos_vlan_entry
            //
            // To use on a standalone NGFW, replace every template location block with:
            //   location = { ngfw = {} }
            var example = new Template("example", TemplateArgs.builder()
                .location(TemplateLocationArgs.builder()
                    .panorama(TemplateLocationPanoramaArgs.builder()
                        .build())
                    .build())
                .name("branch-office-template")
                .build());
    
            var vlan10 = new VlanInterface("vlan10", VlanInterfaceArgs.builder()
                .location(VlanInterfaceLocationArgs.builder()
                    .template(VlanInterfaceLocationTemplateArgs.builder()
                        .name(example.name())
                        .build())
                    .build())
                .name("vlan.10")
                .comment("L3 gateway for production VLAN 10")
                .ips(VlanInterfaceIpArgs.builder()
                    .name("10.10.0.1/24")
                    .build())
                .build());
    
            var production = new Vlan("production", VlanArgs.builder()
                .location(VlanLocationArgs.builder()
                    .template(VlanLocationTemplateArgs.builder()
                        .name(example.name())
                        .build())
                    .build())
                .name("vlan-10-production")
                .interfaces(            
                    "ethernet1/3",
                    "ethernet1/4")
                .virtualInterface(VlanVirtualInterfaceArgs.builder()
                    .interface_(vlan10.name())
                    .build())
                .build());
    
            // Static MAC entry for a server whose frames always arrive on ethernet1/3.
            // Using panos_vlan.production.name as the parent reference ensures Terraform
            // creates the VLAN before these entries and replaces entries if the VLAN
            // is renamed.
            var serverWeb = new VlanEntry("serverWeb", VlanEntryArgs.builder()
                .location(VlanEntryLocationArgs.builder()
                    .template(VlanEntryLocationTemplateArgs.builder()
                        .name(example.name())
                        .build())
                    .build())
                .vlan(production.name())
                .name("00:1a:2b:3c:4d:5e")
                .interface_("ethernet1/3")
                .build());
    
            // Static MAC entry for a second host connected via ethernet1/4.
            var serverDb = new VlanEntry("serverDb", VlanEntryArgs.builder()
                .location(VlanEntryLocationArgs.builder()
                    .template(VlanEntryLocationTemplateArgs.builder()
                        .name(example.name())
                        .build())
                    .build())
                .vlan(production.name())
                .name("00:1a:2b:3c:4d:6f")
                .interface_("ethernet1/4")
                .build());
    
        }
    }
    
    resources:
      # This example demonstrates adding static MAC address entries to a VLAN.
      # Each panos_vlan_entry binds a specific MAC address to an L2 interface,
      # allowing the firewall to forward frames for that MAC without flooding.
      #
      # The example builds the full dependency chain:
      #   panos_template -> panos_vlan_interface -> panos_vlan -> panos_vlan_entry
      #
      # To use on a standalone NGFW, replace every template location block with:
      #   location = { ngfw = {} }
      example:
        type: panos:Template
        properties:
          location:
            panorama: {}
          name: branch-office-template
      vlan10:
        type: panos:VlanInterface
        properties:
          location:
            template:
              name: ${example.name}
          name: vlan.10
          comment: L3 gateway for production VLAN 10
          ips:
            - name: 10.10.0.1/24
      production:
        type: panos:Vlan
        properties:
          location:
            template:
              name: ${example.name}
          name: vlan-10-production
          interfaces:
            - ethernet1/3
            - ethernet1/4
          virtualInterface:
            interface: ${vlan10.name}
      # Static MAC entry for a server whose frames always arrive on ethernet1/3.
      # Using panos_vlan.production.name as the parent reference ensures Terraform
      # creates the VLAN before these entries and replaces entries if the VLAN
      # is renamed.
      serverWeb:
        type: panos:VlanEntry
        name: server_web
        properties:
          location:
            template:
              name: ${example.name}
          vlan: ${production.name}
          name: 00:1a:2b:3c:4d:5e
          interface: ethernet1/3
      # Static MAC entry for a second host connected via ethernet1/4.
      serverDb:
        type: panos:VlanEntry
        name: server_db
        properties:
          location:
            template:
              name: ${example.name}
          vlan: ${production.name}
          name: 00:1a:2b:3c:4d:6f
          interface: ethernet1/4
    
    Example coming soon!
    

    Create VlanEntry Resource

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

    Constructor syntax

    new VlanEntry(name: string, args: VlanEntryArgs, opts?: CustomResourceOptions);
    @overload
    def VlanEntry(resource_name: str,
                  args: VlanEntryArgs,
                  opts: Optional[ResourceOptions] = None)
    
    @overload
    def VlanEntry(resource_name: str,
                  opts: Optional[ResourceOptions] = None,
                  location: Optional[VlanEntryLocationArgs] = None,
                  interface: Optional[str] = None,
                  name: Optional[str] = None,
                  vlan: Optional[str] = None)
    func NewVlanEntry(ctx *Context, name string, args VlanEntryArgs, opts ...ResourceOption) (*VlanEntry, error)
    public VlanEntry(string name, VlanEntryArgs args, CustomResourceOptions? opts = null)
    public VlanEntry(String name, VlanEntryArgs args)
    public VlanEntry(String name, VlanEntryArgs args, CustomResourceOptions options)
    
    type: panos:VlanEntry
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    resource "panos_vlanentry" "name" {
        # resource properties
    }

    Parameters

    name string
    The unique name of the resource.
    args VlanEntryArgs
    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 VlanEntryArgs
    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 VlanEntryArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args VlanEntryArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args VlanEntryArgs
    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 vlanEntryResource = new Panos.VlanEntry("vlanEntryResource", new()
    {
        Location = new Panos.Inputs.VlanEntryLocationArgs
        {
            Ngfw = new Panos.Inputs.VlanEntryLocationNgfwArgs
            {
                NgfwDevice = "string",
            },
            Template = new Panos.Inputs.VlanEntryLocationTemplateArgs
            {
                Name = "string",
                NgfwDevice = "string",
                PanoramaDevice = "string",
            },
            TemplateStack = new Panos.Inputs.VlanEntryLocationTemplateStackArgs
            {
                Name = "string",
                NgfwDevice = "string",
                PanoramaDevice = "string",
            },
        },
        Interface = "string",
        Name = "string",
        Vlan = "string",
    });
    
    example, err := panos.NewVlanEntry(ctx, "vlanEntryResource", &panos.VlanEntryArgs{
    	Location: &panos.VlanEntryLocationArgs{
    		Ngfw: &panos.VlanEntryLocationNgfwArgs{
    			NgfwDevice: pulumi.String("string"),
    		},
    		Template: &panos.VlanEntryLocationTemplateArgs{
    			Name:           pulumi.String("string"),
    			NgfwDevice:     pulumi.String("string"),
    			PanoramaDevice: pulumi.String("string"),
    		},
    		TemplateStack: &panos.VlanEntryLocationTemplateStackArgs{
    			Name:           pulumi.String("string"),
    			NgfwDevice:     pulumi.String("string"),
    			PanoramaDevice: pulumi.String("string"),
    		},
    	},
    	Interface: pulumi.String("string"),
    	Name:      pulumi.String("string"),
    	Vlan:      pulumi.String("string"),
    })
    
    resource "panos_vlanentry" "vlanEntryResource" {
      location = {
        ngfw = {
          ngfw_device = "string"
        }
        template = {
          name            = "string"
          ngfw_device     = "string"
          panorama_device = "string"
        }
        template_stack = {
          name            = "string"
          ngfw_device     = "string"
          panorama_device = "string"
        }
      }
      interface = "string"
      name      = "string"
      vlan      = "string"
    }
    
    var vlanEntryResource = new VlanEntry("vlanEntryResource", VlanEntryArgs.builder()
        .location(VlanEntryLocationArgs.builder()
            .ngfw(VlanEntryLocationNgfwArgs.builder()
                .ngfwDevice("string")
                .build())
            .template(VlanEntryLocationTemplateArgs.builder()
                .name("string")
                .ngfwDevice("string")
                .panoramaDevice("string")
                .build())
            .templateStack(VlanEntryLocationTemplateStackArgs.builder()
                .name("string")
                .ngfwDevice("string")
                .panoramaDevice("string")
                .build())
            .build())
        .interface_("string")
        .name("string")
        .vlan("string")
        .build());
    
    vlan_entry_resource = panos.VlanEntry("vlanEntryResource",
        location={
            "ngfw": {
                "ngfw_device": "string",
            },
            "template": {
                "name": "string",
                "ngfw_device": "string",
                "panorama_device": "string",
            },
            "template_stack": {
                "name": "string",
                "ngfw_device": "string",
                "panorama_device": "string",
            },
        },
        interface="string",
        name="string",
        vlan="string")
    
    const vlanEntryResource = new panos.VlanEntry("vlanEntryResource", {
        location: {
            ngfw: {
                ngfwDevice: "string",
            },
            template: {
                name: "string",
                ngfwDevice: "string",
                panoramaDevice: "string",
            },
            templateStack: {
                name: "string",
                ngfwDevice: "string",
                panoramaDevice: "string",
            },
        },
        "interface": "string",
        name: "string",
        vlan: "string",
    });
    
    type: panos:VlanEntry
    properties:
        interface: string
        location:
            ngfw:
                ngfwDevice: string
            template:
                name: string
                ngfwDevice: string
                panoramaDevice: string
            templateStack:
                name: string
                ngfwDevice: string
                panoramaDevice: string
        name: string
        vlan: string
    

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

    Location VlanEntryLocation
    The location of this object.
    Interface string
    Interface name
    Name string
    Vlan string
    Location VlanEntryLocationArgs
    The location of this object.
    Interface string
    Interface name
    Name string
    Vlan string
    location object
    The location of this object.
    interface string
    Interface name
    name string
    vlan string
    location VlanEntryLocation
    The location of this object.
    interface_ String
    Interface name
    name String
    vlan String
    location VlanEntryLocation
    The location of this object.
    interface string
    Interface name
    name string
    vlan string
    location VlanEntryLocationArgs
    The location of this object.
    interface str
    Interface name
    name str
    vlan str
    location Property Map
    The location of this object.
    interface String
    Interface name
    name String
    vlan String

    Outputs

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

    Get an existing VlanEntry 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?: VlanEntryState, opts?: CustomResourceOptions): VlanEntry
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            interface: Optional[str] = None,
            location: Optional[VlanEntryLocationArgs] = None,
            name: Optional[str] = None,
            vlan: Optional[str] = None) -> VlanEntry
    func GetVlanEntry(ctx *Context, name string, id IDInput, state *VlanEntryState, opts ...ResourceOption) (*VlanEntry, error)
    public static VlanEntry Get(string name, Input<string> id, VlanEntryState? state, CustomResourceOptions? opts = null)
    public static VlanEntry get(String name, Output<String> id, VlanEntryState state, CustomResourceOptions options)
    resources:  _:    type: panos:VlanEntry    get:      id: ${id}
    import {
      to = panos_vlanentry.example
      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:
    Interface string
    Interface name
    Location VlanEntryLocation
    The location of this object.
    Name string
    Vlan string
    Interface string
    Interface name
    Location VlanEntryLocationArgs
    The location of this object.
    Name string
    Vlan string
    interface string
    Interface name
    location object
    The location of this object.
    name string
    vlan string
    interface_ String
    Interface name
    location VlanEntryLocation
    The location of this object.
    name String
    vlan String
    interface string
    Interface name
    location VlanEntryLocation
    The location of this object.
    name string
    vlan string
    interface str
    Interface name
    location VlanEntryLocationArgs
    The location of this object.
    name str
    vlan str
    interface String
    Interface name
    location Property Map
    The location of this object.
    name String
    vlan String

    Supporting Types

    VlanEntryLocation, VlanEntryLocationArgs

    Ngfw VlanEntryLocationNgfw
    Located in a specific NGFW device
    Template VlanEntryLocationTemplate
    Located in a specific template
    TemplateStack VlanEntryLocationTemplateStack
    Located in a specific template stack
    Ngfw VlanEntryLocationNgfw
    Located in a specific NGFW device
    Template VlanEntryLocationTemplate
    Located in a specific template
    TemplateStack VlanEntryLocationTemplateStack
    Located in a specific template stack
    ngfw object
    Located in a specific NGFW device
    template object
    Located in a specific template
    template_stack object
    Located in a specific template stack
    ngfw VlanEntryLocationNgfw
    Located in a specific NGFW device
    template VlanEntryLocationTemplate
    Located in a specific template
    templateStack VlanEntryLocationTemplateStack
    Located in a specific template stack
    ngfw VlanEntryLocationNgfw
    Located in a specific NGFW device
    template VlanEntryLocationTemplate
    Located in a specific template
    templateStack VlanEntryLocationTemplateStack
    Located in a specific template stack
    ngfw VlanEntryLocationNgfw
    Located in a specific NGFW device
    template VlanEntryLocationTemplate
    Located in a specific template
    template_stack VlanEntryLocationTemplateStack
    Located in a specific template stack
    ngfw Property Map
    Located in a specific NGFW device
    template Property Map
    Located in a specific template
    templateStack Property Map
    Located in a specific template stack

    VlanEntryLocationNgfw, VlanEntryLocationNgfwArgs

    NgfwDevice string
    The NGFW device
    NgfwDevice string
    The NGFW device
    ngfw_device 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

    VlanEntryLocationTemplate, VlanEntryLocationTemplateArgs

    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
    ngfw_device string
    The NGFW device
    panorama_device 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

    VlanEntryLocationTemplateStack, VlanEntryLocationTemplateStackArgs

    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
    ngfw_device string
    The NGFW device
    panorama_device 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

    Import

    #!/bin/bash

    A VLAN static MAC entry can be imported by providing the following

    base64 encoded object as the ID.

    The import ID must include both the parent VLAN name (vlan) and the

    static MAC address (name).

    Import from a Panorama template

    {

    “location”: {

    "template": {
    
      "name":            "branch-office-template",
    
      "panorama_device": "localhost.localdomain",
    
      "ngfw_device":     "localhost.localdomain"
    
    }
    

    },

    “vlan”: “vlan-10-production”,

    “name”: “00:1a:2b:3c:4d:5e”

    }

    $ pulumi import panos:index/vlanEntry:VlanEntry server_web $(echo -n '{"location":{"template":{"name":"branch-office-template","panorama_device":"localhost.localdomain","ngfw_device":"localhost.localdomain"}},"vlan":"vlan-10-production","name":"00:1a:2b:3c:4d:5e"}' | base64)
    

    Import from a Panorama template stack

    {

    “location”: {

    "template_stack": {
    
      "name":            "branch-office-stack",
    
      "panorama_device": "localhost.localdomain",
    
      "ngfw_device":     "localhost.localdomain"
    
    }
    

    },

    “vlan”: “vlan-10-production”,

    “name”: “00:1a:2b:3c:4d:5e”

    }

    $ pulumi import panos:index/vlanEntry:VlanEntry server_web $(echo -n '{"location":{"template_stack":{"name":"branch-office-stack","panorama_device":"localhost.localdomain","ngfw_device":"localhost.localdomain"}},"vlan":"vlan-10-production","name":"00:1a:2b:3c:4d:5e"}' | base64)
    

    Import from a standalone NGFW

    {

    “location”: {

    "ngfw": {
    
      "ngfw_device": "localhost.localdomain"
    
    }
    

    },

    “vlan”: “vlan-10-production”,

    “name”: “00:1a:2b:3c:4d:5e”

    }

    $ pulumi import panos:index/vlanEntry:VlanEntry server_web $(echo -n '{"location":{"ngfw":{"ngfw_device":"localhost.localdomain"}},"vlan":"vlan-10-production","name":"00:1a:2b:3c:4d:5e"}' | 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 panos Terraform Provider.
    Viewing docs for panos 2.0.12
    published on Wednesday, Jun 17, 2026 by paloaltonetworks

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial