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, 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; /** * I/O bandwidth limit in KiB/s. */ readonly bwlimit: pulumi.Output; /** * The compression algorithm (0, 1, gzip, lzo, or zstd). */ readonly compress: pulumi.Output; /** * Whether the backup job is enabled. */ readonly enabled: pulumi.Output; /** * A list of paths to exclude from the backup. */ readonly excludePaths: pulumi.Output; /** * Fleecing configuration for the backup job. */ readonly fleecing: pulumi.Output; /** * I/O priority (0-8). */ readonly ionice: pulumi.Output; /** * Maximum wait time in minutes for the global lock. */ readonly lockwait: pulumi.Output; /** * Email notification setting (always or failure). */ readonly mailnotification: pulumi.Output; /** * A list of email addresses to send notifications to. */ readonly mailtos: pulumi.Output; /** * Deprecated: use pruneBackups instead. Maximum number of backup files per guest. */ readonly maxfiles: pulumi.Output; /** * The backup mode (snapshot, suspend, or stop). */ readonly mode: pulumi.Output; /** * The cluster node name to limit the backup job to. */ readonly node: pulumi.Output; /** * Template for notes attached to the backup. */ readonly notesTemplate: pulumi.Output; /** * PBS change detection mode (legacy, data, or metadata). */ readonly pbsChangeDetectionMode: pulumi.Output; /** * Performance-related settings for the backup job. */ readonly performance: pulumi.Output; /** * Number of pigz threads (0 disables, 1 uses single-threaded gzip). */ readonly pigz: pulumi.Output; /** * Limit backup to guests in the specified pool. */ readonly pool: pulumi.Output; /** * Whether the backup should be marked as protected. */ readonly protected: pulumi.Output; /** * 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; /** * Whether to repeat missed backup jobs as soon as possible. */ readonly repeatMissed: pulumi.Output; /** * The identifier of the backup job. */ readonly resourceId: pulumi.Output; /** * Backup schedule in systemd calendar event format. */ readonly schedule: pulumi.Output; /** * Path to a script to execute before/after the backup job. */ readonly script: pulumi.Output; /** * The scheduled start time (HH:MM). */ readonly starttime: pulumi.Output; /** * Whether to exclude common temporary files from the backup. */ readonly stdexcludes: pulumi.Output; /** * Maximum wait time in minutes for a guest to stop. */ readonly stopwait: pulumi.Output; /** * The storage identifier for the backup. */ readonly storage: pulumi.Output; /** * Path to the temporary directory for the backup job. */ readonly tmpdir: pulumi.Output; /** * A list of guest VM/CT IDs to include in the backup job. */ readonly vmids: pulumi.Output; /** * Number of zstd threads (0 uses half of available cores). */ readonly zstd: pulumi.Output; /** * 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; /** * I/O bandwidth limit in KiB/s. */ bwlimit?: pulumi.Input; /** * The compression algorithm (0, 1, gzip, lzo, or zstd). */ compress?: pulumi.Input; /** * Whether the backup job is enabled. */ enabled?: pulumi.Input; /** * A list of paths to exclude from the backup. */ excludePaths?: pulumi.Input[] | undefined>; /** * Fleecing configuration for the backup job. */ fleecing?: pulumi.Input; /** * I/O priority (0-8). */ ionice?: pulumi.Input; /** * Maximum wait time in minutes for the global lock. */ lockwait?: pulumi.Input; /** * Email notification setting (always or failure). */ mailnotification?: pulumi.Input; /** * A list of email addresses to send notifications to. */ mailtos?: pulumi.Input[] | undefined>; /** * Deprecated: use pruneBackups instead. Maximum number of backup files per guest. */ maxfiles?: pulumi.Input; /** * The backup mode (snapshot, suspend, or stop). */ mode?: pulumi.Input; /** * The cluster node name to limit the backup job to. */ node?: pulumi.Input; /** * Template for notes attached to the backup. */ notesTemplate?: pulumi.Input; /** * PBS change detection mode (legacy, data, or metadata). */ pbsChangeDetectionMode?: pulumi.Input; /** * Performance-related settings for the backup job. */ performance?: pulumi.Input; /** * Number of pigz threads (0 disables, 1 uses single-threaded gzip). */ pigz?: pulumi.Input; /** * Limit backup to guests in the specified pool. */ pool?: pulumi.Input; /** * Whether the backup should be marked as protected. */ protected?: pulumi.Input; /** * Retention options as a map of keep policies (e.g. keep-last = "3", keep-weekly = "2"). */ pruneBackups?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Whether to remove old backups if there are more than maxfiles. */ remove?: pulumi.Input; /** * Whether to repeat missed backup jobs as soon as possible. */ repeatMissed?: pulumi.Input; /** * The identifier of the backup job. */ resourceId?: pulumi.Input; /** * Backup schedule in systemd calendar event format. */ schedule?: pulumi.Input; /** * Path to a script to execute before/after the backup job. */ script?: pulumi.Input; /** * The scheduled start time (HH:MM). */ starttime?: pulumi.Input; /** * Whether to exclude common temporary files from the backup. */ stdexcludes?: pulumi.Input; /** * Maximum wait time in minutes for a guest to stop. */ stopwait?: pulumi.Input; /** * The storage identifier for the backup. */ storage?: pulumi.Input; /** * Path to the temporary directory for the backup job. */ tmpdir?: pulumi.Input; /** * A list of guest VM/CT IDs to include in the backup job. */ vmids?: pulumi.Input[] | undefined>; /** * Number of zstd threads (0 uses half of available cores). */ zstd?: pulumi.Input; } /** * 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; /** * I/O bandwidth limit in KiB/s. */ bwlimit?: pulumi.Input; /** * The compression algorithm (0, 1, gzip, lzo, or zstd). */ compress?: pulumi.Input; /** * Whether the backup job is enabled. */ enabled?: pulumi.Input; /** * A list of paths to exclude from the backup. */ excludePaths?: pulumi.Input[] | undefined>; /** * Fleecing configuration for the backup job. */ fleecing?: pulumi.Input; /** * I/O priority (0-8). */ ionice?: pulumi.Input; /** * Maximum wait time in minutes for the global lock. */ lockwait?: pulumi.Input; /** * Email notification setting (always or failure). */ mailnotification?: pulumi.Input; /** * A list of email addresses to send notifications to. */ mailtos?: pulumi.Input[] | undefined>; /** * Deprecated: use pruneBackups instead. Maximum number of backup files per guest. */ maxfiles?: pulumi.Input; /** * The backup mode (snapshot, suspend, or stop). */ mode?: pulumi.Input; /** * The cluster node name to limit the backup job to. */ node?: pulumi.Input; /** * Template for notes attached to the backup. */ notesTemplate?: pulumi.Input; /** * PBS change detection mode (legacy, data, or metadata). */ pbsChangeDetectionMode?: pulumi.Input; /** * Performance-related settings for the backup job. */ performance?: pulumi.Input; /** * Number of pigz threads (0 disables, 1 uses single-threaded gzip). */ pigz?: pulumi.Input; /** * Limit backup to guests in the specified pool. */ pool?: pulumi.Input; /** * Whether the backup should be marked as protected. */ protected?: pulumi.Input; /** * Retention options as a map of keep policies (e.g. keep-last = "3", keep-weekly = "2"). */ pruneBackups?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Whether to remove old backups if there are more than maxfiles. */ remove?: pulumi.Input; /** * Whether to repeat missed backup jobs as soon as possible. */ repeatMissed?: pulumi.Input; /** * The identifier of the backup job. */ resourceId: pulumi.Input; /** * Backup schedule in systemd calendar event format. */ schedule: pulumi.Input; /** * Path to a script to execute before/after the backup job. */ script?: pulumi.Input; /** * The scheduled start time (HH:MM). */ starttime?: pulumi.Input; /** * Whether to exclude common temporary files from the backup. */ stdexcludes?: pulumi.Input; /** * Maximum wait time in minutes for a guest to stop. */ stopwait?: pulumi.Input; /** * The storage identifier for the backup. */ storage: pulumi.Input; /** * Path to the temporary directory for the backup job. */ tmpdir?: pulumi.Input; /** * A list of guest VM/CT IDs to include in the backup job. */ vmids?: pulumi.Input[] | undefined>; /** * Number of zstd threads (0 uses half of available cores). */ zstd?: pulumi.Input; } //# sourceMappingURL=job.d.ts.map