@muhlba91/pulumi-proxmoxve
Version:
A Pulumi package for creating and managing Proxmox Virtual Environment cloud resources.
201 lines • 5.46 kB
TypeScript
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<GetFileResult>;
/**
* 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<GetFileResult>;
/**
* A collection of arguments for invoking getFile.
*/
export interface GetFileOutputArgs {
/**
* The content type of the file.
*/
contentType: pulumi.Input<string>;
/**
* The identifier of the datastore.
*/
datastoreId: pulumi.Input<string>;
/**
* The name of the file.
*/
fileName: pulumi.Input<string>;
/**
* The name of the node.
*/
nodeName: pulumi.Input<string>;
}
//# sourceMappingURL=getFile.d.ts.map