Files
Lucas Bajolet 47a4ad201b packer_test: make packer test suite modular
Having only one test suite for the whole of Packer makes it harder to
segregate between test types, and makes for a longer runtime as no tests
run in parallel by default.

This commit splits the packer_test suite into several components in
order to make extension easier.

First we have `lib`: this package embeds the core for running Packer
test suites. This ships facilities to build your own test suite for
Packer core, and exposes convenience methods and structures for building
plugins, packer core, and use it to run a test suite in a temporary
directory.

Then we have two separate test suites: one for plugins, and one for core
itself, the latter of which does not depend on plugins being compiled at
all.

This sets the stage for more specialised test suites in the future, each
of which can run in parallel on different parts of the code.
2024-08-06 11:09:31 -04:00

79 lines
1.6 KiB
Plaintext

---
description: >
The scaffolding data source is used to create endless Packer plugins using
a consistent plugin structure.
page_title: Scaffolding - Data Sources
nav_title: Scaffolding
---
# Scaffolding
Type: `scaffolding`
<!--
Include a short description about the data source. This is a good place
to call out what the data source does, and any requirements for the given
data source environment. See https://www.packer.io/docs/datasources/amazon-ami
-->
The scaffolding data source is used to create endless Packer plugins using
a consistent plugin structure.
<!-- Data source Configuration Fields -->
### Required
- `mock` (string) - The name of the mock to use for the Scaffolding API.
<!--
Optional Configuration Fields
Configuration options that are not required or have reasonable defaults
should be listed under the optionals section. Defaults values should be
noted in the description of the field
-->
### Optional
- `mock_api_url` (string) - The Scaffolding API endpoint to connect to.
Defaults to https://example.com
<!--
A basic example on the usage of the data source. Multiple examples
can be provided to highlight various build configurations.
-->
### OutPut
- `foo` (string) - The Scaffolding output foo value.
- `bar` (string) - The Scaffolding output bar value.
<!--
A basic example on the usage of the data source. Multiple examples
can be provided to highlight various build configurations.
-->
### Example Usage
```hcl
data "scaffolding" "example" {
mock = "bird"
}
source "scaffolding" "example" {
mock = data.scaffolding.example.foo
}
build {
sources = ["source.scaffolding.example"]
}
```