@muhlba91/pulumi-proxmoxve
Version:
A Pulumi package for creating and managing Proxmox Virtual Environment cloud resources.
229 lines • 7.87 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
* Manages an NFS-based storage in Proxmox VE.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as proxmoxve from "@muhlba91/pulumi-proxmoxve";
*
* const example = new proxmoxve.storage.Nfs("example", {
* resourceId: "example-nfs",
* nodes: ["pve"],
* server: "10.0.0.10",
* "export": "/exports/proxmox",
* contents: [
* "images",
* "iso",
* "backup",
* ],
* options: "vers=4.2",
* preallocation: "metadata",
* snapshotAsVolumeChain: true,
* backups: {
* maxProtectedBackups: 5,
* keepDaily: 7,
* },
* });
* ```
*
* ## Import
*
* !/usr/bin/env sh
* Storage can be imported using its identifier, e.g.:
*
* ```sh
* $ pulumi import proxmoxve:storage/nfs:Nfs example local-nfs
* ```
*/
export declare class Nfs extends pulumi.CustomResource {
/**
* Get an existing Nfs resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: NfsState, opts?: pulumi.CustomResourceOptions): Nfs;
/**
* Returns true if the given object is an instance of Nfs. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is Nfs;
/**
* Configure backup retention settings for the storage type.
*/
readonly backups: pulumi.Output<outputs.storage.NfsBackups | undefined>;
/**
* The content types that can be stored on this storage. Valid values: `backup` (VM backups), `images` (VM disk images), `import` (VM disk images for import), `iso` (ISO images), `rootdir` (container root directories), `snippets` (cloud-init, hook scripts, etc.), `vztmpl` (container templates).
*/
readonly contents: pulumi.Output<string[]>;
/**
* Create the base directory if it doesn't exist.
*/
readonly createBasePath: pulumi.Output<boolean>;
/**
* Populate the directory with the default structure.
*/
readonly createSubdirs: pulumi.Output<boolean>;
/**
* Whether the storage is disabled.
*/
readonly disable: pulumi.Output<boolean>;
/**
* The path of the NFS export.
*/
readonly export: pulumi.Output<string>;
/**
* A list of nodes where this storage is available.
*/
readonly nodes: pulumi.Output<string[]>;
/**
* The options to pass to the NFS service.
*/
readonly options: pulumi.Output<string | undefined>;
/**
* The preallocation mode for raw and qcow2 images.
*/
readonly preallocation: pulumi.Output<string | undefined>;
/**
* The unique identifier of the storage.
*/
readonly resourceId: pulumi.Output<string>;
/**
* The IP address or DNS name of the NFS server.
*/
readonly server: pulumi.Output<string>;
/**
* Whether the storage is shared across all nodes.
*/
readonly shared: pulumi.Output<boolean>;
/**
* Enable support for creating snapshots through volume backing-chains.
*/
readonly snapshotAsVolumeChain: pulumi.Output<boolean | undefined>;
/**
* Create a Nfs resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args: NfsArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering Nfs resources.
*/
export interface NfsState {
/**
* Configure backup retention settings for the storage type.
*/
backups?: pulumi.Input<inputs.storage.NfsBackups | undefined>;
/**
* The content types that can be stored on this storage. Valid values: `backup` (VM backups), `images` (VM disk images), `import` (VM disk images for import), `iso` (ISO images), `rootdir` (container root directories), `snippets` (cloud-init, hook scripts, etc.), `vztmpl` (container templates).
*/
contents?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* Create the base directory if it doesn't exist.
*/
createBasePath?: pulumi.Input<boolean | undefined>;
/**
* Populate the directory with the default structure.
*/
createSubdirs?: pulumi.Input<boolean | undefined>;
/**
* Whether the storage is disabled.
*/
disable?: pulumi.Input<boolean | undefined>;
/**
* The path of the NFS export.
*/
export?: pulumi.Input<string | undefined>;
/**
* A list of nodes where this storage is available.
*/
nodes?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* The options to pass to the NFS service.
*/
options?: pulumi.Input<string | undefined>;
/**
* The preallocation mode for raw and qcow2 images.
*/
preallocation?: pulumi.Input<string | undefined>;
/**
* The unique identifier of the storage.
*/
resourceId?: pulumi.Input<string | undefined>;
/**
* The IP address or DNS name of the NFS server.
*/
server?: pulumi.Input<string | undefined>;
/**
* Whether the storage is shared across all nodes.
*/
shared?: pulumi.Input<boolean | undefined>;
/**
* Enable support for creating snapshots through volume backing-chains.
*/
snapshotAsVolumeChain?: pulumi.Input<boolean | undefined>;
}
/**
* The set of arguments for constructing a Nfs resource.
*/
export interface NfsArgs {
/**
* Configure backup retention settings for the storage type.
*/
backups?: pulumi.Input<inputs.storage.NfsBackups | undefined>;
/**
* The content types that can be stored on this storage. Valid values: `backup` (VM backups), `images` (VM disk images), `import` (VM disk images for import), `iso` (ISO images), `rootdir` (container root directories), `snippets` (cloud-init, hook scripts, etc.), `vztmpl` (container templates).
*/
contents?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* Create the base directory if it doesn't exist.
*/
createBasePath?: pulumi.Input<boolean | undefined>;
/**
* Populate the directory with the default structure.
*/
createSubdirs?: pulumi.Input<boolean | undefined>;
/**
* Whether the storage is disabled.
*/
disable?: pulumi.Input<boolean | undefined>;
/**
* The path of the NFS export.
*/
export: pulumi.Input<string>;
/**
* A list of nodes where this storage is available.
*/
nodes?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* The options to pass to the NFS service.
*/
options?: pulumi.Input<string | undefined>;
/**
* The preallocation mode for raw and qcow2 images.
*/
preallocation?: pulumi.Input<string | undefined>;
/**
* The unique identifier of the storage.
*/
resourceId: pulumi.Input<string>;
/**
* The IP address or DNS name of the NFS server.
*/
server: pulumi.Input<string>;
/**
* Enable support for creating snapshots through volume backing-chains.
*/
snapshotAsVolumeChain?: pulumi.Input<boolean | undefined>;
}
//# sourceMappingURL=nfs.d.ts.map