---
page_title: setunion - Functions - Configuration Language
description: |-
  The setunion function takes multiple sets and produces a single set
  containing the elements from all of the given sets.
---

# `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

```
> 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`](/terraform/language/functions/contains) tests whether a given list or set contains
  a given element value.
* [`setintersection`](/terraform/language/functions/setintersection) computes the _intersection_ of
  multiple sets.
* [`setproduct`](/terraform/language/functions/setproduct) computes the _Cartesian product_ of multiple
  sets.
* [`setsubtract`](/terraform/language/functions/setsubtract) computes the _relative complement_ of two sets
