0
0
mirror of https://github.com/bpg/terraform-provider-proxmox.git synced 2025-07-02 03:22:59 +00:00
terraform-provider-proxmox/docs/resources/virtual_environment_file.md
Pavel Boldyrev 86719256dc
Update docs (#57)
* more docs update

* add some badges

* cleanup .MDs

* update .lock

* add cloud-config to the example doc
2022-05-23 23:43:12 -04:00

92 lines
2.5 KiB
Markdown

---
layout: page
title: proxmox_virtual_environment_file
permalink: /resources/virtual_environment_file
nav_order: 6
parent: Resources
subcategory: Virtual Environment
---
# Resource: proxmox_virtual_environment_file
Manages a file.
## Example Usage
```terraform
resource "proxmox_virtual_environment_file" "ubuntu_container_template" {
content_type = "vztmpl"
datastore_id = "local"
node_name = "first-node"
source_file {
path = "https://download.proxmox.com/images/system/ubuntu-20.04-standard_20.04-1_amd64.tar.gz"
}
}
```
```terraform
resource "proxmox_virtual_environment_file" "cloud_config" {
content_type = "snippets"
datastore_id = "local"
node_name = "pve"
source_raw {
data = <<EOF
#cloud-config
chpasswd:
list: |
ubuntu:example
expire: false
hostname: example-hostname
packages:
- qemu-guest-agent
users:
- default
- name: ubuntu
groups: sudo
shell: /bin/bash
ssh-authorized-keys:
- ${trimspace(tls_private_key.example.public_key_openssh)}
sudo: ALL=(ALL) NOPASSWD:ALL
EOF
file_name = "example.cloud-config.yaml"
}
}
```
## Argument 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.
## Attribute 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).