» linode_volume
Provides a Linode Volume resource. This can be used to create, modify, and delete Linodes Block Storage Volumes. Block Storage Volumes are removable storage disks that persist outside the life-cycle of Linode Instances. These volumes can be attached to and detached from Linode instances throughout a region.
For more information, see How to Use Block Storage with Your Linode and the Linode APIv4 docs.
» Example Usage
The following example shows how one might use this resource to configure a Block Storage Volume attached to a Linode Instance.
resource "linode_instance" "foobaz" {
root_pass = "3X4mp13"
type = "g6-nanode-1"
region = "us-west"
tags = ["foobaz"]
}
resource "linode_volume" "foobar" {
label = "foo-volume"
region = "${linode_instance.foobaz.region}"
linode_id = "${linode_instance.foobaz.id}"
}
Volumes can also be attached using the Linode Instance config device map.
resource "linode_instance" "foo" {
region = "us-east"
type = "g6-nanode-1"
config {
label = "boot-existing-volume"
kernel = "linode/latest-64bit"
devices {
sda = { volume_id = "123" }
}
}
}
» Argument Reference
The following arguments are supported:
-
label
- (Required) The label of the Linode Volume -
region
- (Required) The region where this volume will be deployed. Examples are"us-east"
,"us-west"
,"ap-south"
, etc. Changingregion
forces the creation of a new Linode Volume..
-
size
- (Optional) Size of the Volume in GB. -
linode_id
- (Optional) The ID of a Linode Instance where the the Volume should be attached. -
tags
- (Optional) A list of tags applied to this object. Tags are for organizational purposes only.
» Timeouts
The timeouts
block allows you to specify timeouts for certain actions:
-
create
- (Defaults to 10 mins) Used when creating the volume (until the volume is reaches the initialactive
state) -
update
- (Defaults to 20 mins) Used when updating the volume when necessary during update - e.g. when resizing the volume -
delete
- (Defaults to 10 mins) Used when deleting the volume
» Attributes
This resource exports the following attributes:
-
status
- The label of the Linode Volume. -
filesystem_path
- The full filesystem path for the Volume based on the Volume's label. The path is "/dev/disk/by-id/scsi-0Linode_Volume_" + the Volume label
» Import
Linodes Volumes can be imported using the Linode Volume id
, e.g.
terraform import linode_volume.myvolume 1234567
The Linode Guide, Import Existing Infrastructure to Terraform, offers resource importing examples for Block Storage Volumes and other Linode resource types.