mirror of
https://github.com/bpg/terraform-provider-proxmox.git
synced 2025-08-24 20:38:34 +00:00
Initial work on documentation website
This commit is contained in:
parent
ea05ebc40e
commit
b754515f71
3
docs/.gitignore
vendored
Normal file
3
docs/.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
_site
|
||||
.sass-cache
|
||||
.jekyll-metadata
|
26
docs/404.html
Normal file
26
docs/404.html
Normal file
@ -0,0 +1,26 @@
|
||||
---
|
||||
layout: default
|
||||
title: 404
|
||||
nav_exclude: true
|
||||
---
|
||||
|
||||
<style type="text/css" media="screen">
|
||||
.container {
|
||||
margin: 10px auto;
|
||||
max-width: 600px;
|
||||
text-align: center;
|
||||
}
|
||||
h1 {
|
||||
margin: 30px 0;
|
||||
font-size: 4em;
|
||||
line-height: 1;
|
||||
letter-spacing: -1px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="container">
|
||||
<h1>404</h1>
|
||||
|
||||
<p><strong>Page not found :(</strong></p>
|
||||
<p>The requested page could not be found.</p>
|
||||
</div>
|
27
docs/Gemfile
Normal file
27
docs/Gemfile
Normal file
@ -0,0 +1,27 @@
|
||||
source "https://rubygems.org"
|
||||
|
||||
# Hello! This is where you manage which Jekyll version is used to run.
|
||||
# When you want to use a different version, change it below, save the
|
||||
# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
|
||||
#
|
||||
# bundle exec jekyll serve
|
||||
#
|
||||
# This will help ensure the proper Jekyll version is running.
|
||||
# Happy Jekylling!
|
||||
|
||||
gem "just-the-docs", "~> 0.2"
|
||||
|
||||
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
|
||||
# uncomment the line below. To upgrade, run `bundle update github-pages`.
|
||||
gem "github-pages", group: :jekyll_plugins
|
||||
|
||||
# If you have any plugins, put them here!
|
||||
group :jekyll_plugins do
|
||||
gem "rouge", "~> 2.2"
|
||||
end
|
||||
|
||||
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
|
||||
gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby]
|
||||
|
||||
# Performance-booster for watching directories on Windows
|
||||
gem "wdm", "~> 0.1.0" if Gem.win_platform?
|
261
docs/Gemfile.lock
Normal file
261
docs/Gemfile.lock
Normal file
@ -0,0 +1,261 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
activesupport (4.2.11.1)
|
||||
i18n (~> 0.7)
|
||||
minitest (~> 5.1)
|
||||
thread_safe (~> 0.3, >= 0.3.4)
|
||||
tzinfo (~> 1.1)
|
||||
addressable (2.6.0)
|
||||
public_suffix (>= 2.0.2, < 4.0)
|
||||
coffee-script (2.4.1)
|
||||
coffee-script-source
|
||||
execjs
|
||||
coffee-script-source (1.11.1)
|
||||
colorator (1.1.0)
|
||||
commonmarker (0.17.13)
|
||||
ruby-enum (~> 0.5)
|
||||
concurrent-ruby (1.1.5)
|
||||
dnsruby (1.61.2)
|
||||
addressable (~> 2.5)
|
||||
em-websocket (0.5.1)
|
||||
eventmachine (>= 0.12.9)
|
||||
http_parser.rb (~> 0.6.0)
|
||||
ethon (0.12.0)
|
||||
ffi (>= 1.3.0)
|
||||
eventmachine (1.2.7-x64-mingw32)
|
||||
execjs (2.7.0)
|
||||
faraday (0.15.4)
|
||||
multipart-post (>= 1.2, < 3)
|
||||
ffi (1.11.1-x64-mingw32)
|
||||
forwardable-extended (2.6.0)
|
||||
gemoji (3.0.1)
|
||||
github-pages (198)
|
||||
activesupport (= 4.2.11.1)
|
||||
github-pages-health-check (= 1.16.1)
|
||||
jekyll (= 3.8.5)
|
||||
jekyll-avatar (= 0.6.0)
|
||||
jekyll-coffeescript (= 1.1.1)
|
||||
jekyll-commonmark-ghpages (= 0.1.5)
|
||||
jekyll-default-layout (= 0.1.4)
|
||||
jekyll-feed (= 0.11.0)
|
||||
jekyll-gist (= 1.5.0)
|
||||
jekyll-github-metadata (= 2.12.1)
|
||||
jekyll-mentions (= 1.4.1)
|
||||
jekyll-optional-front-matter (= 0.3.0)
|
||||
jekyll-paginate (= 1.1.0)
|
||||
jekyll-readme-index (= 0.2.0)
|
||||
jekyll-redirect-from (= 0.14.0)
|
||||
jekyll-relative-links (= 0.6.0)
|
||||
jekyll-remote-theme (= 0.3.1)
|
||||
jekyll-sass-converter (= 1.5.2)
|
||||
jekyll-seo-tag (= 2.5.0)
|
||||
jekyll-sitemap (= 1.2.0)
|
||||
jekyll-swiss (= 0.4.0)
|
||||
jekyll-theme-architect (= 0.1.1)
|
||||
jekyll-theme-cayman (= 0.1.1)
|
||||
jekyll-theme-dinky (= 0.1.1)
|
||||
jekyll-theme-hacker (= 0.1.1)
|
||||
jekyll-theme-leap-day (= 0.1.1)
|
||||
jekyll-theme-merlot (= 0.1.1)
|
||||
jekyll-theme-midnight (= 0.1.1)
|
||||
jekyll-theme-minimal (= 0.1.1)
|
||||
jekyll-theme-modernist (= 0.1.1)
|
||||
jekyll-theme-primer (= 0.5.3)
|
||||
jekyll-theme-slate (= 0.1.1)
|
||||
jekyll-theme-tactile (= 0.1.1)
|
||||
jekyll-theme-time-machine (= 0.1.1)
|
||||
jekyll-titles-from-headings (= 0.5.1)
|
||||
jemoji (= 0.10.2)
|
||||
kramdown (= 1.17.0)
|
||||
liquid (= 4.0.0)
|
||||
listen (= 3.1.5)
|
||||
mercenary (~> 0.3)
|
||||
minima (= 2.5.0)
|
||||
nokogiri (>= 1.8.5, < 2.0)
|
||||
rouge (= 2.2.1)
|
||||
terminal-table (~> 1.4)
|
||||
github-pages-health-check (1.16.1)
|
||||
addressable (~> 2.3)
|
||||
dnsruby (~> 1.60)
|
||||
octokit (~> 4.0)
|
||||
public_suffix (~> 3.0)
|
||||
typhoeus (~> 1.3)
|
||||
html-pipeline (2.11.1)
|
||||
activesupport (>= 2)
|
||||
nokogiri (>= 1.4)
|
||||
http_parser.rb (0.6.0)
|
||||
i18n (0.9.5)
|
||||
concurrent-ruby (~> 1.0)
|
||||
jekyll (3.8.5)
|
||||
addressable (~> 2.4)
|
||||
colorator (~> 1.0)
|
||||
em-websocket (~> 0.5)
|
||||
i18n (~> 0.7)
|
||||
jekyll-sass-converter (~> 1.0)
|
||||
jekyll-watch (~> 2.0)
|
||||
kramdown (~> 1.14)
|
||||
liquid (~> 4.0)
|
||||
mercenary (~> 0.3.3)
|
||||
pathutil (~> 0.9)
|
||||
rouge (>= 1.7, < 4)
|
||||
safe_yaml (~> 1.0)
|
||||
jekyll-avatar (0.6.0)
|
||||
jekyll (~> 3.0)
|
||||
jekyll-coffeescript (1.1.1)
|
||||
coffee-script (~> 2.2)
|
||||
coffee-script-source (~> 1.11.1)
|
||||
jekyll-commonmark (1.3.1)
|
||||
commonmarker (~> 0.14)
|
||||
jekyll (>= 3.7, < 5.0)
|
||||
jekyll-commonmark-ghpages (0.1.5)
|
||||
commonmarker (~> 0.17.6)
|
||||
jekyll-commonmark (~> 1)
|
||||
rouge (~> 2)
|
||||
jekyll-default-layout (0.1.4)
|
||||
jekyll (~> 3.0)
|
||||
jekyll-feed (0.11.0)
|
||||
jekyll (~> 3.3)
|
||||
jekyll-gist (1.5.0)
|
||||
octokit (~> 4.2)
|
||||
jekyll-github-metadata (2.12.1)
|
||||
jekyll (~> 3.4)
|
||||
octokit (~> 4.0, != 4.4.0)
|
||||
jekyll-mentions (1.4.1)
|
||||
html-pipeline (~> 2.3)
|
||||
jekyll (~> 3.0)
|
||||
jekyll-optional-front-matter (0.3.0)
|
||||
jekyll (~> 3.0)
|
||||
jekyll-paginate (1.1.0)
|
||||
jekyll-readme-index (0.2.0)
|
||||
jekyll (~> 3.0)
|
||||
jekyll-redirect-from (0.14.0)
|
||||
jekyll (~> 3.3)
|
||||
jekyll-relative-links (0.6.0)
|
||||
jekyll (~> 3.3)
|
||||
jekyll-remote-theme (0.3.1)
|
||||
jekyll (~> 3.5)
|
||||
rubyzip (>= 1.2.1, < 3.0)
|
||||
jekyll-sass-converter (1.5.2)
|
||||
sass (~> 3.4)
|
||||
jekyll-seo-tag (2.5.0)
|
||||
jekyll (~> 3.3)
|
||||
jekyll-sitemap (1.2.0)
|
||||
jekyll (~> 3.3)
|
||||
jekyll-swiss (0.4.0)
|
||||
jekyll-theme-architect (0.1.1)
|
||||
jekyll (~> 3.5)
|
||||
jekyll-seo-tag (~> 2.0)
|
||||
jekyll-theme-cayman (0.1.1)
|
||||
jekyll (~> 3.5)
|
||||
jekyll-seo-tag (~> 2.0)
|
||||
jekyll-theme-dinky (0.1.1)
|
||||
jekyll (~> 3.5)
|
||||
jekyll-seo-tag (~> 2.0)
|
||||
jekyll-theme-hacker (0.1.1)
|
||||
jekyll (~> 3.5)
|
||||
jekyll-seo-tag (~> 2.0)
|
||||
jekyll-theme-leap-day (0.1.1)
|
||||
jekyll (~> 3.5)
|
||||
jekyll-seo-tag (~> 2.0)
|
||||
jekyll-theme-merlot (0.1.1)
|
||||
jekyll (~> 3.5)
|
||||
jekyll-seo-tag (~> 2.0)
|
||||
jekyll-theme-midnight (0.1.1)
|
||||
jekyll (~> 3.5)
|
||||
jekyll-seo-tag (~> 2.0)
|
||||
jekyll-theme-minimal (0.1.1)
|
||||
jekyll (~> 3.5)
|
||||
jekyll-seo-tag (~> 2.0)
|
||||
jekyll-theme-modernist (0.1.1)
|
||||
jekyll (~> 3.5)
|
||||
jekyll-seo-tag (~> 2.0)
|
||||
jekyll-theme-primer (0.5.3)
|
||||
jekyll (~> 3.5)
|
||||
jekyll-github-metadata (~> 2.9)
|
||||
jekyll-seo-tag (~> 2.0)
|
||||
jekyll-theme-slate (0.1.1)
|
||||
jekyll (~> 3.5)
|
||||
jekyll-seo-tag (~> 2.0)
|
||||
jekyll-theme-tactile (0.1.1)
|
||||
jekyll (~> 3.5)
|
||||
jekyll-seo-tag (~> 2.0)
|
||||
jekyll-theme-time-machine (0.1.1)
|
||||
jekyll (~> 3.5)
|
||||
jekyll-seo-tag (~> 2.0)
|
||||
jekyll-titles-from-headings (0.5.1)
|
||||
jekyll (~> 3.3)
|
||||
jekyll-watch (2.2.1)
|
||||
listen (~> 3.0)
|
||||
jemoji (0.10.2)
|
||||
gemoji (~> 3.0)
|
||||
html-pipeline (~> 2.2)
|
||||
jekyll (~> 3.0)
|
||||
just-the-docs (0.2.7)
|
||||
jekyll (~> 3.8.5)
|
||||
jekyll-seo-tag (~> 2.0)
|
||||
rake (~> 12.3.1)
|
||||
kramdown (1.17.0)
|
||||
liquid (4.0.0)
|
||||
listen (3.1.5)
|
||||
rb-fsevent (~> 0.9, >= 0.9.4)
|
||||
rb-inotify (~> 0.9, >= 0.9.7)
|
||||
ruby_dep (~> 1.2)
|
||||
mercenary (0.3.6)
|
||||
mini_portile2 (2.4.0)
|
||||
minima (2.5.0)
|
||||
jekyll (~> 3.5)
|
||||
jekyll-feed (~> 0.9)
|
||||
jekyll-seo-tag (~> 2.1)
|
||||
minitest (5.11.3)
|
||||
multipart-post (2.1.1)
|
||||
nokogiri (1.10.9-x64-mingw32)
|
||||
mini_portile2 (~> 2.4.0)
|
||||
octokit (4.14.0)
|
||||
sawyer (~> 0.8.0, >= 0.5.3)
|
||||
pathutil (0.16.2)
|
||||
forwardable-extended (~> 2.6)
|
||||
public_suffix (3.1.1)
|
||||
rake (12.3.3)
|
||||
rb-fsevent (0.10.3)
|
||||
rb-inotify (0.10.0)
|
||||
ffi (~> 1.0)
|
||||
rouge (2.2.1)
|
||||
ruby-enum (0.7.2)
|
||||
i18n
|
||||
ruby_dep (1.5.0)
|
||||
rubyzip (2.2.0)
|
||||
safe_yaml (1.0.5)
|
||||
sass (3.7.4)
|
||||
sass-listen (~> 4.0.0)
|
||||
sass-listen (4.0.0)
|
||||
rb-fsevent (~> 0.9, >= 0.9.4)
|
||||
rb-inotify (~> 0.9, >= 0.9.7)
|
||||
sawyer (0.8.2)
|
||||
addressable (>= 2.3.5)
|
||||
faraday (> 0.8, < 2.0)
|
||||
terminal-table (1.8.0)
|
||||
unicode-display_width (~> 1.1, >= 1.1.1)
|
||||
thread_safe (0.3.6)
|
||||
typhoeus (1.3.1)
|
||||
ethon (>= 0.9.0)
|
||||
tzinfo (1.2.5)
|
||||
thread_safe (~> 0.1)
|
||||
tzinfo-data (1.2019.2)
|
||||
tzinfo (>= 1.0.0)
|
||||
unicode-display_width (1.6.0)
|
||||
wdm (0.1.1)
|
||||
|
||||
PLATFORMS
|
||||
x64-mingw32
|
||||
|
||||
DEPENDENCIES
|
||||
github-pages
|
||||
jekyll-feed (~> 0.6)
|
||||
just-the-docs (~> 0.2)
|
||||
rouge (~> 2.2)
|
||||
tzinfo-data
|
||||
wdm (~> 0.1.0)
|
||||
|
||||
BUNDLED WITH
|
||||
2.1.4
|
18
docs/_config.yml
Normal file
18
docs/_config.yml
Normal file
@ -0,0 +1,18 @@
|
||||
email: info@danitso.com
|
||||
title: Proxmox Provider
|
||||
description: >-
|
||||
Terraform Provider for Proxmox.
|
||||
baseurl: ""
|
||||
url: ""
|
||||
github_username: "danitso"
|
||||
|
||||
highlighter: rouge
|
||||
markdown: kramdown
|
||||
plugins:
|
||||
- github-pages
|
||||
theme: just-the-docs
|
||||
|
||||
# Theme settings.
|
||||
footer_content: 'Copyright © 2019-2020 <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>'
|
||||
heading_anchors: true
|
||||
search_enabled: false
|
0
docs/assets/js/search-data.json
Normal file
0
docs/assets/js/search-data.json
Normal file
9
docs/data_sources/index.md
Normal file
9
docs/data_sources/index.md
Normal file
@ -0,0 +1,9 @@
|
||||
---
|
||||
layout: page
|
||||
title: Data Sources
|
||||
permalink: /data-sources
|
||||
nav_order: 2
|
||||
has_children: true
|
||||
---
|
||||
|
||||
# Data Sources
|
@ -0,0 +1,36 @@
|
||||
---
|
||||
layout: page
|
||||
title: Datastores
|
||||
permalink: /data-sources/virtual-environment/datastores
|
||||
nav_order: 1
|
||||
parent: Virtual Environment Data Sources
|
||||
grand_parent: Data Sources
|
||||
---
|
||||
|
||||
# Data Source: Datastores
|
||||
|
||||
Retrieves information about all the datastores available to a specific node.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
data "proxmox_virtual_environment_datastores" "first_node" {
|
||||
node_name = "first-node"
|
||||
}
|
||||
```
|
||||
|
||||
## Arguments Reference
|
||||
|
||||
* `node_name` - (Required) A node name.
|
||||
|
||||
## Attributes Reference
|
||||
|
||||
* `active` - Whether the datastore is active.
|
||||
* `content_types` - The allowed content types.
|
||||
* `datastore_ids` - The datastore identifiers.
|
||||
* `enabled` - Whether the datastore is enabled.
|
||||
* `shared` - Whether the datastore is shared.
|
||||
* `space_available` - The available space in bytes.
|
||||
* `space_total` - The total space in bytes.
|
||||
* `space_used` - The used space in bytes.
|
||||
* `types` - The storage types.
|
@ -0,0 +1,29 @@
|
||||
---
|
||||
layout: page
|
||||
title: DNS
|
||||
permalink: /data-sources/virtual-environment/dns
|
||||
nav_order: 2
|
||||
parent: Virtual Environment Data Sources
|
||||
grand_parent: Data Sources
|
||||
---
|
||||
|
||||
# Data Source: DNS
|
||||
|
||||
Retrieves the DNS configuration for a specific node.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
data "proxmox_virtual_environment_dns" "first_node" {
|
||||
node_name = "first-node"
|
||||
}
|
||||
```
|
||||
|
||||
## Arguments Reference
|
||||
|
||||
* `node_name` - (Required) A node name.
|
||||
|
||||
## Attributes Reference
|
||||
|
||||
* `domain` - The DNS search domain.
|
||||
* `servers` - The DNS servers.
|
@ -0,0 +1,33 @@
|
||||
---
|
||||
layout: page
|
||||
title: Group
|
||||
permalink: /data-sources/virtual-environment/group
|
||||
nav_order: 3
|
||||
parent: Virtual Environment Data Sources
|
||||
grand_parent: Data Sources
|
||||
---
|
||||
|
||||
# Data Source: Group
|
||||
|
||||
Retrieves information about a specific user group.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
data "proxmox_virtual_environment_group" "operations_team" {
|
||||
group_id = "operations-team"
|
||||
}
|
||||
```
|
||||
|
||||
## Arguments Reference
|
||||
|
||||
* `group_id` - (Required) The group identifier.
|
||||
|
||||
## Attributes Reference
|
||||
|
||||
* `acl` - The access control list.
|
||||
* `path` - The path.
|
||||
* `propagate` - Whether to propagate to child paths.
|
||||
* `role_id` - The role identifier.
|
||||
* `comment` - The group comment.
|
||||
* `members` - The group members as a list with `username@realm` entries.
|
@ -0,0 +1,27 @@
|
||||
---
|
||||
layout: page
|
||||
title: Groups
|
||||
permalink: /data-sources/virtual-environment/groups
|
||||
nav_order: 4
|
||||
parent: Virtual Environment Data Sources
|
||||
grand_parent: Data Sources
|
||||
---
|
||||
|
||||
# Data Source: Groups
|
||||
|
||||
Retrieves basic information about all available user groups.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
data "proxmox_virtual_environment_groups" "available_groups" {}
|
||||
```
|
||||
|
||||
## Arguments Reference
|
||||
|
||||
There are no arguments available for this data source.
|
||||
|
||||
## Attributes Reference
|
||||
|
||||
* `comments` - The group comments.
|
||||
* `group_ids` - The group identifiers.
|
@ -0,0 +1,31 @@
|
||||
---
|
||||
layout: page
|
||||
title: Hosts
|
||||
permalink: /data-sources/virtual-environment/hosts
|
||||
nav_order: 5
|
||||
parent: Virtual Environment Data Sources
|
||||
grand_parent: Data Sources
|
||||
---
|
||||
|
||||
# Data Source: Hosts
|
||||
|
||||
Retrieves all the host entries from a specific node.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
data "proxmox_virtual_environment_hosts" "first_node_host_entries" {
|
||||
node_name = "first-node"
|
||||
}
|
||||
```
|
||||
|
||||
## Arguments Reference
|
||||
|
||||
* `node_name` - (Required) A node name.
|
||||
|
||||
## Attributes Reference
|
||||
|
||||
* `addresses` - The IP addresses.
|
||||
* `digest` - The SHA1 digest.
|
||||
* `entries` - The host entries (conversion of `addresses` and `hostnames` into objects).
|
||||
* `hostnames` - The hostnames associated with each of the IP addresses.
|
@ -0,0 +1,34 @@
|
||||
---
|
||||
layout: page
|
||||
title: Nodes
|
||||
permalink: /data-sources/virtual-environment/nodes
|
||||
nav_order: 6
|
||||
parent: Virtual Environment Data Sources
|
||||
grand_parent: Data Sources
|
||||
---
|
||||
|
||||
# Data Source: Nodes
|
||||
|
||||
Retrieves information about all available nodes.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
data "proxmox_virtual_environment_nodes" "available_nodes" {}
|
||||
```
|
||||
|
||||
## Arguments Reference
|
||||
|
||||
There are no arguments available for this data source.
|
||||
|
||||
## Attributes Reference
|
||||
|
||||
* `cpu_count` - The CPU count for each node.
|
||||
* `cpu_utilization` - The CPU utilization on each node.
|
||||
* `memory_available` - The memory available on each node.
|
||||
* `memory_used` - The memory used on each node.
|
||||
* `names` - The node names.
|
||||
* `online` - Whether a node is online.
|
||||
* `ssl_fingerprints` - The SSL fingerprint for each node.
|
||||
* `support_levels` - The support level for each node.
|
||||
* `uptime` - The uptime in seconds for each node.
|
@ -0,0 +1,34 @@
|
||||
---
|
||||
layout: page
|
||||
title: Pool
|
||||
permalink: /data-sources/virtual-environment/pool
|
||||
nav_order: 7
|
||||
parent: Virtual Environment Data Sources
|
||||
grand_parent: Data Sources
|
||||
---
|
||||
|
||||
# Data Source: Pool
|
||||
|
||||
Retrieves information about a specific resource pool.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
data "proxmox_virtual_environment_pool" "operations_pool" {
|
||||
pool_id = "operations"
|
||||
}
|
||||
```
|
||||
|
||||
## Arguments Reference
|
||||
|
||||
* `pool_id` - (Required) The pool identifier.
|
||||
|
||||
## Attributes Reference
|
||||
|
||||
* `comment` - The pool comment.
|
||||
* `members` - The pool members.
|
||||
* `datastore_id` - The datastore identifier.
|
||||
* `id` - The member identifier.
|
||||
* `node_name` - The node name.
|
||||
* `type` - The member type.
|
||||
* `vm_id` - The virtual machine identifier.
|
@ -0,0 +1,26 @@
|
||||
---
|
||||
layout: page
|
||||
title: Pools
|
||||
permalink: /data-sources/virtual-environment/pools
|
||||
nav_order: 8
|
||||
parent: Virtual Environment Data Sources
|
||||
grand_parent: Data Sources
|
||||
---
|
||||
|
||||
# Data Source: Pools
|
||||
|
||||
Retrieves the identifiers for all the available resource pools.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
data "proxmox_virtual_environment_pools" "available_pools" {}
|
||||
```
|
||||
|
||||
## Arguments Reference
|
||||
|
||||
There are no arguments available for this data source.
|
||||
|
||||
## Attributes Reference
|
||||
|
||||
* `pool_ids` - The pool identifiers.
|
@ -0,0 +1,28 @@
|
||||
---
|
||||
layout: page
|
||||
title: Role
|
||||
permalink: /data-sources/virtual-environment/role
|
||||
nav_order: 9
|
||||
parent: Virtual Environment Data Sources
|
||||
grand_parent: Data Sources
|
||||
---
|
||||
|
||||
# Data Source: Role
|
||||
|
||||
Retrieves information about a specific role.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
data "proxmox_virtual_environment_role" "operations_role" {
|
||||
role_id = "operations"
|
||||
}
|
||||
```
|
||||
|
||||
## Arguments Reference
|
||||
|
||||
* `role_id` - (Required) The role identifier.
|
||||
|
||||
## Attributes Reference
|
||||
|
||||
* `privileges` - The role privileges
|
@ -0,0 +1,28 @@
|
||||
---
|
||||
layout: page
|
||||
title: Roles
|
||||
permalink: /data-sources/virtual-environment/roles
|
||||
nav_order: 10
|
||||
parent: Virtual Environment Data Sources
|
||||
grand_parent: Data Sources
|
||||
---
|
||||
|
||||
# Data Source: Roles
|
||||
|
||||
Retrieves information about all the available roles.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
data "proxmox_virtual_environment_roles" "available_roles" {}
|
||||
```
|
||||
|
||||
## Arguments Reference
|
||||
|
||||
There are no arguments available for this data source.
|
||||
|
||||
## Attributes Reference
|
||||
|
||||
* `privileges` - The role privileges.
|
||||
* `role_ids` - The role identifiers.
|
||||
* `special` - Whether the role is special (built-in).
|
@ -0,0 +1,39 @@
|
||||
---
|
||||
layout: page
|
||||
title: User
|
||||
permalink: /data-sources/virtual-environment/user
|
||||
nav_order: 11
|
||||
parent: Virtual Environment Data Sources
|
||||
grand_parent: Data Sources
|
||||
---
|
||||
|
||||
# Data Source: User
|
||||
|
||||
Retrieves information about a specific user.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
data "proxmox_virtual_environment_user" "operations_user" {
|
||||
user_id = "operation@pam"
|
||||
}
|
||||
```
|
||||
|
||||
## Arguments Reference
|
||||
|
||||
* `user_id` - (Required) The user identifier.
|
||||
|
||||
## Attributes Reference
|
||||
|
||||
* `acl` - The access control list.
|
||||
* `path` - The path.
|
||||
* `propagate` - Whether to propagate to child paths.
|
||||
* `role_id` - The role identifier.
|
||||
* `comment` - The user comment.
|
||||
* `email` - The user's email address.
|
||||
* `enabled` - Whether the user account is enabled.
|
||||
* `expiration_date` - The user account's expiration date (RFC 3339).
|
||||
* `first_name` - The user's first name.
|
||||
* `groups` - The user's groups.
|
||||
* `keys` - The user's keys.
|
||||
* `last_name` - The user's last name.
|
@ -0,0 +1,34 @@
|
||||
---
|
||||
layout: page
|
||||
title: Users
|
||||
permalink: /data-sources/virtual-environment/users
|
||||
nav_order: 12
|
||||
parent: Virtual Environment Data Sources
|
||||
grand_parent: Data Sources
|
||||
---
|
||||
|
||||
# Data Source: Users
|
||||
|
||||
Retrieves information about all the available users.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
data "proxmox_virtual_environment_users" "available_users" {}
|
||||
```
|
||||
|
||||
## Arguments Reference
|
||||
|
||||
There are no arguments available for this data source.
|
||||
|
||||
## Attributes Reference
|
||||
|
||||
* `comments` - The user comments.
|
||||
* `emails` - The users' email addresses.
|
||||
* `enabled` - Whether a user account is enabled.
|
||||
* `expiration_dates` - The user accounts' expiration dates (RFC 3339).
|
||||
* `first_names` - The users' first names.
|
||||
* `groups` - The users' groups.
|
||||
* `keys` - The users' keys.
|
||||
* `last_names` - The users' last names.
|
||||
* `user_ids` - The user identifiers.
|
@ -0,0 +1,29 @@
|
||||
---
|
||||
layout: page
|
||||
title: Version
|
||||
permalink: /data-sources/virtual-environment/version
|
||||
nav_order: 13
|
||||
parent: Virtual Environment Data Sources
|
||||
grand_parent: Data Sources
|
||||
---
|
||||
|
||||
# Data Source: Version
|
||||
|
||||
Retrieves the version information from the API endpoint.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
data "proxmox_virtual_environment_version" "current_version" {}
|
||||
```
|
||||
|
||||
## Arguments Reference
|
||||
|
||||
There are no arguments available for this data source.
|
||||
|
||||
## Attributes Reference
|
||||
|
||||
* `keyboard_layout` - The keyboard layout.
|
||||
* `release` - The release number.
|
||||
* `repository_id` - The repository identifier.
|
||||
* `version` - The version string.
|
10
docs/data_sources/virtual_environment/index.md
Normal file
10
docs/data_sources/virtual_environment/index.md
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
layout: page
|
||||
title: Virtual Environment Data Sources
|
||||
permalink: /data-sources/virtual-environment
|
||||
nav_order: 1
|
||||
parent: Data Sources
|
||||
has_children: true
|
||||
---
|
||||
|
||||
# Virtual Environment Data Sources
|
78
docs/index.md
Normal file
78
docs/index.md
Normal file
@ -0,0 +1,78 @@
|
||||
---
|
||||
layout: home
|
||||
title: Proxmox Provider
|
||||
nav_order: 1
|
||||
---
|
||||
|
||||
# Proxmox Provider
|
||||
|
||||
This provider for [Terraform](https://www.terraform.io/) is used to interact with resources supported by [Proxmox](https://www.proxmox.com/en/). The provider needs to be configured with the proper endpoints and credentials before it can be used.
|
||||
|
||||
Use the navigation to the left to read about the available resources.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
provider "proxmox" {
|
||||
virtual_environment {
|
||||
endpoint = "https://10.0.0.2"
|
||||
username = "root@pam"
|
||||
password = "the-password-set-during-installation-of-proxmox-ve"
|
||||
insecure = true
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Authentication
|
||||
|
||||
The Proxmox provider offers a flexible means of providing credentials for authentication. The following methods are supported, in this order, and explained below:
|
||||
|
||||
* Static credentials
|
||||
* Environment variables
|
||||
|
||||
### Static credentials
|
||||
|
||||
Warning: Hard-coding credentials into any Terraform configuration is not recommended, and risks secret leakage should this file ever be committed to a public version control system.
|
||||
{: .label .label-red }
|
||||
|
||||
Static credentials can be provided by adding a `username` and `password` in-line in the Proxmox provider block:
|
||||
|
||||
```
|
||||
provider "proxmox" {
|
||||
virtual_environment {
|
||||
username = "username@realm"
|
||||
password = "a-strong-password"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Environment variables
|
||||
|
||||
You can provide your credentials via the `PROXMOX_VE_USERNAME` and `PROXMOX_VE_PASSWORD`, environment variables, representing your Proxmox username, realm and password, respectively:
|
||||
|
||||
```
|
||||
provider "proxmox" {
|
||||
virtual_environment {}
|
||||
}
|
||||
```
|
||||
|
||||
Usage:
|
||||
|
||||
```sh
|
||||
$ export PROXMOX_VE_USERNAME="username@realm"
|
||||
$ export PROXMOX_VE_PASSWORD="a-strong-password"
|
||||
$ terraform plan
|
||||
```
|
||||
|
||||
## Arguments Reference
|
||||
|
||||
In addition to [generic provider arguments](https://www.terraform.io/docs/configuration/providers.html) (e.g. `alias` and `version`), the following arguments are supported in the Proxmox `provider` block:
|
||||
|
||||
* `virtual_environment` - (Optional) A `virtual_environment` block (documented below). Only one `virtual_environment` block may be in the configuration.
|
||||
|
||||
The nested `virtual_environment` block supports the following:
|
||||
|
||||
* `endpoint` - (Required) The endpoint for the Proxmox Virtual Environment API (can also be sourced from `PROXMOX_VE_ENDPOINT`).
|
||||
* `insecure` - (Optional) Whether to skip the TLS verification step (can also be sourced from `PROXMOX_VE_INSECURE`). If omitted, defaults to `false`.
|
||||
* `password` - (Required) The password for the Proxmox Virtual Environment API (can also be sourced from `PROXMOX_VE_PASSWORD`).
|
||||
* `username` - (Required) The username and realm for the Proxmox Virtual Environment API (can also be sourced from `PROXMOX_VE_USERNAME`).
|
9
docs/resources/index.md
Normal file
9
docs/resources/index.md
Normal file
@ -0,0 +1,9 @@
|
||||
---
|
||||
layout: page
|
||||
title: Resources
|
||||
permalink: /resources
|
||||
nav_order: 3
|
||||
has_children: true
|
||||
---
|
||||
|
||||
# Resources
|
10
docs/resources/virtual_environment/index.md
Normal file
10
docs/resources/virtual_environment/index.md
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
layout: page
|
||||
title: Virtual Environment Resources
|
||||
permalink: /resources/virtual-environment
|
||||
nav_order: 1
|
||||
parent: Resources
|
||||
has_children: true
|
||||
---
|
||||
|
||||
# Virtual Environment Resources
|
@ -0,0 +1,64 @@
|
||||
---
|
||||
layout: page
|
||||
title: Certificate
|
||||
permalink: /ressources/virtual-environment/certificate
|
||||
nav_order: 1
|
||||
parent: Virtual Environment Resources
|
||||
grand_parent: Resources
|
||||
---
|
||||
|
||||
# Resource: Certificate
|
||||
|
||||
Manages the custom SSL/TLS certificate for a specific node.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
resource "proxmox_virtual_environment_certificate" "example" {
|
||||
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}"
|
||||
}
|
||||
|
||||
resource "tls_private_key" "proxmox_virtual_environment_certificate" {
|
||||
algorithm = "RSA"
|
||||
rsa_bits = 2048
|
||||
}
|
||||
|
||||
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}"
|
||||
|
||||
subject {
|
||||
common_name = "example.com"
|
||||
organization = "Terraform Provider for Proxmox"
|
||||
}
|
||||
|
||||
validity_period_hours = 8760
|
||||
|
||||
allowed_uses = [
|
||||
"key_encipherment",
|
||||
"digital_signature",
|
||||
"server_auth",
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## Arguments Reference
|
||||
|
||||
* `certificate` - (Required) The PEM encoded certificate.
|
||||
* `certificate_chain` - (Optional) The PEM encoded certificate chain.
|
||||
* `node_name` - (Required) A node name.
|
||||
* `private_key` - (Required) The PEM encoded private key.
|
||||
|
||||
## Attributes Reference
|
||||
|
||||
* `expiration_date` - The expiration date (RFC 3339).
|
||||
* `file_name` - The file name.
|
||||
* `issuer` - The issuer.
|
||||
* `public_key_size` - The public key size.
|
||||
* `public_key_type` - The public key type.
|
||||
* `ssl_fingerprint` - The SSL fingerprint.
|
||||
* `start_date` - The start date (RFC 3339).
|
||||
* `subject` - The subject.
|
||||
* `subject_alternative_names` - The subject alternative names.
|
@ -0,0 +1,153 @@
|
||||
---
|
||||
layout: page
|
||||
title: Container
|
||||
permalink: /ressources/virtual-environment/container
|
||||
nav_order: 2
|
||||
parent: Virtual Environment Resources
|
||||
grand_parent: Resources
|
||||
---
|
||||
|
||||
# Resource: Container
|
||||
|
||||
Manages a container.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
resource "proxmox_virtual_environment_container" "ubuntu_container" {
|
||||
description = "Managed by Terraform"
|
||||
|
||||
node_name = "first-node"
|
||||
vm_id = 1234
|
||||
|
||||
initialization {
|
||||
hostname = "terraform-provider-proxmox-ubuntu-container"
|
||||
|
||||
ip_config {
|
||||
ipv4 {
|
||||
address = "dhcp"
|
||||
}
|
||||
}
|
||||
|
||||
user_account {
|
||||
keys = ["${trimspace(tls_private_key.ubuntu_container_key.public_key_openssh)}"]
|
||||
password = "${random_password.ubuntu_container_password.result}"
|
||||
}
|
||||
}
|
||||
|
||||
network_interface {
|
||||
name = "veth0"
|
||||
}
|
||||
|
||||
operating_system {
|
||||
template_file_id = "${proxmox_virtual_environment_file.ubuntu_container_template.id}"
|
||||
type = "ubuntu"
|
||||
}
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
}
|
||||
|
||||
resource "random_password" "ubuntu_container_password" {
|
||||
length = 16
|
||||
override_special = "_%@"
|
||||
special = true
|
||||
}
|
||||
|
||||
resource "tls_private_key" "ubuntu_container_key" {
|
||||
algorithm = "RSA"
|
||||
rsa_bits = 2048
|
||||
}
|
||||
|
||||
output "ubuntu_container_password" {
|
||||
value = "${random_password.ubuntu_container_password.result}"
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
output "ubuntu_container_private_key" {
|
||||
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}"
|
||||
}
|
||||
```
|
||||
|
||||
## Arguments Reference
|
||||
|
||||
* `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).
|
||||
* `vm_id` - (Required) The identifier for the source container.
|
||||
* `console` - (Optional) The console configuration.
|
||||
* `enabled` - (Optional) Whether to enable the console device (defaults to `true`).
|
||||
* `mode` - (Optional) The console mode (defaults to `tty`).
|
||||
* `console` - Console.
|
||||
* `shell` - Shell.
|
||||
* `tty` - TTY.
|
||||
* `tty_count` - (Optional) The number of available TTY (defaults to `2`).
|
||||
* `cpu` - (Optional) The CPU configuration.
|
||||
* `architecture` - (Optional) The CPU architecture (defaults to `amd64`).
|
||||
* `amd64` - x86 (64 bit).
|
||||
* `arm64` - ARM (64-bit).
|
||||
* `armhf` - ARM (32 bit).
|
||||
* `i386` - x86 (32 bit).
|
||||
* `cores` - (Optional) The number of CPU cores (defaults to `1`).
|
||||
* `units` - (Optional) The CPU units (defaults to `1024`).
|
||||
* `description` - (Optional) The description.
|
||||
* `disk` - (Optional) A disk.
|
||||
* `datastore_id` - (Optional) The identifier for the datastore to create the disk in (defaults to `local-lvm`).
|
||||
* `initialization` - (Optional) The initialization configuration.
|
||||
* `dns` - (Optional) The DNS configuration.
|
||||
* `domain` - (Optional) The DNS search domain.
|
||||
* `server` - (Optional) The DNS server.
|
||||
* `hostname` - (Optional) The hostname.
|
||||
* `ip_config` - (Optional) The IP configuration (one block per network device).
|
||||
* `ipv4` - (Optional) The IPv4 configuration.
|
||||
* `address` - (Optional) The IPv4 address (use `dhcp` for autodiscovery).
|
||||
* `gateway` - (Optional) The IPv4 gateway (must be omitted when `dhcp` is used as the address).
|
||||
* `ipv6` - (Optional) The IPv4 configuration.
|
||||
* `address` - (Optional) The IPv6 address (use `dhcp` for autodiscovery).
|
||||
* `gateway` - (Optional) The IPv6 gateway (must be omitted when `dhcp` is used as the address).
|
||||
* `user_account` - (Optional) The user account configuration.
|
||||
* `keys` - (Optional) The SSH keys for the root account.
|
||||
* `password` - (Optional) The password for the root account.
|
||||
* `memory` - (Optional) The memory configuration.
|
||||
* `dedicated` - (Optional) The dedicated memory in megabytes (defaults to `512`).
|
||||
* `swap` - (Optional) The swap size in megabytes (defaults to `0`).
|
||||
* `network_interface` - (Optional) A network interface (multiple blocks supported).
|
||||
* `bridge` - (Optional) The name of the network bridge (defaults to `vmbr0`).
|
||||
* `enabled` - (Optional) Whether to enable the network device (defaults to `true`).
|
||||
* `mac_address` - (Optional) The MAC address.
|
||||
* `name` - (Required) The network interface name.
|
||||
* `rate_limit` - (Optional) The rate limit in megabytes per second.
|
||||
* `vlan_id` - (Optional) The VLAN identifier.
|
||||
* `node_name` - (Required) The name of the node to assign the container to.
|
||||
* `operating_system` - (Required) The Operating System configuration.
|
||||
* `template_file_id` - (Required) The identifier for an OS template file.
|
||||
* `type` - (Optional) The type (defaults to `unmanaged`).
|
||||
* `alpine` - Alpine.
|
||||
* `archlinux` - Arch Linux.
|
||||
* `centos` - CentOS.
|
||||
* `debian` - Debian.
|
||||
* `fedora` - Fedora.
|
||||
* `gentoo` - Gentoo.
|
||||
* `opensuse` - openSUSE.
|
||||
* `ubuntu` - Ubuntu.
|
||||
* `unmanaged` - Unmanaged.
|
||||
* `pool_id` - (Optional) The identifier for a pool to assign the container to.
|
||||
* `started` - (Optional) Whether to start the container (defaults to `true`).
|
||||
* `template` - (Optional) Whether to create a template (defaults to `false`).
|
||||
* `vm_id` - (Optional) The virtual machine identifier
|
||||
|
||||
## Attributes Reference
|
||||
|
||||
There are no additional attributes available for this resource.
|
@ -0,0 +1,44 @@
|
||||
---
|
||||
layout: page
|
||||
title: DNS
|
||||
permalink: /ressources/virtual-environment/dns
|
||||
nav_order: 3
|
||||
parent: Virtual Environment Resources
|
||||
grand_parent: Resources
|
||||
---
|
||||
|
||||
# Resource: DNS
|
||||
|
||||
Manages the DNS configuration for a specific node.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
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}"
|
||||
|
||||
servers = [
|
||||
"1.1.1.1",
|
||||
"1.0.0.1",
|
||||
]
|
||||
}
|
||||
|
||||
data "proxmox_virtual_environment_dns" "first_node_dns_configuration" {
|
||||
node_name = "first-node"
|
||||
}
|
||||
```
|
||||
|
||||
## Arguments Reference
|
||||
|
||||
* `domain` - (Required) The DNS search domain.
|
||||
* `node_name` - (Required) A node name.
|
||||
* `servers` - (Optional) The DNS servers.
|
||||
|
||||
## Attributes Reference
|
||||
|
||||
There are no additional attributes available for this resource.
|
||||
|
||||
## Important Notes
|
||||
|
||||
Be careful not to use this resource multiple times for the same node.
|
@ -0,0 +1,58 @@
|
||||
---
|
||||
layout: page
|
||||
title: File
|
||||
permalink: /ressources/virtual-environment/file
|
||||
nav_order: 4
|
||||
parent: Virtual Environment Resources
|
||||
grand_parent: Resources
|
||||
---
|
||||
|
||||
# Resource: File
|
||||
|
||||
Manages a file.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
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"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Arguments Reference
|
||||
|
||||
* `content_type` - (Optional) The content type.
|
||||
* `backup`
|
||||
* `iso`
|
||||
* `snippets`
|
||||
* `vztmpl`
|
||||
* `datastore_id` - (Required) The datastore id.
|
||||
* `node_name` - (Required) The node name.
|
||||
* `source_file` - (Optional) The source file (conflicts with `source_raw`).
|
||||
* `checksum` - (Optional) The SHA256 checksum of the source file.
|
||||
* `file_name` - (Optional) The file name to use instead of the source file name.
|
||||
* `insecure` - (Optional) Whether to skip the TLS verification step for HTTPS sources (defaults to `false`).
|
||||
* `path` - (Required) A path to a local file or a URL.
|
||||
* `source_raw` - (Optional) The raw source (conflicts with `source_file`).
|
||||
* `data` - (Required) The raw data.
|
||||
* `file_name` - (Required) The file name.
|
||||
* `resize` - (Optional) The number of bytes to resize the file to.
|
||||
|
||||
## Attributes Reference
|
||||
|
||||
* `file_modification_date` - The file modification date (RFC 3339).
|
||||
* `file_name` - The file name.
|
||||
* `file_size` - The file size in bytes.
|
||||
* `file_tag` - The file tag.
|
||||
|
||||
## 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.
|
||||
|
||||
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).
|
@ -0,0 +1,34 @@
|
||||
---
|
||||
layout: page
|
||||
title: Group
|
||||
permalink: /ressources/virtual-environment/group
|
||||
nav_order: 5
|
||||
parent: Virtual Environment Resources
|
||||
grand_parent: Resources
|
||||
---
|
||||
|
||||
# Resource: Group
|
||||
|
||||
Manages a user group.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
resource "proxmox_virtual_environment_group" "operations_team" {
|
||||
comment = "Managed by Terraform"
|
||||
group_id = "operations-team"
|
||||
}
|
||||
```
|
||||
|
||||
## Arguments Reference
|
||||
|
||||
* `acl` - (Optional) The access control list (multiple blocks supported).
|
||||
* `path` - The path.
|
||||
* `propagate` - Whether to propagate to child paths.
|
||||
* `role_id` - The role identifier.
|
||||
* `comment` - (Optional) The group comment.
|
||||
* `group_id` - (Required) The group identifier.
|
||||
|
||||
## Attributes Reference
|
||||
|
||||
* `members` - The group members as a list of `username@realm` entries
|
@ -0,0 +1,43 @@
|
||||
---
|
||||
layout: page
|
||||
title: Hosts
|
||||
permalink: /ressources/virtual-environment/hosts
|
||||
nav_order: 6
|
||||
parent: Virtual Environment Resources
|
||||
grand_parent: Resources
|
||||
---
|
||||
|
||||
# Resource: Hosts
|
||||
|
||||
Manages the host entries on a specific node.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
resource "proxmox_virtual_environment_hosts" "first_node_host_entries" {
|
||||
node_name = "first-node"
|
||||
|
||||
entry {
|
||||
address = "127.0.0.1"
|
||||
|
||||
hostnames = [
|
||||
"localhost",
|
||||
"localhost.localdomain",
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Arguments Reference
|
||||
|
||||
* `node_name` - (Required) A node name.
|
||||
* `entry` - (Required) A host entry (multiple blocks supported).
|
||||
* `address` - (Required) The IP address.
|
||||
* `hostnames` - (Required) The hostnames.
|
||||
|
||||
## Attributes Reference
|
||||
|
||||
* `addresses` - The IP addresses.
|
||||
* `digest` - The SHA1 digest.
|
||||
* `entries` - The host entries (conversion of `addresses` and `hostnames` into objects).
|
||||
* `hostnames` - The hostnames associated with each of the IP addresses.
|
@ -0,0 +1,35 @@
|
||||
---
|
||||
layout: page
|
||||
title: Pool
|
||||
permalink: /ressources/virtual-environment/pool
|
||||
nav_order: 7
|
||||
parent: Virtual Environment Resources
|
||||
grand_parent: Resources
|
||||
---
|
||||
|
||||
# Resource: Pool
|
||||
|
||||
Manages a resource pool.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
resource "proxmox_virtual_environment_pool" "operations_pool" {
|
||||
comment = "Managed by Terraform"
|
||||
pool_id = "operations-pool"
|
||||
}
|
||||
```
|
||||
|
||||
## Arguments Reference
|
||||
|
||||
* `comment` - (Optional) The pool comment.
|
||||
* `pool_id` - (Required) The pool identifier.
|
||||
|
||||
## Attributes Reference
|
||||
|
||||
* `members` - The pool members.
|
||||
* `datastore_id` - The datastore identifier.
|
||||
* `id` - The member identifier.
|
||||
* `node_name` - The node name.
|
||||
* `type` - The member type.
|
||||
* `vm_id` - The virtual machine identifier.
|
@ -0,0 +1,33 @@
|
||||
---
|
||||
layout: page
|
||||
title: Role
|
||||
permalink: /ressources/virtual-environment/role
|
||||
nav_order: 8
|
||||
parent: Virtual Environment Resources
|
||||
grand_parent: Resources
|
||||
---
|
||||
|
||||
# Resource: Role
|
||||
|
||||
Manages a role.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
resource "proxmox_virtual_environment_role" "operations_monitoring" {
|
||||
role_id = "operations-monitoring"
|
||||
|
||||
privileges = [
|
||||
"VM.Monitor",
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## Arguments Reference
|
||||
|
||||
* `privileges` - (Required) The role privileges.
|
||||
* `role_id` - (Required) The role identifier.
|
||||
|
||||
## Attributes Reference
|
||||
|
||||
There are no additional attributes available for this resource.
|
@ -0,0 +1,57 @@
|
||||
---
|
||||
layout: page
|
||||
title: User
|
||||
permalink: /ressources/virtual-environment/user
|
||||
nav_order: 9
|
||||
parent: Virtual Environment Resources
|
||||
grand_parent: Resources
|
||||
---
|
||||
|
||||
# Resource: User
|
||||
|
||||
Manages a user.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
resource "proxmox_virtual_environment_user" "operations_automation" {
|
||||
acl {
|
||||
path = "/vms/1234"
|
||||
propagate = true
|
||||
role_id = "${proxmox_virtual_environment_role.operations_monitoring.role_id}"
|
||||
}
|
||||
|
||||
comment = "Managed by Terraform"
|
||||
password = "a-strong-password"
|
||||
user_id = "operations-automation@pve"
|
||||
}
|
||||
|
||||
resource "proxmox_virtual_environment_role" "operations_monitoring" {
|
||||
role_id = "operations-monitoring"
|
||||
|
||||
privileges = [
|
||||
"VM.Monitor",
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## Arguments Reference
|
||||
|
||||
* `acl` - (Optional) The access control list (multiple blocks supported).
|
||||
* `path` - The path.
|
||||
* `propagate` - Whether to propagate to child paths.
|
||||
* `role_id` - The role identifier.
|
||||
* `comment` - (Optional) The user comment.
|
||||
* `email` - (Optional) The user's email address.
|
||||
* `enabled` - (Optional) Whether the user account is enabled.
|
||||
* `expiration_date` - (Optional) The user account's expiration date (RFC 3339).
|
||||
* `first_name` - (Optional) The user's first name.
|
||||
* `groups` - (Optional) The user's groups.
|
||||
* `keys` - (Optional) The user's keys.
|
||||
* `last_name` - (Optional) The user's last name.
|
||||
* `password` - (Required) The user's password.
|
||||
* `user_id` - (Required) The user identifier.
|
||||
|
||||
## Attributes Reference
|
||||
|
||||
There are no additional attributes available for this resource.
|
@ -0,0 +1,295 @@
|
||||
---
|
||||
layout: page
|
||||
title: VM
|
||||
permalink: /ressources/virtual-environment/vm
|
||||
nav_order: 10
|
||||
parent: Virtual Environment Resources
|
||||
grand_parent: Resources
|
||||
---
|
||||
|
||||
# Resource: VM
|
||||
|
||||
Manages a virtual machine.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
resource "proxmox_virtual_environment_vm" "ubuntu_vm" {
|
||||
name = "terraform-provider-proxmox-ubuntu-vm"
|
||||
description = "Managed by Terraform"
|
||||
|
||||
node_name = "first-node"
|
||||
vm_id = 4321
|
||||
|
||||
agent {
|
||||
enabled = true
|
||||
}
|
||||
|
||||
disk {
|
||||
datastore_id = "local-lvm"
|
||||
file_id = "${proxmox_virtual_environment_file.ubuntu_cloud_image.id}"
|
||||
}
|
||||
|
||||
initialization {
|
||||
ip_config {
|
||||
ipv4 {
|
||||
address = "dhcp"
|
||||
}
|
||||
}
|
||||
|
||||
user_account {
|
||||
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}"
|
||||
}
|
||||
|
||||
network_device {}
|
||||
|
||||
operating_system {
|
||||
type = "l26"
|
||||
}
|
||||
|
||||
serial_device {}
|
||||
}
|
||||
|
||||
resource "proxmox_virtual_environment_file" "ubuntu_cloud_image" {
|
||||
content_type = "iso"
|
||||
datastore_id = "local"
|
||||
node_name = "first-node"
|
||||
|
||||
source_file {
|
||||
path = "https://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img"
|
||||
}
|
||||
}
|
||||
|
||||
resource "random_password" "ubuntu_vm_password" {
|
||||
length = 16
|
||||
override_special = "_%@"
|
||||
special = true
|
||||
}
|
||||
|
||||
resource "tls_private_key" "ubuntu_vm_key" {
|
||||
algorithm = "RSA"
|
||||
rsa_bits = 2048
|
||||
}
|
||||
|
||||
output "ubuntu_vm_password" {
|
||||
value = "${random_password.ubuntu_vm_password.result}"
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
output "ubuntu_vm_private_key" {
|
||||
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}"
|
||||
}
|
||||
```
|
||||
|
||||
## Arguments Reference
|
||||
|
||||
* `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`).
|
||||
* `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.
|
||||
* `virtio` - VirtIO (paravirtualized).
|
||||
* `audio_device` - (Optional) An audio device.
|
||||
* `device` - (Optional) The device (defaults to `intel-hda`).
|
||||
* `AC97` - Intel 82801AA AC97 Audio.
|
||||
* `ich9-intel-hda` - Intel HD Audio Controller (ich9).
|
||||
* `intel-hda` - Intel HD Audio.
|
||||
* `driver` - (Optional) The driver (defaults to `spice`).
|
||||
* `spice` - Spice.
|
||||
* `enabled` - (Optional) Whether to enable the audio device (defaults to `true`).
|
||||
* `bios` - (Optional) The BIOS implementation (defaults to `seabios`).
|
||||
* `ovmf` - OVMF (UEFI).
|
||||
* `seabios` - SeaBIOS.
|
||||
* `cdrom` - (Optional) The CDROM configuration.
|
||||
* `enabled` - (Optional) Whether to enable the CDROM drive (defaults to `false`).
|
||||
* `file_id` - (Optional) A file ID for an ISO file (defaults to `cdrom` as in the physical drive).
|
||||
* `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).
|
||||
* `vm_id` - (Required) The identifier for the source VM.
|
||||
* `cpu` - (Optional) The CPU configuration.
|
||||
* `architecture` - (Optional) The CPU architecture (defaults to `x86_64`).
|
||||
* `aarch64` - ARM (64 bit).
|
||||
* `x86_64` - x86 (64-bit).
|
||||
* `cores` - (Optional) The number of CPU cores (defaults to `1`).
|
||||
* `flags` - (Optional) The CPU flags.
|
||||
* `+aes`/`-aes` - Activate AES instruction set for HW acceleration.
|
||||
* `+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).
|
||||
* `+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.
|
||||
* `+pdpe1gb`/`-pdpe1gb` - Allows guest OS to use 1 GB size pages, if host HW supports it.
|
||||
* `+spec-ctrl`/`-spec-ctrl` - Allows improved Spectre mitigation with Intel CPUs.
|
||||
* `+ssbd`/`-ssbd` - Protection for "Speculative Store Bypass" for Intel models.
|
||||
* `+virt-ssbd`/`-virt-ssbd` - Basis for "Speculative Store Bypass" protection for AMD models.
|
||||
* `hotplugged` - (Optional) The number of hotplugged vCPUs (defaults to `0`).
|
||||
* `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).
|
||||
* `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).
|
||||
* `Haswell`/`Haswell-IBRS`/`Haswell-noTSX`/`Haswell-noTSX-IBRS` - Intel Core Processor (Haswell, 2013).
|
||||
* `IvyBridge`/`IvyBridge-IBRS` - Intel Xeon E3-12xx v2 (Ivy Bridge, 2012).
|
||||
* `KnightsMill` - Intel Xeon Phi 72xx (2017).
|
||||
* `Nehalem`/`Nehalem-IBRS` - Intel Core i7 9xx (Nehalem Class Core i7, 2008).
|
||||
* `Opteron_G1` - AMD Opteron 240 (Gen 1 Class Opteron, 2004).
|
||||
* `Opteron_G2` - AMD Opteron 22xx (Gen 2 Class Opteron, 2006).
|
||||
* `Opteron_G3` - AMD Opteron 23xx (Gen 3 Class Opteron, 2009).
|
||||
* `Opteron_G4` - AMD Opteron 62xx class CPU (2011).
|
||||
* `Opteron_G5` - AMD Opteron 63xx class CPU (2012).
|
||||
* `Penryn` - Intel Core 2 Duo P9xxx (Penryn Class Core 2, 2007).
|
||||
* `SandyBridge`/`SandyBridge-IBRS` - Intel Xeon E312xx (Sandy Bridge, 2011).
|
||||
* `Skylake-Client`/`Skylake-Client-IBRS` - Intel Core Processor (Skylake, 2015).
|
||||
* `Skylake-Server`/`Skylake-Server-IBRS` - Intel Xeon Processor (Skylake, 2016).
|
||||
* `Westmere`/`Westmere-IBRS` - Intel Westmere E56xx/L56xx/X56xx (Nehalem-C, 2010).
|
||||
* `athlon` - AMD Athlon.
|
||||
* `core2duo` - Intel Core 2 Duo.
|
||||
* `coreduo` - Intel Core Duo.
|
||||
* `host` - Host passthrough.
|
||||
* `kvm32`/`kvm64` - Common KVM processor (32 & 64 bit variants).
|
||||
* `max` - Maximum amount of features from host CPU.
|
||||
* `pentium` - Intel Pentium (1993).
|
||||
* `pentium2` - Intel Pentium 2 (1997-1999).
|
||||
* `pentium3` - Intel Pentium 3 (1999-2001).
|
||||
* `phenom` - AMD Phenom (2010).
|
||||
* `qemu32`/`qemu64` - QEMU Virtual CPU version 2.5+ (32 & 64 bit variants).
|
||||
* `units` - (Optional) The CPU units (defaults to `1024`).
|
||||
* `description` - (Optional) The description.
|
||||
* `disk` - (Optional) A disk (multiple blocks supported).
|
||||
* `datastore_id` - (Optional) The identifier for the datastore to create the disk in (defaults to `local-lvm`).
|
||||
* `file_format` - (Optional) The file format (defaults to `qcow2`).
|
||||
* `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).
|
||||
* `size` - (Optional) The disk size in gigabytes (defaults to `8`).
|
||||
* `speed` - (Optional) The speed limits.
|
||||
* `read` - (Optional) The maximum read speed in megabytes per second.
|
||||
* `read_burstable` - (Optional) The maximum burstable read speed in megabytes per second.
|
||||
* `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 (conflicts with `cdrom`).
|
||||
* `dns` - (Optional) The DNS configuration.
|
||||
* `domain` - (Optional) The DNS search domain.
|
||||
* `server` - (Optional) The DNS server.
|
||||
* `ip_config` - (Optional) The IP configuration (one block per network device).
|
||||
* `ipv4` - (Optional) The IPv4 configuration.
|
||||
* `address` - (Optional) The IPv4 address (use `dhcp` for autodiscovery).
|
||||
* `gateway` - (Optional) The IPv4 gateway (must be omitted when `dhcp` is used as the address).
|
||||
* `ipv6` - (Optional) The IPv4 configuration.
|
||||
* `address` - (Optional) The IPv6 address (use `dhcp` for autodiscovery).
|
||||
* `gateway` - (Optional) The IPv6 gateway (must be omitted when `dhcp` is used as the address).
|
||||
* `user_account` - (Optional) The user account configuration (conflicts with `user_data_file_id`).
|
||||
* `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`).
|
||||
* `keyboard_layout` - (Optional) The keyboard layout (defaults to `en-us`).
|
||||
* `da` - Danish.
|
||||
* `de` - German.
|
||||
* `de-ch` - Swiss German.
|
||||
* `en-gb` - British English.
|
||||
* `en-us` - American English.
|
||||
* `es` - Spanish.
|
||||
* `fi` - Finnish.
|
||||
* `fr` - French.
|
||||
* `fr-be` - Belgian French.
|
||||
* `fr-ca` - French Canadian.
|
||||
* `fr-ch` - Swish French.
|
||||
* `hu` - Hungarian.
|
||||
* `is` - Icelandic.
|
||||
* `it` - Italian.
|
||||
* `ja` - Japanese.
|
||||
* `lt` - Lithuanian.
|
||||
* `mk` - Macedonian.
|
||||
* `nl` - Dutch.
|
||||
* `no` - Norwegian.
|
||||
* `pl` - Polish.
|
||||
* `pt` - Portuguese.
|
||||
* `pt-br` - Brazilian Portuguese.
|
||||
* `sl` - Slovenian.
|
||||
* `sv` - Swedish.
|
||||
* `tr` - Turkish.
|
||||
* `memory` - (Optional) The memory configuration.
|
||||
* `dedicated` - (Optional) The dedicated memory in megabytes (defaults to `512`).
|
||||
* `floating` - (Optional) The floating memory in megabytes (defaults to `0`).
|
||||
* `shared` - (Optional) The shared memory in megabytes (defaults to `0`).
|
||||
* `name` - (Optional) The virtual machine name.
|
||||
* `network_device` - (Optional) A network device (multiple blocks supported).
|
||||
* `bridge` - (Optional) The name of the network bridge (defaults to `vmbr0`).
|
||||
* `enabled` - (Optional) Whether to enable the network device (defaults to `true`).
|
||||
* `mac_address` - (Optional) The MAC address.
|
||||
* `model` - (Optional) The network device model (defaults to `virtio`).
|
||||
* `e1000` - Intel E1000.
|
||||
* `rtl8139` - Realtek RTL8139.
|
||||
* `virtio` - VirtIO (paravirtualized).
|
||||
* `vmxnet3` - VMware vmxnet3.
|
||||
* `rate_limit` - (Optional) The rate limit in megabytes per second.
|
||||
* `vlan_id` - (Optional) The VLAN identifier.
|
||||
* `node_name` - (Required) The name of the node to assign the virtual machine to.
|
||||
* `operating_system` - (Optional) The Operating System configuration.
|
||||
* `type` - (Optional) The type (defaults to `other`).
|
||||
* `l24` - Linux Kernel 2.4.
|
||||
* `l26` - Linux Kernel 2.6 - 5.X.
|
||||
* `other` - Unspecified OS.
|
||||
* `solaris` - OpenIndiania, OpenSolaris og Solaris Kernel.
|
||||
* `w2k` - Windows 2000.
|
||||
* `w2k3` - Windows 2003.
|
||||
* `w2k8` - Windows 2008.
|
||||
* `win7` - Windows 7.
|
||||
* `win8` - Windows 8, 2012 or 2012 R2.
|
||||
* `win10` - Windows 10 or 2016.
|
||||
* `wvista` - Windows Vista.
|
||||
* `wxp` - Windows XP.
|
||||
* `pool_id` - (Optional) The identifier for a pool to assign the virtual machine to.
|
||||
* `serial_device` - (Optional) A serial device (multiple blocks supported).
|
||||
* `device` - (Optional) The device (defaults to `socket`).
|
||||
* `/dev/*` - A host serial device.
|
||||
* `socket` - A unix socket.
|
||||
* `started` - (Optional) Whether to start the virtual machine (defaults to `true`).
|
||||
* `tablet_device` - (Optional) Whether to enable the USB tablet device (defaults to `true`).
|
||||
* `template` - (Optional) Whether to create a template (defaults to `false`).
|
||||
* `vga` - (Optional) The VGA configuration.
|
||||
* `enabled` - (Optional) Whether to enable the VGA device (defaults to `true`).
|
||||
* `memory` - (Optional) The VGA memory in megabytes (defaults to `16`).
|
||||
* `type` - (Optional) The VGA type (defaults to `std`).
|
||||
* `cirrus` - Cirrus (deprecated since QEMU 2.2).
|
||||
* `qxl` - SPICE.
|
||||
* `qxl2` - SPICE Dual Monitor.
|
||||
* `qxl3` - SPICE Triple Monitor.
|
||||
* `qxl4` - SPICE Quad Monitor.
|
||||
* `serial0` - Serial Terminal 0.
|
||||
* `serial1` - Serial Terminal 1.
|
||||
* `serial2` - Serial Terminal 2.
|
||||
* `serial3` - Serial Terminal 3.
|
||||
* `std` - Standard VGA.
|
||||
* `virtio` - VirtIO-GPU.
|
||||
* `vmware` - VMware Compatible.
|
||||
* `vm_id` - (Optional) The VM identifier.
|
||||
|
||||
## Attributes 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`)
|
||||
|
||||
## 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.
|
Loading…
Reference in New Issue
Block a user