github.com/askholme/packer@v0.7.2-0.20140924152349-70d9566a6852/website/source/docs/basics/terminology.html.markdown (about) 1 --- 2 layout: "docs" 3 page_title: "Packer Terminology" 4 --- 5 6 # Packer Terminology 7 8 There are a handful of terms used throughout the Packer documentation where 9 the meaning may not be immediately obvious if you haven't used Packer before. 10 Luckily, there are relatively few. This page documents all the terminology 11 required to understand and use Packer. The terminology is in alphabetical 12 order for easy referencing. 13 14 <a class="term" id="term-artifact"></a> 15 **Artifacts** are the results of a single [build](#term-build), and are 16 usually a set of IDs or files to represent a machine image. Every [builder](#term-builder) 17 produces a single artifact. As an example, in the case of the Amazon EC2 builder, 18 the artifact is a set of AMI IDs (one per region). For the VMware builder, 19 the artifact is a directory of files comprising the created virtual machine. 20 21 <a class="term" id="term-build"></a> 22 **Builds** are a single task that eventually produces an image for a single 23 platform. Multiple builds run in parallel. Example usage in a sentence: "The Packer build 24 produced an AMI to run our web application." Or: "Packer is running the builds 25 now for VMware, AWS, and VirtualBox." 26 27 <a class="term" id="term-builder"></a> 28 **Builders** are components of Packer that are able to create a machine 29 image for a single platform. Builders read in some configuration and use 30 that to run and generate a machine image. A builder is invoked as part of a [build](#term-build) 31 in order to create the actual resulting images. Example builders include 32 VirtualBox, VMware, and Amazon EC2. Builders can be created and added to 33 Packer in the form of plugins. 34 35 <a class="term" id="term-command"></a> 36 **Commands** are sub-commands for the `packer` program that perform some 37 job. An example command is "build", which is invoked as `packer build`. 38 Packer ships with a set of commands out of the box in order to define 39 its [command-line interface](#). Commands can also be created and added to 40 Packer in the form of plugins. 41 42 <a class="term" id="term-post-processor"></a> 43 **Post-processors** are components of Packer that take the result of 44 a [builder](#term-builder) or another post-processor and process that to 45 create a new [artifact](#term-artifact). Examples of post-processors are 46 compress to compress artifacts, upload to upload artifacts, etc. 47 48 <a class="term" id="term-provisioner"></a> 49 **Provisioners** are components of Packer that install and configure 50 software within a running machine prior to that machine being turned 51 into a static image. They perform the major work of making the image contain 52 useful software. Example provisioners include shell scripts, Chef, Puppet, 53 etc. 54 55 <a class="term" id="term-template"></a> 56 **Templates** are JSON files which define one or more [builds](#term-build) 57 by configuring the various components of Packer. Packer is able to read a 58 template and use that information to create multiple machine images in 59 parallel.