1. Packages
  2. Packages
  3. Netbox Provider
  4. API Docs
  5. getVlan
Viewing docs for netbox 5.7.0
published on Wednesday, Jul 15, 2026 by e-breuninger
Viewing docs for netbox 5.7.0
published on Wednesday, Jul 15, 2026 by e-breuninger

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as netbox from "@pulumi/netbox";
    
    // Get VLAN by name
    const vlan1 = netbox.getVlan({
        name: "vlan-1",
    });
    // Get VLAN by VID and IPAM role ID
    const vlan2 = netbox.getVlan({
        vid: 1234,
        role: example.id,
    });
    // Get VLAN by name and tenant ID
    const vlan3 = netbox.getVlan({
        name: "vlan-3",
        tenant: exampleNetboxTenant.id,
    });
    
    import pulumi
    import pulumi_netbox as netbox
    
    # Get VLAN by name
    vlan1 = netbox.get_vlan(name="vlan-1")
    # Get VLAN by VID and IPAM role ID
    vlan2 = netbox.get_vlan(vid=1234,
        role=example["id"])
    # Get VLAN by name and tenant ID
    vlan3 = netbox.get_vlan(name="vlan-3",
        tenant=example_netbox_tenant["id"])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/netbox/v5/netbox"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// Get VLAN by name
    		_, err := netbox.LookupVlan(ctx, &netbox.LookupVlanArgs{
    			Name: pulumi.StringRef("vlan-1"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		// Get VLAN by VID and IPAM role ID
    		_, err = netbox.LookupVlan(ctx, &netbox.LookupVlanArgs{
    			Vid:  pulumi.Float64Ref(1234),
    			Role: pulumi.Float64Ref(example.Id),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		// Get VLAN by name and tenant ID
    		_, err = netbox.LookupVlan(ctx, &netbox.LookupVlanArgs{
    			Name:   pulumi.StringRef("vlan-3"),
    			Tenant: pulumi.Float64Ref(exampleNetboxTenant.Id),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Netbox = Pulumi.Netbox;
    
    return await Deployment.RunAsync(() => 
    {
        // Get VLAN by name
        var vlan1 = Netbox.GetVlan.Invoke(new()
        {
            Name = "vlan-1",
        });
    
        // Get VLAN by VID and IPAM role ID
        var vlan2 = Netbox.GetVlan.Invoke(new()
        {
            Vid = 1234,
            Role = example.Id,
        });
    
        // Get VLAN by name and tenant ID
        var vlan3 = Netbox.GetVlan.Invoke(new()
        {
            Name = "vlan-3",
            Tenant = exampleNetboxTenant.Id,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.netbox.NetboxFunctions;
    import com.pulumi.netbox.inputs.GetVlanArgs;
    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) {
            // Get VLAN by name
            final var vlan1 = NetboxFunctions.getVlan(GetVlanArgs.builder()
                .name("vlan-1")
                .build());
    
            // Get VLAN by VID and IPAM role ID
            final var vlan2 = NetboxFunctions.getVlan(GetVlanArgs.builder()
                .vid(1234)
                .role(example.id())
                .build());
    
            // Get VLAN by name and tenant ID
            final var vlan3 = NetboxFunctions.getVlan(GetVlanArgs.builder()
                .name("vlan-3")
                .tenant(exampleNetboxTenant.id())
                .build());
    
        }
    }
    
    variables:
      # Get VLAN by name
      vlan1:
        fn::invoke:
          function: netbox:getVlan
          arguments:
            name: vlan-1
      # Get VLAN by VID and IPAM role ID
      vlan2:
        fn::invoke:
          function: netbox:getVlan
          arguments:
            vid: 1234
            role: ${example.id}
      # Get VLAN by name and tenant ID
      vlan3:
        fn::invoke:
          function: netbox:getVlan
          arguments:
            name: vlan-3
            tenant: ${exampleNetboxTenant.id}
    
    Example coming soon!
    

    Using getVlan

    Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

    function getVlan(args: GetVlanArgs, opts?: InvokeOptions): Promise<GetVlanResult>
    function getVlanOutput(args: GetVlanOutputArgs, opts?: InvokeOptions): Output<GetVlanResult>
    def get_vlan(custom_fields: Optional[Mapping[str, str]] = None,
                 group_id: Optional[float] = None,
                 id: Optional[str] = None,
                 name: Optional[str] = None,
                 role: Optional[float] = None,
                 tenant: Optional[float] = None,
                 vid: Optional[float] = None,
                 opts: Optional[InvokeOptions] = None) -> GetVlanResult
    def get_vlan_output(custom_fields: pulumi.Input[Optional[Mapping[str, pulumi.Input[str]]]] = None,
                 group_id: pulumi.Input[Optional[float]] = None,
                 id: pulumi.Input[Optional[str]] = None,
                 name: pulumi.Input[Optional[str]] = None,
                 role: pulumi.Input[Optional[float]] = None,
                 tenant: pulumi.Input[Optional[float]] = None,
                 vid: pulumi.Input[Optional[float]] = None,
                 opts: Optional[InvokeOptions] = None) -> Output[GetVlanResult]
    func LookupVlan(ctx *Context, args *LookupVlanArgs, opts ...InvokeOption) (*LookupVlanResult, error)
    func LookupVlanOutput(ctx *Context, args *LookupVlanOutputArgs, opts ...InvokeOption) LookupVlanResultOutput

    > Note: This function is named LookupVlan in the Go SDK.

    public static class GetVlan 
    {
        public static Task<GetVlanResult> InvokeAsync(GetVlanArgs args, InvokeOptions? opts = null)
        public static Output<GetVlanResult> Invoke(GetVlanInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetVlanResult> getVlan(GetVlanArgs args, InvokeOptions options)
    public static Output<GetVlanResult> getVlan(GetVlanArgs args, InvokeOptions options)
    
    fn::invoke:
      function: netbox:index/getVlan:getVlan
      arguments:
        # arguments dictionary
    data "netbox_get_vlan" "name" {
        # arguments
    }

    The following arguments are supported:

    CustomFields Dictionary<string, string>
    GroupId double
    Id string
    The ID of this resource.
    Name string
    Role double
    Tenant double
    Vid double
    CustomFields map[string]string
    GroupId float64
    Id string
    The ID of this resource.
    Name string
    Role float64
    Tenant float64
    Vid float64
    custom_fields map(string)
    group_id number
    id string
    The ID of this resource.
    name string
    role number
    tenant number
    vid number
    customFields Map<String,String>
    groupId Double
    id String
    The ID of this resource.
    name String
    role Double
    tenant Double
    vid Double
    customFields {[key: string]: string}
    groupId number
    id string
    The ID of this resource.
    name string
    role number
    tenant number
    vid number
    custom_fields Mapping[str, str]
    group_id float
    id str
    The ID of this resource.
    name str
    role float
    tenant float
    vid float
    customFields Map<String>
    groupId Number
    id String
    The ID of this resource.
    name String
    role Number
    tenant Number
    vid Number

    getVlan Result

    The following output properties are available:

    Description string
    GroupId double
    Id string
    The ID of this resource.
    Role double
    Site double
    Status string
    Tenant double
    CustomFields Dictionary<string, string>
    Name string
    Vid double
    Description string
    GroupId float64
    Id string
    The ID of this resource.
    Role float64
    Site float64
    Status string
    Tenant float64
    CustomFields map[string]string
    Name string
    Vid float64
    description string
    group_id number
    id string
    The ID of this resource.
    role number
    site number
    status string
    tenant number
    custom_fields map(string)
    name string
    vid number
    description String
    groupId Double
    id String
    The ID of this resource.
    role Double
    site Double
    status String
    tenant Double
    customFields Map<String,String>
    name String
    vid Double
    description string
    groupId number
    id string
    The ID of this resource.
    role number
    site number
    status string
    tenant number
    customFields {[key: string]: string}
    name string
    vid number
    description str
    group_id float
    id str
    The ID of this resource.
    role float
    site float
    status str
    tenant float
    custom_fields Mapping[str, str]
    name str
    vid float
    description String
    groupId Number
    id String
    The ID of this resource.
    role Number
    site Number
    status String
    tenant Number
    customFields Map<String>
    name String
    vid Number

    Package Details

    Repository
    netbox e-breuninger/terraform-provider-netbox
    License
    Notes
    This Pulumi package is based on the netbox Terraform Provider.
    Viewing docs for netbox 5.7.0
    published on Wednesday, Jul 15, 2026 by e-breuninger

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial