import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Retrieves the list of PCI devices present on a specific Proxmox VE node. This is useful for discovering PCI devices available for passthrough or for configuring hardware mappings. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as proxmoxve from "@muhlba91/pulumi-proxmoxve"; * * // List all PCI devices on a node (using default blacklist) * const example = proxmoxve.hardware.getPci({ * nodeName: "pve", * }); * // List all PCI devices including bridges and memory controllers * const all = proxmoxve.hardware.getPci({ * nodeName: "pve", * pciClassBlacklists: [], * }); * // Find all NVIDIA GPUs (vendor ID 10de = NVIDIA, class 03 = display controller) * const gpus = proxmoxve.hardware.getPci({ * nodeName: "pve", * pciClassBlacklists: [], * filters: { * vendorId: "10de", * "class": "03", * }, * }); * ``` */ export declare function getPci(args: GetPciArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getPci. */ export interface GetPciArgs { /** * Client-side filters for narrowing down results. All filters use prefix matching. */ filters?: inputs.hardware.GetPciFilters; /** * The name of the node to list PCI devices from. */ nodeName: string; /** * A list of PCI class IDs (hex prefixes) to exclude from the results. If not set, the Proxmox default blacklist is used which filters out memory controllers (05), bridges (06), and processors (0b). Set to an empty list to return all devices. */ pciClassBlacklists?: string[]; } /** * A collection of values returned by getPci. */ export interface GetPciResult { /** * The list of PCI devices. */ readonly devices: outputs.hardware.GetPciDevice[]; /** * Client-side filters for narrowing down results. All filters use prefix matching. */ readonly filters?: outputs.hardware.GetPciFilters; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; /** * The name of the node to list PCI devices from. */ readonly nodeName: string; /** * A list of PCI class IDs (hex prefixes) to exclude from the results. If not set, the Proxmox default blacklist is used which filters out memory controllers (05), bridges (06), and processors (0b). Set to an empty list to return all devices. */ readonly pciClassBlacklists?: string[]; } /** * Retrieves the list of PCI devices present on a specific Proxmox VE node. This is useful for discovering PCI devices available for passthrough or for configuring hardware mappings. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as proxmoxve from "@muhlba91/pulumi-proxmoxve"; * * // List all PCI devices on a node (using default blacklist) * const example = proxmoxve.hardware.getPci({ * nodeName: "pve", * }); * // List all PCI devices including bridges and memory controllers * const all = proxmoxve.hardware.getPci({ * nodeName: "pve", * pciClassBlacklists: [], * }); * // Find all NVIDIA GPUs (vendor ID 10de = NVIDIA, class 03 = display controller) * const gpus = proxmoxve.hardware.getPci({ * nodeName: "pve", * pciClassBlacklists: [], * filters: { * vendorId: "10de", * "class": "03", * }, * }); * ``` */ export declare function getPciOutput(args: GetPciOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getPci. */ export interface GetPciOutputArgs { /** * Client-side filters for narrowing down results. All filters use prefix matching. */ filters?: pulumi.Input; /** * The name of the node to list PCI devices from. */ nodeName: pulumi.Input; /** * A list of PCI class IDs (hex prefixes) to exclude from the results. If not set, the Proxmox default blacklist is used which filters out memory controllers (05), bridges (06), and processors (0b). Set to an empty list to return all devices. */ pciClassBlacklists?: pulumi.Input[] | undefined>; } //# sourceMappingURL=getPci.d.ts.map