Skip to content

Commit 9a46f65

Browse files
committed
Tags as map
1 parent 98d4df8 commit 9a46f65

File tree

2 files changed

+10
-41
lines changed

2 files changed

+10
-41
lines changed

examples/resources/coder_workspace_tags/resource.tf

+5-15
Original file line numberDiff line numberDiff line change
@@ -41,20 +41,10 @@ data "coder_parameter" "feature_debug_enabled" {
4141
}
4242

4343
data "coder_workspace_tags" "custom_workspace_tags" {
44-
tag {
45-
name = "cluster"
46-
value = "developers"
47-
}
48-
tag {
49-
name = "os"
50-
value = data.coder_parameter.os_selector.value
51-
}
52-
tag {
53-
name = "debug"
54-
value = "${data.coder_parameter.feature_debug_enabled.value}+12345"
55-
}
56-
tag {
57-
name = "cache"
58-
value = data.coder_parameter.feature_cache_enabled.value == "true" ? "nix-with-cache" : "no-cache"
44+
tags = {
45+
"cluster" = "developers"
46+
"os" = data.coder_parameter.os_selector.value
47+
"debug" = "${data.coder_parameter.feature_debug_enabled.value}+12345"
48+
"cache" = data.coder_parameter.feature_cache_enabled.value == "true" ? "nix-with-cache" : "no-cache"
5949
}
6050
}

provider/workspace_tags.go

+5-26
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,7 @@ import (
99
)
1010

1111
type WorkspaceTags struct {
12-
Tag []Tag
13-
}
14-
15-
type Tag struct {
16-
Name string
17-
Value string
12+
Tags map[string]string
1813
}
1914

2015
func workspaceTagDataSource() *schema.Resource {
@@ -25,28 +20,12 @@ func workspaceTagDataSource() *schema.Resource {
2520
return nil
2621
},
2722
Schema: map[string]*schema.Schema{
28-
"tag": {
29-
Type: schema.TypeList,
30-
Description: `Each "tag" block defines a workspace tag.`,
23+
"tags": {
24+
Type: schema.TypeMap,
25+
Description: `Key-value map with workspace tags`,
3126
ForceNew: true,
3227
Optional: true,
33-
MaxItems: 64,
34-
Elem: &schema.Resource{
35-
Schema: map[string]*schema.Schema{
36-
"name": {
37-
Type: schema.TypeString,
38-
Description: "The name of the tag.",
39-
ForceNew: true,
40-
Required: true,
41-
},
42-
"value": {
43-
Type: schema.TypeString,
44-
Description: "The value of the tag.",
45-
ForceNew: true,
46-
Required: true,
47-
},
48-
},
49-
},
28+
Elem: &schema.Schema{Type: schema.TypeString},
5029
},
5130
},
5231
}

0 commit comments

Comments
 (0)