49 lines
1.2 KiB
Markdown
49 lines
1.2 KiB
Markdown
---
|
|
layout: "functions"
|
|
page_title: "fileset - Functions - Configuration Language"
|
|
sidebar_current: "docs-funcs-file-file-set"
|
|
description: |-
|
|
The fileset function enumerates a set of regular file names given a pattern.
|
|
---
|
|
|
|
# `fileset` Function
|
|
|
|
-> **Note:** This page is about Terraform 0.12 and later. For Terraform 0.11 and
|
|
earlier, see
|
|
[0.11 Configuration Language: Interpolation Syntax](../../configuration-0-11/interpolation.html).
|
|
|
|
`fileset` enumerates a set of regular file names given a pattern.
|
|
|
|
```hcl
|
|
fileset(pattern)
|
|
```
|
|
|
|
Supported pattern matches:
|
|
|
|
- `*` - matches any sequence of non-separator characters
|
|
- `?` - matches any single non-separator character
|
|
- `[RANGE]` - matches a range of characters
|
|
- `[^RANGE]` - matches outside the range of characters
|
|
|
|
Functions are evaluated during configuration parsing rather than at apply time,
|
|
so this function can only be used with files that are already present on disk
|
|
before Terraform takes any actions.
|
|
|
|
## Examples
|
|
|
|
```
|
|
> fileset("${path.module}/*.txt")
|
|
[
|
|
"path/to/module/hello.txt",
|
|
"path/to/module/world.txt",
|
|
]
|
|
```
|
|
|
|
```hcl
|
|
resource "example_thing" "example" {
|
|
for_each = fileset("${path.module}/files/*")
|
|
|
|
# other configuration using each.value
|
|
}
|
|
```
|