Generates an archive from content, a file, or directory of files.
# Archive a single file.
data "archive_file" "init" {
type = "zip"
source_file = "${path.module}/init.tpl"
output_path = "${path.module}/files/init.zip"
}
# Archive multiple files.
data "archive_file" "dotfiles" {
type = "zip"
output_path = "${path.module}/files/dotfiles.zip"
source {
content = "${data.template_file.vimrc.rendered}"
filename = ".vimrc"
}
source {
content = "${data.template_file.ssh_config.rendered}"
filename = ".ssh/config"
}
}
The following arguments are supported:
NOTE: One of source, source_content_filename (with source_content), source_file, or source_dir must be specified.
type - (Required) The type of archive to generate. NOTE: zip is supported.
output_path - (Required) The output of the archive file.
source_content - (Optional) Add only this content to the archive with source_content_filename as the filename.
source_content_filename - (Optional) Set this as the filename when using source_content.
source_file - (Optional) Package this file into the archive.
source_dir - (Optional) Package entire contents of this directory into the archive.
source - (Optional) Specifies attributes of a single source file to include into the archive.
The source block supports the following:
content - (Required) Add this content to the archive with filename as the filename.
filename - (Required) Set this as the filename when declaring a source.
The following attributes are exported:
output_size - The size of the output archive file.
output_sha - The SHA1 checksum of output archive file.
output_base64sha256 - The base64-encoded SHA256 checksum of output archive file.
output_md5 - The MD5 checksum of output archive file.
© 2018 HashiCorpLicensed under the MPL 2.0 License.
https://www.terraform.io/docs/providers/archive/d/archive_file.html