import * as pulumi from "@pulumi/pulumi"; /** * Provides a Vultr Snapshot resource. This can be used to create, read, modify, and delete Snapshot. * * ## Example Usage * * Create a new Snapshot * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as vultr from "@ediri/vultr"; * * const myInstance = new vultr.Instance("myInstance", { * label: "my_instance", * osId: 167, * plan: "201", * region: "ewr", * }); * const mySnapshot = new vultr.Snapshot("mySnapshot", { * description: "my instances snapshot", * instanceId: myInstance.id, * }); * ``` * * ## Import * * Snapshots can be imported using the Snapshot `ID`, e.g. * * ```sh * $ pulumi import vultr:index/snapshot:Snapshot my_snapshot 283941e8-0783-410e-9540-71c86b833992 * ``` */ 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; /** * The app id which the snapshot is associated with. */ readonly appId: pulumi.Output; /** * The date the snapshot was created. */ readonly dateCreated: pulumi.Output; /** * The description for the given snapshot. * * Snapshots often exceed the default timeout built in to all create requests in * the provider. In order to customize that, you may specify a custome value in a * `timeouts` block of the resource definition */ readonly description: pulumi.Output; /** * ID of a given instance that you want to create a snapshot from. */ readonly instanceId: pulumi.Output; /** * The os id which the snapshot is associated with. */ readonly osId: pulumi.Output; /** * The size of the snapshot in Bytes. */ readonly size: pulumi.Output; /** * The status for the given snapshot. */ readonly status: 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 { /** * The app id which the snapshot is associated with. */ appId?: pulumi.Input; /** * The date the snapshot was created. */ dateCreated?: pulumi.Input; /** * The description for the given snapshot. * * Snapshots often exceed the default timeout built in to all create requests in * the provider. In order to customize that, you may specify a custome value in a * `timeouts` block of the resource definition */ description?: pulumi.Input; /** * ID of a given instance that you want to create a snapshot from. */ instanceId?: pulumi.Input; /** * The os id which the snapshot is associated with. */ osId?: pulumi.Input; /** * The size of the snapshot in Bytes. */ size?: pulumi.Input; /** * The status for the given snapshot. */ status?: pulumi.Input; } /** * The set of arguments for constructing a Snapshot resource. */ export interface SnapshotArgs { /** * The description for the given snapshot. * * Snapshots often exceed the default timeout built in to all create requests in * the provider. In order to customize that, you may specify a custome value in a * `timeouts` block of the resource definition */ description?: pulumi.Input; /** * ID of a given instance that you want to create a snapshot from. */ instanceId: pulumi.Input; }