--- layout: "docs" page_title: "Vagrant Disks Configuration" sidebar_current: "disks-configuration" description: |- Documentation of various configuration options for Vagrant Disks --- # Configuration Vagrant Disks has several options that allow users to define and attach disks to guests. ## Disk Options * `disk_ext` (string) - Optional argument that defines what kind of file extension a disk should have. Defaults to `"vdi"` if unspecified. For a list of supported disk extensions, please check the specific provider being used. * `file` (string) - Optional argument that defines a path on disk pointing to the location of a disk file that already exists. * `name` (string) - Required option to give the disk a name. This name will be used as the filename when creating the disk. * `primary` (boolean) - Optional argument that configures a given disk to be the "primary" disk to manage on the guest. There can only be one `primary` disk per guest. Defaults to `false` if not specified. * `provider_config` (hash) - Additional provider specific options for managing a given disk. Please refer to the provider specific documentation to see any available provider_config options. Generally, the disk option accepts two kinds of ways to define a provider config: + `providername__diskoption: value` - The provider name followed by a double underscore, and then the provider specific option for that disk + `{providername: {diskoption: value}, otherprovidername: {diskoption: value}` - A hash where the top level key(s) are one or more providers, and each provider keys values are a hash of options and their values. * `size` (String) - The size of the disk to create. For example, `"10GB"`. **Note:** More specific examples of these can be found under the provider specific disk page. The `provider_config` option will depend on the provider you are using. Please read the provider specific documentation for disk management to learn about what options are available to use. ## Disk Types The disk config currently accepts three kinds of disk types: * `disk` (symbol) * `dvd` (symbol) * `floppy` (symbol) **NOTE:** These types depend on the provider used, and may not yet be functional. Please refer to the provider specific implementation for more details for what is supported. You can set a disk type with the first argument of a disk config in your Vagrantfile: ```ruby config.vm.disk :disk, name: "backup", size: "10GB" config.vm.disk :floppy, name: "cool_files" ``` ## Provider Author Guide If you are a vagrant plugin author who maintains a provider for Vagrant, this short guide will hopefully give some information on how to use the internal disk config object.