Data format
HCL Sample Files
HashiCorp Configuration Language (.hcl) files define declarative infrastructure and service configuration. Use sample HCL files to validate parser strictness, expression handling, and IaC linting workflows.
6 files
All to 5MB
SHA256 verified
Manifest included
Quick facts
Files first
HCL Sample Files — Download
Starter file
Download| Filename | Size | MIME | Download |
|---|---|---|---|
| 1.0 MB | application/octet-stream |
Download
|
|
| 200.0 KB | application/octet-stream |
Download
|
|
| 2.0 MB | application/octet-stream |
Download
|
|
| 500.0 KB | application/octet-stream |
Download
|
|
| 50.0 KB | application/octet-stream |
Download
|
|
| 5.0 MB | application/octet-stream |
Download
|
No files match the current filter. Switch to another chip or size range.
Use cases
HCL Testing Workflows
Use the file table first, then branch into compare or FAQ only if the task needs more context.
Compare and decide
HCL Format Comparisons
HCL vs TOML Files
Open ComparisonFAQ and reference
HCL File FAQ
Checksum Verification
Use checksums to confirm file integrity after download.
shasum -a 256 your_file_name_here
# Compare output with SHA256 values listed above.
Where is the machine-readable manifest?
Use the manifest when you need stable names, SHA256 values, and URLs for automation.
Use in code — curl, Python, Node, wget
Copy any snippet directly into scripts, test suites, or CI pipelines. All URLs are stable and publicly accessible with no auth required.
# Download hcl_sample_file_1MB.hcl
curl -L -o hcl_sample_file_1MB.hcl \
https://samplefile.com/samples/download/data/hcl/hcl_sample_file_1MB.hcl/
# Or fetch a random HCL file
curl -s "https://samplefile.com/samples/api/random?format=hcl" | jq -r '.download_url'
# Download hcl_sample_file_1MB.hcl
wget -O hcl_sample_file_1MB.hcl \
https://samplefile.com/samples/download/data/hcl/hcl_sample_file_1MB.hcl/
import requests
# Download a specific file
url = "https://samplefile.com/samples/download/data/hcl/hcl_sample_file_1MB.hcl/"
resp = requests.get(url)
with open("hcl_sample_file_1MB.hcl", "wb") as f:
f.write(resp.content)
# Or fetch a random HCL file via API
meta = requests.get("https://samplefile.com/samples/api/random?format=hcl").json()
resp = requests.get(meta["download_url"])
with open(meta["name"], "wb") as f:
f.write(resp.content)
// Download a specific file
const fs = require("fs");
const https = require("https");
const url = "https://samplefile.com/samples/download/data/hcl/hcl_sample_file_1MB.hcl/";
https.get(url, (res) => {
res.pipe(fs.createWriteStream("hcl_sample_file_1MB.hcl"));
});
// Or fetch a random HCL via the API
const meta = await fetch("https://samplefile.com/samples/api/random?format=hcl").then(r => r.json());
const file = await fetch(meta.download_url);
// use file.arrayBuffer(), file.body, etc.
# Random HCL file (JSON response)
GET https://samplefile.com/samples/api/random?format=hcl
# All HCL files
GET https://samplefile.com/samples/api/files?format=hcl
# Manifest with SHA256 checksums
GET https://samplefile.com/samples/data/hcl/manifest.json
# Response includes: name, size_bytes, mime_type, sha256, download_url
Validation Methodology
- Validate extension and MIME detection before processing.
- Benchmark performance with small and larger files.
- Test malformed-input handling and error messaging.