---
description: |
  The HCP Packer Iteration Data Source retrieves information about an
  iteration from the HCP Packer registry. This information can be used to
  query HCP for a source image for various Packer builders.
page_title: HCP Packer Iteration - Data Sources
---

# HCP Packer Iteration Data Source

Type: `hcp-packer-iteration`

The `HCP Packer Iteration` Data Source retrieves information about an
iteration from the HCP Packer registry. This information can be used to query
HCP for a source image for various Packer builders.

Please note: The HCP Packer registry is in development, and is not yet available
for public use. For more information about HCP Packer, see https://www.hashicorp.com/blog/announcing-hcp-packer

## Basic Example

Below is a fully functioning example. It stores information about an image
iteration, which can then be accessed as a variable.

```hcl
data "hcp-packer-iteration" "hardened-source" {
  bucket_name = "hardened-ubuntu-16-04"
  channel = "packer-test"
}
```

## Full Example

This data source can be used in conjunction with the hcp-packer-image
data source to retrieve an image ID using a channel. You provide the channel
name to the iteration data source, then use the iteration source inside the
image data source, then use the image data source inside your source block.


```hcl
# Retrieves information about the HCP Packer "iteration"; an "iteration" can be
# thought of as all the metadata created by a single call of `packer build`.
data "hcp-packer-iteration" "hardened-source" {
  bucket_name = "hardened-ubuntu-16-04"
  channel = "packer-test"
}

# Retrieves information about the HCP Packer "image"; an image can be thought
# of as all the metadata (including the artifact names) created by a single
# "source" builder; this can include multiple images so we provide a cloud
# region to disambiguate.
data "hcp-packer-image" "foo" {
  bucket_name = "hardened-ubuntu-16-04"
  iteration_id = data.hcp-packer-iteration.hardened-source.id
  cloud_provider = "aws"
  region = "us-east-1"
}

# This source uses the output from a previous Packer build. By using the
# HCP Packer registry in this way, you can easily create build pipelines where
# a single base image can be customized in multiple secondary layers.
source "amazon-ebs" "packer-secondary" {
  source_ami       = data.hcp-packer-image.foo.id
  ...
}
```

## Configuration Reference

Configuration options are organized below into two categories: required and
optional. Within each category, the available options are alphabetized and
described.

### Required:

@include 'datasource/hcp-packer-iteration/RunConfig-required.mdx'

There are currently no optional fields for this datasource, though we intend
to add filtering fields in the future.

### Output Fields:

@include 'datasource/hcp-packer-iteration/DatasourceOutput.mdx'