Based on bpg's provider
This module deploys an LXC container on ProxmoxVE host, with optional firewall configuration and LXC template download from URL.
Most variables either have defaults or inherit defaults from provider configuration. For a quick deployment only ct_node
and ct_os
are required.
Name | Version |
---|---|
terraform | >= 1.4 |
proxmox | >= 0.66 |
random | ~> 3 |
time | ~> 0 |
Name | Version |
---|---|
proxmox | >= 0.66 |
random | ~> 3 |
terraform | n/a |
time | ~> 0 |
No modules.
Name | Type |
---|---|
proxmox_virtual_environment_container.ct | resource |
proxmox_virtual_environment_download_file.ct_template | resource |
proxmox_virtual_environment_firewall_options.ct_fw_opts | resource |
proxmox_virtual_environment_firewall_rules.ct_fw_rules | resource |
random_password.ct_root_pw | resource |
terraform_data.bootstrap_ct | resource |
time_sleep.wait_for_ct | resource |
Name | Description | Type | Default | Required |
---|---|---|---|---|
clone_target | The target container to clone. | map(object({ |
{} |
no |
ct_bootstrap_script | Path to script file ro run on container creation. | string |
null |
no |
ct_console | Console settings for the container. | object({ |
{ |
no |
ct_cpu | Container CPU configuration. | object({ |
{} |
no |
ct_disk | Container storage. | object({ |
{} |
no |
ct_dns | DNS settings for the container. Map should contain maximum 1 object. Defined as map because empty dns block triggers a provider error. | object({ |
null |
no |
ct_features | Features to enable for the container. | object({ |
{ |
no |
ct_fw | Firewall settings for the container. | object({ |
{} |
no |
ct_fw_fsg | Firewall rules that import from a security group. | map(object({ |
{} |
no |
ct_fw_rules | Firewall rules for the container. | map(object({ |
{} |
no |
ct_id | The ID of the container. | number |
null |
no |
ct_init | Initialization settings for the container. | object({ |
{} |
no |
ct_mem | Container memory configuration. | object({ |
{} |
no |
ct_net_ifaces | Container network interfaces. | map(object({ |
{} |
no |
ct_node | The node on which to create the container. | string |
n/a | yes |
ct_os | The template to use for the container. | string |
null |
no |
ct_os_type | The type of the OS template. Unmanaged means PVE won't manage the container (e.g. static IPs don't get auto assigned) | string |
"unmanaged" |
no |
ct_os_upload | Settings for uploading the OS template. | object({ |
{} |
no |
ct_pool | The pool in which to create the container. | string |
null |
no |
ct_protection | Whether protection is enabled on the container. | bool |
false |
no |
ct_ssh_privkey | File containing ssh private key to be used for container bootstrap. | string |
null |
no |
ct_start | The start settings for the container. | object({ |
{ |
no |
ct_tags | The tags to apply to the container. | list(string) |
[] |
no |
ct_template | Whether the container is a template. | bool |
false |
no |
ct_unprivileged | Whether the container should be unprivileged. | bool |
true |
no |
No outputs.