1. Packages
  2. vSphere
  3. API Docs
  4. getHostPciDevice
vSphere v4.10.0 published on Tuesday, Mar 12, 2024 by Pulumi

vsphere.getHostPciDevice

Explore with Pulumi AI

vsphere logo
vSphere v4.10.0 published on Tuesday, Mar 12, 2024 by Pulumi

    The vsphere.getHostPciDevice data source can be used to discover the device ID of a vSphere host’s PCI device. This can then be used with vsphere.VirtualMachine’s pci_device_id.

    Example Usage

    With Vendor ID And Class ID

    import * as pulumi from "@pulumi/pulumi";
    import * as vsphere from "@pulumi/vsphere";
    
    const datacenter = vsphere.getDatacenter({
        name: "dc-01",
    });
    const host = datacenter.then(datacenter => vsphere.getHost({
        name: "esxi-01.example.com",
        datacenterId: datacenter.id,
    }));
    const dev = host.then(host => vsphere.getHostPciDevice({
        hostId: host.id,
        classId: "123",
        vendorId: "456",
    }));
    
    import pulumi
    import pulumi_vsphere as vsphere
    
    datacenter = vsphere.get_datacenter(name="dc-01")
    host = vsphere.get_host(name="esxi-01.example.com",
        datacenter_id=datacenter.id)
    dev = vsphere.get_host_pci_device(host_id=host.id,
        class_id="123",
        vendor_id="456")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-vsphere/sdk/v4/go/vsphere"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		datacenter, err := vsphere.LookupDatacenter(ctx, &vsphere.LookupDatacenterArgs{
    			Name: pulumi.StringRef("dc-01"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		host, err := vsphere.LookupHost(ctx, &vsphere.LookupHostArgs{
    			Name:         pulumi.StringRef("esxi-01.example.com"),
    			DatacenterId: datacenter.Id,
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = vsphere.GetHostPciDevice(ctx, &vsphere.GetHostPciDeviceArgs{
    			HostId:   host.Id,
    			ClassId:  pulumi.StringRef("123"),
    			VendorId: pulumi.StringRef("456"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using VSphere = Pulumi.VSphere;
    
    return await Deployment.RunAsync(() => 
    {
        var datacenter = VSphere.GetDatacenter.Invoke(new()
        {
            Name = "dc-01",
        });
    
        var host = VSphere.GetHost.Invoke(new()
        {
            Name = "esxi-01.example.com",
            DatacenterId = datacenter.Apply(getDatacenterResult => getDatacenterResult.Id),
        });
    
        var dev = VSphere.GetHostPciDevice.Invoke(new()
        {
            HostId = host.Apply(getHostResult => getHostResult.Id),
            ClassId = "123",
            VendorId = "456",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.vsphere.VsphereFunctions;
    import com.pulumi.vsphere.inputs.GetDatacenterArgs;
    import com.pulumi.vsphere.inputs.GetHostArgs;
    import com.pulumi.vsphere.inputs.GetHostPciDeviceArgs;
    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 datacenter = VsphereFunctions.getDatacenter(GetDatacenterArgs.builder()
                .name("dc-01")
                .build());
    
            final var host = VsphereFunctions.getHost(GetHostArgs.builder()
                .name("esxi-01.example.com")
                .datacenterId(datacenter.applyValue(getDatacenterResult -> getDatacenterResult.id()))
                .build());
    
            final var dev = VsphereFunctions.getHostPciDevice(GetHostPciDeviceArgs.builder()
                .hostId(host.applyValue(getHostResult -> getHostResult.id()))
                .classId(123)
                .vendorId(456)
                .build());
    
        }
    }
    
    variables:
      datacenter:
        fn::invoke:
          Function: vsphere:getDatacenter
          Arguments:
            name: dc-01
      host:
        fn::invoke:
          Function: vsphere:getHost
          Arguments:
            name: esxi-01.example.com
            datacenterId: ${datacenter.id}
      dev:
        fn::invoke:
          Function: vsphere:getHostPciDevice
          Arguments:
            hostId: ${host.id}
            classId: 123
            vendorId: 456
    

    With Name Regular Expression

    import * as pulumi from "@pulumi/pulumi";
    import * as vsphere from "@pulumi/vsphere";
    
    const datacenter = vsphere.getDatacenter({
        name: "dc-01",
    });
    const host = datacenter.then(datacenter => vsphere.getHost({
        name: "esxi-01.example.com",
        datacenterId: datacenter.id,
    }));
    const dev = host.then(host => vsphere.getHostPciDevice({
        hostId: host.id,
        nameRegex: "MMC",
    }));
    
    import pulumi
    import pulumi_vsphere as vsphere
    
    datacenter = vsphere.get_datacenter(name="dc-01")
    host = vsphere.get_host(name="esxi-01.example.com",
        datacenter_id=datacenter.id)
    dev = vsphere.get_host_pci_device(host_id=host.id,
        name_regex="MMC")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-vsphere/sdk/v4/go/vsphere"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		datacenter, err := vsphere.LookupDatacenter(ctx, &vsphere.LookupDatacenterArgs{
    			Name: pulumi.StringRef("dc-01"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		host, err := vsphere.LookupHost(ctx, &vsphere.LookupHostArgs{
    			Name:         pulumi.StringRef("esxi-01.example.com"),
    			DatacenterId: datacenter.Id,
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = vsphere.GetHostPciDevice(ctx, &vsphere.GetHostPciDeviceArgs{
    			HostId:    host.Id,
    			NameRegex: pulumi.StringRef("MMC"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using VSphere = Pulumi.VSphere;
    
    return await Deployment.RunAsync(() => 
    {
        var datacenter = VSphere.GetDatacenter.Invoke(new()
        {
            Name = "dc-01",
        });
    
        var host = VSphere.GetHost.Invoke(new()
        {
            Name = "esxi-01.example.com",
            DatacenterId = datacenter.Apply(getDatacenterResult => getDatacenterResult.Id),
        });
    
        var dev = VSphere.GetHostPciDevice.Invoke(new()
        {
            HostId = host.Apply(getHostResult => getHostResult.Id),
            NameRegex = "MMC",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.vsphere.VsphereFunctions;
    import com.pulumi.vsphere.inputs.GetDatacenterArgs;
    import com.pulumi.vsphere.inputs.GetHostArgs;
    import com.pulumi.vsphere.inputs.GetHostPciDeviceArgs;
    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 datacenter = VsphereFunctions.getDatacenter(GetDatacenterArgs.builder()
                .name("dc-01")
                .build());
    
            final var host = VsphereFunctions.getHost(GetHostArgs.builder()
                .name("esxi-01.example.com")
                .datacenterId(datacenter.applyValue(getDatacenterResult -> getDatacenterResult.id()))
                .build());
    
            final var dev = VsphereFunctions.getHostPciDevice(GetHostPciDeviceArgs.builder()
                .hostId(host.applyValue(getHostResult -> getHostResult.id()))
                .nameRegex("MMC")
                .build());
    
        }
    }
    
    variables:
      datacenter:
        fn::invoke:
          Function: vsphere:getDatacenter
          Arguments:
            name: dc-01
      host:
        fn::invoke:
          Function: vsphere:getHost
          Arguments:
            name: esxi-01.example.com
            datacenterId: ${datacenter.id}
      dev:
        fn::invoke:
          Function: vsphere:getHostPciDevice
          Arguments:
            hostId: ${host.id}
            nameRegex: MMC
    

    Using getHostPciDevice

    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 getHostPciDevice(args: GetHostPciDeviceArgs, opts?: InvokeOptions): Promise<GetHostPciDeviceResult>
    function getHostPciDeviceOutput(args: GetHostPciDeviceOutputArgs, opts?: InvokeOptions): Output<GetHostPciDeviceResult>
    def get_host_pci_device(class_id: Optional[str] = None,
                            host_id: Optional[str] = None,
                            name_regex: Optional[str] = None,
                            vendor_id: Optional[str] = None,
                            opts: Optional[InvokeOptions] = None) -> GetHostPciDeviceResult
    def get_host_pci_device_output(class_id: Optional[pulumi.Input[str]] = None,
                            host_id: Optional[pulumi.Input[str]] = None,
                            name_regex: Optional[pulumi.Input[str]] = None,
                            vendor_id: Optional[pulumi.Input[str]] = None,
                            opts: Optional[InvokeOptions] = None) -> Output[GetHostPciDeviceResult]
    func GetHostPciDevice(ctx *Context, args *GetHostPciDeviceArgs, opts ...InvokeOption) (*GetHostPciDeviceResult, error)
    func GetHostPciDeviceOutput(ctx *Context, args *GetHostPciDeviceOutputArgs, opts ...InvokeOption) GetHostPciDeviceResultOutput

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

    public static class GetHostPciDevice 
    {
        public static Task<GetHostPciDeviceResult> InvokeAsync(GetHostPciDeviceArgs args, InvokeOptions? opts = null)
        public static Output<GetHostPciDeviceResult> Invoke(GetHostPciDeviceInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetHostPciDeviceResult> getHostPciDevice(GetHostPciDeviceArgs args, InvokeOptions options)
    // Output-based functions aren't available in Java yet
    
    fn::invoke:
      function: vsphere:index/getHostPciDevice:getHostPciDevice
      arguments:
        # arguments dictionary

    The following arguments are supported:

    HostId string
    The [managed object reference ID][docs-about-morefs] of a host.
    ClassId string

    The hexadecimal PCI device class ID

    NOTE: name_regex, vendor_id, and class_id can all be used together.

    NameRegex string
    A regular expression that will be used to match the host PCI device name.
    VendorId string
    The hexadecimal PCI device vendor ID.
    HostId string
    The [managed object reference ID][docs-about-morefs] of a host.
    ClassId string

    The hexadecimal PCI device class ID

    NOTE: name_regex, vendor_id, and class_id can all be used together.

    NameRegex string
    A regular expression that will be used to match the host PCI device name.
    VendorId string
    The hexadecimal PCI device vendor ID.
    hostId String
    The [managed object reference ID][docs-about-morefs] of a host.
    classId String

    The hexadecimal PCI device class ID

    NOTE: name_regex, vendor_id, and class_id can all be used together.

    nameRegex String
    A regular expression that will be used to match the host PCI device name.
    vendorId String
    The hexadecimal PCI device vendor ID.
    hostId string
    The [managed object reference ID][docs-about-morefs] of a host.
    classId string

    The hexadecimal PCI device class ID

    NOTE: name_regex, vendor_id, and class_id can all be used together.

    nameRegex string
    A regular expression that will be used to match the host PCI device name.
    vendorId string
    The hexadecimal PCI device vendor ID.
    host_id str
    The [managed object reference ID][docs-about-morefs] of a host.
    class_id str

    The hexadecimal PCI device class ID

    NOTE: name_regex, vendor_id, and class_id can all be used together.

    name_regex str
    A regular expression that will be used to match the host PCI device name.
    vendor_id str
    The hexadecimal PCI device vendor ID.
    hostId String
    The [managed object reference ID][docs-about-morefs] of a host.
    classId String

    The hexadecimal PCI device class ID

    NOTE: name_regex, vendor_id, and class_id can all be used together.

    nameRegex String
    A regular expression that will be used to match the host PCI device name.
    vendorId String
    The hexadecimal PCI device vendor ID.

    getHostPciDevice Result

    The following output properties are available:

    HostId string
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    The name of the PCI device.
    ClassId string
    NameRegex string
    VendorId string
    HostId string
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    The name of the PCI device.
    ClassId string
    NameRegex string
    VendorId string
    hostId String
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    The name of the PCI device.
    classId String
    nameRegex String
    vendorId String
    hostId string
    id string
    The provider-assigned unique ID for this managed resource.
    name string
    The name of the PCI device.
    classId string
    nameRegex string
    vendorId string
    host_id str
    id str
    The provider-assigned unique ID for this managed resource.
    name str
    The name of the PCI device.
    class_id str
    name_regex str
    vendor_id str
    hostId String
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    The name of the PCI device.
    classId String
    nameRegex String
    vendorId String

    Package Details

    Repository
    vSphere pulumi/pulumi-vsphere
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the vsphere Terraform Provider.
    vsphere logo
    vSphere v4.10.0 published on Tuesday, Mar 12, 2024 by Pulumi