@pulumi/vsphere
Version:
A Pulumi package for creating vsphere resources
179 lines (178 loc) • 7.24 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
/**
* The `vsphere.VirtualMachineSnapshot` resource can be used to manage snapshots
* for a virtual machine.
*
* For more information on managing snapshots and how they work in VMware, see
* [here][ext-vm-snapshot-management].
*
* [ext-vm-snapshot-management]: https://techdocs.broadcom.com/us/en/vmware-cis/vsphere/vsphere/8-0/vsphere-single-host-management-vmware-host-client-8-0/virtual-machine-management-with-the-vsphere-host-client-vSphereSingleHostManagementVMwareHostClient/managing-virtual-machines-in-the-vsphere-host-client-vSphereSingleHostManagementVMwareHostClient/using-snapshots-to-manage-virtual-machines-vSphereSingleHostManagementVMwareHostClient.html
*
* > **NOTE:** A snapshot in VMware differs from traditional disk snapshots, and
* can contain the actual running state of the virtual machine, data for all disks
* that have not been set to be independent from the snapshot (including ones that
* have been attached via the `attach`
* parameter to the `vsphere.VirtualMachine` `disk` block), and even the
* configuration of the virtual machine at the time of the snapshot. Virtual
* machine, disk activity, and configuration changes post-snapshot are not
* included in the original state. Use this resource with care! Neither VMware nor
* HashiCorp recommends retaining snapshots for a extended period of time and does
* NOT recommend using them as as backup feature. For more information on the
* limitation of virtual machine snapshots, see [here][ext-vm-snap-limitations].
*
* [ext-vm-snap-limitations]: https://techdocs.broadcom.com/us/en/vmware-cis/vsphere/vsphere/8-0/vsphere-virtual-machine-administration-guide-8-0/managing-virtual-machinesvsphere-vm-admin/using-snapshots-to-manage-virtual-machinesvsphere-vm-admin/snapshot-file-names-and-descriptionvsphere-vm-admin.html
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as vsphere from "@pulumi/vsphere";
*
* const demo1 = new vsphere.VirtualMachineSnapshot("demo1", {
* virtualMachineUuid: "9aac5551-a351-4158-8c5c-15a71e8ec5c9",
* snapshotName: "Snapshot Name",
* description: "This is Demo Snapshot",
* memory: true,
* quiesce: true,
* removeChildren: false,
* consolidate: true,
* });
* ```
*/
export declare class VirtualMachineSnapshot extends pulumi.CustomResource {
/**
* Get an existing VirtualMachineSnapshot 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?: VirtualMachineSnapshotState, opts?: pulumi.CustomResourceOptions): VirtualMachineSnapshot;
/**
* Returns true if the given object is an instance of VirtualMachineSnapshot. 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 VirtualMachineSnapshot;
/**
* If set to `true`, the delta disks involved in this
* snapshot will be consolidated into the parent when this resource is
* destroyed.
*/
readonly consolidate: pulumi.Output<boolean | undefined>;
/**
* A description for the snapshot.
*/
readonly description: pulumi.Output<string>;
/**
* If set to `true`, a dump of the internal state of the
* virtual machine is included in the snapshot.
*/
readonly memory: pulumi.Output<boolean>;
/**
* If set to `true`, and the virtual machine is powered
* on when the snapshot is taken, VMware Tools is used to quiesce the file
* system in the virtual machine.
*/
readonly quiesce: pulumi.Output<boolean>;
/**
* If set to `true`, the entire snapshot subtree
* is removed when this resource is destroyed.
*/
readonly removeChildren: pulumi.Output<boolean | undefined>;
/**
* The name of the snapshot.
*/
readonly snapshotName: pulumi.Output<string>;
/**
* The virtual machine UUID.
*/
readonly virtualMachineUuid: pulumi.Output<string>;
/**
* Create a VirtualMachineSnapshot 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: VirtualMachineSnapshotArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering VirtualMachineSnapshot resources.
*/
export interface VirtualMachineSnapshotState {
/**
* If set to `true`, the delta disks involved in this
* snapshot will be consolidated into the parent when this resource is
* destroyed.
*/
consolidate?: pulumi.Input<boolean>;
/**
* A description for the snapshot.
*/
description?: pulumi.Input<string>;
/**
* If set to `true`, a dump of the internal state of the
* virtual machine is included in the snapshot.
*/
memory?: pulumi.Input<boolean>;
/**
* If set to `true`, and the virtual machine is powered
* on when the snapshot is taken, VMware Tools is used to quiesce the file
* system in the virtual machine.
*/
quiesce?: pulumi.Input<boolean>;
/**
* If set to `true`, the entire snapshot subtree
* is removed when this resource is destroyed.
*/
removeChildren?: pulumi.Input<boolean>;
/**
* The name of the snapshot.
*/
snapshotName?: pulumi.Input<string>;
/**
* The virtual machine UUID.
*/
virtualMachineUuid?: pulumi.Input<string>;
}
/**
* The set of arguments for constructing a VirtualMachineSnapshot resource.
*/
export interface VirtualMachineSnapshotArgs {
/**
* If set to `true`, the delta disks involved in this
* snapshot will be consolidated into the parent when this resource is
* destroyed.
*/
consolidate?: pulumi.Input<boolean>;
/**
* A description for the snapshot.
*/
description: pulumi.Input<string>;
/**
* If set to `true`, a dump of the internal state of the
* virtual machine is included in the snapshot.
*/
memory: pulumi.Input<boolean>;
/**
* If set to `true`, and the virtual machine is powered
* on when the snapshot is taken, VMware Tools is used to quiesce the file
* system in the virtual machine.
*/
quiesce: pulumi.Input<boolean>;
/**
* If set to `true`, the entire snapshot subtree
* is removed when this resource is destroyed.
*/
removeChildren?: pulumi.Input<boolean>;
/**
* The name of the snapshot.
*/
snapshotName: pulumi.Input<string>;
/**
* The virtual machine UUID.
*/
virtualMachineUuid: pulumi.Input<string>;
}