coder / coder/terraform-provider-coder

Duplicate resource errors when using indexed resources

Open
#303 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
60
Forks
27
Avg merge
1d 21h
Merged PRs (30d)
2

Description

# Problem

When creating multiple resources within a `count` or `for_each` loop, you end up with multiple resources using the same label as seen in the `terraform graph` output. The `ConvertState` function within `providers/terraform/resources.go` sees references to these resources as a problem since they share the same label and fails to let you use them.

# Use Case

Below is a simple example which creates 5 random passwords and attempts to make `coder_metadata` resources for them. While this instance uses `coder_metadata`, a similar result also occurs with many of the other `coder_*` resource types.

```
terraform {
required_providers {
coder = { source = "coder/coder" }
random = { source = "hashicorp/random" }
}
}

resource "random_password" "passwords" {
count = 5
length = 20
}

resource "coder_metadata" "meta_passwords" {
count = length(random_password.passwords)
resource_id = random_password.passwords[count.index].id
}
```

# What I Want

5 `coder_metadata` resources, one for each of the generated `random_password` resources.

# What I Get

```
Error during the build
template import provision for start: duplicate metadata resource: random_password.passwords
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.