---
page_title: setunion function reference
description: |-
  The `setunion` function creates one set containing the elements from multiple given sets. Learn how to use the `setunion` function in Packer templates.
---

# `setunion` Function

The `setunion` function takes multiple sets and produces a single set
containing the elements from all of the given sets. In other words, it
computes the [union](<https://en.wikipedia.org/wiki/Union_(set_theory)>) of
the sets.

```hcl
setunion(sets...)
```

## Examples

```shell-session
> setunion(["a", "b"], ["b", "c"], ["d"])
[
  "d",
  "b",
  "c",
  "a",
]
```

The given arguments are converted to sets, so the result is also a set and
the ordering of the given elements is not preserved.

## Related Functions

- [`contains`](/packer/docs/templates/hcl_templates/functions/collection/contains) tests whether a given list or set contains
  a given element value.
- [`setintersection`](/packer/docs/templates/hcl_templates/functions/collection/setintersection) computes the _intersection_ of
  multiple sets.
- [`setproduct`](/packer/docs/templates/hcl_templates/functions/collection/setproduct) computes the _Cartesian product_ of multiple
  sets.
