import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * A snapshot is a backup method. Each snapshot is a backup file of cloud disk data at a specific point in time. When data is lost or a failure occurs, you can roll back cloud disk data using the snapshot to recover lost data. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as volcenginecc from "@volcengine/pulumi-volcenginecc"; * * const storageEBSSnapshotDemo = new volcenginecc.storageebs.Snapshot("StorageEBSSnapshotDemo", { * volumeId: "vol-3wt6pip1dy3qu*****", * snapshotName: "StorageEBSSnapshotDemo", * description: "StorageEBSSnapshotDemo description", * projectName: "default", * tags: [{ * key: "env", * value: "test", * }], * }); * ``` * * ## Import * * ```sh * $ pulumi import volcenginecc:storageebs/snapshot:Snapshot example "snapshot_id" * ``` */ export declare class Snapshot extends pulumi.CustomResource { /** * Get an existing Snapshot 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?: SnapshotState, opts?: pulumi.CustomResourceOptions): Snapshot; /** * Returns true if the given object is an instance of Snapshot. 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 Snapshot; /** * Snapshot creation time. */ readonly creationTime: pulumi.Output; /** * Snapshot description. Default is empty. Length must be between 0 and 255 characters. */ readonly description: pulumi.Output; /** * Image ID */ readonly imageId: pulumi.Output; /** * Whether the snapshot has enabled ultra-fast availability. Value options: true: ultra-fast availability enabled. false: ultra-fast availability not enabled. */ readonly instantAccess: pulumi.Output; /** * Snapshot dump progress. */ readonly progress: pulumi.Output; /** * Name of the Project to which the snapshot will be added. Note: snapshots do not inherit the project of the cloud disk, so snapshots and cloud disks can belong to different projects. If you do not set ProjectName when creating the snapshot, it will be added to the default project. */ readonly projectName: pulumi.Output; /** * Snapshot retention period, in days. Value options: empty: retain snapshot permanently. 1~65536: specify retention days. Default is empty, which means retain snapshot permanently. Snapshot retention period is calculated from the snapshot creation time. */ readonly retentionDays: pulumi.Output; /** * Whether the snapshot is shared. */ readonly shared: pulumi.Output; /** * Snapshot consistency group ID. */ readonly snapshotGroupId: pulumi.Output; /** * Snapshot ID. */ readonly snapshotId: pulumi.Output; /** * Name of the created snapshot. Naming rules: length must be between 1 and 128 characters. Only Chinese characters, letters, numbers, underscores (_), hyphens (-), and periods (.) are allowed. To avoid conflicts with automatic snapshot names, the name cannot start with 'auto'. */ readonly snapshotName: pulumi.Output; /** * Snapshot type. The available values are: user: query manual snapshots. auto: query automatic snapshots. share: query shared snapshots. By default, all snapshots are queried. */ readonly snapshotType: pulumi.Output; /** * Snapshot status. Value options: available: available. creating: creating. rollbacking: rolling back. deleted: deleted. failed: error. */ readonly status: pulumi.Output; readonly tags: pulumi.Output; /** * Cloud disk ID associated with the snapshot. */ readonly volumeId: pulumi.Output; /** * Cloud disk category. Value options: system: system disk. data: data disk. */ readonly volumeKind: pulumi.Output; /** * Cloud disk name. */ readonly volumeName: pulumi.Output; /** * Cloud disk size, in GiB. */ readonly volumeSize: pulumi.Output; /** * Cloud disk status. Value options: available: available, attaching: attaching, attached: attached, detaching: detaching, creating: creating, deleting: deleting, error: error, extending: expanding, "": cloud disk deleted. */ readonly volumeStatus: pulumi.Output; /** * Cloud disk type. Value options: ESSD*PL0: Ultra-fast SSD cloud disk, PL0 specification. ESSD*FlexPL: Ultra-fast SSD cloud disk, FlexPL specification. TSSD_TL0: Throughput SSD cloud disk */ readonly volumeType: pulumi.Output; /** * Availability zone ID where the snapshot is located. */ readonly zoneId: pulumi.Output; /** * Create a Snapshot 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: SnapshotArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Snapshot resources. */ export interface SnapshotState { /** * Snapshot creation time. */ creationTime?: pulumi.Input; /** * Snapshot description. Default is empty. Length must be between 0 and 255 characters. */ description?: pulumi.Input; /** * Image ID */ imageId?: pulumi.Input; /** * Whether the snapshot has enabled ultra-fast availability. Value options: true: ultra-fast availability enabled. false: ultra-fast availability not enabled. */ instantAccess?: pulumi.Input; /** * Snapshot dump progress. */ progress?: pulumi.Input; /** * Name of the Project to which the snapshot will be added. Note: snapshots do not inherit the project of the cloud disk, so snapshots and cloud disks can belong to different projects. If you do not set ProjectName when creating the snapshot, it will be added to the default project. */ projectName?: pulumi.Input; /** * Snapshot retention period, in days. Value options: empty: retain snapshot permanently. 1~65536: specify retention days. Default is empty, which means retain snapshot permanently. Snapshot retention period is calculated from the snapshot creation time. */ retentionDays?: pulumi.Input; /** * Whether the snapshot is shared. */ shared?: pulumi.Input; /** * Snapshot consistency group ID. */ snapshotGroupId?: pulumi.Input; /** * Snapshot ID. */ snapshotId?: pulumi.Input; /** * Name of the created snapshot. Naming rules: length must be between 1 and 128 characters. Only Chinese characters, letters, numbers, underscores (_), hyphens (-), and periods (.) are allowed. To avoid conflicts with automatic snapshot names, the name cannot start with 'auto'. */ snapshotName?: pulumi.Input; /** * Snapshot type. The available values are: user: query manual snapshots. auto: query automatic snapshots. share: query shared snapshots. By default, all snapshots are queried. */ snapshotType?: pulumi.Input; /** * Snapshot status. Value options: available: available. creating: creating. rollbacking: rolling back. deleted: deleted. failed: error. */ status?: pulumi.Input; tags?: pulumi.Input[]>; /** * Cloud disk ID associated with the snapshot. */ volumeId?: pulumi.Input; /** * Cloud disk category. Value options: system: system disk. data: data disk. */ volumeKind?: pulumi.Input; /** * Cloud disk name. */ volumeName?: pulumi.Input; /** * Cloud disk size, in GiB. */ volumeSize?: pulumi.Input; /** * Cloud disk status. Value options: available: available, attaching: attaching, attached: attached, detaching: detaching, creating: creating, deleting: deleting, error: error, extending: expanding, "": cloud disk deleted. */ volumeStatus?: pulumi.Input; /** * Cloud disk type. Value options: ESSD*PL0: Ultra-fast SSD cloud disk, PL0 specification. ESSD*FlexPL: Ultra-fast SSD cloud disk, FlexPL specification. TSSD_TL0: Throughput SSD cloud disk */ volumeType?: pulumi.Input; /** * Availability zone ID where the snapshot is located. */ zoneId?: pulumi.Input; } /** * The set of arguments for constructing a Snapshot resource. */ export interface SnapshotArgs { /** * Snapshot description. Default is empty. Length must be between 0 and 255 characters. */ description?: pulumi.Input; /** * Name of the Project to which the snapshot will be added. Note: snapshots do not inherit the project of the cloud disk, so snapshots and cloud disks can belong to different projects. If you do not set ProjectName when creating the snapshot, it will be added to the default project. */ projectName?: pulumi.Input; /** * Snapshot retention period, in days. Value options: empty: retain snapshot permanently. 1~65536: specify retention days. Default is empty, which means retain snapshot permanently. Snapshot retention period is calculated from the snapshot creation time. */ retentionDays?: pulumi.Input; /** * Name of the created snapshot. Naming rules: length must be between 1 and 128 characters. Only Chinese characters, letters, numbers, underscores (_), hyphens (-), and periods (.) are allowed. To avoid conflicts with automatic snapshot names, the name cannot start with 'auto'. */ snapshotName: pulumi.Input; tags?: pulumi.Input[]>; /** * Cloud disk ID associated with the snapshot. */ volumeId: pulumi.Input; }