Files
Tamas Kiss 507c4f2085
Some checks failed
continuous-integration/drone/push Build is failing
docs updated
2025-02-19 01:27:49 +01:00

234 lines
5.3 KiB
Markdown

## Requirements
The following requirements are needed by this module:
- <a name="requirement_libvirt"></a> [libvirt](#requirement\_libvirt) (>= 0.6.14)
- <a name="requirement_macaddress"></a> [macaddress](#requirement\_macaddress) (~> 0.3.0)
## Providers
The following providers are used by this module:
- <a name="provider_libvirt"></a> [libvirt](#provider\_libvirt) (0.7.0)
- <a name="provider_macaddress"></a> [macaddress](#provider\_macaddress) (0.3.2)
## Modules
The following Modules are called:
### <a name="module_ipam"></a> [ipam](#module\_ipam)
Source: git@git.thomasklein.me:thomasklein/terraform-modules//lawndale-vm-ipam
Version:
## Resources
The following resources are used by this module:
- [libvirt_cloudinit_disk.this](https://registry.terraform.io/providers/dmacvicar/libvirt/latest/docs/resources/cloudinit_disk) (resource)
- [libvirt_domain.this](https://registry.terraform.io/providers/dmacvicar/libvirt/latest/docs/resources/domain) (resource)
- [libvirt_pool.this](https://registry.terraform.io/providers/dmacvicar/libvirt/latest/docs/resources/pool) (resource)
- [libvirt_volume.this](https://registry.terraform.io/providers/dmacvicar/libvirt/latest/docs/resources/volume) (resource)
- [macaddress_macaddress.this](https://registry.terraform.io/providers/ivoronin/macaddress/latest/docs/resources/macaddress) (resource)
## Required Inputs
The following input variables are required:
### <a name="input_base_image_pool"></a> [base\_image\_pool](#input\_base\_image\_pool)
Description: Base image storage pool
Type: `string`
### <a name="input_base_image_volume"></a> [base\_image\_volume](#input\_base\_image\_volume)
Description: Base image storage pool
Type: `string`
### <a name="input_description"></a> [description](#input\_description)
Description: (Short) Description for the virtual machine
Type: `string`
### <a name="input_id"></a> [id](#input\_id)
Description: The lawndale id of the virtual machine
Type: `number`
### <a name="input_interface"></a> [interface](#input\_interface)
Description: Network interface to attach the vm on
Type: `string`
### <a name="input_memory_mb"></a> [memory\_mb](#input\_memory\_mb)
Description: VM memory allocation in megabytes
Type: `number`
### <a name="input_name"></a> [name](#input\_name)
Description: The name of the virtual machine (must be a [-\_a-z0-9])
Type: `string`
### <a name="input_root_storage_volume_size_gb"></a> [root\_storage\_volume\_size\_gb](#input\_root\_storage\_volume\_size\_gb)
Description: The size of the storage volume (in gigabytes)
Type: `number`
### <a name="input_user_data"></a> [user\_data](#input\_user\_data)
Description: Cloud-init userdata script to run
Type: `string`
## Optional Inputs
The following input variables are optional (have default values):
### <a name="input_autostart"></a> [autostart](#input\_autostart)
Description: Start the VM at host start?
Type: `bool`
Default: `true`
### <a name="input_create_root_storage_pool"></a> [create\_root\_storage\_pool](#input\_create\_root\_storage\_pool)
Description: Create the storage pool as part of the module
Type: `bool`
Default: `true`
### <a name="input_extra_interfaces"></a> [extra\_interfaces](#input\_extra\_interfaces)
Description: Extra network interfaces to attach to the VM
Type:
```hcl
list(object({
bridge = string
mac = string
}))
```
Default: `[]`
### <a name="input_filesystems"></a> [filesystems](#input\_filesystems)
Description: 9p shared filesystem devices
Type:
```hcl
list(object({
source = string
target = string
accessmode = string
readonly = bool
}))
```
Default: `[]`
### <a name="input_machine"></a> [machine](#input\_machine)
Description: The machine type - can be i440fx (default) or q35. PCIe support requires Q35 (or better)
Type: `string`
Default: `null`
### <a name="input_meta_data"></a> [meta\_data](#input\_meta\_data)
Description: Cloud-init meta-data
Type: `string`
Default: `null`
### <a name="input_network_config"></a> [network\_config](#input\_network\_config)
Description: Cloud-init network config
Type: `string`
Default: `null`
### <a name="input_root_storage_pool"></a> [root\_storage\_pool](#input\_root\_storage\_pool)
Description: The name of the storage pool. It will default to the VM name
Type: `string`
Default: `""`
### <a name="input_root_storage_volume_name"></a> [root\_storage\_volume\_name](#input\_root\_storage\_volume\_name)
Description: the name of the storage volume (must be unique in the pool)
Type: `string`
Default: `""`
### <a name="input_uefi"></a> [uefi](#input\_uefi)
Description: Whether or not to create an UEFI domain
Type: `bool`
Default: `false`
### <a name="input_vcpu"></a> [vcpu](#input\_vcpu)
Description: CPU count
Type: `number`
Default: `1`
### <a name="input_xslt"></a> [xslt](#input\_xslt)
Description: XSLT applied to the domain before sent to libvirt
Type: `string`
Default: `null`
## Outputs
The following outputs are exported:
### <a name="output__disk"></a> [\_disk](#output\_\_disk)
Description: n/a
### <a name="output__domain"></a> [\_domain](#output\_\_domain)
Description: n/a
### <a name="output__pool"></a> [\_pool](#output\_\_pool)
Description: n/a
### <a name="output_ipam"></a> [ipam](#output\_ipam)
Description: n/a
### <a name="output_macaddress"></a> [macaddress](#output\_macaddress)
Description: n/a