@muhlba91/pulumi-proxmoxve
Version:
A Pulumi package for creating and managing Proxmox Virtual Environment cloud resources.
454 lines • 14.4 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
* Manages a Proxmox VE cluster backup job.
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as proxmoxve from "@muhlba91/pulumi-proxmoxve";
*
* const dailyBackup = new proxmoxve.backup.Job("daily_backup", {
* resourceId: "daily-backup",
* schedule: "*-*-* 02:00",
* storage: "local",
* all: true,
* mode: "snapshot",
* compress: "zstd",
* });
* ```
*
* ## Import
*
* ```sh
* $ pulumi import proxmoxve:backup/job:Job daily_backup daily-backup
* ```
*/
export declare class Job extends pulumi.CustomResource {
/**
* Get an existing Job 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?: JobState, opts?: pulumi.CustomResourceOptions): Job;
/**
* Returns true if the given object is an instance of Job. 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 Job;
/**
* Whether to back up all known guests on the node.
*/
readonly all: pulumi.Output<boolean>;
/**
* I/O bandwidth limit in KiB/s.
*/
readonly bwlimit: pulumi.Output<number>;
/**
* The compression algorithm (0, 1, gzip, lzo, or zstd).
*/
readonly compress: pulumi.Output<string>;
/**
* Whether the backup job is enabled.
*/
readonly enabled: pulumi.Output<boolean>;
/**
* A list of paths to exclude from the backup.
*/
readonly excludePaths: pulumi.Output<string[] | undefined>;
/**
* Fleecing configuration for the backup job.
*/
readonly fleecing: pulumi.Output<outputs.backup.JobFleecing | undefined>;
/**
* I/O priority (0-8).
*/
readonly ionice: pulumi.Output<number>;
/**
* Maximum wait time in minutes for the global lock.
*/
readonly lockwait: pulumi.Output<number | undefined>;
/**
* Email notification setting (always or failure).
*/
readonly mailnotification: pulumi.Output<string>;
/**
* A list of email addresses to send notifications to.
*/
readonly mailtos: pulumi.Output<string[] | undefined>;
/**
* Deprecated: use pruneBackups instead. Maximum number of backup files per guest.
*/
readonly maxfiles: pulumi.Output<number | undefined>;
/**
* The backup mode (snapshot, suspend, or stop).
*/
readonly mode: pulumi.Output<string>;
/**
* The cluster node name to limit the backup job to.
*/
readonly node: pulumi.Output<string | undefined>;
/**
* Template for notes attached to the backup.
*/
readonly notesTemplate: pulumi.Output<string | undefined>;
/**
* PBS change detection mode (legacy, data, or metadata).
*/
readonly pbsChangeDetectionMode: pulumi.Output<string | undefined>;
/**
* Performance-related settings for the backup job.
*/
readonly performance: pulumi.Output<outputs.backup.JobPerformance | undefined>;
/**
* Number of pigz threads (0 disables, 1 uses single-threaded gzip).
*/
readonly pigz: pulumi.Output<number | undefined>;
/**
* Limit backup to guests in the specified pool.
*/
readonly pool: pulumi.Output<string | undefined>;
/**
* Whether the backup should be marked as protected.
*/
readonly protected: pulumi.Output<boolean>;
/**
* Retention options as a map of keep policies (e.g. keep-last = "3", keep-weekly = "2").
*/
readonly pruneBackups: pulumi.Output<{
[key: string]: string;
}>;
/**
* Whether to remove old backups if there are more than maxfiles.
*/
readonly remove: pulumi.Output<boolean>;
/**
* Whether to repeat missed backup jobs as soon as possible.
*/
readonly repeatMissed: pulumi.Output<boolean>;
/**
* The identifier of the backup job.
*/
readonly resourceId: pulumi.Output<string>;
/**
* Backup schedule in systemd calendar event format.
*/
readonly schedule: pulumi.Output<string>;
/**
* Path to a script to execute before/after the backup job.
*/
readonly script: pulumi.Output<string | undefined>;
/**
* The scheduled start time (HH:MM).
*/
readonly starttime: pulumi.Output<string | undefined>;
/**
* Whether to exclude common temporary files from the backup.
*/
readonly stdexcludes: pulumi.Output<boolean>;
/**
* Maximum wait time in minutes for a guest to stop.
*/
readonly stopwait: pulumi.Output<number | undefined>;
/**
* The storage identifier for the backup.
*/
readonly storage: pulumi.Output<string>;
/**
* Path to the temporary directory for the backup job.
*/
readonly tmpdir: pulumi.Output<string | undefined>;
/**
* A list of guest VM/CT IDs to include in the backup job.
*/
readonly vmids: pulumi.Output<string[] | undefined>;
/**
* Number of zstd threads (0 uses half of available cores).
*/
readonly zstd: pulumi.Output<number | undefined>;
/**
* Create a Job 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: JobArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering Job resources.
*/
export interface JobState {
/**
* Whether to back up all known guests on the node.
*/
all?: pulumi.Input<boolean | undefined>;
/**
* I/O bandwidth limit in KiB/s.
*/
bwlimit?: pulumi.Input<number | undefined>;
/**
* The compression algorithm (0, 1, gzip, lzo, or zstd).
*/
compress?: pulumi.Input<string | undefined>;
/**
* Whether the backup job is enabled.
*/
enabled?: pulumi.Input<boolean | undefined>;
/**
* A list of paths to exclude from the backup.
*/
excludePaths?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* Fleecing configuration for the backup job.
*/
fleecing?: pulumi.Input<inputs.backup.JobFleecing | undefined>;
/**
* I/O priority (0-8).
*/
ionice?: pulumi.Input<number | undefined>;
/**
* Maximum wait time in minutes for the global lock.
*/
lockwait?: pulumi.Input<number | undefined>;
/**
* Email notification setting (always or failure).
*/
mailnotification?: pulumi.Input<string | undefined>;
/**
* A list of email addresses to send notifications to.
*/
mailtos?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* Deprecated: use pruneBackups instead. Maximum number of backup files per guest.
*/
maxfiles?: pulumi.Input<number | undefined>;
/**
* The backup mode (snapshot, suspend, or stop).
*/
mode?: pulumi.Input<string | undefined>;
/**
* The cluster node name to limit the backup job to.
*/
node?: pulumi.Input<string | undefined>;
/**
* Template for notes attached to the backup.
*/
notesTemplate?: pulumi.Input<string | undefined>;
/**
* PBS change detection mode (legacy, data, or metadata).
*/
pbsChangeDetectionMode?: pulumi.Input<string | undefined>;
/**
* Performance-related settings for the backup job.
*/
performance?: pulumi.Input<inputs.backup.JobPerformance | undefined>;
/**
* Number of pigz threads (0 disables, 1 uses single-threaded gzip).
*/
pigz?: pulumi.Input<number | undefined>;
/**
* Limit backup to guests in the specified pool.
*/
pool?: pulumi.Input<string | undefined>;
/**
* Whether the backup should be marked as protected.
*/
protected?: pulumi.Input<boolean | undefined>;
/**
* Retention options as a map of keep policies (e.g. keep-last = "3", keep-weekly = "2").
*/
pruneBackups?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
} | undefined>;
/**
* Whether to remove old backups if there are more than maxfiles.
*/
remove?: pulumi.Input<boolean | undefined>;
/**
* Whether to repeat missed backup jobs as soon as possible.
*/
repeatMissed?: pulumi.Input<boolean | undefined>;
/**
* The identifier of the backup job.
*/
resourceId?: pulumi.Input<string | undefined>;
/**
* Backup schedule in systemd calendar event format.
*/
schedule?: pulumi.Input<string | undefined>;
/**
* Path to a script to execute before/after the backup job.
*/
script?: pulumi.Input<string | undefined>;
/**
* The scheduled start time (HH:MM).
*/
starttime?: pulumi.Input<string | undefined>;
/**
* Whether to exclude common temporary files from the backup.
*/
stdexcludes?: pulumi.Input<boolean | undefined>;
/**
* Maximum wait time in minutes for a guest to stop.
*/
stopwait?: pulumi.Input<number | undefined>;
/**
* The storage identifier for the backup.
*/
storage?: pulumi.Input<string | undefined>;
/**
* Path to the temporary directory for the backup job.
*/
tmpdir?: pulumi.Input<string | undefined>;
/**
* A list of guest VM/CT IDs to include in the backup job.
*/
vmids?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* Number of zstd threads (0 uses half of available cores).
*/
zstd?: pulumi.Input<number | undefined>;
}
/**
* The set of arguments for constructing a Job resource.
*/
export interface JobArgs {
/**
* Whether to back up all known guests on the node.
*/
all?: pulumi.Input<boolean | undefined>;
/**
* I/O bandwidth limit in KiB/s.
*/
bwlimit?: pulumi.Input<number | undefined>;
/**
* The compression algorithm (0, 1, gzip, lzo, or zstd).
*/
compress?: pulumi.Input<string | undefined>;
/**
* Whether the backup job is enabled.
*/
enabled?: pulumi.Input<boolean | undefined>;
/**
* A list of paths to exclude from the backup.
*/
excludePaths?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* Fleecing configuration for the backup job.
*/
fleecing?: pulumi.Input<inputs.backup.JobFleecing | undefined>;
/**
* I/O priority (0-8).
*/
ionice?: pulumi.Input<number | undefined>;
/**
* Maximum wait time in minutes for the global lock.
*/
lockwait?: pulumi.Input<number | undefined>;
/**
* Email notification setting (always or failure).
*/
mailnotification?: pulumi.Input<string | undefined>;
/**
* A list of email addresses to send notifications to.
*/
mailtos?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* Deprecated: use pruneBackups instead. Maximum number of backup files per guest.
*/
maxfiles?: pulumi.Input<number | undefined>;
/**
* The backup mode (snapshot, suspend, or stop).
*/
mode?: pulumi.Input<string | undefined>;
/**
* The cluster node name to limit the backup job to.
*/
node?: pulumi.Input<string | undefined>;
/**
* Template for notes attached to the backup.
*/
notesTemplate?: pulumi.Input<string | undefined>;
/**
* PBS change detection mode (legacy, data, or metadata).
*/
pbsChangeDetectionMode?: pulumi.Input<string | undefined>;
/**
* Performance-related settings for the backup job.
*/
performance?: pulumi.Input<inputs.backup.JobPerformance | undefined>;
/**
* Number of pigz threads (0 disables, 1 uses single-threaded gzip).
*/
pigz?: pulumi.Input<number | undefined>;
/**
* Limit backup to guests in the specified pool.
*/
pool?: pulumi.Input<string | undefined>;
/**
* Whether the backup should be marked as protected.
*/
protected?: pulumi.Input<boolean | undefined>;
/**
* Retention options as a map of keep policies (e.g. keep-last = "3", keep-weekly = "2").
*/
pruneBackups?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
} | undefined>;
/**
* Whether to remove old backups if there are more than maxfiles.
*/
remove?: pulumi.Input<boolean | undefined>;
/**
* Whether to repeat missed backup jobs as soon as possible.
*/
repeatMissed?: pulumi.Input<boolean | undefined>;
/**
* The identifier of the backup job.
*/
resourceId: pulumi.Input<string>;
/**
* Backup schedule in systemd calendar event format.
*/
schedule: pulumi.Input<string>;
/**
* Path to a script to execute before/after the backup job.
*/
script?: pulumi.Input<string | undefined>;
/**
* The scheduled start time (HH:MM).
*/
starttime?: pulumi.Input<string | undefined>;
/**
* Whether to exclude common temporary files from the backup.
*/
stdexcludes?: pulumi.Input<boolean | undefined>;
/**
* Maximum wait time in minutes for a guest to stop.
*/
stopwait?: pulumi.Input<number | undefined>;
/**
* The storage identifier for the backup.
*/
storage: pulumi.Input<string>;
/**
* Path to the temporary directory for the backup job.
*/
tmpdir?: pulumi.Input<string | undefined>;
/**
* A list of guest VM/CT IDs to include in the backup job.
*/
vmids?: pulumi.Input<pulumi.Input<string>[] | undefined>;
/**
* Number of zstd threads (0 uses half of available cores).
*/
zstd?: pulumi.Input<number | undefined>;
}
//# sourceMappingURL=job.d.ts.map