mirror of
https://github.com/bpg/terraform-provider-proxmox.git
synced 2025-07-01 19:12:59 +00:00
* add import support for a lot of resources * fix lints * set user_id after importing (cherry picked from commit c3d09ed00f6e1d7b0bb3ab01a1fc5c81510aa2e1) * add tests, fix empty ID * add import docs * fix lint
2.8 KiB
2.8 KiB
layout | title | permalink | nav_order | parent | subcategory |
---|---|---|---|---|---|
page | proxmox_virtual_environment_file | /resources/virtual_environment_file | 6 | Resources | Virtual Environment |
Resource: proxmox_virtual_environment_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 = "https://download.proxmox.com/images/system/ubuntu-20.04-standard_20.04-1_amd64.tar.gz"
}
}
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 withsource_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 tofalse
).path
- (Required) A path to a local file or a URL.
source_raw
- (Optional) The raw source (conflicts withsource_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).
Import
Instances can be imported using the node_name
, datastore_id
, content_type
and the file_name
, e.g.,
$ terraform import proxmox_virtual_environment_file.cloud_config pve/local/snippets/example.cloud-config.yaml