diff --git a/README.md b/README.md index b32cd22f..c106c4f2 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,8 @@ [![Go Report Card](https://goreportcard.com/badge/github.com/bpg/terraform-provider-proxmox)](https://goreportcard.com/report/github.com/bpg/terraform-provider-proxmox) [![GoDoc](https://godoc.org/github.com/bpg/terraform-provider-proxmox?status.svg)](http://godoc.org/github.com/bpg/terraform-provider-proxmox) +![GitHub release (latest by date)](https://img.shields.io/github/v/release/bpg/terraform-provider-proxmox) +![GitHub Release Date](https://img.shields.io/github/release-date/bpg/terraform-provider-proxmox) +[![GitHub stars](https://img.shields.io/github/stars/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 = <