--- page_title: setintersection function reference description: |- The `setintersection` function creates one set from multiple sets that contains only elements common to all input sets. Learn how to use `setintersection` in Packer templates. --- ⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️ > [!IMPORTANT] > **Documentation Update:** Product documentation previously located in `/website` has moved to the [`hashicorp/web-unified-docs`](https://github.com/hashicorp/web-unified-docs) repository, where all product documentation is now centralized. Please make contributions directly to `web-unified-docs`, since changes to `/website` in this repository will not appear on developer.hashicorp.com. ⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️ # `setintersection` Function The `setintersection` function takes multiple sets and produces a single set containing only the elements that all of the given sets have in common. The new set is referred to as the _intersection_. ```hcl setintersection(sets...) ``` ## Examples ```shell-session > setintersection(["a", "b"], ["b", "c"], ["b", "d"]) [ "b", ] ``` 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. - [`setproduct`](/packer/docs/templates/hcl_templates/functions/collection/setproduct) computes the _Cartesian product_ of multiple sets. - [`setunion`](/packer/docs/templates/hcl_templates/functions/collection/setunion) computes the _union_ of multiple sets.