diff --git a/README.md b/README.md
index b32cd22f..c106c4f2 100644
--- a/README.md
+++ b/README.md
@@ -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.
diff --git a/docs/Gemfile.lock b/docs/Gemfile.lock
index c3254298..7c4c02a6 100644
--- a/docs/Gemfile.lock
+++ b/docs/Gemfile.lock
@@ -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
diff --git a/docs/_config.yml b/docs/_config.yml
index 9744ddff..14a7ca67 100644
--- a/docs/_config.yml
+++ b/docs/_config.yml
@@ -11,6 +11,6 @@ plugins:
remote_theme: pmarsceill/just-the-docs
# Theme settings.
-footer_content: 'Copyright © 2019-2021 Danitso - Distributed under the Mozilla Public License 2.0
Copyright © 2021 Pavel Boldyrev - Distributed under the Mozilla Public License 2.0'
+footer_content: 'Copyright © 2019-2021 Danitso - Distributed under the Mozilla Public License 2.0
Copyright © 2021-2022 Pavel Boldyrev - Distributed under the Mozilla Public License 2.0'
heading_anchors: true
search_enabled: false
diff --git a/docs/data-sources/virtual_environment_cluster_alias.md b/docs/data-sources/virtual_environment_cluster_alias.md
index 801d6143..77039317 100644
--- a/docs/data-sources/virtual_environment_cluster_alias.md
+++ b/docs/data-sources/virtual_environment_cluster_alias.md
@@ -13,7 +13,7 @@ Retrieves information about a specific alias.
## Example Usage
-```
+```terraform
data "proxmox_virtual_environment_cluster_alias" "local_network" {
name = "local_network"
}
diff --git a/docs/data-sources/virtual_environment_cluster_aliases.md b/docs/data-sources/virtual_environment_cluster_aliases.md
index a987b04e..53bec875 100644
--- a/docs/data-sources/virtual_environment_cluster_aliases.md
+++ b/docs/data-sources/virtual_environment_cluster_aliases.md
@@ -13,7 +13,7 @@ Retrieves the identifiers for all the available aliases.
## Example Usage
-```
+```terraform
data "proxmox_virtual_environment_cluster_aliases" "available_aliases" {}
```
diff --git a/docs/data-sources/virtual_environment_datastores.md b/docs/data-sources/virtual_environment_datastores.md
index 3d216e5a..21e15b68 100644
--- a/docs/data-sources/virtual_environment_datastores.md
+++ b/docs/data-sources/virtual_environment_datastores.md
@@ -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"
}
diff --git a/docs/data-sources/virtual_environment_dns.md b/docs/data-sources/virtual_environment_dns.md
index a393e4df..d6210bf7 100644
--- a/docs/data-sources/virtual_environment_dns.md
+++ b/docs/data-sources/virtual_environment_dns.md
@@ -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"
}
diff --git a/docs/data-sources/virtual_environment_group.md b/docs/data-sources/virtual_environment_group.md
index 548cdf5a..138df4fa 100644
--- a/docs/data-sources/virtual_environment_group.md
+++ b/docs/data-sources/virtual_environment_group.md
@@ -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"
}
diff --git a/docs/data-sources/virtual_environment_groups.md b/docs/data-sources/virtual_environment_groups.md
index b1045ed2..2cba57bf 100644
--- a/docs/data-sources/virtual_environment_groups.md
+++ b/docs/data-sources/virtual_environment_groups.md
@@ -13,7 +13,7 @@ Retrieves basic information about all available user groups.
## Example Usage
-```
+```terraform
data "proxmox_virtual_environment_groups" "available_groups" {}
```
diff --git a/docs/data-sources/virtual_environment_hosts.md b/docs/data-sources/virtual_environment_hosts.md
index f18abecc..2128cde7 100644
--- a/docs/data-sources/virtual_environment_hosts.md
+++ b/docs/data-sources/virtual_environment_hosts.md
@@ -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"
}
diff --git a/docs/data-sources/virtual_environment_nodes.md b/docs/data-sources/virtual_environment_nodes.md
index 5d2c695a..ceb84133 100644
--- a/docs/data-sources/virtual_environment_nodes.md
+++ b/docs/data-sources/virtual_environment_nodes.md
@@ -13,7 +13,7 @@ Retrieves information about all available nodes.
## Example Usage
-```
+```terraform
data "proxmox_virtual_environment_nodes" "available_nodes" {}
```
diff --git a/docs/data-sources/virtual_environment_pool.md b/docs/data-sources/virtual_environment_pool.md
index 2d03440e..272c2ddd 100644
--- a/docs/data-sources/virtual_environment_pool.md
+++ b/docs/data-sources/virtual_environment_pool.md
@@ -13,7 +13,7 @@ Retrieves information about a specific resource pool.
## Example Usage
-```
+```terraform
data "proxmox_virtual_environment_pool" "operations_pool" {
pool_id = "operations"
}
diff --git a/docs/data-sources/virtual_environment_pools.md b/docs/data-sources/virtual_environment_pools.md
index f1059815..325c505f 100644
--- a/docs/data-sources/virtual_environment_pools.md
+++ b/docs/data-sources/virtual_environment_pools.md
@@ -13,7 +13,7 @@ Retrieves the identifiers for all the available resource pools.
## Example Usage
-```
+```terraform
data "proxmox_virtual_environment_pools" "available_pools" {}
```
diff --git a/docs/data-sources/virtual_environment_role.md b/docs/data-sources/virtual_environment_role.md
index e0d3f4e4..43e65aa0 100644
--- a/docs/data-sources/virtual_environment_role.md
+++ b/docs/data-sources/virtual_environment_role.md
@@ -13,7 +13,7 @@ Retrieves information about a specific role.
## Example Usage
-```
+```terraform
data "proxmox_virtual_environment_role" "operations_role" {
role_id = "operations"
}
diff --git a/docs/data-sources/virtual_environment_roles.md b/docs/data-sources/virtual_environment_roles.md
index 47e5edb0..88be9d0e 100644
--- a/docs/data-sources/virtual_environment_roles.md
+++ b/docs/data-sources/virtual_environment_roles.md
@@ -13,7 +13,7 @@ Retrieves information about all the available roles.
## Example Usage
-```
+```terraform
data "proxmox_virtual_environment_roles" "available_roles" {}
```
diff --git a/docs/data-sources/virtual_environment_time.md b/docs/data-sources/virtual_environment_time.md
index 3a2e3598..92b445ee 100644
--- a/docs/data-sources/virtual_environment_time.md
+++ b/docs/data-sources/virtual_environment_time.md
@@ -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"
}
diff --git a/docs/data-sources/virtual_environment_user.md b/docs/data-sources/virtual_environment_user.md
index dc6744cb..53e506c3 100644
--- a/docs/data-sources/virtual_environment_user.md
+++ b/docs/data-sources/virtual_environment_user.md
@@ -13,7 +13,7 @@ Retrieves information about a specific user.
## Example Usage
-```
+```terraform
data "proxmox_virtual_environment_user" "operations_user" {
user_id = "operation@pam"
}
diff --git a/docs/data-sources/virtual_environment_users.md b/docs/data-sources/virtual_environment_users.md
index 1d2915c2..e43fb286 100644
--- a/docs/data-sources/virtual_environment_users.md
+++ b/docs/data-sources/virtual_environment_users.md
@@ -13,7 +13,7 @@ Retrieves information about all the available users.
## Example Usage
-```
+```terraform
data "proxmox_virtual_environment_users" "available_users" {}
```
diff --git a/docs/data-sources/virtual_environment_version.md b/docs/data-sources/virtual_environment_version.md
index d586dffb..45b52589 100644
--- a/docs/data-sources/virtual_environment_version.md
+++ b/docs/data-sources/virtual_environment_version.md
@@ -13,7 +13,7 @@ Retrieves the version information from the API endpoint.
## Example Usage
-```
+```terraform
data "proxmox_virtual_environment_version" "current_version" {}
```
diff --git a/docs/index.md b/docs/index.md
index 14ac7ee6..3003b306 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -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"
diff --git a/docs/resources/virtual_environment_certificate.md b/docs/resources/virtual_environment_certificate.md
index b48aad36..8e0dbd1e 100644
--- a/docs/resources/virtual_environment_certificate.md
+++ b/docs/resources/virtual_environment_certificate.md
@@ -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"
diff --git a/docs/resources/virtual_environment_cluster_alias.md b/docs/resources/virtual_environment_cluster_alias.md
index 8df07073..424d8e94 100644
--- a/docs/resources/virtual_environment_cluster_alias.md
+++ b/docs/resources/virtual_environment_cluster_alias.md
@@ -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"
diff --git a/docs/resources/virtual_environment_cluster_ipset.md b/docs/resources/virtual_environment_cluster_ipset.md
index 9552c311..834ac75d 100644
--- a/docs/resources/virtual_environment_cluster_ipset.md
+++ b/docs/resources/virtual_environment_cluster_ipset.md
@@ -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"
diff --git a/docs/resources/virtual_environment_container.md b/docs/resources/virtual_environment_container.md
index 308f5480..d4fee155 100644
--- a/docs/resources/virtual_environment_container.md
+++ b/docs/resources/virtual_environment_container.md
@@ -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
}
```
diff --git a/docs/resources/virtual_environment_dns.md b/docs/resources/virtual_environment_dns.md
index fc6ef8e1..aa508ea9 100644
--- a/docs/resources/virtual_environment_dns.md
+++ b/docs/resources/virtual_environment_dns.md
@@ -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",
diff --git a/docs/resources/virtual_environment_file.md b/docs/resources/virtual_environment_file.md
index e310135f..9c2462c5 100644
--- a/docs/resources/virtual_environment_file.md
+++ b/docs/resources/virtual_environment_file.md
@@ -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 = <