feat: allow for default presets (#18445)

This commit is contained in:
Danny Kopping
2025-06-24 12:19:19 +02:00
committed by GitHub
parent 3fb5d0b52d
commit 6cc4cfa346
54 changed files with 2186 additions and 658 deletions
+12
View File
@@ -939,6 +939,7 @@ func ConvertState(ctx context.Context, modules []*tfjson.StateModule, rawGraph s
ExpirationPolicy: expirationPolicy,
Scheduling: scheduling,
},
Default: preset.Default,
}
if slice.Contains(duplicatedPresetNames, preset.Name) {
@@ -957,6 +958,17 @@ func ConvertState(ctx context.Context, modules []*tfjson.StateModule, rawGraph s
)
}
// Validate that only one preset is marked as default.
var defaultPresets int
for _, preset := range presets {
if preset.Default {
defaultPresets++
}
}
if defaultPresets > 1 {
return nil, xerrors.Errorf("a maximum of 1 coder_workspace_preset can be marked as default, but %d are set", defaultPresets)
}
// A map is used to ensure we don't have duplicates!
externalAuthProvidersMap := map[string]*proto.ExternalAuthProviderResource{}
for _, tfResources := range tfResourcesByLabel {
+75
View File
@@ -18,6 +18,7 @@ import (
"cdr.dev/slog"
"cdr.dev/slog/sloggers/slogtest"
"github.com/coder/coder/v2/testutil"
"github.com/coder/coder/v2/cryptorand"
@@ -1323,6 +1324,80 @@ func TestParameterValidation(t *testing.T) {
require.ErrorContains(t, err, "coder_parameter names must be unique but \"identical-0\", \"identical-1\" and \"identical-2\" appear multiple times")
}
func TestDefaultPresets(t *testing.T) {
t.Parallel()
// nolint:dogsled
_, filename, _, _ := runtime.Caller(0)
dir := filepath.Join(filepath.Dir(filename), "testdata", "resources")
cases := map[string]struct {
fixtureFile string
expectError bool
errorMsg string
validate func(t *testing.T, state *terraform.State)
}{
"multiple defaults should fail": {
fixtureFile: "presets-multiple-defaults",
expectError: true,
errorMsg: "a maximum of 1 coder_workspace_preset can be marked as default, but 2 are set",
},
"single default should succeed": {
fixtureFile: "presets-single-default",
expectError: false,
validate: func(t *testing.T, state *terraform.State) {
require.Len(t, state.Presets, 2)
var defaultCount int
for _, preset := range state.Presets {
if preset.Default {
defaultCount++
require.Equal(t, "development", preset.Name)
}
}
require.Equal(t, 1, defaultCount)
},
},
}
for name, tc := range cases {
tc := tc
t.Run(name, func(t *testing.T) {
t.Parallel()
ctx, logger := ctxAndLogger(t)
tfPlanRaw, err := os.ReadFile(filepath.Join(dir, tc.fixtureFile, tc.fixtureFile+".tfplan.json"))
require.NoError(t, err)
var tfPlan tfjson.Plan
err = json.Unmarshal(tfPlanRaw, &tfPlan)
require.NoError(t, err)
tfPlanGraph, err := os.ReadFile(filepath.Join(dir, tc.fixtureFile, tc.fixtureFile+".tfplan.dot"))
require.NoError(t, err)
modules := []*tfjson.StateModule{tfPlan.PlannedValues.RootModule}
if tfPlan.PriorState != nil {
modules = append(modules, tfPlan.PriorState.Values.RootModule)
} else {
modules = append(modules, tfPlan.PlannedValues.RootModule)
}
state, err := terraform.ConvertState(ctx, modules, string(tfPlanGraph), logger)
if tc.expectError {
require.Error(t, err)
require.Nil(t, state)
if tc.errorMsg != "" {
require.ErrorContains(t, err, tc.errorMsg)
}
} else {
require.NoError(t, err)
require.NotNil(t, state)
if tc.validate != nil {
tc.validate(t, state)
}
}
})
}
}
func TestInstanceTypeAssociation(t *testing.T) {
t.Parallel()
type tc struct {
@@ -130,7 +130,7 @@
"type": "coder_external_auth",
"name": "github",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"access_token": "",
"id": "github",
@@ -144,7 +144,7 @@
"type": "coder_external_auth",
"name": "gitlab",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"access_token": "",
"id": "gitlab",
@@ -208,7 +208,7 @@
"constant_value": "github"
}
},
"schema_version": 0
"schema_version": 1
},
{
"address": "data.coder_external_auth.gitlab",
@@ -224,7 +224,7 @@
"constant_value": true
}
},
"schema_version": 0
"schema_version": 1
}
]
}
@@ -10,7 +10,7 @@
"type": "coder_external_auth",
"name": "github",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"access_token": "",
"id": "github",
@@ -24,7 +24,7 @@
"type": "coder_external_auth",
"name": "gitlab",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"access_token": "",
"id": "gitlab",
@@ -0,0 +1,46 @@
terraform {
required_providers {
coder = {
source = "coder/coder"
version = ">= 2.3.0"
}
}
}
data "coder_parameter" "instance_type" {
name = "instance_type"
type = "string"
description = "Instance type"
default = "t3.micro"
}
data "coder_workspace_preset" "development" {
name = "development"
default = true
parameters = {
(data.coder_parameter.instance_type.name) = "t3.micro"
}
prebuilds {
instances = 1
}
}
data "coder_workspace_preset" "production" {
name = "production"
default = true
parameters = {
(data.coder_parameter.instance_type.name) = "t3.large"
}
prebuilds {
instances = 2
}
}
resource "coder_agent" "dev" {
os = "linux"
arch = "amd64"
}
resource "null_resource" "dev" {
depends_on = [coder_agent.dev]
}
@@ -0,0 +1,25 @@
digraph {
compound = "true"
newrank = "true"
subgraph "root" {
"[root] coder_agent.dev (expand)" [label = "coder_agent.dev", shape = "box"]
"[root] data.coder_parameter.instance_type (expand)" [label = "data.coder_parameter.instance_type", shape = "box"]
"[root] data.coder_workspace_preset.development (expand)" [label = "data.coder_workspace_preset.development", shape = "box"]
"[root] data.coder_workspace_preset.production (expand)" [label = "data.coder_workspace_preset.production", shape = "box"]
"[root] null_resource.dev (expand)" [label = "null_resource.dev", shape = "box"]
"[root] provider[\"registry.terraform.io/coder/coder\"]" [label = "provider[\"registry.terraform.io/coder/coder\"]", shape = "diamond"]
"[root] provider[\"registry.terraform.io/hashicorp/null\"]" [label = "provider[\"registry.terraform.io/hashicorp/null\"]", shape = "diamond"]
"[root] coder_agent.dev (expand)" -> "[root] provider[\"registry.terraform.io/coder/coder\"]"
"[root] data.coder_parameter.instance_type (expand)" -> "[root] provider[\"registry.terraform.io/coder/coder\"]"
"[root] data.coder_workspace_preset.development (expand)" -> "[root] data.coder_parameter.instance_type (expand)"
"[root] data.coder_workspace_preset.production (expand)" -> "[root] data.coder_parameter.instance_type (expand)"
"[root] null_resource.dev (expand)" -> "[root] coder_agent.dev (expand)"
"[root] null_resource.dev (expand)" -> "[root] provider[\"registry.terraform.io/hashicorp/null\"]"
"[root] provider[\"registry.terraform.io/coder/coder\"] (close)" -> "[root] coder_agent.dev (expand)"
"[root] provider[\"registry.terraform.io/coder/coder\"] (close)" -> "[root] data.coder_workspace_preset.development (expand)"
"[root] provider[\"registry.terraform.io/coder/coder\"] (close)" -> "[root] data.coder_workspace_preset.production (expand)"
"[root] provider[\"registry.terraform.io/hashicorp/null\"] (close)" -> "[root] null_resource.dev (expand)"
"[root] root" -> "[root] provider[\"registry.terraform.io/coder/coder\"] (close)"
"[root] root" -> "[root] provider[\"registry.terraform.io/hashicorp/null\"] (close)"
}
}
@@ -0,0 +1,352 @@
{
"format_version": "1.2",
"terraform_version": "1.12.2",
"planned_values": {
"root_module": {
"resources": [
{
"address": "coder_agent.dev",
"mode": "managed",
"type": "coder_agent",
"name": "dev",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 1,
"values": {
"api_key_scope": "all",
"arch": "amd64",
"auth": "token",
"connection_timeout": 120,
"dir": null,
"env": null,
"metadata": [],
"motd_file": null,
"order": null,
"os": "linux",
"resources_monitoring": [],
"shutdown_script": null,
"startup_script": null,
"startup_script_behavior": "non-blocking",
"troubleshooting_url": null
},
"sensitive_values": {
"display_apps": [],
"metadata": [],
"resources_monitoring": [],
"token": true
}
},
{
"address": "null_resource.dev",
"mode": "managed",
"type": "null_resource",
"name": "dev",
"provider_name": "registry.terraform.io/hashicorp/null",
"schema_version": 0,
"values": {
"triggers": null
},
"sensitive_values": {}
}
]
}
},
"resource_changes": [
{
"address": "coder_agent.dev",
"mode": "managed",
"type": "coder_agent",
"name": "dev",
"provider_name": "registry.terraform.io/coder/coder",
"change": {
"actions": [
"create"
],
"before": null,
"after": {
"api_key_scope": "all",
"arch": "amd64",
"auth": "token",
"connection_timeout": 120,
"dir": null,
"env": null,
"metadata": [],
"motd_file": null,
"order": null,
"os": "linux",
"resources_monitoring": [],
"shutdown_script": null,
"startup_script": null,
"startup_script_behavior": "non-blocking",
"troubleshooting_url": null
},
"after_unknown": {
"display_apps": true,
"id": true,
"init_script": true,
"metadata": [],
"resources_monitoring": [],
"token": true
},
"before_sensitive": false,
"after_sensitive": {
"display_apps": [],
"metadata": [],
"resources_monitoring": [],
"token": true
}
}
},
{
"address": "null_resource.dev",
"mode": "managed",
"type": "null_resource",
"name": "dev",
"provider_name": "registry.terraform.io/hashicorp/null",
"change": {
"actions": [
"create"
],
"before": null,
"after": {
"triggers": null
},
"after_unknown": {
"id": true
},
"before_sensitive": false,
"after_sensitive": {}
}
}
],
"prior_state": {
"format_version": "1.0",
"terraform_version": "1.12.2",
"values": {
"root_module": {
"resources": [
{
"address": "data.coder_parameter.instance_type",
"mode": "data",
"type": "coder_parameter",
"name": "instance_type",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 1,
"values": {
"default": "t3.micro",
"description": "Instance type",
"display_name": null,
"ephemeral": false,
"form_type": "input",
"icon": null,
"id": "618511d1-8fe3-4acc-92cd-d98955303039",
"mutable": false,
"name": "instance_type",
"option": null,
"optional": true,
"order": null,
"styling": "{}",
"type": "string",
"validation": [],
"value": "t3.micro"
},
"sensitive_values": {
"validation": []
}
},
{
"address": "data.coder_workspace_preset.development",
"mode": "data",
"type": "coder_workspace_preset",
"name": "development",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 1,
"values": {
"default": true,
"id": "development",
"name": "development",
"parameters": {
"instance_type": "t3.micro"
},
"prebuilds": [
{
"expiration_policy": [],
"instances": 1,
"scheduling": []
}
]
},
"sensitive_values": {
"parameters": {},
"prebuilds": [
{
"expiration_policy": [],
"scheduling": []
}
]
}
},
{
"address": "data.coder_workspace_preset.production",
"mode": "data",
"type": "coder_workspace_preset",
"name": "production",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 1,
"values": {
"default": true,
"id": "production",
"name": "production",
"parameters": {
"instance_type": "t3.large"
},
"prebuilds": [
{
"expiration_policy": [],
"instances": 2,
"scheduling": []
}
]
},
"sensitive_values": {
"parameters": {},
"prebuilds": [
{
"expiration_policy": [],
"scheduling": []
}
]
}
}
]
}
}
},
"configuration": {
"provider_config": {
"coder": {
"name": "coder",
"full_name": "registry.terraform.io/coder/coder",
"version_constraint": ">= 2.3.0"
},
"null": {
"name": "null",
"full_name": "registry.terraform.io/hashicorp/null"
}
},
"root_module": {
"resources": [
{
"address": "coder_agent.dev",
"mode": "managed",
"type": "coder_agent",
"name": "dev",
"provider_config_key": "coder",
"expressions": {
"arch": {
"constant_value": "amd64"
},
"os": {
"constant_value": "linux"
}
},
"schema_version": 1
},
{
"address": "null_resource.dev",
"mode": "managed",
"type": "null_resource",
"name": "dev",
"provider_config_key": "null",
"schema_version": 0,
"depends_on": [
"coder_agent.dev"
]
},
{
"address": "data.coder_parameter.instance_type",
"mode": "data",
"type": "coder_parameter",
"name": "instance_type",
"provider_config_key": "coder",
"expressions": {
"default": {
"constant_value": "t3.micro"
},
"description": {
"constant_value": "Instance type"
},
"name": {
"constant_value": "instance_type"
},
"type": {
"constant_value": "string"
}
},
"schema_version": 1
},
{
"address": "data.coder_workspace_preset.development",
"mode": "data",
"type": "coder_workspace_preset",
"name": "development",
"provider_config_key": "coder",
"expressions": {
"default": {
"constant_value": true
},
"name": {
"constant_value": "development"
},
"parameters": {
"references": [
"data.coder_parameter.instance_type.name",
"data.coder_parameter.instance_type"
]
},
"prebuilds": [
{
"instances": {
"constant_value": 1
}
}
]
},
"schema_version": 1
},
{
"address": "data.coder_workspace_preset.production",
"mode": "data",
"type": "coder_workspace_preset",
"name": "production",
"provider_config_key": "coder",
"expressions": {
"default": {
"constant_value": true
},
"name": {
"constant_value": "production"
},
"parameters": {
"references": [
"data.coder_parameter.instance_type.name",
"data.coder_parameter.instance_type"
]
},
"prebuilds": [
{
"instances": {
"constant_value": 2
}
}
]
},
"schema_version": 1
}
]
}
},
"timestamp": "2025-06-19T12:43:59Z",
"applyable": true,
"complete": true,
"errored": false
}
@@ -0,0 +1,25 @@
digraph {
compound = "true"
newrank = "true"
subgraph "root" {
"[root] coder_agent.dev (expand)" [label = "coder_agent.dev", shape = "box"]
"[root] data.coder_parameter.instance_type (expand)" [label = "data.coder_parameter.instance_type", shape = "box"]
"[root] data.coder_workspace_preset.development (expand)" [label = "data.coder_workspace_preset.development", shape = "box"]
"[root] data.coder_workspace_preset.production (expand)" [label = "data.coder_workspace_preset.production", shape = "box"]
"[root] null_resource.dev (expand)" [label = "null_resource.dev", shape = "box"]
"[root] provider[\"registry.terraform.io/coder/coder\"]" [label = "provider[\"registry.terraform.io/coder/coder\"]", shape = "diamond"]
"[root] provider[\"registry.terraform.io/hashicorp/null\"]" [label = "provider[\"registry.terraform.io/hashicorp/null\"]", shape = "diamond"]
"[root] coder_agent.dev (expand)" -> "[root] provider[\"registry.terraform.io/coder/coder\"]"
"[root] data.coder_parameter.instance_type (expand)" -> "[root] provider[\"registry.terraform.io/coder/coder\"]"
"[root] data.coder_workspace_preset.development (expand)" -> "[root] data.coder_parameter.instance_type (expand)"
"[root] data.coder_workspace_preset.production (expand)" -> "[root] data.coder_parameter.instance_type (expand)"
"[root] null_resource.dev (expand)" -> "[root] coder_agent.dev (expand)"
"[root] null_resource.dev (expand)" -> "[root] provider[\"registry.terraform.io/hashicorp/null\"]"
"[root] provider[\"registry.terraform.io/coder/coder\"] (close)" -> "[root] coder_agent.dev (expand)"
"[root] provider[\"registry.terraform.io/coder/coder\"] (close)" -> "[root] data.coder_workspace_preset.development (expand)"
"[root] provider[\"registry.terraform.io/coder/coder\"] (close)" -> "[root] data.coder_workspace_preset.production (expand)"
"[root] provider[\"registry.terraform.io/hashicorp/null\"] (close)" -> "[root] null_resource.dev (expand)"
"[root] root" -> "[root] provider[\"registry.terraform.io/coder/coder\"] (close)"
"[root] root" -> "[root] provider[\"registry.terraform.io/hashicorp/null\"] (close)"
}
}
@@ -0,0 +1,164 @@
{
"format_version": "1.0",
"terraform_version": "1.12.2",
"values": {
"root_module": {
"resources": [
{
"address": "data.coder_parameter.instance_type",
"mode": "data",
"type": "coder_parameter",
"name": "instance_type",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 1,
"values": {
"default": "t3.micro",
"description": "Instance type",
"display_name": null,
"ephemeral": false,
"form_type": "input",
"icon": null,
"id": "90b10074-c53d-4b0b-9c82-feb0e14e54f5",
"mutable": false,
"name": "instance_type",
"option": null,
"optional": true,
"order": null,
"styling": "{}",
"type": "string",
"validation": [],
"value": "t3.micro"
},
"sensitive_values": {
"validation": []
}
},
{
"address": "data.coder_workspace_preset.development",
"mode": "data",
"type": "coder_workspace_preset",
"name": "development",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 1,
"values": {
"default": true,
"id": "development",
"name": "development",
"parameters": {
"instance_type": "t3.micro"
},
"prebuilds": [
{
"expiration_policy": [],
"instances": 1,
"scheduling": []
}
]
},
"sensitive_values": {
"parameters": {},
"prebuilds": [
{
"expiration_policy": [],
"scheduling": []
}
]
}
},
{
"address": "data.coder_workspace_preset.production",
"mode": "data",
"type": "coder_workspace_preset",
"name": "production",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 1,
"values": {
"default": true,
"id": "production",
"name": "production",
"parameters": {
"instance_type": "t3.large"
},
"prebuilds": [
{
"expiration_policy": [],
"instances": 2,
"scheduling": []
}
]
},
"sensitive_values": {
"parameters": {},
"prebuilds": [
{
"expiration_policy": [],
"scheduling": []
}
]
}
},
{
"address": "coder_agent.dev",
"mode": "managed",
"type": "coder_agent",
"name": "dev",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 1,
"values": {
"api_key_scope": "all",
"arch": "amd64",
"auth": "token",
"connection_timeout": 120,
"dir": null,
"display_apps": [
{
"port_forwarding_helper": true,
"ssh_helper": true,
"vscode": true,
"vscode_insiders": false,
"web_terminal": true
}
],
"env": null,
"id": "a6599d5f-c6b4-4f27-ae8f-0ec39e56747f",
"init_script": "",
"metadata": [],
"motd_file": null,
"order": null,
"os": "linux",
"resources_monitoring": [],
"shutdown_script": null,
"startup_script": null,
"startup_script_behavior": "non-blocking",
"token": "25368365-1ee0-4a55-b410-8dc98f1be40c",
"troubleshooting_url": null
},
"sensitive_values": {
"display_apps": [
{}
],
"metadata": [],
"resources_monitoring": [],
"token": true
}
},
{
"address": "null_resource.dev",
"mode": "managed",
"type": "null_resource",
"name": "dev",
"provider_name": "registry.terraform.io/hashicorp/null",
"schema_version": 0,
"values": {
"id": "3793102304452173529",
"triggers": null
},
"sensitive_values": {},
"depends_on": [
"coder_agent.dev"
]
}
]
}
}
}
@@ -0,0 +1,25 @@
digraph {
compound = "true"
newrank = "true"
subgraph "root" {
"[root] coder_agent.dev (expand)" [label = "coder_agent.dev", shape = "box"]
"[root] data.coder_parameter.instance_type (expand)" [label = "data.coder_parameter.instance_type", shape = "box"]
"[root] data.coder_workspace_preset.development (expand)" [label = "data.coder_workspace_preset.development", shape = "box"]
"[root] data.coder_workspace_preset.production (expand)" [label = "data.coder_workspace_preset.production", shape = "box"]
"[root] null_resource.dev (expand)" [label = "null_resource.dev", shape = "box"]
"[root] provider[\"registry.terraform.io/coder/coder\"]" [label = "provider[\"registry.terraform.io/coder/coder\"]", shape = "diamond"]
"[root] provider[\"registry.terraform.io/hashicorp/null\"]" [label = "provider[\"registry.terraform.io/hashicorp/null\"]", shape = "diamond"]
"[root] coder_agent.dev (expand)" -> "[root] provider[\"registry.terraform.io/coder/coder\"]"
"[root] data.coder_parameter.instance_type (expand)" -> "[root] provider[\"registry.terraform.io/coder/coder\"]"
"[root] data.coder_workspace_preset.development (expand)" -> "[root] data.coder_parameter.instance_type (expand)"
"[root] data.coder_workspace_preset.production (expand)" -> "[root] data.coder_parameter.instance_type (expand)"
"[root] null_resource.dev (expand)" -> "[root] coder_agent.dev (expand)"
"[root] null_resource.dev (expand)" -> "[root] provider[\"registry.terraform.io/hashicorp/null\"]"
"[root] provider[\"registry.terraform.io/coder/coder\"] (close)" -> "[root] coder_agent.dev (expand)"
"[root] provider[\"registry.terraform.io/coder/coder\"] (close)" -> "[root] data.coder_workspace_preset.development (expand)"
"[root] provider[\"registry.terraform.io/coder/coder\"] (close)" -> "[root] data.coder_workspace_preset.production (expand)"
"[root] provider[\"registry.terraform.io/hashicorp/null\"] (close)" -> "[root] null_resource.dev (expand)"
"[root] root" -> "[root] provider[\"registry.terraform.io/coder/coder\"] (close)"
"[root] root" -> "[root] provider[\"registry.terraform.io/hashicorp/null\"] (close)"
}
}
@@ -0,0 +1,352 @@
{
"format_version": "1.2",
"terraform_version": "1.12.2",
"planned_values": {
"root_module": {
"resources": [
{
"address": "coder_agent.dev",
"mode": "managed",
"type": "coder_agent",
"name": "dev",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 1,
"values": {
"api_key_scope": "all",
"arch": "amd64",
"auth": "token",
"connection_timeout": 120,
"dir": null,
"env": null,
"metadata": [],
"motd_file": null,
"order": null,
"os": "linux",
"resources_monitoring": [],
"shutdown_script": null,
"startup_script": null,
"startup_script_behavior": "non-blocking",
"troubleshooting_url": null
},
"sensitive_values": {
"display_apps": [],
"metadata": [],
"resources_monitoring": [],
"token": true
}
},
{
"address": "null_resource.dev",
"mode": "managed",
"type": "null_resource",
"name": "dev",
"provider_name": "registry.terraform.io/hashicorp/null",
"schema_version": 0,
"values": {
"triggers": null
},
"sensitive_values": {}
}
]
}
},
"resource_changes": [
{
"address": "coder_agent.dev",
"mode": "managed",
"type": "coder_agent",
"name": "dev",
"provider_name": "registry.terraform.io/coder/coder",
"change": {
"actions": [
"create"
],
"before": null,
"after": {
"api_key_scope": "all",
"arch": "amd64",
"auth": "token",
"connection_timeout": 120,
"dir": null,
"env": null,
"metadata": [],
"motd_file": null,
"order": null,
"os": "linux",
"resources_monitoring": [],
"shutdown_script": null,
"startup_script": null,
"startup_script_behavior": "non-blocking",
"troubleshooting_url": null
},
"after_unknown": {
"display_apps": true,
"id": true,
"init_script": true,
"metadata": [],
"resources_monitoring": [],
"token": true
},
"before_sensitive": false,
"after_sensitive": {
"display_apps": [],
"metadata": [],
"resources_monitoring": [],
"token": true
}
}
},
{
"address": "null_resource.dev",
"mode": "managed",
"type": "null_resource",
"name": "dev",
"provider_name": "registry.terraform.io/hashicorp/null",
"change": {
"actions": [
"create"
],
"before": null,
"after": {
"triggers": null
},
"after_unknown": {
"id": true
},
"before_sensitive": false,
"after_sensitive": {}
}
}
],
"prior_state": {
"format_version": "1.0",
"terraform_version": "1.12.2",
"values": {
"root_module": {
"resources": [
{
"address": "data.coder_parameter.instance_type",
"mode": "data",
"type": "coder_parameter",
"name": "instance_type",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 1,
"values": {
"default": "t3.micro",
"description": "Instance type",
"display_name": null,
"ephemeral": false,
"form_type": "input",
"icon": null,
"id": "9d27c698-0262-4681-9f34-3a43ecf50111",
"mutable": false,
"name": "instance_type",
"option": null,
"optional": true,
"order": null,
"styling": "{}",
"type": "string",
"validation": [],
"value": "t3.micro"
},
"sensitive_values": {
"validation": []
}
},
{
"address": "data.coder_workspace_preset.development",
"mode": "data",
"type": "coder_workspace_preset",
"name": "development",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 1,
"values": {
"default": true,
"id": "development",
"name": "development",
"parameters": {
"instance_type": "t3.micro"
},
"prebuilds": [
{
"expiration_policy": [],
"instances": 1,
"scheduling": []
}
]
},
"sensitive_values": {
"parameters": {},
"prebuilds": [
{
"expiration_policy": [],
"scheduling": []
}
]
}
},
{
"address": "data.coder_workspace_preset.production",
"mode": "data",
"type": "coder_workspace_preset",
"name": "production",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 1,
"values": {
"default": false,
"id": "production",
"name": "production",
"parameters": {
"instance_type": "t3.large"
},
"prebuilds": [
{
"expiration_policy": [],
"instances": 2,
"scheduling": []
}
]
},
"sensitive_values": {
"parameters": {},
"prebuilds": [
{
"expiration_policy": [],
"scheduling": []
}
]
}
}
]
}
}
},
"configuration": {
"provider_config": {
"coder": {
"name": "coder",
"full_name": "registry.terraform.io/coder/coder",
"version_constraint": ">= 2.3.0"
},
"null": {
"name": "null",
"full_name": "registry.terraform.io/hashicorp/null"
}
},
"root_module": {
"resources": [
{
"address": "coder_agent.dev",
"mode": "managed",
"type": "coder_agent",
"name": "dev",
"provider_config_key": "coder",
"expressions": {
"arch": {
"constant_value": "amd64"
},
"os": {
"constant_value": "linux"
}
},
"schema_version": 1
},
{
"address": "null_resource.dev",
"mode": "managed",
"type": "null_resource",
"name": "dev",
"provider_config_key": "null",
"schema_version": 0,
"depends_on": [
"coder_agent.dev"
]
},
{
"address": "data.coder_parameter.instance_type",
"mode": "data",
"type": "coder_parameter",
"name": "instance_type",
"provider_config_key": "coder",
"expressions": {
"default": {
"constant_value": "t3.micro"
},
"description": {
"constant_value": "Instance type"
},
"name": {
"constant_value": "instance_type"
},
"type": {
"constant_value": "string"
}
},
"schema_version": 1
},
{
"address": "data.coder_workspace_preset.development",
"mode": "data",
"type": "coder_workspace_preset",
"name": "development",
"provider_config_key": "coder",
"expressions": {
"default": {
"constant_value": true
},
"name": {
"constant_value": "development"
},
"parameters": {
"references": [
"data.coder_parameter.instance_type.name",
"data.coder_parameter.instance_type"
]
},
"prebuilds": [
{
"instances": {
"constant_value": 1
}
}
]
},
"schema_version": 1
},
{
"address": "data.coder_workspace_preset.production",
"mode": "data",
"type": "coder_workspace_preset",
"name": "production",
"provider_config_key": "coder",
"expressions": {
"default": {
"constant_value": false
},
"name": {
"constant_value": "production"
},
"parameters": {
"references": [
"data.coder_parameter.instance_type.name",
"data.coder_parameter.instance_type"
]
},
"prebuilds": [
{
"instances": {
"constant_value": 2
}
}
]
},
"schema_version": 1
}
]
}
},
"timestamp": "2025-06-19T12:43:58Z",
"applyable": true,
"complete": true,
"errored": false
}
@@ -0,0 +1,25 @@
digraph {
compound = "true"
newrank = "true"
subgraph "root" {
"[root] coder_agent.dev (expand)" [label = "coder_agent.dev", shape = "box"]
"[root] data.coder_parameter.instance_type (expand)" [label = "data.coder_parameter.instance_type", shape = "box"]
"[root] data.coder_workspace_preset.development (expand)" [label = "data.coder_workspace_preset.development", shape = "box"]
"[root] data.coder_workspace_preset.production (expand)" [label = "data.coder_workspace_preset.production", shape = "box"]
"[root] null_resource.dev (expand)" [label = "null_resource.dev", shape = "box"]
"[root] provider[\"registry.terraform.io/coder/coder\"]" [label = "provider[\"registry.terraform.io/coder/coder\"]", shape = "diamond"]
"[root] provider[\"registry.terraform.io/hashicorp/null\"]" [label = "provider[\"registry.terraform.io/hashicorp/null\"]", shape = "diamond"]
"[root] coder_agent.dev (expand)" -> "[root] provider[\"registry.terraform.io/coder/coder\"]"
"[root] data.coder_parameter.instance_type (expand)" -> "[root] provider[\"registry.terraform.io/coder/coder\"]"
"[root] data.coder_workspace_preset.development (expand)" -> "[root] data.coder_parameter.instance_type (expand)"
"[root] data.coder_workspace_preset.production (expand)" -> "[root] data.coder_parameter.instance_type (expand)"
"[root] null_resource.dev (expand)" -> "[root] coder_agent.dev (expand)"
"[root] null_resource.dev (expand)" -> "[root] provider[\"registry.terraform.io/hashicorp/null\"]"
"[root] provider[\"registry.terraform.io/coder/coder\"] (close)" -> "[root] coder_agent.dev (expand)"
"[root] provider[\"registry.terraform.io/coder/coder\"] (close)" -> "[root] data.coder_workspace_preset.development (expand)"
"[root] provider[\"registry.terraform.io/coder/coder\"] (close)" -> "[root] data.coder_workspace_preset.production (expand)"
"[root] provider[\"registry.terraform.io/hashicorp/null\"] (close)" -> "[root] null_resource.dev (expand)"
"[root] root" -> "[root] provider[\"registry.terraform.io/coder/coder\"] (close)"
"[root] root" -> "[root] provider[\"registry.terraform.io/hashicorp/null\"] (close)"
}
}
@@ -0,0 +1,164 @@
{
"format_version": "1.0",
"terraform_version": "1.12.2",
"values": {
"root_module": {
"resources": [
{
"address": "data.coder_parameter.instance_type",
"mode": "data",
"type": "coder_parameter",
"name": "instance_type",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 1,
"values": {
"default": "t3.micro",
"description": "Instance type",
"display_name": null,
"ephemeral": false,
"form_type": "input",
"icon": null,
"id": "1c507aa1-6626-4b68-b68f-fadd95421004",
"mutable": false,
"name": "instance_type",
"option": null,
"optional": true,
"order": null,
"styling": "{}",
"type": "string",
"validation": [],
"value": "t3.micro"
},
"sensitive_values": {
"validation": []
}
},
{
"address": "data.coder_workspace_preset.development",
"mode": "data",
"type": "coder_workspace_preset",
"name": "development",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 1,
"values": {
"default": true,
"id": "development",
"name": "development",
"parameters": {
"instance_type": "t3.micro"
},
"prebuilds": [
{
"expiration_policy": [],
"instances": 1,
"scheduling": []
}
]
},
"sensitive_values": {
"parameters": {},
"prebuilds": [
{
"expiration_policy": [],
"scheduling": []
}
]
}
},
{
"address": "data.coder_workspace_preset.production",
"mode": "data",
"type": "coder_workspace_preset",
"name": "production",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 1,
"values": {
"default": false,
"id": "production",
"name": "production",
"parameters": {
"instance_type": "t3.large"
},
"prebuilds": [
{
"expiration_policy": [],
"instances": 2,
"scheduling": []
}
]
},
"sensitive_values": {
"parameters": {},
"prebuilds": [
{
"expiration_policy": [],
"scheduling": []
}
]
}
},
{
"address": "coder_agent.dev",
"mode": "managed",
"type": "coder_agent",
"name": "dev",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 1,
"values": {
"api_key_scope": "all",
"arch": "amd64",
"auth": "token",
"connection_timeout": 120,
"dir": null,
"display_apps": [
{
"port_forwarding_helper": true,
"ssh_helper": true,
"vscode": true,
"vscode_insiders": false,
"web_terminal": true
}
],
"env": null,
"id": "5d66372f-a526-44ee-9eac-0c16bcc57aa2",
"init_script": "",
"metadata": [],
"motd_file": null,
"order": null,
"os": "linux",
"resources_monitoring": [],
"shutdown_script": null,
"startup_script": null,
"startup_script_behavior": "non-blocking",
"token": "70ab06e5-ef86-4ac2-a1d9-58c8ad85d379",
"troubleshooting_url": null
},
"sensitive_values": {
"display_apps": [
{}
],
"metadata": [],
"resources_monitoring": [],
"token": true
}
},
{
"address": "null_resource.dev",
"mode": "managed",
"type": "null_resource",
"name": "dev",
"provider_name": "registry.terraform.io/hashicorp/null",
"schema_version": 0,
"values": {
"id": "3636304087019022806",
"triggers": null
},
"sensitive_values": {},
"depends_on": [
"coder_agent.dev"
]
}
]
}
}
}
@@ -0,0 +1,46 @@
terraform {
required_providers {
coder = {
source = "coder/coder"
version = ">= 2.3.0"
}
}
}
data "coder_parameter" "instance_type" {
name = "instance_type"
type = "string"
description = "Instance type"
default = "t3.micro"
}
data "coder_workspace_preset" "development" {
name = "development"
default = true
parameters = {
(data.coder_parameter.instance_type.name) = "t3.micro"
}
prebuilds {
instances = 1
}
}
data "coder_workspace_preset" "production" {
name = "production"
default = false
parameters = {
(data.coder_parameter.instance_type.name) = "t3.large"
}
prebuilds {
instances = 2
}
}
resource "coder_agent" "dev" {
os = "linux"
arch = "amd64"
}
resource "null_resource" "dev" {
depends_on = [coder_agent.dev]
}
@@ -2,7 +2,7 @@ terraform {
required_providers {
coder = {
source = "coder/coder"
version = "2.3.0-pre2"
version = ">= 2.3.0"
}
docker = {
source = "kreuzwerker/docker"
@@ -2,7 +2,7 @@ terraform {
required_providers {
coder = {
source = "coder/coder"
version = "2.3.0-pre2"
version = ">= 2.3.0"
}
docker = {
source = "kreuzwerker/docker"
@@ -2,7 +2,7 @@ terraform {
required_providers {
coder = {
source = "coder/coder"
version = "2.3.0-pre2"
version = ">= 2.3.0"
}
}
}
+14 -13
View File
@@ -130,7 +130,7 @@
"type": "coder_parameter",
"name": "sample",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "ok",
"description": "blah blah",
@@ -159,8 +159,9 @@
"type": "coder_workspace_preset",
"name": "MyFirstProject",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": false,
"id": "My First Project",
"name": "My First Project",
"parameters": {
@@ -221,7 +222,7 @@
"type": "coder_parameter",
"name": "first_parameter_from_module",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "abcdef",
"description": "First parameter from module",
@@ -250,7 +251,7 @@
"type": "coder_parameter",
"name": "second_parameter_from_module",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "ghijkl",
"description": "Second parameter from module",
@@ -284,7 +285,7 @@
"type": "coder_parameter",
"name": "child_first_parameter_from_module",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "abcdef",
"description": "First parameter from child module",
@@ -313,7 +314,7 @@
"type": "coder_parameter",
"name": "child_second_parameter_from_module",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "ghijkl",
"description": "Second parameter from child module",
@@ -350,7 +351,7 @@
"coder": {
"name": "coder",
"full_name": "registry.terraform.io/coder/coder",
"version_constraint": "2.3.0-pre2"
"version_constraint": ">= 2.3.0"
},
"module.this_is_external_module:docker": {
"name": "docker",
@@ -412,7 +413,7 @@
"constant_value": "string"
}
},
"schema_version": 0
"schema_version": 1
},
{
"address": "data.coder_workspace_preset.MyFirstProject",
@@ -470,7 +471,7 @@
}
]
},
"schema_version": 0
"schema_version": 1
}
],
"module_calls": {
@@ -501,7 +502,7 @@
"constant_value": "string"
}
},
"schema_version": 0
"schema_version": 1
},
{
"address": "data.coder_parameter.second_parameter_from_module",
@@ -526,7 +527,7 @@
"constant_value": "string"
}
},
"schema_version": 0
"schema_version": 1
}
],
"module_calls": {
@@ -557,7 +558,7 @@
"constant_value": "string"
}
},
"schema_version": 0
"schema_version": 1
},
{
"address": "data.coder_parameter.child_second_parameter_from_module",
@@ -582,7 +583,7 @@
"constant_value": "string"
}
},
"schema_version": 0
"schema_version": 1
}
]
}
+7 -6
View File
@@ -10,7 +10,7 @@
"type": "coder_parameter",
"name": "sample",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "ok",
"description": "blah blah",
@@ -39,8 +39,9 @@
"type": "coder_workspace_preset",
"name": "MyFirstProject",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": false,
"id": "My First Project",
"name": "My First Project",
"parameters": {
@@ -162,7 +163,7 @@
"type": "coder_parameter",
"name": "first_parameter_from_module",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "abcdef",
"description": "First parameter from module",
@@ -191,7 +192,7 @@
"type": "coder_parameter",
"name": "second_parameter_from_module",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "ghijkl",
"description": "Second parameter from module",
@@ -225,7 +226,7 @@
"type": "coder_parameter",
"name": "child_first_parameter_from_module",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "abcdef",
"description": "First parameter from child module",
@@ -254,7 +255,7 @@
"type": "coder_parameter",
"name": "child_second_parameter_from_module",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "ghijkl",
"description": "Second parameter from child module",
@@ -130,7 +130,7 @@
"type": "coder_parameter",
"name": "example",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": null,
"description": null,
@@ -159,7 +159,7 @@
"type": "coder_parameter",
"name": "sample",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "ok",
"description": "blah blah",
@@ -244,7 +244,7 @@
"constant_value": "string"
}
},
"schema_version": 0
"schema_version": 1
},
{
"address": "data.coder_parameter.sample",
@@ -269,7 +269,7 @@
"constant_value": "string"
}
},
"schema_version": 0
"schema_version": 1
}
]
}
@@ -10,7 +10,7 @@
"type": "coder_parameter",
"name": "example",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": null,
"description": null,
@@ -39,7 +39,7 @@
"type": "coder_parameter",
"name": "sample",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "ok",
"description": "blah blah",
@@ -130,7 +130,7 @@
"type": "coder_parameter",
"name": "number_example",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "4",
"description": null,
@@ -159,7 +159,7 @@
"type": "coder_parameter",
"name": "number_example_max",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "4",
"description": null,
@@ -200,7 +200,7 @@
"type": "coder_parameter",
"name": "number_example_max_zero",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "-3",
"description": null,
@@ -241,7 +241,7 @@
"type": "coder_parameter",
"name": "number_example_min",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "4",
"description": null,
@@ -282,7 +282,7 @@
"type": "coder_parameter",
"name": "number_example_min_max",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "4",
"description": null,
@@ -323,7 +323,7 @@
"type": "coder_parameter",
"name": "number_example_min_zero",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "4",
"description": null,
@@ -426,7 +426,7 @@
"constant_value": "number"
}
},
"schema_version": 0
"schema_version": 1
},
{
"address": "data.coder_parameter.number_example_max",
@@ -452,7 +452,7 @@
}
]
},
"schema_version": 0
"schema_version": 1
},
{
"address": "data.coder_parameter.number_example_max_zero",
@@ -478,7 +478,7 @@
}
]
},
"schema_version": 0
"schema_version": 1
},
{
"address": "data.coder_parameter.number_example_min",
@@ -504,7 +504,7 @@
}
]
},
"schema_version": 0
"schema_version": 1
},
{
"address": "data.coder_parameter.number_example_min_max",
@@ -533,7 +533,7 @@
}
]
},
"schema_version": 0
"schema_version": 1
},
{
"address": "data.coder_parameter.number_example_min_zero",
@@ -559,7 +559,7 @@
}
]
},
"schema_version": 0
"schema_version": 1
}
]
}
@@ -10,7 +10,7 @@
"type": "coder_parameter",
"name": "number_example",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "4",
"description": null,
@@ -39,7 +39,7 @@
"type": "coder_parameter",
"name": "number_example_max",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "4",
"description": null,
@@ -80,7 +80,7 @@
"type": "coder_parameter",
"name": "number_example_max_zero",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "-3",
"description": null,
@@ -121,7 +121,7 @@
"type": "coder_parameter",
"name": "number_example_min",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "4",
"description": null,
@@ -162,7 +162,7 @@
"type": "coder_parameter",
"name": "number_example_min_max",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "4",
"description": null,
@@ -203,7 +203,7 @@
"type": "coder_parameter",
"name": "number_example_min_zero",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "4",
"description": null,
@@ -130,7 +130,7 @@
"type": "coder_parameter",
"name": "example",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": null,
"description": null,
@@ -176,7 +176,7 @@
"type": "coder_parameter",
"name": "number_example",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "4",
"description": null,
@@ -205,7 +205,7 @@
"type": "coder_parameter",
"name": "number_example_max_zero",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "-2",
"description": null,
@@ -246,7 +246,7 @@
"type": "coder_parameter",
"name": "number_example_min_max",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "4",
"description": null,
@@ -287,7 +287,7 @@
"type": "coder_parameter",
"name": "number_example_min_zero",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "4",
"description": null,
@@ -328,7 +328,7 @@
"type": "coder_parameter",
"name": "sample",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "ok",
"description": "blah blah",
@@ -361,7 +361,7 @@
"type": "coder_parameter",
"name": "first_parameter_from_module",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "abcdef",
"description": "First parameter from module",
@@ -390,7 +390,7 @@
"type": "coder_parameter",
"name": "second_parameter_from_module",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "ghijkl",
"description": "Second parameter from module",
@@ -424,7 +424,7 @@
"type": "coder_parameter",
"name": "child_first_parameter_from_module",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "abcdef",
"description": "First parameter from child module",
@@ -453,7 +453,7 @@
"type": "coder_parameter",
"name": "child_second_parameter_from_module",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "ghijkl",
"description": "Second parameter from child module",
@@ -564,7 +564,7 @@
"constant_value": "string"
}
},
"schema_version": 0
"schema_version": 1
},
{
"address": "data.coder_parameter.number_example",
@@ -583,7 +583,7 @@
"constant_value": "number"
}
},
"schema_version": 0
"schema_version": 1
},
{
"address": "data.coder_parameter.number_example_max_zero",
@@ -612,7 +612,7 @@
}
]
},
"schema_version": 0
"schema_version": 1
},
{
"address": "data.coder_parameter.number_example_min_max",
@@ -641,7 +641,7 @@
}
]
},
"schema_version": 0
"schema_version": 1
},
{
"address": "data.coder_parameter.number_example_min_zero",
@@ -670,7 +670,7 @@
}
]
},
"schema_version": 0
"schema_version": 1
},
{
"address": "data.coder_parameter.sample",
@@ -692,7 +692,7 @@
"constant_value": "string"
}
},
"schema_version": 0
"schema_version": 1
}
],
"module_calls": {
@@ -723,7 +723,7 @@
"constant_value": "string"
}
},
"schema_version": 0
"schema_version": 1
},
{
"address": "data.coder_parameter.second_parameter_from_module",
@@ -748,7 +748,7 @@
"constant_value": "string"
}
},
"schema_version": 0
"schema_version": 1
}
],
"module_calls": {
@@ -779,7 +779,7 @@
"constant_value": "string"
}
},
"schema_version": 0
"schema_version": 1
},
{
"address": "data.coder_parameter.child_second_parameter_from_module",
@@ -804,7 +804,7 @@
"constant_value": "string"
}
},
"schema_version": 0
"schema_version": 1
}
]
}
@@ -10,7 +10,7 @@
"type": "coder_parameter",
"name": "example",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": null,
"description": null,
@@ -56,7 +56,7 @@
"type": "coder_parameter",
"name": "number_example",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "4",
"description": null,
@@ -85,7 +85,7 @@
"type": "coder_parameter",
"name": "number_example_max_zero",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "-2",
"description": null,
@@ -126,7 +126,7 @@
"type": "coder_parameter",
"name": "number_example_min_max",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "4",
"description": null,
@@ -167,7 +167,7 @@
"type": "coder_parameter",
"name": "number_example_min_zero",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "4",
"description": null,
@@ -208,7 +208,7 @@
"type": "coder_parameter",
"name": "sample",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "ok",
"description": "blah blah",
@@ -302,7 +302,7 @@
"type": "coder_parameter",
"name": "first_parameter_from_module",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "abcdef",
"description": "First parameter from module",
@@ -331,7 +331,7 @@
"type": "coder_parameter",
"name": "second_parameter_from_module",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "ghijkl",
"description": "Second parameter from module",
@@ -365,7 +365,7 @@
"type": "coder_parameter",
"name": "child_first_parameter_from_module",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "abcdef",
"description": "First parameter from child module",
@@ -394,7 +394,7 @@
"type": "coder_parameter",
"name": "child_second_parameter_from_module",
"provider_name": "registry.terraform.io/coder/coder",
"schema_version": 0,
"schema_version": 1,
"values": {
"default": "ghijkl",
"description": "Second parameter from child module",