1. Packages
  2. Netbox Provider
  3. API Docs
  4. getVirtualMachines
netbox 3.10.0 published on Monday, Apr 14, 2025 by e-breuninger

netbox.getVirtualMachines

Explore with Pulumi AI

netbox logo
netbox 3.10.0 published on Monday, Apr 14, 2025 by e-breuninger

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as netbox from "@pulumi/netbox";
    
    const vmwCluster01 = netbox.getCluster({
        name: "vmw-cluster-01",
    });
    const baseVm = vmwCluster01.then(vmwCluster01 => netbox.getVirtualMachines({
        nameRegex: "myvm-1",
        filters: [{
            name: "cluster_id",
            value: vmwCluster01.id,
        }],
    }));
    
    import pulumi
    import pulumi_netbox as netbox
    
    vmw_cluster01 = netbox.get_cluster(name="vmw-cluster-01")
    base_vm = netbox.get_virtual_machines(name_regex="myvm-1",
        filters=[{
            "name": "cluster_id",
            "value": vmw_cluster01.id,
        }])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/netbox/v3/netbox"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		vmwCluster01, err := netbox.LookupCluster(ctx, &netbox.LookupClusterArgs{
    			Name: pulumi.StringRef("vmw-cluster-01"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = netbox.GetVirtualMachines(ctx, &netbox.GetVirtualMachinesArgs{
    			NameRegex: pulumi.StringRef("myvm-1"),
    			Filters: []netbox.GetVirtualMachinesFilter{
    				{
    					Name:  "cluster_id",
    					Value: vmwCluster01.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(() => 
    {
        var vmwCluster01 = Netbox.GetCluster.Invoke(new()
        {
            Name = "vmw-cluster-01",
        });
    
        var baseVm = Netbox.GetVirtualMachines.Invoke(new()
        {
            NameRegex = "myvm-1",
            Filters = new[]
            {
                new Netbox.Inputs.GetVirtualMachinesFilterInputArgs
                {
                    Name = "cluster_id",
                    Value = vmwCluster01.Apply(getClusterResult => getClusterResult.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.GetClusterArgs;
    import com.pulumi.netbox.inputs.GetVirtualMachinesArgs;
    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) {
            final var vmwCluster01 = NetboxFunctions.getCluster(GetClusterArgs.builder()
                .name("vmw-cluster-01")
                .build());
    
            final var baseVm = NetboxFunctions.getVirtualMachines(GetVirtualMachinesArgs.builder()
                .nameRegex("myvm-1")
                .filters(GetVirtualMachinesFilterArgs.builder()
                    .name("cluster_id")
                    .value(vmwCluster01.applyValue(getClusterResult -> getClusterResult.id()))
                    .build())
                .build());
    
        }
    }
    
    variables:
      vmwCluster01:
        fn::invoke:
          function: netbox:getCluster
          arguments:
            name: vmw-cluster-01
      baseVm:
        fn::invoke:
          function: netbox:getVirtualMachines
          arguments:
            nameRegex: myvm-1
            filters:
              - name: cluster_id
                value: ${vmwCluster01.id}
    

    Using getVirtualMachines

    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 getVirtualMachines(args: GetVirtualMachinesArgs, opts?: InvokeOptions): Promise<GetVirtualMachinesResult>
    function getVirtualMachinesOutput(args: GetVirtualMachinesOutputArgs, opts?: InvokeOptions): Output<GetVirtualMachinesResult>
    def get_virtual_machines(filters: Optional[Sequence[GetVirtualMachinesFilter]] = None,
                             id: Optional[str] = None,
                             limit: Optional[float] = None,
                             name_regex: Optional[str] = None,
                             opts: Optional[InvokeOptions] = None) -> GetVirtualMachinesResult
    def get_virtual_machines_output(filters: Optional[pulumi.Input[Sequence[pulumi.Input[GetVirtualMachinesFilterArgs]]]] = 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[GetVirtualMachinesResult]
    func GetVirtualMachines(ctx *Context, args *GetVirtualMachinesArgs, opts ...InvokeOption) (*GetVirtualMachinesResult, error)
    func GetVirtualMachinesOutput(ctx *Context, args *GetVirtualMachinesOutputArgs, opts ...InvokeOption) GetVirtualMachinesResultOutput

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

    public static class GetVirtualMachines 
    {
        public static Task<GetVirtualMachinesResult> InvokeAsync(GetVirtualMachinesArgs args, InvokeOptions? opts = null)
        public static Output<GetVirtualMachinesResult> Invoke(GetVirtualMachinesInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetVirtualMachinesResult> getVirtualMachines(GetVirtualMachinesArgs args, InvokeOptions options)
    public static Output<GetVirtualMachinesResult> getVirtualMachines(GetVirtualMachinesArgs args, InvokeOptions options)
    
    fn::invoke:
      function: netbox:index/getVirtualMachines:getVirtualMachines
      arguments:
        # arguments dictionary

    The following arguments are supported:

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

    getVirtualMachines Result

    The following output properties are available:

    id String
    The ID of this resource.
    vms List<Property Map>
    filters List<Property Map>
    limit Number
    nameRegex String

    Supporting Types

    GetVirtualMachinesFilter

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

    GetVirtualMachinesVm

    ClusterId double
    Comments string
    ConfigContext string
    CustomFields Dictionary<string, string>
    Description string
    DeviceId double
    DeviceName string
    DiskSizeMb double
    LocalContextData string
    MemoryMb double
    Name string
    PlatformId double
    PlatformSlug string
    PrimaryIp string
    PrimaryIp4 string
    PrimaryIp6 string
    RoleId double
    SiteId double
    Status string
    TagIds List<double>
    TenantId double
    Vcpus double
    VmId double
    ClusterId float64
    Comments string
    ConfigContext string
    CustomFields map[string]string
    Description string
    DeviceId float64
    DeviceName string
    DiskSizeMb float64
    LocalContextData string
    MemoryMb float64
    Name string
    PlatformId float64
    PlatformSlug string
    PrimaryIp string
    PrimaryIp4 string
    PrimaryIp6 string
    RoleId float64
    SiteId float64
    Status string
    TagIds []float64
    TenantId float64
    Vcpus float64
    VmId float64
    clusterId Double
    comments String
    configContext String
    customFields Map<String,String>
    description String
    deviceId Double
    deviceName String
    diskSizeMb Double
    localContextData String
    memoryMb Double
    name String
    platformId Double
    platformSlug String
    primaryIp String
    primaryIp4 String
    primaryIp6 String
    roleId Double
    siteId Double
    status String
    tagIds List<Double>
    tenantId Double
    vcpus Double
    vmId Double
    clusterId number
    comments string
    configContext string
    customFields {[key: string]: string}
    description string
    deviceId number
    deviceName string
    diskSizeMb number
    localContextData string
    memoryMb number
    name string
    platformId number
    platformSlug string
    primaryIp string
    primaryIp4 string
    primaryIp6 string
    roleId number
    siteId number
    status string
    tagIds number[]
    tenantId number
    vcpus number
    vmId number
    clusterId Number
    comments String
    configContext String
    customFields Map<String>
    description String
    deviceId Number
    deviceName String
    diskSizeMb Number
    localContextData String
    memoryMb Number
    name String
    platformId Number
    platformSlug String
    primaryIp String
    primaryIp4 String
    primaryIp6 String
    roleId Number
    siteId Number
    status String
    tagIds List<Number>
    tenantId Number
    vcpus Number
    vmId Number

    Package Details

    Repository
    netbox e-breuninger/terraform-provider-netbox
    License
    Notes
    This Pulumi package is based on the netbox Terraform Provider.
    netbox logo
    netbox 3.10.0 published on Monday, Apr 14, 2025 by e-breuninger