mirror of
https://github.com/bpg/terraform-provider-proxmox.git
synced 2025-06-30 18:42:58 +00:00
Update docs (#57)
* more docs update * add some badges * cleanup .MDs * update .lock * add cloud-config to the example doc
This commit is contained in:
parent
2311f1e7a2
commit
86719256dc
@ -1,5 +1,8 @@
|
||||
[](https://goreportcard.com/report/github.com/bpg/terraform-provider-proxmox)
|
||||
[](http://godoc.org/github.com/bpg/terraform-provider-proxmox)
|
||||

|
||||

|
||||
[](https://github.com/bpg/terraform-provider-proxmox/stargazers)
|
||||
|
||||
# Terraform Provider for Proxmox
|
||||
A Terraform Provider which adds support for Proxmox solutions.
|
||||
|
@ -1,7 +1,7 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
activesupport (6.0.4.6)
|
||||
activesupport (6.0.4.7)
|
||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||
i18n (>= 0.7, < 2)
|
||||
minitest (~> 5.1)
|
||||
@ -283,7 +283,6 @@ GEM
|
||||
unf (0.1.4)
|
||||
unf_ext
|
||||
unf_ext (0.0.8)
|
||||
unf_ext (0.0.8-x64-mingw32)
|
||||
unicode-display_width (1.8.0)
|
||||
webrick (1.7.0)
|
||||
zeitwerk (2.5.4)
|
||||
@ -304,4 +303,4 @@ DEPENDENCIES
|
||||
webrick (~> 1.7)
|
||||
|
||||
BUNDLED WITH
|
||||
2.2.11
|
||||
2.3.14
|
||||
|
@ -11,6 +11,6 @@ plugins:
|
||||
remote_theme: pmarsceill/just-the-docs
|
||||
|
||||
# Theme settings.
|
||||
footer_content: 'Copyright © 2019-2021 <a href="https://danitso.com/" target="_blank">Danitso</a> - Distributed under the <a href="https://github.com/danitso/terraform-provider-proxmox/blob/master/LICENSE" target="_blank">Mozilla Public License 2.0</a><br>Copyright © 2021 <a href="https://github.com/bpg/" target="_blank">Pavel Boldyrev</a> - Distributed under the <a href="https://github.com/bpg/terraform-provider-proxmox/blob/main/LICENSE" target="_blank">Mozilla Public License 2.0</a>'
|
||||
footer_content: 'Copyright © 2019-2021 <a href="https://danitso.com/" target="_blank">Danitso</a> - Distributed under the <a href="https://github.com/danitso/terraform-provider-proxmox/blob/master/LICENSE" target="_blank">Mozilla Public License 2.0</a><br>Copyright © 2021-2022 <a href="https://github.com/bpg/" target="_blank">Pavel Boldyrev</a> - Distributed under the <a href="https://github.com/bpg/terraform-provider-proxmox/blob/main/LICENSE" target="_blank">Mozilla Public License 2.0</a>'
|
||||
heading_anchors: true
|
||||
search_enabled: false
|
||||
|
@ -13,7 +13,7 @@ Retrieves information about a specific alias.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
```terraform
|
||||
data "proxmox_virtual_environment_cluster_alias" "local_network" {
|
||||
name = "local_network"
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ Retrieves the identifiers for all the available aliases.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
```terraform
|
||||
data "proxmox_virtual_environment_cluster_aliases" "available_aliases" {}
|
||||
```
|
||||
|
||||
|
@ -13,7 +13,7 @@ Retrieves information about all the datastores available to a specific node.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
```terraform
|
||||
data "proxmox_virtual_environment_datastores" "first_node" {
|
||||
node_name = "first-node"
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ Retrieves the DNS configuration for a specific node.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
```terraform
|
||||
data "proxmox_virtual_environment_dns" "first_node" {
|
||||
node_name = "first-node"
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ Retrieves information about a specific user group.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
```terraform
|
||||
data "proxmox_virtual_environment_group" "operations_team" {
|
||||
group_id = "operations-team"
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ Retrieves basic information about all available user groups.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
```terraform
|
||||
data "proxmox_virtual_environment_groups" "available_groups" {}
|
||||
```
|
||||
|
||||
|
@ -13,7 +13,7 @@ Retrieves all the host entries from a specific node.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
```terraform
|
||||
data "proxmox_virtual_environment_hosts" "first_node_host_entries" {
|
||||
node_name = "first-node"
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ Retrieves information about all available nodes.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
```terraform
|
||||
data "proxmox_virtual_environment_nodes" "available_nodes" {}
|
||||
```
|
||||
|
||||
|
@ -13,7 +13,7 @@ Retrieves information about a specific resource pool.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
```terraform
|
||||
data "proxmox_virtual_environment_pool" "operations_pool" {
|
||||
pool_id = "operations"
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ Retrieves the identifiers for all the available resource pools.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
```terraform
|
||||
data "proxmox_virtual_environment_pools" "available_pools" {}
|
||||
```
|
||||
|
||||
|
@ -13,7 +13,7 @@ Retrieves information about a specific role.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
```terraform
|
||||
data "proxmox_virtual_environment_role" "operations_role" {
|
||||
role_id = "operations"
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ Retrieves information about all the available roles.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
```terraform
|
||||
data "proxmox_virtual_environment_roles" "available_roles" {}
|
||||
```
|
||||
|
||||
|
@ -13,7 +13,7 @@ Retrieves the current time for a specific node.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
```terraform
|
||||
data "proxmox_virtual_environment_time" "first_node_time" {
|
||||
node_name = "first-node"
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ Retrieves information about a specific user.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
```terraform
|
||||
data "proxmox_virtual_environment_user" "operations_user" {
|
||||
user_id = "operation@pam"
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ Retrieves information about all the available users.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
```terraform
|
||||
data "proxmox_virtual_environment_users" "available_users" {}
|
||||
```
|
||||
|
||||
|
@ -13,7 +13,7 @@ Retrieves the version information from the API endpoint.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
```terraform
|
||||
data "proxmox_virtual_environment_version" "current_version" {}
|
||||
```
|
||||
|
||||
|
@ -12,7 +12,7 @@ Use the navigation to the left to read about the available resources.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
```terraform
|
||||
provider "proxmox" {
|
||||
virtual_environment {
|
||||
endpoint = "https://10.0.0.2"
|
||||
@ -36,7 +36,7 @@ The Proxmox provider offers a flexible means of providing credentials for authen
|
||||
|
||||
Static credentials can be provided by adding a `username` and `password` in-line in the Proxmox provider block:
|
||||
|
||||
```
|
||||
```terraform
|
||||
provider "proxmox" {
|
||||
virtual_environment {
|
||||
username = "username@realm"
|
||||
|
@ -13,11 +13,11 @@ Manages the custom SSL/TLS certificate for a specific node.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
```terraform
|
||||
resource "proxmox_virtual_environment_certificate" "example" {
|
||||
certificate = "${tls_self_signed_cert.proxmox_virtual_environment_certificate.cert_pem}"
|
||||
certificate = tls_self_signed_cert.proxmox_virtual_environment_certificate.cert_pem
|
||||
node_name = "first-node"
|
||||
private_key = "${tls_private_key.proxmox_virtual_environment_certificate.private_key_pem}"
|
||||
private_key = tls_private_key.proxmox_virtual_environment_certificate.private_key_pem
|
||||
}
|
||||
|
||||
resource "tls_private_key" "proxmox_virtual_environment_certificate" {
|
||||
@ -26,8 +26,8 @@ resource "tls_private_key" "proxmox_virtual_environment_certificate" {
|
||||
}
|
||||
|
||||
resource "tls_self_signed_cert" "proxmox_virtual_environment_certificate" {
|
||||
key_algorithm = "${tls_private_key.proxmox_virtual_environment_certificate.algorithm}"
|
||||
private_key_pem = "${tls_private_key.proxmox_virtual_environment_certificate.private_key_pem}"
|
||||
key_algorithm = tls_private_key.proxmox_virtual_environment_certificate.algorithm
|
||||
private_key_pem = tls_private_key.proxmox_virtual_environment_certificate.private_key_pem
|
||||
|
||||
subject {
|
||||
common_name = "example.com"
|
||||
|
@ -14,7 +14,7 @@ We can create aliases to identify an IP address or a network.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
```terraform
|
||||
resource "proxmox_virtual_environment_cluster_alias" "local_network" {
|
||||
name = "local_network"
|
||||
cidr = "192.168.0.0/23"
|
||||
|
@ -13,7 +13,7 @@ An IPSet allows us to group multiple IP addresses, IP subnets and aliases.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
```terraform
|
||||
resource "proxmox_virtual_environment_cluster_ipset" "ipset" {
|
||||
name = "local_network"
|
||||
comment = "Managed by Terraform"
|
||||
|
@ -13,7 +13,7 @@ Manages a container.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
```terraform
|
||||
resource "proxmox_virtual_environment_container" "ubuntu_container" {
|
||||
description = "Managed by Terraform"
|
||||
|
||||
@ -30,8 +30,8 @@ resource "proxmox_virtual_environment_container" "ubuntu_container" {
|
||||
}
|
||||
|
||||
user_account {
|
||||
keys = ["${trimspace(tls_private_key.ubuntu_container_key.public_key_openssh)}"]
|
||||
password = "${random_password.ubuntu_container_password.result}"
|
||||
keys = [trimspace(tls_private_key.ubuntu_container_key.public_key_openssh)]
|
||||
password = random_password.ubuntu_container_password.result
|
||||
}
|
||||
}
|
||||
|
||||
@ -40,7 +40,7 @@ resource "proxmox_virtual_environment_container" "ubuntu_container" {
|
||||
}
|
||||
|
||||
operating_system {
|
||||
template_file_id = "${proxmox_virtual_environment_file.ubuntu_container_template.id}"
|
||||
template_file_id = proxmox_virtual_environment_file.ubuntu_container_template.id
|
||||
type = "ubuntu"
|
||||
}
|
||||
}
|
||||
@ -51,7 +51,7 @@ resource "proxmox_virtual_environment_file" "ubuntu_container_template" {
|
||||
node_name = "first-node"
|
||||
|
||||
source_file {
|
||||
path = "http://download.proxmox.com/images/system/ubuntu-18.04-standard_18.04.1-1_amd64.tar.gz"
|
||||
path = "http://download.proxmox.com/images/system/ubuntu-20.04-standard_20.04-1_amd64.tar.gz"
|
||||
}
|
||||
}
|
||||
|
||||
@ -67,17 +67,17 @@ resource "tls_private_key" "ubuntu_container_key" {
|
||||
}
|
||||
|
||||
output "ubuntu_container_password" {
|
||||
value = "${random_password.ubuntu_container_password.result}"
|
||||
value = random_password.ubuntu_container_password.result
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
output "ubuntu_container_private_key" {
|
||||
value = "${tls_private_key.ubuntu_container_key.private_key_pem}"
|
||||
value = tls_private_key.ubuntu_container_key.private_key_pem
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
output "ubuntu_container_public_key" {
|
||||
value = "${tls_private_key.ubuntu_container_key.public_key_openssh}"
|
||||
value = tls_private_key.ubuntu_container_key.public_key_openssh
|
||||
}
|
||||
```
|
||||
|
||||
|
@ -13,10 +13,10 @@ Manages the DNS configuration for a specific node.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
```terraform
|
||||
resource "proxmox_virtual_environment_dns" "first_node_dns_configuration" {
|
||||
domain = "${data.proxmox_virtual_environment_dns.first_node_dns_configuration.domain}"
|
||||
node_name = "${data.proxmox_virtual_environment_dns.first_node_dns_configuration.node_name}"
|
||||
domain = data.proxmox_virtual_environment_dns.first_node_dns_configuration.domain
|
||||
node_name = data.proxmox_virtual_environment_dns.first_node_dns_configuration.node_name
|
||||
|
||||
servers = [
|
||||
"1.1.1.1",
|
||||
|
@ -13,14 +13,45 @@ Manages a file.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
```terraform
|
||||
resource "proxmox_virtual_environment_file" "ubuntu_container_template" {
|
||||
content_type = "vztmpl"
|
||||
datastore_id = "local"
|
||||
node_name = "first-node"
|
||||
|
||||
source_file {
|
||||
path = "http://download.proxmox.com/images/system/ubuntu-18.04-standard_18.04.1-1_amd64.tar.gz"
|
||||
path = "https://download.proxmox.com/images/system/ubuntu-20.04-standard_20.04-1_amd64.tar.gz"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
```terraform
|
||||
resource "proxmox_virtual_environment_file" "cloud_config" {
|
||||
content_type = "snippets"
|
||||
datastore_id = "local"
|
||||
node_name = "pve"
|
||||
|
||||
source_raw {
|
||||
data = <<EOF
|
||||
#cloud-config
|
||||
chpasswd:
|
||||
list: |
|
||||
ubuntu:example
|
||||
expire: false
|
||||
hostname: example-hostname
|
||||
packages:
|
||||
- qemu-guest-agent
|
||||
users:
|
||||
- default
|
||||
- name: ubuntu
|
||||
groups: sudo
|
||||
shell: /bin/bash
|
||||
ssh-authorized-keys:
|
||||
- ${trimspace(tls_private_key.example.public_key_openssh)}
|
||||
sudo: ALL=(ALL) NOPASSWD:ALL
|
||||
EOF
|
||||
|
||||
file_name = "example.cloud-config.yaml"
|
||||
}
|
||||
}
|
||||
```
|
||||
@ -53,6 +84,8 @@ resource "proxmox_virtual_environment_file" "ubuntu_container_template" {
|
||||
|
||||
## Important Notes
|
||||
|
||||
The Proxmox VE API endpoint for file uploads does not support chunked transfer encoding, which means that we must first store the source file as a temporary file locally before uploading it.
|
||||
The Proxmox VE API endpoint for file uploads does not support chunked transfer encoding, which means that we must first
|
||||
store the source file as a temporary file locally before uploading it.
|
||||
|
||||
You must ensure that you have at least `Size-in-MB * 2 + 1` MB of storage space available (twice the size plus overhead because a multipart payload needs to be created as another temporary file).
|
||||
You must ensure that you have at least `Size-in-MB * 2 + 1` MB of storage space available (twice the size plus overhead
|
||||
because a multipart payload needs to be created as another temporary file).
|
||||
|
@ -13,7 +13,7 @@ Manages a user group.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
```terraform
|
||||
resource "proxmox_virtual_environment_group" "operations_team" {
|
||||
comment = "Managed by Terraform"
|
||||
group_id = "operations-team"
|
||||
|
@ -13,7 +13,7 @@ Manages the host entries on a specific node.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
```terraform
|
||||
resource "proxmox_virtual_environment_hosts" "first_node_host_entries" {
|
||||
node_name = "first-node"
|
||||
|
||||
|
@ -13,7 +13,7 @@ Manages a resource pool.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
```terraform
|
||||
resource "proxmox_virtual_environment_pool" "operations_pool" {
|
||||
comment = "Managed by Terraform"
|
||||
pool_id = "operations-pool"
|
||||
|
@ -13,7 +13,7 @@ Manages a role.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
```terraform
|
||||
resource "proxmox_virtual_environment_role" "operations_monitoring" {
|
||||
role_id = "operations-monitoring"
|
||||
|
||||
|
@ -13,7 +13,7 @@ Manages the time for a specific node.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
```terraform
|
||||
resource "proxmox_virtual_environment_time" "first_node_time" {
|
||||
node_name = "first-node"
|
||||
time_zone = "UTC"
|
||||
|
@ -13,12 +13,12 @@ Manages a user.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
```terraform
|
||||
resource "proxmox_virtual_environment_user" "operations_automation" {
|
||||
acl {
|
||||
path = "/vms/1234"
|
||||
propagate = true
|
||||
role_id = "${proxmox_virtual_environment_role.operations_monitoring.role_id}"
|
||||
role_id = proxmox_virtual_environment_role.operations_monitoring.role_id
|
||||
}
|
||||
|
||||
comment = "Managed by Terraform"
|
||||
|
@ -13,7 +13,7 @@ Manages a virtual machine.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
```terraform
|
||||
resource "proxmox_virtual_environment_vm" "ubuntu_vm" {
|
||||
name = "terraform-provider-proxmox-ubuntu-vm"
|
||||
description = "Managed by Terraform"
|
||||
@ -27,7 +27,7 @@ resource "proxmox_virtual_environment_vm" "ubuntu_vm" {
|
||||
|
||||
disk {
|
||||
datastore_id = "local-lvm"
|
||||
file_id = "${proxmox_virtual_environment_file.ubuntu_cloud_image.id}"
|
||||
file_id = proxmox_virtual_environment_file.ubuntu_cloud_image.id
|
||||
interface = "scsi0"
|
||||
}
|
||||
|
||||
@ -39,15 +39,17 @@ resource "proxmox_virtual_environment_vm" "ubuntu_vm" {
|
||||
}
|
||||
|
||||
user_account {
|
||||
keys = ["${trimspace(tls_private_key.ubuntu_vm_key.public_key_openssh)}"]
|
||||
password = "${random_password.ubuntu_vm_password.result}"
|
||||
keys = [trimspace(tls_private_key.ubuntu_vm_key.public_key_openssh)]
|
||||
password = random_password.ubuntu_vm_password.result
|
||||
username = "ubuntu"
|
||||
}
|
||||
|
||||
user_data_file_id = "${proxmox_virtual_environment_file.cloud_config.id}"
|
||||
user_data_file_id = proxmox_virtual_environment_file.cloud_config.id
|
||||
}
|
||||
|
||||
network_device {}
|
||||
network_device {
|
||||
bridge = "vmbr0"
|
||||
}
|
||||
|
||||
operating_system {
|
||||
type = "l26"
|
||||
@ -62,7 +64,7 @@ resource "proxmox_virtual_environment_file" "ubuntu_cloud_image" {
|
||||
node_name = "first-node"
|
||||
|
||||
source_file {
|
||||
path = "https://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img"
|
||||
path = "http://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.img"
|
||||
}
|
||||
}
|
||||
|
||||
@ -78,17 +80,17 @@ resource "tls_private_key" "ubuntu_vm_key" {
|
||||
}
|
||||
|
||||
output "ubuntu_vm_password" {
|
||||
value = "${random_password.ubuntu_vm_password.result}"
|
||||
value = random_password.ubuntu_vm_password.result
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
output "ubuntu_vm_private_key" {
|
||||
value = "${tls_private_key.ubuntu_vm_key.private_key_pem}"
|
||||
value = tls_private_key.ubuntu_vm_key.private_key_pem
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
output "ubuntu_vm_public_key" {
|
||||
value = "${tls_private_key.ubuntu_vm_key.public_key_openssh}"
|
||||
value = tls_private_key.ubuntu_vm_key.public_key_openssh
|
||||
}
|
||||
```
|
||||
|
||||
@ -97,7 +99,8 @@ output "ubuntu_vm_public_key" {
|
||||
* `acpi` - (Optional) Whether to enable ACPI (defaults to `true`).
|
||||
* `agent` - (Optional) The QEMU agent configuration.
|
||||
* `enabled` - (Optional) Whether to enable the QEMU agent (defaults to `false`).
|
||||
* `timeout` - (Optional) The maximum amount of time to wait for data from the QEMU agent to become available (defaults to `15m`).
|
||||
* `timeout` - (Optional) The maximum amount of time to wait for data from the QEMU agent to become available (
|
||||
defaults to `15m`).
|
||||
* `trim` - (Optional) Whether to enable the FSTRIM feature in the QEMU agent (defaults to `false`).
|
||||
* `type` - (Optional) The QEMU agent interface type (defaults to `virtio`).
|
||||
* `isa` - ISA Serial Port.
|
||||
@ -119,7 +122,8 @@ output "ubuntu_vm_public_key" {
|
||||
* `clone` - (Optional) The cloning configuration.
|
||||
* `datastore_id` - (Optional) The identifier for the target datastore.
|
||||
* `node_name` - (Optional) The name of the source node (leave blank, if equal to the `node_name` argument).
|
||||
* `retries` - (Optional) Number of retries in Proxmox for clone vm. Sometimes Proxmox errors with timeout when creating multiple clones at once.
|
||||
* `retries` - (Optional) Number of retries in Proxmox for clone vm. Sometimes Proxmox errors with timeout when
|
||||
creating multiple clones at once.
|
||||
* `vm_id` - (Required) The identifier for the source VM.
|
||||
* `cpu` - (Optional) The CPU configuration.
|
||||
* `architecture` - (Optional) The CPU architecture (defaults to `x86_64`).
|
||||
@ -131,7 +135,8 @@ output "ubuntu_vm_public_key" {
|
||||
* `+amd-no-ssb`/`-amd-no-ssb` - Notifies guest OS that host is not vulnerable for Spectre on AMD CPUs.
|
||||
* `+amd-ssbd`/`-amd-ssbd` - Improves Spectre mitigation performance with AMD CPUs, best used with "virt-ssbd".
|
||||
* `+hv-evmcs`/`-hv-evmcs` - Improve performance for nested virtualization (only supported on Intel CPUs).
|
||||
* `+hv-tlbflush`/`-hv-tlbflush` - Improve performance in overcommitted Windows guests (may lead to guest BSOD on old CPUs).
|
||||
* `+hv-tlbflush`/`-hv-tlbflush` - Improve performance in overcommitted Windows guests (may lead to guest BSOD on
|
||||
old CPUs).
|
||||
* `+ibpb`/`-ibpb` - Allows improved Spectre mitigation on AMD CPUs.
|
||||
* `+md-clear`/`-md-clear` - Required to let the guest OS know if MDS is mitigated correctly.
|
||||
* `+pcid`/`-pcid` - Meltdown fix cost reduction on Westmere, Sandy- and Ivy Bridge Intel CPUs.
|
||||
@ -143,7 +148,8 @@ output "ubuntu_vm_public_key" {
|
||||
* `sockets` - (Optional) The number of CPU sockets (defaults to `1`).
|
||||
* `type` - (Optional) The emulated CPU type (defaults to `qemu64`).
|
||||
* `486` - Intel 486.
|
||||
* `Broadwell`/`Broadwell-IBRS`/`Broadwell-noTSX`/`Broadwell-noTSX-IBRS` - Intel Core Processor (Broadwell, 2014).
|
||||
* `Broadwell`/`Broadwell-IBRS`/`Broadwell-noTSX`/`Broadwell-noTSX-IBRS` - Intel Core Processor (Broadwell, 2014)
|
||||
.
|
||||
* `Cascadelake-Server` - Intel Xeon 32xx/42xx/52xx/62xx/82xx/92xx (2019).
|
||||
* `Conroe` - Intel Celeron_4x0 (Conroe/Merom Class Core 2, 2006).
|
||||
* `EPYC`/`EPYC-IBPB` - AMD EPYC Processor (2017).
|
||||
@ -180,7 +186,8 @@ output "ubuntu_vm_public_key" {
|
||||
* `qcow2` - QEMU Disk Image v2.
|
||||
* `raw` - Raw Disk Image.
|
||||
* `vmdk` - VMware Disk Image.
|
||||
* `file_id` - (Optional) The file ID for a disk image (experimental - might cause high CPU utilization during import, especially with large disk images).
|
||||
* `file_id` - (Optional) The file ID for a disk image (experimental - might cause high CPU utilization during
|
||||
import, especially with large disk images).
|
||||
* `interface` - (Required) The disk interface for Proxmox, currently scsi, sata and virtio are supported.
|
||||
* `size` - (Optional) The disk size in gigabytes (defaults to `8`).
|
||||
* `speed` - (Optional) The speed limits.
|
||||
@ -189,7 +196,8 @@ output "ubuntu_vm_public_key" {
|
||||
* `write` - (Optional) The maximum write speed in megabytes per second.
|
||||
* `write_burstable` - (Optional) The maximum burstable write speed in megabytes per second.
|
||||
* `initialization` - (Optional) The cloud-init configuration.
|
||||
* `datastore_id` - (Optional) The identifier for the datastore to create the cloud-init disk in (defaults to `local-lvm`).
|
||||
* `datastore_id` - (Optional) The identifier for the datastore to create the cloud-init disk in (defaults
|
||||
to `local-lvm`).
|
||||
* `dns` - (Optional) The DNS configuration.
|
||||
* `domain` - (Optional) The DNS search domain.
|
||||
* `server` - (Optional) The DNS server.
|
||||
@ -204,7 +212,8 @@ output "ubuntu_vm_public_key" {
|
||||
* `keys` - (Optional) The SSH keys.
|
||||
* `password` - (Optional) The SSH password.
|
||||
* `username` - (Optional) The SSH username.
|
||||
* `user_data_file_id` - (Optional) The identifier for a file containing custom user data (conflicts with `user_account`).
|
||||
* `user_data_file_id` - (Optional) The identifier for a file containing custom user data (conflicts
|
||||
with `user_account`).
|
||||
* `keyboard_layout` - (Optional) The keyboard layout (defaults to `en-us`).
|
||||
* `da` - Danish.
|
||||
* `de` - German.
|
||||
@ -298,11 +307,16 @@ output "ubuntu_vm_public_key" {
|
||||
|
||||
## Attribute Reference
|
||||
|
||||
* `ipv4_addresses` - The IPv4 addresses per network interface published by the QEMU agent (empty list when `agent.enabled` is `false`)
|
||||
* `ipv6_addresses` - The IPv6 addresses per network interface published by the QEMU agent (empty list when `agent.enabled` is `false`)
|
||||
* `mac_addresses` - The MAC addresses published by the QEMU agent with fallback to the network device configuration, if the agent is disabled
|
||||
* `network_interface_names` - The network interface names published by the QEMU agent (empty list when `agent.enabled` is `false`)
|
||||
* `ipv4_addresses` - The IPv4 addresses per network interface published by the QEMU agent (empty list
|
||||
when `agent.enabled` is `false`)
|
||||
* `ipv6_addresses` - The IPv6 addresses per network interface published by the QEMU agent (empty list
|
||||
when `agent.enabled` is `false`)
|
||||
* `mac_addresses` - The MAC addresses published by the QEMU agent with fallback to the network device configuration, if
|
||||
the agent is disabled
|
||||
* `network_interface_names` - The network interface names published by the QEMU agent (empty list when `agent.enabled`
|
||||
is `false`)
|
||||
|
||||
## Important Notes
|
||||
|
||||
When cloning an existing virtual machine, whether it's a template or not, the resource will only detect changes to the arguments which are not set to their default values.
|
||||
When cloning an existing virtual machine, whether it's a template or not, the resource will only detect changes to the
|
||||
arguments which are not set to their default values.
|
||||
|
Loading…
Reference in New Issue
Block a user