published on Wednesday, Jun 17, 2026 by paloaltonetworks
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 configuring a VLAN in a Panorama template.
// The VLAN binds L2 member interfaces together and, optionally, references
// a VLAN (L3 subinterface) for routed traffic.
//
// To use on a standalone NGFW instead of Panorama, replace the location block
// with:
// location = { ngfw = {} }
// and remove the panos_template dependency.
const example = new panos.Template("example", {
location: {
panorama: {},
},
name: "branch-office-template",
});
// The VLAN interface provides an L3 gateway for hosts on this VLAN.
// Assumption: virtual_interface is optional. It is included here to show
// how to bind an L3 VLAN interface to the VLAN entry.
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",
}],
});
// VLAN 10 — production segment.
// The interfaces list contains the L2 (layer2-mode) ethernet interfaces
// that are members of this VLAN.
// Assumption: interfaces is optional (zero or more members are allowed).
const production = new panos.Vlan("production", {
location: {
template: {
name: example.name,
},
},
name: "vlan-10-production",
interfaces: [
"ethernet1/3",
"ethernet1/4",
],
virtualInterface: {
"interface": vlan10.name,
},
});
import pulumi
import pulumi_panos as panos
# This example demonstrates configuring a VLAN in a Panorama template.
# The VLAN binds L2 member interfaces together and, optionally, references
# a VLAN (L3 subinterface) for routed traffic.
#
# To use on a standalone NGFW instead of Panorama, replace the location block
# with:
# location = { ngfw = {} }
# and remove the panos_template dependency.
example = panos.Template("example",
location={
"panorama": {},
},
name="branch-office-template")
# The VLAN interface provides an L3 gateway for hosts on this VLAN.
# Assumption: virtual_interface is optional. It is included here to show
# how to bind an L3 VLAN interface to the VLAN entry.
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",
}])
# VLAN 10 — production segment.
# The interfaces list contains the L2 (layer2-mode) ethernet interfaces
# that are members of this VLAN.
# Assumption: interfaces is optional (zero or more members are allowed).
production = panos.Vlan("production",
location={
"template": {
"name": example.name,
},
},
name="vlan-10-production",
interfaces=[
"ethernet1/3",
"ethernet1/4",
],
virtual_interface={
"interface": vlan10.name,
})
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 configuring a VLAN in a Panorama template.
// The VLAN binds L2 member interfaces together and, optionally, references
// a VLAN (L3 subinterface) for routed traffic.
//
// To use on a standalone NGFW instead of Panorama, replace the location block
// with:
//
// location = { ngfw = {} }
//
// and remove the panos_template dependency.
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
}
// The VLAN interface provides an L3 gateway for hosts on this VLAN.
// Assumption: virtual_interface is optional. It is included here to show
// how to bind an L3 VLAN interface to the VLAN entry.
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
}
// VLAN 10 — production segment.
// The interfaces list contains the L2 (layer2-mode) ethernet interfaces
// that are members of this VLAN.
// Assumption: interfaces is optional (zero or more members are allowed).
_, 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
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Panos = Pulumi.Panos;
return await Deployment.RunAsync(() =>
{
// This example demonstrates configuring a VLAN in a Panorama template.
// The VLAN binds L2 member interfaces together and, optionally, references
// a VLAN (L3 subinterface) for routed traffic.
//
// To use on a standalone NGFW instead of Panorama, replace the location block
// with:
// location = { ngfw = {} }
// and remove the panos_template dependency.
var example = new Panos.Template("example", new()
{
Location = new Panos.Inputs.TemplateLocationArgs
{
Panorama = null,
},
Name = "branch-office-template",
});
// The VLAN interface provides an L3 gateway for hosts on this VLAN.
// Assumption: virtual_interface is optional. It is included here to show
// how to bind an L3 VLAN interface to the VLAN entry.
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",
},
},
});
// VLAN 10 — production segment.
// The interfaces list contains the L2 (layer2-mode) ethernet interfaces
// that are members of this VLAN.
// Assumption: interfaces is optional (zero or more members are allowed).
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,
},
});
});
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 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 configuring a VLAN in a Panorama template.
// The VLAN binds L2 member interfaces together and, optionally, references
// a VLAN (L3 subinterface) for routed traffic.
//
// To use on a standalone NGFW instead of Panorama, replace the location block
// with:
// location = { ngfw = {} }
// and remove the panos_template dependency.
var example = new Template("example", TemplateArgs.builder()
.location(TemplateLocationArgs.builder()
.panorama(TemplateLocationPanoramaArgs.builder()
.build())
.build())
.name("branch-office-template")
.build());
// The VLAN interface provides an L3 gateway for hosts on this VLAN.
// Assumption: virtual_interface is optional. It is included here to show
// how to bind an L3 VLAN interface to the VLAN entry.
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());
// VLAN 10 — production segment.
// The interfaces list contains the L2 (layer2-mode) ethernet interfaces
// that are members of this VLAN.
// Assumption: interfaces is optional (zero or more members are allowed).
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());
}
}
resources:
# This example demonstrates configuring a VLAN in a Panorama template.
# The VLAN binds L2 member interfaces together and, optionally, references
# a VLAN (L3 subinterface) for routed traffic.
#
# To use on a standalone NGFW instead of Panorama, replace the location block
# with:
# location = { ngfw = {} }
# and remove the panos_template dependency.
example:
type: panos:Template
properties:
location:
panorama: {}
name: branch-office-template
# The VLAN interface provides an L3 gateway for hosts on this VLAN.
# Assumption: virtual_interface is optional. It is included here to show
# how to bind an L3 VLAN interface to the VLAN entry.
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
# VLAN 10 — production segment.
# The interfaces list contains the L2 (layer2-mode) ethernet interfaces
# that are members of this VLAN.
# Assumption: interfaces is optional (zero or more members are allowed).
production:
type: panos:Vlan
properties:
location:
template:
name: ${example.name}
name: vlan-10-production
interfaces:
- ethernet1/3
- ethernet1/4
virtualInterface:
interface: ${vlan10.name}
Example coming soon!
Create Vlan Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Vlan(name: string, args: VlanArgs, opts?: CustomResourceOptions);@overload
def Vlan(resource_name: str,
args: VlanArgs,
opts: Optional[ResourceOptions] = None)
@overload
def Vlan(resource_name: str,
opts: Optional[ResourceOptions] = None,
location: Optional[VlanLocationArgs] = None,
interfaces: Optional[Sequence[str]] = None,
name: Optional[str] = None,
virtual_interface: Optional[VlanVirtualInterfaceArgs] = None)func NewVlan(ctx *Context, name string, args VlanArgs, opts ...ResourceOption) (*Vlan, error)public Vlan(string name, VlanArgs args, CustomResourceOptions? opts = null)type: panos:Vlan
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
resource "panos_vlan" "name" {
# resource properties
}Parameters
- name string
- The unique name of the resource.
- args VlanArgs
- 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 VlanArgs
- 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 VlanArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args VlanArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args VlanArgs
- 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 vlanResource = new Panos.Vlan("vlanResource", new()
{
Location = new Panos.Inputs.VlanLocationArgs
{
Ngfw = new Panos.Inputs.VlanLocationNgfwArgs
{
NgfwDevice = "string",
},
Template = new Panos.Inputs.VlanLocationTemplateArgs
{
Name = "string",
NgfwDevice = "string",
PanoramaDevice = "string",
},
TemplateStack = new Panos.Inputs.VlanLocationTemplateStackArgs
{
Name = "string",
NgfwDevice = "string",
PanoramaDevice = "string",
},
},
Interfaces = new[]
{
"string",
},
Name = "string",
VirtualInterface = new Panos.Inputs.VlanVirtualInterfaceArgs
{
Interface = "string",
},
});
example, err := panos.NewVlan(ctx, "vlanResource", &panos.VlanArgs{
Location: &panos.VlanLocationArgs{
Ngfw: &panos.VlanLocationNgfwArgs{
NgfwDevice: pulumi.String("string"),
},
Template: &panos.VlanLocationTemplateArgs{
Name: pulumi.String("string"),
NgfwDevice: pulumi.String("string"),
PanoramaDevice: pulumi.String("string"),
},
TemplateStack: &panos.VlanLocationTemplateStackArgs{
Name: pulumi.String("string"),
NgfwDevice: pulumi.String("string"),
PanoramaDevice: pulumi.String("string"),
},
},
Interfaces: pulumi.StringArray{
pulumi.String("string"),
},
Name: pulumi.String("string"),
VirtualInterface: &panos.VlanVirtualInterfaceArgs{
Interface: pulumi.String("string"),
},
})
resource "panos_vlan" "vlanResource" {
location = {
ngfw = {
ngfw_device = "string"
}
template = {
name = "string"
ngfw_device = "string"
panorama_device = "string"
}
template_stack = {
name = "string"
ngfw_device = "string"
panorama_device = "string"
}
}
interfaces = ["string"]
name = "string"
virtual_interface = {
interface = "string"
}
}
var vlanResource = new Vlan("vlanResource", VlanArgs.builder()
.location(VlanLocationArgs.builder()
.ngfw(VlanLocationNgfwArgs.builder()
.ngfwDevice("string")
.build())
.template(VlanLocationTemplateArgs.builder()
.name("string")
.ngfwDevice("string")
.panoramaDevice("string")
.build())
.templateStack(VlanLocationTemplateStackArgs.builder()
.name("string")
.ngfwDevice("string")
.panoramaDevice("string")
.build())
.build())
.interfaces("string")
.name("string")
.virtualInterface(VlanVirtualInterfaceArgs.builder()
.interface_("string")
.build())
.build());
vlan_resource = panos.Vlan("vlanResource",
location={
"ngfw": {
"ngfw_device": "string",
},
"template": {
"name": "string",
"ngfw_device": "string",
"panorama_device": "string",
},
"template_stack": {
"name": "string",
"ngfw_device": "string",
"panorama_device": "string",
},
},
interfaces=["string"],
name="string",
virtual_interface={
"interface": "string",
})
const vlanResource = new panos.Vlan("vlanResource", {
location: {
ngfw: {
ngfwDevice: "string",
},
template: {
name: "string",
ngfwDevice: "string",
panoramaDevice: "string",
},
templateStack: {
name: "string",
ngfwDevice: "string",
panoramaDevice: "string",
},
},
interfaces: ["string"],
name: "string",
virtualInterface: {
"interface": "string",
},
});
type: panos:Vlan
properties:
interfaces:
- string
location:
ngfw:
ngfwDevice: string
template:
name: string
ngfwDevice: string
panoramaDevice: string
templateStack:
name: string
ngfwDevice: string
panoramaDevice: string
name: string
virtualInterface:
interface: string
Vlan 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 Vlan resource accepts the following input properties:
- Location
Vlan
Location - The location of this object.
- Interfaces List<string>
- Name string
- Virtual
Interface VlanVirtual Interface
- Location
Vlan
Location Args - The location of this object.
- Interfaces []string
- Name string
- Virtual
Interface VlanVirtual Interface Args
- location object
- The location of this object.
- interfaces list(string)
- name string
- virtual_
interface object
- location
Vlan
Location - The location of this object.
- interfaces List<String>
- name String
- virtual
Interface VlanVirtual Interface
- location
Vlan
Location - The location of this object.
- interfaces string[]
- name string
- virtual
Interface VlanVirtual Interface
- location
Vlan
Location Args - The location of this object.
- interfaces Sequence[str]
- name str
- virtual_
interface VlanVirtual Interface Args
- location Property Map
- The location of this object.
- interfaces List<String>
- name String
- virtual
Interface Property Map
Outputs
All input properties are implicitly available as output properties. Additionally, the Vlan 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 Vlan Resource
Get an existing Vlan 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?: VlanState, opts?: CustomResourceOptions): Vlan@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
interfaces: Optional[Sequence[str]] = None,
location: Optional[VlanLocationArgs] = None,
name: Optional[str] = None,
virtual_interface: Optional[VlanVirtualInterfaceArgs] = None) -> Vlanfunc GetVlan(ctx *Context, name string, id IDInput, state *VlanState, opts ...ResourceOption) (*Vlan, error)public static Vlan Get(string name, Input<string> id, VlanState? state, CustomResourceOptions? opts = null)public static Vlan get(String name, Output<String> id, VlanState state, CustomResourceOptions options)resources: _: type: panos:Vlan get: id: ${id}import {
to = panos_vlan.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.
- Interfaces List<string>
- Location
Vlan
Location - The location of this object.
- Name string
- Virtual
Interface VlanVirtual Interface
- Interfaces []string
- Location
Vlan
Location Args - The location of this object.
- Name string
- Virtual
Interface VlanVirtual Interface Args
- interfaces list(string)
- location object
- The location of this object.
- name string
- virtual_
interface object
- interfaces List<String>
- location
Vlan
Location - The location of this object.
- name String
- virtual
Interface VlanVirtual Interface
- interfaces string[]
- location
Vlan
Location - The location of this object.
- name string
- virtual
Interface VlanVirtual Interface
- interfaces Sequence[str]
- location
Vlan
Location Args - The location of this object.
- name str
- virtual_
interface VlanVirtual Interface Args
- interfaces List<String>
- location Property Map
- The location of this object.
- name String
- virtual
Interface Property Map
Supporting Types
VlanLocation, VlanLocationArgs
- Ngfw
Vlan
Location Ngfw - Located in a specific NGFW device
- Template
Vlan
Location Template - Located in a specific template
- Template
Stack VlanLocation Template Stack - Located in a specific template stack
- Ngfw
Vlan
Location Ngfw - Located in a specific NGFW device
- Template
Vlan
Location Template - Located in a specific template
- Template
Stack VlanLocation Template Stack - Located in a specific template stack
- ngfw
Vlan
Location Ngfw - Located in a specific NGFW device
- template
Vlan
Location Template - Located in a specific template
- template
Stack VlanLocation Template Stack - Located in a specific template stack
- ngfw
Vlan
Location Ngfw - Located in a specific NGFW device
- template
Vlan
Location Template - Located in a specific template
- template
Stack VlanLocation Template Stack - Located in a specific template stack
- ngfw
Vlan
Location Ngfw - Located in a specific NGFW device
- template
Vlan
Location Template - Located in a specific template
- template_
stack VlanLocation 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
VlanLocationNgfw, VlanLocationNgfwArgs
- 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 string - The NGFW device
- ngfw_
device str - The NGFW device
- ngfw
Device String - The NGFW device
VlanLocationTemplate, VlanLocationTemplateArgs
- 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 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
VlanLocationTemplateStack, VlanLocationTemplateStackArgs
- 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 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
VlanVirtualInterface, VlanVirtualInterfaceArgs
- Interface string
- Virtual interface
- Interface string
- Virtual interface
- interface string
- Virtual interface
- interface_ String
- Virtual interface
- interface string
- Virtual interface
- interface str
- Virtual interface
- interface String
- Virtual interface
Import
#!/bin/bash
A VLAN can be imported by providing the following base64 encoded object as the ID.
Import from a Panorama template
{
“location”: {
"template": {
"name": "branch-office-template",
"panorama_device": "localhost.localdomain",
"ngfw_device": "localhost.localdomain"
}
},
“name”: “vlan-10-production”
}
$ pulumi import panos:index/vlan:Vlan production $(echo -n '{"location":{"template":{"name":"branch-office-template","panorama_device":"localhost.localdomain","ngfw_device":"localhost.localdomain"}},"name":"vlan-10-production"}' | base64)
Import from a Panorama template stack
{
“location”: {
"template_stack": {
"name": "branch-office-stack",
"panorama_device": "localhost.localdomain",
"ngfw_device": "localhost.localdomain"
}
},
“name”: “vlan-10-production”
}
$ pulumi import panos:index/vlan:Vlan production $(echo -n '{"location":{"template_stack":{"name":"branch-office-stack","panorama_device":"localhost.localdomain","ngfw_device":"localhost.localdomain"}},"name":"vlan-10-production"}' | base64)
Import from a standalone NGFW
{
“location”: {
"ngfw": {
"ngfw_device": "localhost.localdomain"
}
},
“name”: “vlan-10-production”
}
$ pulumi import panos:index/vlan:Vlan production $(echo -n '{"location":{"ngfw":{"ngfw_device":"localhost.localdomain"}},"name":"vlan-10-production"}' | 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.
published on Wednesday, Jun 17, 2026 by paloaltonetworks