@@ -9,64 +9,37 @@ terraform {
9
9
}
10
10
}
11
11
12
- provider "coder" {
13
- }
12
+ provider "coder" {}
14
13
15
14
variable "project_id" {
16
15
description = " Which Google Compute Project should your workspace live in?"
17
16
}
18
17
19
- data "coder_parameter" "zone" {
20
- name = " zone"
21
- display_name = " Zone"
22
- description = " Which zone should your workspace live in?"
23
- type = " string"
24
- default = " us-central1-a"
25
- icon = " /emojis/1f30e.png"
26
- mutable = false
27
- option {
28
- name = " North America (Northeast)"
29
- value = " northamerica-northeast1-a"
30
- icon = " /emojis/1f1fa-1f1f8.png"
31
- }
32
- option {
33
- name = " North America (Central)"
34
- value = " us-central1-a"
35
- icon = " /emojis/1f1fa-1f1f8.png"
36
- }
37
- option {
38
- name = " North America (West)"
39
- value = " us-west2-c"
40
- icon = " /emojis/1f1fa-1f1f8.png"
41
- }
42
- option {
43
- name = " Europe (West)"
44
- value = " europe-west4-b"
45
- icon = " /emojis/1f1ea-1f1fa.png"
46
- }
47
- option {
48
- name = " South America (East)"
49
- value = " southamerica-east1-a"
50
- icon = " /emojis/1f1e7-1f1f7.png"
51
- }
18
+ # See https://registry.coder.com/modules/gcp-region
19
+ module "gcp_region" {
20
+ source = " registry.coder.com/modules/gcp-region/coder"
21
+
22
+ # This ensures that the latest version of the module gets downloaded, you can also pin the module version to prevent breaking changes in production.
23
+ version = " >= 1.0.0"
24
+
25
+ regions = [" us" , " europe" ]
26
+ default = " us-central1-a"
52
27
}
53
28
54
29
provider "google" {
55
- zone = data . coder_parameter . zone . value
30
+ zone = module . gcp_region . value
56
31
project = var. project_id
57
32
}
58
33
59
- data "coder_workspace" "me" {
60
- }
34
+ data "coder_workspace" "me" {}
61
35
data "coder_workspace_owner" "me" {}
62
36
63
- data "google_compute_default_service_account" "default" {
64
- }
37
+ data "google_compute_default_service_account" "default" {}
65
38
66
39
resource "google_compute_disk" "root" {
67
40
name = " coder-${ data . coder_workspace . me . id } -root"
68
41
type = " pd-ssd"
69
- zone = data . coder_parameter . zone . value
42
+ zone = module . gcp_region . value
70
43
image = " projects/windows-cloud/global/images/windows-server-2022-dc-core-v20220215"
71
44
lifecycle {
72
45
ignore_changes = [name , image ]
@@ -77,11 +50,10 @@ resource "coder_agent" "main" {
77
50
auth = " google-instance-identity"
78
51
arch = " amd64"
79
52
os = " windows"
80
-
81
53
}
82
54
83
55
resource "google_compute_instance" "dev" {
84
- zone = data . coder_parameter . zone . value
56
+ zone = module . gcp_region . value
85
57
count = data. coder_workspace . me . start_count
86
58
name = " coder-${ lower (data. coder_workspace_owner . me . name )} -${ lower (data. coder_workspace . me . name )} "
87
59
machine_type = " e2-medium"
0 commit comments