diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..39327c9 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2018 The terraform-docs Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index de6143a..97dd257 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,431 @@ -[![terraform](https://img.shields.io/badge/terraform-purple?style=for-the-badge&logo=terraform)](https://terraform.io/) -[![proxmox](https://img.shields.io/badge/proxmox-orange?style=for-the-badge&logo=proxmox)](https://terraform.io/) -[![renovate](https://img.shields.io/badge/renovate-enabled-brightgreen?style=for-the-badge&logo=renovate)](https://github.com/renovatebot/renovate) +# terraform-docs -[![HitCount](https://hits.dwyl.com/binary-braids/terraform-proxmox.svg?style=flat-square&show=unique)](http://hits.dwyl.com/binary-braids/terraform-proxmox) +[![Build Status](https://github.com/terraform-docs/terraform-docs/workflows/ci/badge.svg)](https://github.com/terraform-docs/terraform-docs/actions) [![GoDoc](https://pkg.go.dev/badge/github.com/terraform-docs/terraform-docs)](https://pkg.go.dev/github.com/terraform-docs/terraform-docs) [![Go Report Card](https://goreportcard.com/badge/github.com/terraform-docs/terraform-docs)](https://goreportcard.com/report/github.com/terraform-docs/terraform-docs) [![Codecov Report](https://codecov.io/gh/terraform-docs/terraform-docs/branch/master/graph/badge.svg)](https://codecov.io/gh/terraform-docs/terraform-docs) [![License](https://img.shields.io/github/license/terraform-docs/terraform-docs)](https://github.com/terraform-docs/terraform-docs/blob/master/LICENSE) [![Latest release](https://img.shields.io/github/v/release/terraform-docs/terraform-docs)](https://github.com/terraform-docs/terraform-docs/releases) -# Terraform Proxmox +![terraform-docs-teaser](./images/terraform-docs-teaser.png) -This repository contains various Terraform modules for building proxmox resources. This project makes use of the BPG Proxmox Terraform provider. Setup and documentation for the provider can be found at the following link: https://registry.terraform.io/providers/bpg/proxmox/latest +## What is terraform-docs -## 📂 Repository structure +A utility to generate documentation from Terraform modules in various output formats. -The Git repository contains the following directories: +## Installation -```sh -📁 root -├─ .github -└─ production +macOS users can install using [Homebrew]: + +```bash +brew install terraform-docs +``` + +or + +```bash +brew install terraform-docs/tap/terraform-docs +``` + +Windows users can install using [Scoop]: + +```bash +scoop bucket add terraform-docs https://github.com/terraform-docs/scoop-bucket +scoop install terraform-docs +``` + +or [Chocolatey]: + +```bash +choco install terraform-docs +``` + +Stable binaries are also available on the [releases] page. To install, download the +binary for your platform from "Assets" and place this into your `$PATH`: + +```bash +curl -Lo ./terraform-docs.tar.gz https://github.com/terraform-docs/terraform-docs/releases/download/v0.17.0/terraform-docs-v0.17.0-$(uname)-amd64.tar.gz +tar -xzf terraform-docs.tar.gz +chmod +x terraform-docs +mv terraform-docs /usr/local/bin/terraform-docs +``` + +**NOTE:** Windows releases are in `ZIP` format. + +The latest version can be installed using `go install` or `go get`: + +```bash +# go1.17+ +go install github.com/terraform-docs/terraform-docs@v0.17.0 +``` + +```bash +# go1.16 +GO111MODULE="on" go get github.com/terraform-docs/terraform-docs@v0.17.0 +``` + +**NOTE:** please use the latest Go to do this, minimum `go1.16` is required. + +This will put `terraform-docs` in `$(go env GOPATH)/bin`. If you encounter the error +`terraform-docs: command not found` after installation then you may need to either add +that directory to your `$PATH` as shown [here] or do a manual installation by cloning +the repo and run `make build` from the repository which will put `terraform-docs` in: + +```bash +$(go env GOPATH)/src/github.com/terraform-docs/terraform-docs/bin/$(uname | tr '[:upper:]' '[:lower:]')-amd64/terraform-docs +``` + +## Usage + +### Running the binary directly + +To run and generate documentation into README within a directory: + +```bash +terraform-docs markdown table --output-file README.md --output-mode inject /path/to/module +``` + +Check [`output`] configuration for more details and examples. + +### Using docker + +terraform-docs can be run as a container by mounting a directory with `.tf` +files in it and run the following command: + +```bash +docker run --rm --volume "$(pwd):/terraform-docs" -u $(id -u) quay.io/terraform-docs/terraform-docs:0.17.0 markdown /terraform-docs +``` + +If `output.file` is not enabled for this module, generated output can be redirected +back to a file: + +```bash +docker run --rm --volume "$(pwd):/terraform-docs" -u $(id -u) quay.io/terraform-docs/terraform-docs:0.17.0 markdown /terraform-docs > doc.md +``` + +**NOTE:** Docker tag `latest` refers to _latest_ stable released version and `edge` +refers to HEAD of `master` at any given point in time. + +### Using GitHub Actions + +To use terraform-docs GitHub Action, configure a YAML workflow file (e.g. +`.github/workflows/documentation.yml`) with the following: + +```yaml +name: Generate terraform docs +on: + - pull_request + +jobs: + docs: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + ref: ${{ github.event.pull_request.head.ref }} + + - name: Render terraform docs and push changes back to PR + uses: terraform-docs/gh-actions@main + with: + working-dir: . + output-file: README.md + output-method: inject + git-push: "true" +``` + +Read more about [terraform-docs GitHub Action] and its configuration and +examples. + +### pre-commit hook + +With pre-commit, you can ensure your Terraform module documentation is kept +up-to-date each time you make a commit. + +First [install pre-commit] and then create or update a `.pre-commit-config.yaml` +in the root of your Git repo with at least the following content: + +```yaml +repos: + - repo: https://github.com/terraform-docs/terraform-docs + rev: "v0.17.0" + hooks: + - id: terraform-docs-go + args: ["markdown", "table", "--output-file", "README.md", "./mymodule/path"] +``` + +Then run: + +```bash +pre-commit install +pre-commit install-hooks +``` + +Further changes to your module's `.tf` files will cause an update to documentation +when you make a commit. + +## Configuration + +terraform-docs can be configured with a yaml file. The default name of this file is +`.terraform-docs.yml` and the path order for locating it is: + +1. root of module directory +1. `.config/` folder at root of module directory +1. current directory +1. `.config/` folder at current directory +1. `$HOME/.tfdocs.d/` + +```yaml +formatter: "" # this is required + +version: "" + +header-from: main.tf +footer-from: "" + +recursive: + enabled: false + path: modules + +sections: + hide: [] + show: [] + +content: "" + +output: + file: "" + mode: inject + template: |- + + {{ .Content }} + + +output-values: + enabled: false + from: "" + +sort: + enabled: true + by: name + +settings: + anchor: true + color: true + default: true + description: false + escape: true + hide-empty: false + html: true + indent: 2 + lockfile: true + read-comments: true + required: true + sensitive: true + type: true ``` -## Getting started -The main terraform modules can be utilised with your own variables to deploy Proxmox resources. +## Content Template + +Generated content can be customized further away with `content` in configuration. +If the `content` is empty the default order of sections is used. + +Compatible formatters for customized content are `asciidoc` and `markdown`. `content` +will be ignored for other formatters. + +`content` is a Go template with following additional variables: + +- `{{ .Header }}` +- `{{ .Footer }}` +- `{{ .Inputs }}` +- `{{ .Modules }}` +- `{{ .Outputs }}` +- `{{ .Providers }}` +- `{{ .Requirements }}` +- `{{ .Resources }}` + +and following functions: + +- `{{ include "relative/path/to/file" }}` + +These variables are the generated output of individual sections in the selected +formatter. For example `{{ .Inputs }}` is Markdown Table representation of _inputs_ +when formatter is set to `markdown table`. + +Note that sections visibility (i.e. `sections.show` and `sections.hide`) takes +precedence over the `content`. + +Additionally there's also one extra special variable avaialble to the `content`: + +- `{{ .Module }}` + +As opposed to the other variables mentioned above, which are generated sections +based on a selected formatter, the `{{ .Module }}` variable is just a `struct` +representing a [Terraform module]. + +````yaml +content: |- + Any arbitrary text can be placed anywhere in the content + + {{ .Header }} + + and even in between sections + + {{ .Providers }} + + and they don't even need to be in the default order + + {{ .Outputs }} + + include any relative files + + {{ include "relative/path/to/file" }} + + {{ .Inputs }} + + # Examples + + ```hcl + {{ include "examples/foo/main.tf" }} + ``` + + ## Resources + + {{ range .Module.Resources }} + - {{ .GetMode }}.{{ .Spec }} ({{ .Position.Filename }}#{{ .Position.Line }}) + {{- end }} +```` + +## Build on top of terraform-docs + +terraform-docs primary use-case is to be utilized as a standalone binary, but +some parts of it is also available publicly and can be imported in your project +as a library. + +```go +import ( + "github.com/terraform-docs/terraform-docs/format" + "github.com/terraform-docs/terraform-docs/print" + "github.com/terraform-docs/terraform-docs/terraform" +) + +// buildTerraformDocs for module root `path` and provided content `tmpl`. +func buildTerraformDocs(path string, tmpl string) (string, error) { + config := print.DefaultConfig() + config.ModuleRoot = path // module root path (can be relative or absolute) + + module, err := terraform.LoadWithOptions(config) + if err != nil { + return "", err + } + + // Generate in Markdown Table format + formatter := format.NewMarkdownTable(config) + + if err := formatter.Generate(module); err != nil { + return "", err + } + + // // Note: if you don't intend to provide additional template for the generated + // // content, or the target format doesn't provide templating (e.g. json, yaml, + // // xml, or toml) you can use `Content()` function instead of `Render()`. + // // `Content()` returns all the sections combined with predefined order. + // return formatter.Content(), nil + + return formatter.Render(tmpl) +} +``` + +## Plugin + +Generated output can be heavily customized with [`content`], but if using that +is not enough for your use-case, you can write your own plugin. + +In order to install a plugin the following steps are needed: + +- download the plugin and place it in `~/.tfdocs.d/plugins` (or `./.tfdocs.d/plugins`) +- make sure the plugin file name is `tfdocs-format-` +- modify [`formatter`] of `.terraform-docs.yml` file to be `` + +**Important notes:** + +- if the plugin file name is different than the example above, terraform-docs won't +be able to to pick it up nor register it properly +- you can only use plugin thorough `.terraform-docs.yml` file and it cannot be used +with CLI arguments + +To create a new plugin create a new repository called `tfdocs-format-` with +following `main.go`: + +```go +package main + +import ( + _ "embed" //nolint + + "github.com/terraform-docs/terraform-docs/plugin" + "github.com/terraform-docs/terraform-docs/print" + "github.com/terraform-docs/terraform-docs/template" + "github.com/terraform-docs/terraform-docs/terraform" +) + +func main() { + plugin.Serve(&plugin.ServeOpts{ + Name: "", + Version: "0.1.0", + Printer: printerFunc, + }) +} + +//go:embed sections.tmpl +var tplCustom []byte + +// printerFunc the function being executed by the plugin client. +func printerFunc(config *print.Config, module *terraform.Module) (string, error) { + tpl := template.New(config, + &template.Item{Name: "custom", Text: string(tplCustom)}, + ) + + rendered, err := tpl.Render("custom", module) + if err != nil { + return "", err + } + + return rendered, nil +} +``` + +Please refer to [tfdocs-format-template] for more details. You can create a new +repository from it by clicking on `Use this template` button. + +## Documentation + +- **Users** + - Read the [User Guide] to learn how to use terraform-docs + - Read the [Formats Guide] to learn about different output formats of terraform-docs + - Refer to [Config File Reference] for all the available configuration options +- **Developers** + - Read [Contributing Guide] before submitting a pull request + +Visit [our website] for all documentation. + +## Community + +- Discuss terraform-docs on [Slack] + +## License + +MIT License - Copyright (c) 2021 The terraform-docs Authors. + +[Chocolatey]: https://www.chocolatey.org +[Config File Reference]: https://terraform-docs.io/user-guide/configuration/ +[`content`]: https://terraform-docs.io/user-guide/configuration/content/ +[Contributing Guide]: CONTRIBUTING.md +[Formats Guide]: https://terraform-docs.io/reference/terraform-docs/ +[`formatter`]: https://terraform-docs.io/user-guide/configuration/formatter/ +[here]: https://golang.org/doc/code.html#GOPATH +[Homebrew]: https://brew.sh +[install pre-commit]: https://pre-commit.com/#install +[`output`]: https://terraform-docs.io/user-guide/configuration/output/ +[releases]: https://github.com/terraform-docs/terraform-docs/releases +[Scoop]: https://scoop.sh/ +[Slack]: https://slack.terraform-docs.io/ +[terraform-docs GitHub Action]: https://github.com/terraform-docs/gh-actions +[Terraform module]: https://pkg.go.dev/github.com/terraform-docs/terraform-docs/terraform#Module +[tfdocs-format-template]: https://github.com/terraform-docs/tfdocs-format-template +[our website]: https://terraform-docs.io/ +[User Guide]: https://terraform-docs.io/user-guide/introduction/ diff --git a/production/host_01/.terraform.lock.hcl b/production/host_01/.terraform.lock.hcl index 849593a..ba4aaa2 100644 --- a/production/host_01/.terraform.lock.hcl +++ b/production/host_01/.terraform.lock.hcl @@ -2,24 +2,37 @@ # Manual edits may be lost in future updates. provider "registry.terraform.io/bpg/proxmox" { - version = "0.63.0" - constraints = "0.63.0" + version = "0.64.0" + constraints = "0.64.0" hashes = [ - "h1:sw+rVAzGt/DDOWT6Bb5VUqnnw8IGZx0IDVPHatlGRD8=", - "zh:0cbf27ac181c7d080e14ee3127ecb7e41addf7f143cedc948a16637d31f6491f", - "zh:11a187b3785209e13d8a2c9bfcb6f6da6bebafafe1da613c2e53fdfd69b7a619", - "zh:25fbd3ffe86d7c15eb878c2ad0cb8514d0a1cc2289b461759cbee5109c8a6464", - "zh:274b904c7aa91c30334c4aad9a9c5da8e768010cc2ba3c01031b90b5f289753a", - "zh:3b2a683d239e086164be7b9b3202019d95c882c50976196de41f9feba6ead712", - "zh:4fb53446a2796df382b25b53187f7ea3d20fe73f0d2607ad9bde3d5c3ba75e8b", - "zh:80a2ebe50ddabc52a54827ae25a46eadcdf1461f873ee855605f8a2697fb6ae2", - "zh:8bf00ffa014b4f879692d4894f4c488f61caa4aad870c293498e9a7bd453ab4e", - "zh:9b32a93dd6e9ed34e411adf4777864665d1c71314c455259922b6d631bc9fb7d", - "zh:a4673edfa7ab6fd0236f7e536e52eb1d20c832758e997f49e672961e6f53b192", - "zh:b3fa232173ce9af4e913ba5c22d24ff411aa9d81a3deca2f34176f4a77be67bb", - "zh:cde88548ece76ed778e35a3d17d2fd50eab005e03fa66c018affb622a3abab1c", - "zh:d6ed9087441f7833b7dee7207002c1258bc8edb6432759ea7d09c02abb36ae3c", + "h1:+Bq3vb6cOI+Irsk+eXOjNh04AHOcTpESjYhXyJ/QLiM=", + "h1:+UXQSROVzqfXoQJAbEfCaa748eykn4SVjwhRfl31rBU=", + "h1:2AcCleuTs+mH7JA+/4r9DG5TWBdGcDTRgzrQL4apY/c=", + "h1:48LLD6Guj7EUOnbvZnhOLUJWPclLuwO3xLoIIQHgceU=", + "h1:8Yx2IdANhWmi6FZpuQf7JEw/QSXmEm3kiKCvqbKmNeA=", + "h1:BFv6fkhfmZVt71QrmCBhnwTkjeTua8ixtSXhJQ2NJxw=", + "h1:LXPaNsvoLHZTU9Wv+SbyyGRDyQO4G0ToVOeH+EdFmYM=", + "h1:UDcHOyxiPpIjRjaWkmYRDyvMDWo9mHusnSV/Rn0Hw4g=", + "h1:cKFWUEJHA3LjBtj9MPN8ZQWV1Zl8rMriaYAhWHOL7D8=", + "h1:dy/viIJN7V/+HLKHw40CZMd8TWk028SVnGk4EmLs2CE=", + "h1:euEhOKW96Eg02z29xDve8lI4I7iEGwhKfufwde8IDRE=", + "h1:kIwSyZTpRuoK9+BUuux93kIPNIZSxYA5UqijbI4mtOc=", + "h1:wIIQPx1X/oOAFhBxhishKl6JM0kjd9vqod0KF0mCWUs=", + "h1:xRSMJuEUsOEH6ipn7yhxvaRuxknAYmJ6qe/684YpsMY=", + "zh:03a8b5acbccfcda36483d8d95be04102104bace422c0940b49ebfe46a241d8c3", + "zh:14c48398a48d31b95e5cfc28cce6cd76f06bbbddd351a34cb5502d1ce872d5fe", + "zh:19e4409047113bdfadf99d41ce832091cb47facb83b7261617db9bc102c880e8", + "zh:2c375cf8195e3a672f7cb212884ad287b15073f7b0ff2c56dee480976b8c5185", + "zh:49c198f1f869d662453158b3fd6dddace7772715ea8672c3dd28a0d3e8a99214", + "zh:5b663263d6aef7fd01dca2b7864a8e6446559fe11c8c922baabaec81a6c4cd5a", + "zh:81fda18fa0a8a3cc07b507f1b9ac4b846e5bf8d102f83d9838242ba323ae8167", + "zh:90f0fc87eb2a3c4c42354335f8cfff803c5fa4bdd175f83ad503e11a8a551bcc", + "zh:957831b804e1316053f3793b968b7160c90847fac42d5be4c5a8aace7d89fedc", + "zh:a0fe31ad67e780bd54e18c10d1a1431d09b3f196a784ce511361d7b820a41e82", + "zh:ca6eebbdb51714c86a2ab073eefbc5d8a36a82fb9b30602bb41ed3235c4c93d8", + "zh:da27e9f0937332c189f56989826d7a18fc080790178b08cd8472313cb386f3bc", + "zh:e38847c628393868c4e8dafc9198c3e7ac29f0df74dff29be7e85a04bd71c345", "zh:f26e0763dbe6a6b2195c94b44696f2110f7f55433dc142839be16b9697fa5597", - "zh:ff3c8937ae522c67a7b7ba8d7ecd3252335b0134b0e1d375aeae24ba9e5d2201", + "zh:f71d45071207e78f671f120a721f759be65464178b69d560fe4d85ef4896efca", ] } diff --git a/production/host_01/README.md b/production/host_01/README.md new file mode 100644 index 0000000..8f9eba3 --- /dev/null +++ b/production/host_01/README.md @@ -0,0 +1,70 @@ + +## Requirements + +| Name | Version | +|------|---------| +| [terraform](#requirement\_terraform) | >= 1.6.0 | +| [proxmox](#requirement\_proxmox) | 0.64.0 | + +## Providers + +| Name | Version | +|------|---------| +| [proxmox](#provider\_proxmox) | 0.64.0 | + +## Modules + +No modules. + +## Resources + +| Name | Type | +|------|------| +| [proxmox_virtual_environment_vm.dc01](https://registry.terraform.io/providers/bpg/proxmox/0.64.0/docs/resources/virtual_environment_vm) | resource | +| [proxmox_virtual_environment_vm.file_server](https://registry.terraform.io/providers/bpg/proxmox/0.64.0/docs/resources/virtual_environment_vm) | resource | + +## Inputs + +| Name | Description | Type | Default | Required | +|------|-------------|------|---------|:--------:| +| [dc01\_bios](#input\_dc01\_bios) | The BIOS to use, options are seabios or ovmf for UEFI | `string` | n/a | yes | +| [dc01\_bridge](#input\_dc01\_bridge) | Bridge to which the network device should be attached. The Proxmox VE standard bridge is called vmbr0. | `string` | n/a | yes | +| [dc01\_cores](#input\_dc01\_cores) | The number of CPU cores per CPU socket to allocate to the VM. | `number` | n/a | yes | +| [dc01\_description](#input\_dc01\_description) | The description of the VM | `string` | n/a | yes | +| [dc01\_disk\_size](#input\_dc01\_disk\_size) | The size of the created disk specified in GB | `number` | n/a | yes | +| [dc01\_disk\_storage](#input\_dc01\_disk\_storage) | Required when type=disk and passthrough=false. The name of the storage pool on which to store the disk. | `string` | n/a | yes | +| [dc01\_efi\_disk\_file\_format](#input\_dc01\_efi\_disk\_file\_format) | The file format of the efi disk. Defaults to raw | `string` | n/a | yes | +| [dc01\_efi\_disk\_type](#input\_dc01\_efi\_disk\_type) | The type of efi disk device to add. Options: 2m, 4m | `string` | n/a | yes | +| [dc01\_efi\_storage](#input\_dc01\_efi\_storage) | The name of the storage pool on which to store the disk. | `string` | n/a | yes | +| [dc01\_firewall](#input\_dc01\_firewall) | Specify if VM firewall is enabled or disabled. | `bool` | n/a | yes | +| [dc01\_memory](#input\_dc01\_memory) | The amount of memory to allocate to the VM in Megabytes. | `number` | n/a | yes | +| [dc01\_model](#input\_dc01\_model) | Network Card Model. The virtio model provides the best performance with very low CPU overhead. If your guest does not support this driver, it is usually best to use e1000. Options: e1000, e1000-82540em, e1000-82544gc, e1000-82545em, i82551, i82557b, i82559er, ne2k\_isa, ne2k\_pci, pcnet, rtl8139, virtio, vmxnet3. | `string` | n/a | yes | +| [dc01\_name](#input\_dc01\_name) | The name of the VM within Proxmox | `string` | n/a | yes | +| [dc01\_os\_type](#input\_dc01\_os\_type) | The OS type for the VM | `string` | n/a | yes | +| [dc01\_sockets](#input\_dc01\_sockets) | The number of CPU sockets to allocate to the VM. | `number` | n/a | yes | +| [dc01\_startup\_delay](#input\_dc01\_startup\_delay) | The number of seconds to delay before the next VM is started | `number` | n/a | yes | +| [dc01\_startup\_order](#input\_dc01\_startup\_order) | The startup order for the VM | `number` | n/a | yes | +| [dc01\_vm\_id](#input\_dc01\_vm\_id) | The ID of the VM | `number` | n/a | yes | +| [file\_server\_bios](#input\_file\_server\_bios) | The BIOS to use, options are seabios or ovmf for UEFI | `string` | n/a | yes | +| [file\_server\_bridge](#input\_file\_server\_bridge) | Bridge to which the network device should be attached. The Proxmox VE standard bridge is called vmbr0. | `string` | n/a | yes | +| [file\_server\_cores](#input\_file\_server\_cores) | The number of CPU cores per CPU socket to allocate to the VM. | `number` | n/a | yes | +| [file\_server\_description](#input\_file\_server\_description) | The description of the VM. Shows as the 'Notes' field in the Proxmox GUI | `string` | n/a | yes | +| [file\_server\_disk\_1\_size](#input\_file\_server\_disk\_1\_size) | The size of the created disk. Accepts K for kibibytes, M for mebibytes, G for gibibytes, T for tibibytes. When only a number is provided gibibytes is assumed. Required when type=disk and passthrough=false, Computed when type=disk and passthrough=true. | `string` | n/a | yes | +| [file\_server\_disk\_1\_storage](#input\_file\_server\_disk\_1\_storage) | Required when type=disk and passthrough=false. The name of the storage pool on which to store the disk. | `string` | n/a | yes | +| [file\_server\_disk\_size](#input\_file\_server\_disk\_size) | The size of the created disk. Accepts K for kibibytes, M for mebibytes, G for gibibytes, T for tibibytes. When only a number is provided gibibytes is assumed. Required when type=disk and passthrough=false, Computed when type=disk and passthrough=true. | `string` | n/a | yes | +| [file\_server\_disk\_storage](#input\_file\_server\_disk\_storage) | Required when type=disk and passthrough=false. The name of the storage pool on which to store the disk. | `string` | n/a | yes | +| [file\_server\_firewall](#input\_file\_server\_firewall) | Specify if VM firewall is enabled or disabled. | `bool` | n/a | yes | +| [file\_server\_memory](#input\_file\_server\_memory) | The amount of memory to allocate to the VM in Megabytes. | `number` | n/a | yes | +| [file\_server\_model](#input\_file\_server\_model) | Network Card Model. The virtio model provides the best performance with very low CPU overhead. If your guest does not support this driver, it is usually best to use e1000. Options: e1000, e1000-82540em, e1000-82544gc, e1000-82545em, i82551, i82557b, i82559er, ne2k\_isa, ne2k\_pci, pcnet, rtl8139, virtio, vmxnet3. | `string` | n/a | yes | +| [file\_server\_name](#input\_file\_server\_name) | The name of the VM within Proxmox | `string` | n/a | yes | +| [file\_server\_os\_type](#input\_file\_server\_os\_type) | Which provisioning method to use, based on the OS type. Options: ubuntu, centos, cloud-init. | `string` | n/a | yes | +| [file\_server\_sockets](#input\_file\_server\_sockets) | The number of CPU sockets to allocate to the VM. | `number` | n/a | yes | +| [file\_server\_startup\_delay](#input\_file\_server\_startup\_delay) | The number of seconds to delay before the next VM is started | `number` | n/a | yes | +| [file\_server\_startup\_order](#input\_file\_server\_startup\_order) | The startup order for the VM | `number` | n/a | yes | +| [file\_server\_vm\_id](#input\_file\_server\_vm\_id) | The ID of the VM | `number` | n/a | yes | +| [node\_name](#input\_node\_name) | The target node | `string` | n/a | yes | + +## Outputs + +No outputs. + \ No newline at end of file diff --git a/production/host_01/providers.tf b/production/host_01/providers.tf index b44d51c..c025290 100644 --- a/production/host_01/providers.tf +++ b/production/host_01/providers.tf @@ -2,8 +2,8 @@ terraform { required_version = ">= 1.6.0" required_providers { proxmox = { - source = "bpg/proxmox" - version = "0.63.0" + source = "bpg/proxmox" + version = "0.64.0" } } backend "remote" { diff --git a/production/host_01/terraform.tfvars b/production/host_01/terraform.tfvars index a7d67ba..9816836 100644 --- a/production/host_01/terraform.tfvars +++ b/production/host_01/terraform.tfvars @@ -22,20 +22,20 @@ dc01_firewall = true dc01_model = "virtio" # File Server -file_server_name = "vm-prod-fs-01" -file_server_vm_id = 103 -file_server_description = "File Server" -file_server_bios = "seabios" -file_server_startup_order = 2 -file_server_startup_delay = 30 -file_server_cores = 2 -file_server_sockets = 2 -file_server_memory = 1024 -file_server_os_type = "l26" -file_server_disk_size = 20 -file_server_disk_storage = "VM-240GB-SSD" -file_server_disk_1_size = 90 -file_server_disk_1_storage = "VM-240GB-SSD" -file_server_bridge = "vmbr0" -file_server_firewall = true -file_server_model = "virtio" \ No newline at end of file +file_server_name = "vm-prod-fs-01" +file_server_vm_id = 103 +file_server_description = "File Server" +file_server_bios = "seabios" +file_server_startup_order = 2 +file_server_startup_delay = 30 +file_server_cores = 2 +file_server_sockets = 2 +file_server_memory = 1024 +file_server_os_type = "l26" +file_server_disk_size = 20 +file_server_disk_storage = "VM-240GB-SSD" +file_server_disk_1_size = 90 +file_server_disk_1_storage = "VM-240GB-SSD" +file_server_bridge = "vmbr0" +file_server_firewall = true +file_server_model = "virtio" \ No newline at end of file diff --git a/production/host_01/variables.tf b/production/host_01/variables.tf index acc3b56..2d07fc3 100644 --- a/production/host_01/variables.tf +++ b/production/host_01/variables.tf @@ -1,4 +1,4 @@ variable "node_name" { description = "The target node" - type = string + type = string } \ No newline at end of file diff --git a/production/host_01/virtual_machines.tf b/production/host_01/virtual_machines.tf index 67c7616..610775c 100644 --- a/production/host_01/virtual_machines.tf +++ b/production/host_01/virtual_machines.tf @@ -15,12 +15,12 @@ resource "proxmox_virtual_environment_vm" "dc01" { } startup { - order = var.dc01_startup_order - up_delay = var.dc01_startup_delay + order = var.dc01_startup_order + up_delay = var.dc01_startup_delay } cpu { - cores = var.dc01_cores + cores = var.dc01_cores sockets = var.dc01_sockets } @@ -29,9 +29,9 @@ resource "proxmox_virtual_environment_vm" "dc01" { } efi_disk { - datastore_id = var.dc01_efi_storage - file_format = var.dc01_efi_disk_file_format - type = var.dc01_efi_disk_type + datastore_id = var.dc01_efi_storage + file_format = var.dc01_efi_disk_file_format + type = var.dc01_efi_disk_type pre_enrolled_keys = true } @@ -42,9 +42,9 @@ resource "proxmox_virtual_environment_vm" "dc01" { } network_device { - bridge = var.dc01_bridge + bridge = var.dc01_bridge firewall = var.dc01_firewall - model = var.dc01_model + model = var.dc01_model } operating_system { @@ -67,12 +67,12 @@ resource "proxmox_virtual_environment_vm" "file_server" { } startup { - order = var.file_server_startup_order - up_delay = var.file_server_startup_delay + order = var.file_server_startup_order + up_delay = var.file_server_startup_delay } cpu { - cores = var.file_server_cores + cores = var.file_server_cores sockets = var.file_server_sockets } @@ -88,14 +88,14 @@ resource "proxmox_virtual_environment_vm" "file_server" { disk { datastore_id = var.file_server_disk_1_storage - interface = "sata1" - size = var.file_server_disk_1_size + interface = "sata1" + size = var.file_server_disk_1_size } network_device { - bridge = var.file_server_bridge + bridge = var.file_server_bridge firewall = var.file_server_firewall - model = var.file_server_model + model = var.file_server_model } operating_system { diff --git a/production/host_02/.terraform.lock.hcl b/production/host_02/.terraform.lock.hcl index 849593a..ba4aaa2 100644 --- a/production/host_02/.terraform.lock.hcl +++ b/production/host_02/.terraform.lock.hcl @@ -2,24 +2,37 @@ # Manual edits may be lost in future updates. provider "registry.terraform.io/bpg/proxmox" { - version = "0.63.0" - constraints = "0.63.0" + version = "0.64.0" + constraints = "0.64.0" hashes = [ - "h1:sw+rVAzGt/DDOWT6Bb5VUqnnw8IGZx0IDVPHatlGRD8=", - "zh:0cbf27ac181c7d080e14ee3127ecb7e41addf7f143cedc948a16637d31f6491f", - "zh:11a187b3785209e13d8a2c9bfcb6f6da6bebafafe1da613c2e53fdfd69b7a619", - "zh:25fbd3ffe86d7c15eb878c2ad0cb8514d0a1cc2289b461759cbee5109c8a6464", - "zh:274b904c7aa91c30334c4aad9a9c5da8e768010cc2ba3c01031b90b5f289753a", - "zh:3b2a683d239e086164be7b9b3202019d95c882c50976196de41f9feba6ead712", - "zh:4fb53446a2796df382b25b53187f7ea3d20fe73f0d2607ad9bde3d5c3ba75e8b", - "zh:80a2ebe50ddabc52a54827ae25a46eadcdf1461f873ee855605f8a2697fb6ae2", - "zh:8bf00ffa014b4f879692d4894f4c488f61caa4aad870c293498e9a7bd453ab4e", - "zh:9b32a93dd6e9ed34e411adf4777864665d1c71314c455259922b6d631bc9fb7d", - "zh:a4673edfa7ab6fd0236f7e536e52eb1d20c832758e997f49e672961e6f53b192", - "zh:b3fa232173ce9af4e913ba5c22d24ff411aa9d81a3deca2f34176f4a77be67bb", - "zh:cde88548ece76ed778e35a3d17d2fd50eab005e03fa66c018affb622a3abab1c", - "zh:d6ed9087441f7833b7dee7207002c1258bc8edb6432759ea7d09c02abb36ae3c", + "h1:+Bq3vb6cOI+Irsk+eXOjNh04AHOcTpESjYhXyJ/QLiM=", + "h1:+UXQSROVzqfXoQJAbEfCaa748eykn4SVjwhRfl31rBU=", + "h1:2AcCleuTs+mH7JA+/4r9DG5TWBdGcDTRgzrQL4apY/c=", + "h1:48LLD6Guj7EUOnbvZnhOLUJWPclLuwO3xLoIIQHgceU=", + "h1:8Yx2IdANhWmi6FZpuQf7JEw/QSXmEm3kiKCvqbKmNeA=", + "h1:BFv6fkhfmZVt71QrmCBhnwTkjeTua8ixtSXhJQ2NJxw=", + "h1:LXPaNsvoLHZTU9Wv+SbyyGRDyQO4G0ToVOeH+EdFmYM=", + "h1:UDcHOyxiPpIjRjaWkmYRDyvMDWo9mHusnSV/Rn0Hw4g=", + "h1:cKFWUEJHA3LjBtj9MPN8ZQWV1Zl8rMriaYAhWHOL7D8=", + "h1:dy/viIJN7V/+HLKHw40CZMd8TWk028SVnGk4EmLs2CE=", + "h1:euEhOKW96Eg02z29xDve8lI4I7iEGwhKfufwde8IDRE=", + "h1:kIwSyZTpRuoK9+BUuux93kIPNIZSxYA5UqijbI4mtOc=", + "h1:wIIQPx1X/oOAFhBxhishKl6JM0kjd9vqod0KF0mCWUs=", + "h1:xRSMJuEUsOEH6ipn7yhxvaRuxknAYmJ6qe/684YpsMY=", + "zh:03a8b5acbccfcda36483d8d95be04102104bace422c0940b49ebfe46a241d8c3", + "zh:14c48398a48d31b95e5cfc28cce6cd76f06bbbddd351a34cb5502d1ce872d5fe", + "zh:19e4409047113bdfadf99d41ce832091cb47facb83b7261617db9bc102c880e8", + "zh:2c375cf8195e3a672f7cb212884ad287b15073f7b0ff2c56dee480976b8c5185", + "zh:49c198f1f869d662453158b3fd6dddace7772715ea8672c3dd28a0d3e8a99214", + "zh:5b663263d6aef7fd01dca2b7864a8e6446559fe11c8c922baabaec81a6c4cd5a", + "zh:81fda18fa0a8a3cc07b507f1b9ac4b846e5bf8d102f83d9838242ba323ae8167", + "zh:90f0fc87eb2a3c4c42354335f8cfff803c5fa4bdd175f83ad503e11a8a551bcc", + "zh:957831b804e1316053f3793b968b7160c90847fac42d5be4c5a8aace7d89fedc", + "zh:a0fe31ad67e780bd54e18c10d1a1431d09b3f196a784ce511361d7b820a41e82", + "zh:ca6eebbdb51714c86a2ab073eefbc5d8a36a82fb9b30602bb41ed3235c4c93d8", + "zh:da27e9f0937332c189f56989826d7a18fc080790178b08cd8472313cb386f3bc", + "zh:e38847c628393868c4e8dafc9198c3e7ac29f0df74dff29be7e85a04bd71c345", "zh:f26e0763dbe6a6b2195c94b44696f2110f7f55433dc142839be16b9697fa5597", - "zh:ff3c8937ae522c67a7b7ba8d7ecd3252335b0134b0e1d375aeae24ba9e5d2201", + "zh:f71d45071207e78f671f120a721f759be65464178b69d560fe4d85ef4896efca", ] } diff --git a/production/host_02/README.md b/production/host_02/README.md new file mode 100644 index 0000000..40e5810 --- /dev/null +++ b/production/host_02/README.md @@ -0,0 +1,90 @@ + +## Requirements + +| Name | Version | +|------|---------| +| [terraform](#requirement\_terraform) | >= 1.6.0 | +| [proxmox](#requirement\_proxmox) | 0.64.0 | + +## Providers + +| Name | Version | +|------|---------| +| [proxmox](#provider\_proxmox) | 0.64.0 | + +## Modules + +No modules. + +## Resources + +| Name | Type | +|------|------| +| [proxmox_virtual_environment_vm.dc02](https://registry.terraform.io/providers/bpg/proxmox/0.64.0/docs/resources/virtual_environment_vm) | resource | +| [proxmox_virtual_environment_vm.docker](https://registry.terraform.io/providers/bpg/proxmox/0.64.0/docs/resources/virtual_environment_vm) | resource | +| [proxmox_virtual_environment_vm.veeam](https://registry.terraform.io/providers/bpg/proxmox/0.64.0/docs/resources/virtual_environment_vm) | resource | + +## Inputs + +| Name | Description | Type | Default | Required | +|------|-------------|------|---------|:--------:| +| [dc02\_bios](#input\_dc02\_bios) | The BIOS to use, options are seabios or ovmf for UEFI | `string` | n/a | yes | +| [dc02\_bridge](#input\_dc02\_bridge) | Bridge to which the network device should be attached. The Proxmox VE standard bridge is called vmbr0. | `string` | n/a | yes | +| [dc02\_cores](#input\_dc02\_cores) | The number of CPU cores per CPU socket to allocate to the VM. | `number` | n/a | yes | +| [dc02\_description](#input\_dc02\_description) | The description of the VM | `string` | n/a | yes | +| [dc02\_disk\_size](#input\_dc02\_disk\_size) | The size of the created disk specified in GB | `number` | n/a | yes | +| [dc02\_disk\_storage](#input\_dc02\_disk\_storage) | Required when type=disk and passthrough=false. The name of the storage pool on which to store the disk. | `string` | n/a | yes | +| [dc02\_efi\_disk\_file\_format](#input\_dc02\_efi\_disk\_file\_format) | The file format of the efi disk. Defaults to raw | `string` | n/a | yes | +| [dc02\_efi\_disk\_type](#input\_dc02\_efi\_disk\_type) | The type of efi disk device to add. Options: 2m, 4m | `string` | n/a | yes | +| [dc02\_efi\_storage](#input\_dc02\_efi\_storage) | The name of the storage pool on which to store the disk. | `string` | n/a | yes | +| [dc02\_firewall](#input\_dc02\_firewall) | Specify if VM firewall is enabled or disabled. | `bool` | n/a | yes | +| [dc02\_memory](#input\_dc02\_memory) | The amount of memory to allocate to the VM in Megabytes. | `number` | n/a | yes | +| [dc02\_model](#input\_dc02\_model) | Network Card Model. The virtio model provides the best performance with very low CPU overhead. If your guest does not support this driver, it is usually best to use e1000. Options: e1000, e1000-82540em, e1000-82544gc, e1000-82545em, i82551, i82557b, i82559er, ne2k\_isa, ne2k\_pci, pcnet, rtl8139, virtio, vmxnet3. | `string` | n/a | yes | +| [dc02\_name](#input\_dc02\_name) | The name of the VM within Proxmox | `string` | n/a | yes | +| [dc02\_os\_type](#input\_dc02\_os\_type) | The OS type for the VM | `string` | n/a | yes | +| [dc02\_sockets](#input\_dc02\_sockets) | The number of CPU sockets to allocate to the VM. | `number` | n/a | yes | +| [dc02\_startup\_delay](#input\_dc02\_startup\_delay) | The number of seconds to delay before the next VM is started | `number` | n/a | yes | +| [dc02\_startup\_order](#input\_dc02\_startup\_order) | The startup order for the VM | `number` | n/a | yes | +| [dc02\_vm\_id](#input\_dc02\_vm\_id) | The ID of the VM | `number` | n/a | yes | +| [docker\_bios](#input\_docker\_bios) | The BIOS to use, options are seabios or ovmf for UEFI | `string` | n/a | yes | +| [docker\_bridge](#input\_docker\_bridge) | Bridge to which the network device should be attached. The Proxmox VE standard bridge is called vmbr0. | `string` | n/a | yes | +| [docker\_cores](#input\_docker\_cores) | The number of CPU cores per CPU socket to allocate to the VM. | `number` | n/a | yes | +| [docker\_description](#input\_docker\_description) | The description of the VM | `string` | n/a | yes | +| [docker\_disk\_size](#input\_docker\_disk\_size) | The size of the created disk specified in GB | `number` | n/a | yes | +| [docker\_disk\_storage](#input\_docker\_disk\_storage) | Required when type=disk and passthrough=false. The name of the storage pool on which to store the disk. | `string` | n/a | yes | +| [docker\_efi\_disk\_file\_format](#input\_docker\_efi\_disk\_file\_format) | The file format of the efi disk. Defaults to raw | `string` | n/a | yes | +| [docker\_efi\_disk\_type](#input\_docker\_efi\_disk\_type) | The type of efi disk device to add. Options: 2m, 4m | `string` | n/a | yes | +| [docker\_efi\_storage](#input\_docker\_efi\_storage) | The name of the storage pool on which to store the disk. | `string` | n/a | yes | +| [docker\_firewall](#input\_docker\_firewall) | Specify if VM firewall is enabled or disabled. | `bool` | n/a | yes | +| [docker\_memory](#input\_docker\_memory) | The amount of memory to allocate to the VM in Megabytes. | `number` | n/a | yes | +| [docker\_model](#input\_docker\_model) | Network Card Model. The virtio model provides the best performance with very low CPU overhead. If your guest does not support this driver, it is usually best to use e1000. Options: e1000, e1000-82540em, e1000-82544gc, e1000-82545em, i82551, i82557b, i82559er, ne2k\_isa, ne2k\_pci, pcnet, rtl8139, virtio, vmxnet3. | `string` | n/a | yes | +| [docker\_name](#input\_docker\_name) | The name of the VM within Proxmox | `string` | n/a | yes | +| [docker\_os\_type](#input\_docker\_os\_type) | The OS type for the VM | `string` | n/a | yes | +| [docker\_sockets](#input\_docker\_sockets) | The number of CPU sockets to allocate to the VM. | `number` | n/a | yes | +| [docker\_startup\_delay](#input\_docker\_startup\_delay) | The number of seconds to delay before the next VM is started | `number` | n/a | yes | +| [docker\_startup\_order](#input\_docker\_startup\_order) | The startup order for the VM | `number` | n/a | yes | +| [docker\_vm\_id](#input\_docker\_vm\_id) | The ID of the VM | `number` | n/a | yes | +| [node\_name](#input\_node\_name) | The target node | `string` | n/a | yes | +| [veeam\_bios](#input\_veeam\_bios) | The BIOS to use, options are seabios or ovmf for UEFI | `string` | n/a | yes | +| [veeam\_bridge](#input\_veeam\_bridge) | Bridge to which the network device should be attached. The Proxmox VE standard bridge is called vmbr0. | `string` | n/a | yes | +| [veeam\_cores](#input\_veeam\_cores) | The number of CPU cores per CPU socket to allocate to the VM. | `number` | n/a | yes | +| [veeam\_description](#input\_veeam\_description) | The description of the VM | `string` | n/a | yes | +| [veeam\_disk\_size](#input\_veeam\_disk\_size) | The size of the created disk specified in GB | `number` | n/a | yes | +| [veeam\_disk\_storage](#input\_veeam\_disk\_storage) | Required when type=disk and passthrough=false. The name of the storage pool on which to store the disk. | `string` | n/a | yes | +| [veeam\_efi\_disk\_file\_format](#input\_veeam\_efi\_disk\_file\_format) | The file format of the efi disk. Defaults to raw | `string` | n/a | yes | +| [veeam\_efi\_disk\_type](#input\_veeam\_efi\_disk\_type) | The type of efi disk device to add. Options: 2m, 4m | `string` | n/a | yes | +| [veeam\_efi\_storage](#input\_veeam\_efi\_storage) | The name of the storage pool on which to store the disk. | `string` | n/a | yes | +| [veeam\_firewall](#input\_veeam\_firewall) | Specify if VM firewall is enabled or disabled. | `bool` | n/a | yes | +| [veeam\_memory](#input\_veeam\_memory) | The amount of memory to allocate to the VM in Megabytes. | `number` | n/a | yes | +| [veeam\_model](#input\_veeam\_model) | Network Card Model. The virtio model provides the best performance with very low CPU overhead. If your guest does not support this driver, it is usually best to use e1000. Options: e1000, e1000-82540em, e1000-82544gc, e1000-82545em, i82551, i82557b, i82559er, ne2k\_isa, ne2k\_pci, pcnet, rtl8139, virtio, vmxnet3. | `string` | n/a | yes | +| [veeam\_name](#input\_veeam\_name) | The name of the VM within Proxmox | `string` | n/a | yes | +| [veeam\_os\_type](#input\_veeam\_os\_type) | The OS type for the VM | `string` | n/a | yes | +| [veeam\_sockets](#input\_veeam\_sockets) | The number of CPU sockets to allocate to the VM. | `number` | n/a | yes | +| [veeam\_startup\_delay](#input\_veeam\_startup\_delay) | The number of seconds to delay before the next VM is started | `number` | n/a | yes | +| [veeam\_startup\_order](#input\_veeam\_startup\_order) | The startup order for the VM | `number` | n/a | yes | +| [veeam\_vm\_id](#input\_veeam\_vm\_id) | The ID of the VM | `number` | n/a | yes | + +## Outputs + +No outputs. + \ No newline at end of file diff --git a/production/host_02/providers.tf b/production/host_02/providers.tf index 6617eb9..f986c26 100644 --- a/production/host_02/providers.tf +++ b/production/host_02/providers.tf @@ -2,8 +2,8 @@ terraform { required_version = ">= 1.6.0" required_providers { proxmox = { - source = "bpg/proxmox" - version = "0.63.0" + source = "bpg/proxmox" + version = "0.64.0" } } backend "remote" { diff --git a/production/host_02/variables.tf b/production/host_02/variables.tf index acc3b56..2d07fc3 100644 --- a/production/host_02/variables.tf +++ b/production/host_02/variables.tf @@ -1,4 +1,4 @@ variable "node_name" { description = "The target node" - type = string + type = string } \ No newline at end of file diff --git a/production/host_02/virtual_machines.tf b/production/host_02/virtual_machines.tf index ded2d6a..2ead482 100644 --- a/production/host_02/virtual_machines.tf +++ b/production/host_02/virtual_machines.tf @@ -17,12 +17,12 @@ resource "proxmox_virtual_environment_vm" "dc02" { } startup { - order = var.dc02_startup_order - up_delay = var.dc02_startup_delay + order = var.dc02_startup_order + up_delay = var.dc02_startup_delay } cpu { - cores = var.dc02_cores + cores = var.dc02_cores sockets = var.dc02_sockets } @@ -31,9 +31,9 @@ resource "proxmox_virtual_environment_vm" "dc02" { } efi_disk { - datastore_id = var.dc02_efi_storage - file_format = var.dc02_efi_disk_file_format - type = var.dc02_efi_disk_type + datastore_id = var.dc02_efi_storage + file_format = var.dc02_efi_disk_file_format + type = var.dc02_efi_disk_type pre_enrolled_keys = false } @@ -44,9 +44,9 @@ resource "proxmox_virtual_environment_vm" "dc02" { } network_device { - bridge = var.dc02_bridge + bridge = var.dc02_bridge firewall = var.dc02_firewall - model = var.dc02_model + model = var.dc02_model } operating_system { @@ -69,12 +69,12 @@ resource "proxmox_virtual_environment_vm" "veeam" { } startup { - order = var.veeam_startup_order - up_delay = var.veeam_startup_delay + order = var.veeam_startup_order + up_delay = var.veeam_startup_delay } cpu { - cores = var.veeam_cores + cores = var.veeam_cores sockets = var.veeam_sockets } @@ -83,9 +83,9 @@ resource "proxmox_virtual_environment_vm" "veeam" { } efi_disk { - datastore_id = var.veeam_efi_storage - file_format = var.veeam_efi_disk_file_format - type = var.veeam_efi_disk_type + datastore_id = var.veeam_efi_storage + file_format = var.veeam_efi_disk_file_format + type = var.veeam_efi_disk_type pre_enrolled_keys = false } @@ -104,9 +104,9 @@ resource "proxmox_virtual_environment_vm" "veeam" { } network_device { - bridge = var.veeam_bridge + bridge = var.veeam_bridge firewall = var.veeam_firewall - model = var.veeam_model + model = var.veeam_model } operating_system { @@ -129,12 +129,12 @@ resource "proxmox_virtual_environment_vm" "docker" { } startup { - order = var.docker_startup_order - up_delay = var.docker_startup_delay + order = var.docker_startup_order + up_delay = var.docker_startup_delay } cpu { - cores = var.docker_cores + cores = var.docker_cores sockets = var.docker_sockets } @@ -143,9 +143,9 @@ resource "proxmox_virtual_environment_vm" "docker" { } efi_disk { - datastore_id = var.docker_efi_storage - file_format = var.docker_efi_disk_file_format - type = var.docker_efi_disk_type + datastore_id = var.docker_efi_storage + file_format = var.docker_efi_disk_file_format + type = var.docker_efi_disk_type pre_enrolled_keys = false } @@ -156,9 +156,9 @@ resource "proxmox_virtual_environment_vm" "docker" { } network_device { - bridge = var.docker_bridge + bridge = var.docker_bridge firewall = var.docker_firewall - model = var.docker_model + model = var.docker_model } operating_system { diff --git a/terraform-docs.tar.gz b/terraform-docs.tar.gz new file mode 100644 index 0000000..45f9b04 Binary files /dev/null and b/terraform-docs.tar.gz differ