1. Packages
  2. Netbox Provider
  3. API Docs
  4. getVirtualDisk
Viewing docs for netbox 5.2.1
published on Thursday, Mar 12, 2026 by e-breuninger
Viewing docs for netbox 5.2.1
published on Thursday, Mar 12, 2026 by e-breuninger

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as netbox from "@pulumi/netbox";
    
    // Filter by name
    const diskByName = netbox.getVirtualDisk({
        filters: [{
            name: "name",
            value: "disk1",
        }],
    });
    // Filter by tag
    const diskByTag = netbox.getVirtualDisk({
        filters: [{
            name: "tag",
            value: "production",
        }],
    });
    // Multiple filters
    const diskFiltered = netbox.getVirtualDisk({
        filters: [
            {
                name: "name",
                value: "disk1",
            },
            {
                name: "tag",
                value: "production",
            },
        ],
    });
    // Filter with name regex
    const diskRegex = netbox.getVirtualDisk({
        nameRegex: "^disk[0-9]+",
        limit: 10,
    });
    
    import pulumi
    import pulumi_netbox as netbox
    
    # Filter by name
    disk_by_name = netbox.get_virtual_disk(filters=[{
        "name": "name",
        "value": "disk1",
    }])
    # Filter by tag
    disk_by_tag = netbox.get_virtual_disk(filters=[{
        "name": "tag",
        "value": "production",
    }])
    # Multiple filters
    disk_filtered = netbox.get_virtual_disk(filters=[
        {
            "name": "name",
            "value": "disk1",
        },
        {
            "name": "tag",
            "value": "production",
        },
    ])
    # Filter with name regex
    disk_regex = netbox.get_virtual_disk(name_regex="^disk[0-9]+",
        limit=10)
    
    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 {
    		// Filter by name
    		_, err := netbox.LookupVirtualDisk(ctx, &netbox.LookupVirtualDiskArgs{
    			Filters: []netbox.GetVirtualDiskFilter{
    				{
    					Name:  "name",
    					Value: "disk1",
    				},
    			},
    		}, nil)
    		if err != nil {
    			return err
    		}
    		// Filter by tag
    		_, err = netbox.LookupVirtualDisk(ctx, &netbox.LookupVirtualDiskArgs{
    			Filters: []netbox.GetVirtualDiskFilter{
    				{
    					Name:  "tag",
    					Value: "production",
    				},
    			},
    		}, nil)
    		if err != nil {
    			return err
    		}
    		// Multiple filters
    		_, err = netbox.LookupVirtualDisk(ctx, &netbox.LookupVirtualDiskArgs{
    			Filters: []netbox.GetVirtualDiskFilter{
    				{
    					Name:  "name",
    					Value: "disk1",
    				},
    				{
    					Name:  "tag",
    					Value: "production",
    				},
    			},
    		}, nil)
    		if err != nil {
    			return err
    		}
    		// Filter with name regex
    		_, err = netbox.LookupVirtualDisk(ctx, &netbox.LookupVirtualDiskArgs{
    			NameRegex: pulumi.StringRef("^disk[0-9]+"),
    			Limit:     pulumi.Float64Ref(10),
    		}, 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(() => 
    {
        // Filter by name
        var diskByName = Netbox.GetVirtualDisk.Invoke(new()
        {
            Filters = new[]
            {
                new Netbox.Inputs.GetVirtualDiskFilterInputArgs
                {
                    Name = "name",
                    Value = "disk1",
                },
            },
        });
    
        // Filter by tag
        var diskByTag = Netbox.GetVirtualDisk.Invoke(new()
        {
            Filters = new[]
            {
                new Netbox.Inputs.GetVirtualDiskFilterInputArgs
                {
                    Name = "tag",
                    Value = "production",
                },
            },
        });
    
        // Multiple filters
        var diskFiltered = Netbox.GetVirtualDisk.Invoke(new()
        {
            Filters = new[]
            {
                new Netbox.Inputs.GetVirtualDiskFilterInputArgs
                {
                    Name = "name",
                    Value = "disk1",
                },
                new Netbox.Inputs.GetVirtualDiskFilterInputArgs
                {
                    Name = "tag",
                    Value = "production",
                },
            },
        });
    
        // Filter with name regex
        var diskRegex = Netbox.GetVirtualDisk.Invoke(new()
        {
            NameRegex = "^disk[0-9]+",
            Limit = 10,
        });
    
    });
    
    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.GetVirtualDiskArgs;
    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) {
            // Filter by name
            final var diskByName = NetboxFunctions.getVirtualDisk(GetVirtualDiskArgs.builder()
                .filters(GetVirtualDiskFilterArgs.builder()
                    .name("name")
                    .value("disk1")
                    .build())
                .build());
    
            // Filter by tag
            final var diskByTag = NetboxFunctions.getVirtualDisk(GetVirtualDiskArgs.builder()
                .filters(GetVirtualDiskFilterArgs.builder()
                    .name("tag")
                    .value("production")
                    .build())
                .build());
    
            // Multiple filters
            final var diskFiltered = NetboxFunctions.getVirtualDisk(GetVirtualDiskArgs.builder()
                .filters(            
                    GetVirtualDiskFilterArgs.builder()
                        .name("name")
                        .value("disk1")
                        .build(),
                    GetVirtualDiskFilterArgs.builder()
                        .name("tag")
                        .value("production")
                        .build())
                .build());
    
            // Filter with name regex
            final var diskRegex = NetboxFunctions.getVirtualDisk(GetVirtualDiskArgs.builder()
                .nameRegex("^disk[0-9]+")
                .limit(10)
                .build());
    
        }
    }
    
    variables:
      # Filter by name
      diskByName:
        fn::invoke:
          function: netbox:getVirtualDisk
          arguments:
            filters:
              - name: name
                value: disk1
      # Filter by tag
      diskByTag:
        fn::invoke:
          function: netbox:getVirtualDisk
          arguments:
            filters:
              - name: tag
                value: production
      # Multiple filters
      diskFiltered:
        fn::invoke:
          function: netbox:getVirtualDisk
          arguments:
            filters:
              - name: name
                value: disk1
              - name: tag
                value: production
      # Filter with name regex
      diskRegex:
        fn::invoke:
          function: netbox:getVirtualDisk
          arguments:
            nameRegex: ^disk[0-9]+
            limit: 10
    

    Using getVirtualDisk

    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 getVirtualDisk(args: GetVirtualDiskArgs, opts?: InvokeOptions): Promise<GetVirtualDiskResult>
    function getVirtualDiskOutput(args: GetVirtualDiskOutputArgs, opts?: InvokeOptions): Output<GetVirtualDiskResult>
    def get_virtual_disk(filters: Optional[Sequence[GetVirtualDiskFilter]] = None,
                         id: Optional[str] = None,
                         limit: Optional[float] = None,
                         name_regex: Optional[str] = None,
                         opts: Optional[InvokeOptions] = None) -> GetVirtualDiskResult
    def get_virtual_disk_output(filters: Optional[pulumi.Input[Sequence[pulumi.Input[GetVirtualDiskFilterArgs]]]] = None,
                         id: Optional[pulumi.Input[str]] = None,
                         limit: Optional[pulumi.Input[float]] = None,
                         name_regex: Optional[pulumi.Input[str]] = None,
                         opts: Optional[InvokeOptions] = None) -> Output[GetVirtualDiskResult]
    func LookupVirtualDisk(ctx *Context, args *LookupVirtualDiskArgs, opts ...InvokeOption) (*LookupVirtualDiskResult, error)
    func LookupVirtualDiskOutput(ctx *Context, args *LookupVirtualDiskOutputArgs, opts ...InvokeOption) LookupVirtualDiskResultOutput

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

    public static class GetVirtualDisk 
    {
        public static Task<GetVirtualDiskResult> InvokeAsync(GetVirtualDiskArgs args, InvokeOptions? opts = null)
        public static Output<GetVirtualDiskResult> Invoke(GetVirtualDiskInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetVirtualDiskResult> getVirtualDisk(GetVirtualDiskArgs args, InvokeOptions options)
    public static Output<GetVirtualDiskResult> getVirtualDisk(GetVirtualDiskArgs args, InvokeOptions options)
    
    fn::invoke:
      function: netbox:index/getVirtualDisk:getVirtualDisk
      arguments:
        # arguments dictionary

    The following arguments are supported:

    Filters List<GetVirtualDiskFilter>
    Id string
    The ID of this resource.
    Limit double
    Defaults to 0.
    NameRegex string
    Filters []GetVirtualDiskFilter
    Id string
    The ID of this resource.
    Limit float64
    Defaults to 0.
    NameRegex string
    filters List<GetVirtualDiskFilter>
    id String
    The ID of this resource.
    limit Double
    Defaults to 0.
    nameRegex String
    filters GetVirtualDiskFilter[]
    id string
    The ID of this resource.
    limit number
    Defaults to 0.
    nameRegex string
    filters Sequence[GetVirtualDiskFilter]
    id str
    The ID of this resource.
    limit float
    Defaults to 0.
    name_regex str
    filters List<Property Map>
    id String
    The ID of this resource.
    limit Number
    Defaults to 0.
    nameRegex String

    getVirtualDisk Result

    The following output properties are available:

    Id string
    The ID of this resource.
    VirtualDisks []GetVirtualDiskVirtualDisk
    Filters []GetVirtualDiskFilter
    Limit float64
    Defaults to 0.
    NameRegex string
    id string
    The ID of this resource.
    virtualDisks GetVirtualDiskVirtualDisk[]
    filters GetVirtualDiskFilter[]
    limit number
    Defaults to 0.
    nameRegex string
    id String
    The ID of this resource.
    virtualDisks List<Property Map>
    filters List<Property Map>
    limit Number
    Defaults to 0.
    nameRegex String

    Supporting Types

    GetVirtualDiskFilter

    Name string
    Value string
    Name string
    Value string
    name String
    value String
    name string
    value string
    name str
    value str
    name String
    value String

    GetVirtualDiskVirtualDisk

    CustomFields Dictionary<string, string>
    Description string
    Id double
    Name string
    SizeMb double
    Tags List<string>
    VirtualMachineId double
    CustomFields map[string]string
    Description string
    Id float64
    Name string
    SizeMb float64
    Tags []string
    VirtualMachineId float64
    customFields Map<String,String>
    description String
    id Double
    name String
    sizeMb Double
    tags List<String>
    virtualMachineId Double
    customFields {[key: string]: string}
    description string
    id number
    name string
    sizeMb number
    tags string[]
    virtualMachineId number
    custom_fields Mapping[str, str]
    description str
    id float
    name str
    size_mb float
    tags Sequence[str]
    virtual_machine_id float
    customFields Map<String>
    description String
    id Number
    name String
    sizeMb Number
    tags List<String>
    virtualMachineId 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.2.1
    published on Thursday, Mar 12, 2026 by e-breuninger
      Try Pulumi Cloud free. Your team will thank you.