|
1 | 1 | terraform {
|
2 |
| - required_providers { |
3 |
| - coder = { |
4 |
| - source = "coder/coder" |
5 |
| - } |
6 |
| - local = { |
7 |
| - source = "hashicorp/local" |
8 |
| - } |
| 2 | + required_providers { |
| 3 | + coder = { |
| 4 | + source = "coder/coder" |
9 | 5 | }
|
| 6 | + local = { |
| 7 | + source = "hashicorp/local" |
| 8 | + } |
| 9 | + } |
10 | 10 | }
|
11 | 11 |
|
12 | 12 | // TODO: test coder_external_auth and coder_git_auth
|
13 | 13 | // data coder_external_auth "me" {}
|
14 | 14 | // data coder_git_auth "me" {}
|
15 |
| -data coder_provisioner "me" {} |
16 |
| -data coder_workspace "me" {} |
17 |
| -data coder_workspace_owner "me" {} |
| 15 | +data "coder_provisioner" "me" {} |
| 16 | +data "coder_workspace" "me" {} |
| 17 | +data "coder_workspace_owner" "me" {} |
18 | 18 |
|
19 | 19 | locals {
|
20 |
| - # NOTE: these must all be strings in the output |
21 |
| - output = { |
22 |
| - "provisioner.arch": data.coder_provisioner.me.arch, |
23 |
| - "provisioner.id": data.coder_provisioner.me.id, |
24 |
| - "provisioner.os": data.coder_provisioner.me.os, |
25 |
| - "workspace.access_port": tostring(data.coder_workspace.me.access_port), |
26 |
| - "workspace.access_url": data.coder_workspace.me.access_url, |
27 |
| - "workspace.id": data.coder_workspace.me.id, |
28 |
| - "workspace.name": data.coder_workspace.me.name, |
29 |
| - "workspace.owner": data.coder_workspace.me.owner, |
30 |
| - "workspace.owner_email": data.coder_workspace.me.owner_email, |
31 |
| - "workspace.owner_groups": jsonencode(data.coder_workspace.me.owner_groups), |
32 |
| - "workspace.owner_id": data.coder_workspace.me.owner_id, |
33 |
| - "workspace.owner_name": data.coder_workspace.me.owner_name, |
34 |
| - "workspace.owner_oidc_access_token": data.coder_workspace.me.owner_oidc_access_token, |
35 |
| - "workspace.owner_session_token": data.coder_workspace.me.owner_session_token, |
36 |
| - "workspace.start_count": tostring(data.coder_workspace.me.start_count), |
37 |
| - "workspace.template_id": data.coder_workspace.me.template_id, |
38 |
| - "workspace.template_name": data.coder_workspace.me.template_name, |
39 |
| - "workspace.template_version": data.coder_workspace.me.template_version, |
40 |
| - "workspace.transition": data.coder_workspace.me.transition, |
41 |
| - "workspace_owner.email": data.coder_workspace_owner.me.email, |
42 |
| - "workspace_owner.full_name": data.coder_workspace_owner.me.full_name, |
43 |
| - "workspace_owner.groups": jsonencode(data.coder_workspace_owner.me.groups), |
44 |
| - "workspace_owner.id": data.coder_workspace_owner.me.id, |
45 |
| - "workspace_owner.name": data.coder_workspace_owner.me.name, |
46 |
| - "workspace_owner.oidc_access_token": data.coder_workspace_owner.me.oidc_access_token, |
47 |
| - "workspace_owner.session_token": data.coder_workspace_owner.me.session_token, |
48 |
| - "workspace_owner.ssh_private_key": data.coder_workspace_owner.me.ssh_private_key, |
49 |
| - "workspace_owner.ssh_public_key": data.coder_workspace_owner.me.ssh_public_key, |
50 |
| - } |
| 20 | + # NOTE: these must all be strings in the output |
| 21 | + output = { |
| 22 | + "provisioner.arch" : data.coder_provisioner.me.arch, |
| 23 | + "provisioner.id" : data.coder_provisioner.me.id, |
| 24 | + "provisioner.os" : data.coder_provisioner.me.os, |
| 25 | + "workspace.access_port" : tostring(data.coder_workspace.me.access_port), |
| 26 | + "workspace.access_url" : data.coder_workspace.me.access_url, |
| 27 | + "workspace.id" : data.coder_workspace.me.id, |
| 28 | + "workspace.name" : data.coder_workspace.me.name, |
| 29 | + "workspace.owner" : data.coder_workspace.me.owner, |
| 30 | + "workspace.owner_email" : data.coder_workspace.me.owner_email, |
| 31 | + "workspace.owner_groups" : jsonencode(data.coder_workspace.me.owner_groups), |
| 32 | + "workspace.owner_id" : data.coder_workspace.me.owner_id, |
| 33 | + "workspace.owner_name" : data.coder_workspace.me.owner_name, |
| 34 | + "workspace.owner_oidc_access_token" : data.coder_workspace.me.owner_oidc_access_token, |
| 35 | + "workspace.owner_session_token" : data.coder_workspace.me.owner_session_token, |
| 36 | + "workspace.start_count" : tostring(data.coder_workspace.me.start_count), |
| 37 | + "workspace.template_id" : data.coder_workspace.me.template_id, |
| 38 | + "workspace.template_name" : data.coder_workspace.me.template_name, |
| 39 | + "workspace.template_version" : data.coder_workspace.me.template_version, |
| 40 | + "workspace.transition" : data.coder_workspace.me.transition, |
| 41 | + "workspace_owner.email" : data.coder_workspace_owner.me.email, |
| 42 | + "workspace_owner.full_name" : data.coder_workspace_owner.me.full_name, |
| 43 | + "workspace_owner.groups" : jsonencode(data.coder_workspace_owner.me.groups), |
| 44 | + "workspace_owner.id" : data.coder_workspace_owner.me.id, |
| 45 | + "workspace_owner.name" : data.coder_workspace_owner.me.name, |
| 46 | + "workspace_owner.oidc_access_token" : data.coder_workspace_owner.me.oidc_access_token, |
| 47 | + "workspace_owner.session_token" : data.coder_workspace_owner.me.session_token, |
| 48 | + "workspace_owner.ssh_private_key" : data.coder_workspace_owner.me.ssh_private_key, |
| 49 | + "workspace_owner.ssh_public_key" : data.coder_workspace_owner.me.ssh_public_key, |
| 50 | + } |
51 | 51 | }
|
52 | 52 |
|
53 |
| -variable output_path { |
54 |
| - type = string |
| 53 | +variable "output_path" { |
| 54 | + type = string |
55 | 55 | }
|
56 | 56 |
|
57 | 57 | resource "local_file" "output" {
|
58 |
| - filename = var.output_path |
59 |
| - content = jsonencode(local.output) |
| 58 | + filename = var.output_path |
| 59 | + content = jsonencode(local.output) |
60 | 60 | }
|
61 | 61 |
|
62 | 62 | output "output" {
|
63 |
| - value = local.output |
64 |
| - sensitive = true |
| 63 | + value = local.output |
| 64 | + sensitive = true |
65 | 65 | }
|
0 commit comments