»The post-processor block

The post-processor block defines how a post-processor is configured.

# builds.pkr.hcl
build {
  # ...
  post-processor "checksum" {
    checksum_types = [ "md5", "sha512" ]
    keep_input_artifact = true
  }
}

Post-processors run after the image is built by the builder and provisioned by the provisioner(s). Post-processors are optional, and they can be used to upload artifacts, re-package, or more. The list of available post-processors can be found in the post-processors section.

»Run on Specific Builds

You can use the only or except configurations to run a post-processor only with specific builds. These two configurations do what you expect: only will only run the post-processor on the specified builds and except will run the post-processor on anything other than the specified builds.

An example of only being used is shown below, but the usage of except is effectively the same:

# builds.pkr.hcl
build {
  # ...
  post-processor "checksum" {
    checksum_types = [ "md5", "sha512" ]
    keep_input_artifact = true
    only = ["source.amazon-ebs.example"]
  }
}

The values within only or except are build names, not builder types.