@muhlba91/pulumi-proxmoxve
Version:
A Pulumi package for creating and managing Proxmox Virtual Environment cloud resources.
276 lines • 9.42 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
* Manages an SMB/CIFS based storage server in Proxmox VE.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as proxmoxve from "@muhlba91/pulumi-proxmoxve";
*
* const example = new proxmoxve.storage.Cifs("example", {
* resourceId: "example-cifs",
* nodes: ["pve"],
* server: "10.0.0.20",
* share: "proxmox",
* username: "cifs-user",
* password: "cifs-password",
* contents: ["images"],
* domain: "WORKGROUP",
* subdirectory: "terraform",
* 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/cifs:Cifs example local-cifs
* ```
*/
export declare class Cifs extends pulumi.CustomResource {
/**
* Get an existing Cifs 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?: CifsState, opts?: pulumi.CustomResourceOptions): Cifs;
/**
* Returns true if the given object is an instance of Cifs. 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 Cifs;
/**
* Configure backup retention settings for the storage type.
*/
readonly backups: pulumi.Output<outputs.storage.CifsBackups | 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 SMB/CIFS domain.
*/
readonly domain: pulumi.Output<string | undefined>;
/**
* A list of nodes where this storage is available.
*/
readonly nodes: pulumi.Output<string[]>;
/**
* The mount options for the SMB/CIFS share (see 'man mount.cifs').
*/
readonly options: pulumi.Output<string | undefined>;
/**
* The password for authenticating with the SMB/CIFS server.
*/
readonly password: pulumi.Output<string>;
/**
* 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 SMB/CIFS server.
*/
readonly server: pulumi.Output<string>;
/**
* The name of the SMB/CIFS share.
*/
readonly share: 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>;
/**
* A subdirectory to mount within the share.
*/
readonly subdirectory: pulumi.Output<string | undefined>;
/**
* The username for authenticating with the SMB/CIFS server.
*/
readonly username: pulumi.Output<string>;
/**
* Create a Cifs 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: CifsArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering Cifs resources.
*/
export interface CifsState {
/**
* Configure backup retention settings for the storage type.
*/
backups?: pulumi.Input<inputs.storage.CifsBackups | 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 SMB/CIFS domain.
*/
domain?: pulumi.Input<string | undefined>;
/**
* A list of nodes where this storage is available.
*/
nodes?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* The mount options for the SMB/CIFS share (see 'man mount.cifs').
*/
options?: pulumi.Input<string | undefined>;
/**
* The password for authenticating with the SMB/CIFS server.
*/
password?: 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 SMB/CIFS server.
*/
server?: pulumi.Input<string | undefined>;
/**
* The name of the SMB/CIFS share.
*/
share?: 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>;
/**
* A subdirectory to mount within the share.
*/
subdirectory?: pulumi.Input<string | undefined>;
/**
* The username for authenticating with the SMB/CIFS server.
*/
username?: pulumi.Input<string | undefined>;
}
/**
* The set of arguments for constructing a Cifs resource.
*/
export interface CifsArgs {
/**
* Configure backup retention settings for the storage type.
*/
backups?: pulumi.Input<inputs.storage.CifsBackups | 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 SMB/CIFS domain.
*/
domain?: pulumi.Input<string | undefined>;
/**
* A list of nodes where this storage is available.
*/
nodes?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* The mount options for the SMB/CIFS share (see 'man mount.cifs').
*/
options?: pulumi.Input<string | undefined>;
/**
* The password for authenticating with the SMB/CIFS server.
*/
password: pulumi.Input<string>;
/**
* 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 SMB/CIFS server.
*/
server: pulumi.Input<string>;
/**
* The name of the SMB/CIFS share.
*/
share: pulumi.Input<string>;
/**
* Enable support for creating snapshots through volume backing-chains.
*/
snapshotAsVolumeChain?: pulumi.Input<boolean | undefined>;
/**
* A subdirectory to mount within the share.
*/
subdirectory?: pulumi.Input<string | undefined>;
/**
* The username for authenticating with the SMB/CIFS server.
*/
username: pulumi.Input<string>;
}
//# sourceMappingURL=cifs.d.ts.map