import * as pulumi from "@pulumi/pulumi"; /** * Retrieves information about an existing file in a Proxmox Virtual Environment node. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as proxmoxve from "@muhlba91/pulumi-proxmoxve"; * * const ubuntuIso = proxmoxve.getFile({ * nodeName: "pve", * datastoreId: "local", * contentType: "iso", * fileName: "ubuntu-22.04.3-live-server-amd64.iso", * }); * const ubuntuContainerTemplate = proxmoxve.getFile({ * nodeName: "pve", * datastoreId: "local", * contentType: "vztmpl", * fileName: "ubuntu-22.04-standard_22.04-1_amd64.tar.zst", * }); * const cloudInitSnippet = proxmoxve.getFile({ * nodeName: "pve", * datastoreId: "local", * contentType: "snippets", * fileName: "cloud-init-config.yaml", * }); * const importedFile = proxmoxve.getFile({ * nodeName: "pve", * datastoreId: "local", * contentType: "import", * fileName: "imported-config.yaml", * }); * export const ubuntuIsoId = ubuntuIso.then(ubuntuIso => ubuntuIso.id); * export const ubuntuIsoSize = ubuntuIso.then(ubuntuIso => ubuntuIso.fileSize); * export const containerTemplateFormat = ubuntuContainerTemplate.then(ubuntuContainerTemplate => ubuntuContainerTemplate.fileFormat); * const example = new proxmoxve.Vm("example", { * nodeName: "pve", * vmId: 100, * cdrom: [{ * fileId: ubuntuIso.then(ubuntuIso => ubuntuIso.id), * }], * cpu: { * cores: 2, * }, * memory: [{ * dedicated: 2048, * }], * disk: [{ * datastoreId: "local-lvm", * fileFormat: "qcow2", * size: 20, * }], * networkDevice: [{ * bridge: "vmbr0", * }], * }); * ``` */ export declare function getFile(args: GetFileArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getFile. */ export interface GetFileArgs { /** * The content type of the file. */ contentType: string; /** * The identifier of the datastore. */ datastoreId: string; /** * The name of the file. */ fileName: string; /** * The name of the node. */ nodeName: string; } /** * A collection of values returned by getFile. */ export interface GetFileResult { /** * The content type of the file. */ readonly contentType: string; /** * The identifier of the datastore. */ readonly datastoreId: string; /** * The format of the file. */ readonly fileFormat: string; /** * The name of the file. */ readonly fileName: string; /** * The size of the file in bytes. */ readonly fileSize: number; /** * The unique identifier of the file (volume ID). */ readonly id: string; /** * The name of the node. */ readonly nodeName: string; /** * The VM ID associated with the file (if applicable). */ readonly vmid: number; } /** * Retrieves information about an existing file in a Proxmox Virtual Environment node. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as proxmoxve from "@muhlba91/pulumi-proxmoxve"; * * const ubuntuIso = proxmoxve.getFile({ * nodeName: "pve", * datastoreId: "local", * contentType: "iso", * fileName: "ubuntu-22.04.3-live-server-amd64.iso", * }); * const ubuntuContainerTemplate = proxmoxve.getFile({ * nodeName: "pve", * datastoreId: "local", * contentType: "vztmpl", * fileName: "ubuntu-22.04-standard_22.04-1_amd64.tar.zst", * }); * const cloudInitSnippet = proxmoxve.getFile({ * nodeName: "pve", * datastoreId: "local", * contentType: "snippets", * fileName: "cloud-init-config.yaml", * }); * const importedFile = proxmoxve.getFile({ * nodeName: "pve", * datastoreId: "local", * contentType: "import", * fileName: "imported-config.yaml", * }); * export const ubuntuIsoId = ubuntuIso.then(ubuntuIso => ubuntuIso.id); * export const ubuntuIsoSize = ubuntuIso.then(ubuntuIso => ubuntuIso.fileSize); * export const containerTemplateFormat = ubuntuContainerTemplate.then(ubuntuContainerTemplate => ubuntuContainerTemplate.fileFormat); * const example = new proxmoxve.Vm("example", { * nodeName: "pve", * vmId: 100, * cdrom: [{ * fileId: ubuntuIso.then(ubuntuIso => ubuntuIso.id), * }], * cpu: { * cores: 2, * }, * memory: [{ * dedicated: 2048, * }], * disk: [{ * datastoreId: "local-lvm", * fileFormat: "qcow2", * size: 20, * }], * networkDevice: [{ * bridge: "vmbr0", * }], * }); * ``` */ export declare function getFileOutput(args: GetFileOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getFile. */ export interface GetFileOutputArgs { /** * The content type of the file. */ contentType: pulumi.Input; /** * The identifier of the datastore. */ datastoreId: pulumi.Input; /** * The name of the file. */ fileName: pulumi.Input; /** * The name of the node. */ nodeName: pulumi.Input; } //# sourceMappingURL=getFile.d.ts.map