mirror of https://github.com/coder/coder.git
fix: use minDisabled, maxDisabled for parameter validation (#7755)
This commit is contained in:
parent
a7366a8b76
commit
10036ab5fb
|
@ -78,24 +78,26 @@ func ValidateWorkspaceBuildParameter(richParameter TemplateVersionParameter, bui
|
|||
return nil
|
||||
}
|
||||
|
||||
var min, max int
|
||||
if richParameter.ValidationMin != nil {
|
||||
min = int(*richParameter.ValidationMin)
|
||||
}
|
||||
if richParameter.ValidationMax != nil {
|
||||
max = int(*richParameter.ValidationMax)
|
||||
}
|
||||
|
||||
validation := &provider.Validation{
|
||||
Min: ptrInt(richParameter.ValidationMin),
|
||||
Max: ptrInt(richParameter.ValidationMax),
|
||||
Regex: richParameter.ValidationRegex,
|
||||
Error: richParameter.ValidationError,
|
||||
Monotonic: string(richParameter.ValidationMonotonic),
|
||||
Min: min,
|
||||
Max: max,
|
||||
MinDisabled: richParameter.ValidationMin == nil,
|
||||
MaxDisabled: richParameter.ValidationMax == nil,
|
||||
Regex: richParameter.ValidationRegex,
|
||||
Error: richParameter.ValidationError,
|
||||
Monotonic: string(richParameter.ValidationMonotonic),
|
||||
}
|
||||
return validation.Valid(richParameter.Type, value)
|
||||
}
|
||||
|
||||
func ptrInt(number *int32) *int {
|
||||
if number == nil {
|
||||
return nil
|
||||
}
|
||||
n := int(*number)
|
||||
return &n
|
||||
}
|
||||
|
||||
func findBuildParameter(params []WorkspaceBuildParameter, parameterName string) (*WorkspaceBuildParameter, bool) {
|
||||
if params == nil {
|
||||
return nil, false
|
||||
|
|
|
@ -187,6 +187,18 @@ func TestRichParameterValidation(t *testing.T) {
|
|||
{Name: boolParameterName, Type: "bool", Mutable: true},
|
||||
}
|
||||
|
||||
numberRichParametersMinOnly := []codersdk.TemplateVersionParameter{
|
||||
{Name: stringParameterName, Type: "string", Mutable: true},
|
||||
{Name: numberParameterName, Type: "number", Mutable: true, ValidationMin: ptr.Ref(int32(5))},
|
||||
{Name: boolParameterName, Type: "bool", Mutable: true},
|
||||
}
|
||||
|
||||
numberRichParametersMaxOnly := []codersdk.TemplateVersionParameter{
|
||||
{Name: stringParameterName, Type: "string", Mutable: true},
|
||||
{Name: numberParameterName, Type: "number", Mutable: true, ValidationMax: ptr.Ref(int32(5))},
|
||||
{Name: boolParameterName, Type: "bool", Mutable: true},
|
||||
}
|
||||
|
||||
monotonicIncreasingNumberRichParameters := []codersdk.TemplateVersionParameter{
|
||||
{Name: stringParameterName, Type: "string", Mutable: true},
|
||||
{Name: numberParameterName, Type: "number", Mutable: true, ValidationMin: ptr.Ref(int32(3)), ValidationMax: ptr.Ref(int32(10)), ValidationMonotonic: "increasing"},
|
||||
|
@ -232,6 +244,14 @@ func TestRichParameterValidation(t *testing.T) {
|
|||
{numberParameterName, "10", true, numberRichParameters},
|
||||
{numberParameterName, "11", false, numberRichParameters},
|
||||
|
||||
{numberParameterName, "4", false, numberRichParametersMinOnly},
|
||||
{numberParameterName, "5", true, numberRichParametersMinOnly},
|
||||
{numberParameterName, "6", true, numberRichParametersMinOnly},
|
||||
|
||||
{numberParameterName, "4", true, numberRichParametersMaxOnly},
|
||||
{numberParameterName, "5", true, numberRichParametersMaxOnly},
|
||||
{numberParameterName, "6", false, numberRichParametersMaxOnly},
|
||||
|
||||
{numberParameterName, "6", false, monotonicIncreasingNumberRichParameters},
|
||||
{numberParameterName, "7", true, monotonicIncreasingNumberRichParameters},
|
||||
{numberParameterName, "8", true, monotonicIncreasingNumberRichParameters},
|
||||
|
|
2
go.mod
2
go.mod
|
@ -75,7 +75,7 @@ require (
|
|||
github.com/codeclysm/extract v2.2.0+incompatible
|
||||
github.com/coder/flog v1.1.0
|
||||
github.com/coder/retry v1.4.0
|
||||
github.com/coder/terraform-provider-coder v0.8.1
|
||||
github.com/coder/terraform-provider-coder v0.8.2
|
||||
github.com/coder/wgtunnel v0.1.5
|
||||
github.com/coreos/go-oidc/v3 v3.6.0
|
||||
github.com/coreos/go-systemd v0.0.0-20191104093116-d3cd4ed1dbcf
|
||||
|
|
4
go.sum
4
go.sum
|
@ -336,8 +336,8 @@ github.com/coder/ssh v0.0.0-20230421140225-04bb837133e1 h1:LBw76rEDuhNJyohve11mb
|
|||
github.com/coder/ssh v0.0.0-20230421140225-04bb837133e1/go.mod h1:ZSS+CUoKHDrqVakTfTWUlKSr9MtMFkC4UvtQKD7O914=
|
||||
github.com/coder/tailscale v0.0.0-20230522123520-74712221d00f h1:F0Xr1d8h8dAHn7tab1HXuzYFkcjmCydnEfdMbkOhlVk=
|
||||
github.com/coder/tailscale v0.0.0-20230522123520-74712221d00f/go.mod h1:jpg+77g19FpXL43U1VoIqoSg1K/Vh5CVxycGldQ8KhA=
|
||||
github.com/coder/terraform-provider-coder v0.8.1 h1:i/LhvFi+Ei0gL+h4GItJfwtxjcITTlQhS+R8J+0vRo8=
|
||||
github.com/coder/terraform-provider-coder v0.8.1/go.mod h1:UIfU3bYNeSzJJvHyJ30tEKjD6Z9utloI+HUM/7n94CY=
|
||||
github.com/coder/terraform-provider-coder v0.8.2 h1:EPhkdpsNd8fcg6eqpAQr+W1eRrEAMtugoqujoTK4O6o=
|
||||
github.com/coder/terraform-provider-coder v0.8.2/go.mod h1:UIfU3bYNeSzJJvHyJ30tEKjD6Z9utloI+HUM/7n94CY=
|
||||
github.com/coder/wgtunnel v0.1.5 h1:WP3sCj/3iJ34eKvpMQEp1oJHvm24RYh0NHbj1kfUKfs=
|
||||
github.com/coder/wgtunnel v0.1.5/go.mod h1:bokoUrHnUFY4lu9KOeSYiIcHTI2MO1KwqumU4DPDyJI=
|
||||
github.com/containerd/aufs v0.0.0-20200908144142-dab0cbea06f4/go.mod h1:nukgQABAEopAHvB6j7cnP5zJ+/3aVcE7hCYqvIwAHyE=
|
||||
|
|
|
@ -483,8 +483,35 @@ func ConvertState(modules []*tfjson.StateModule, rawGraph string, rawParameterNa
|
|||
if len(param.Validation) == 1 {
|
||||
protoParam.ValidationRegex = param.Validation[0].Regex
|
||||
protoParam.ValidationError = param.Validation[0].Error
|
||||
protoParam.ValidationMax = ptrInt32(param.Validation[0].Max)
|
||||
protoParam.ValidationMin = ptrInt32(param.Validation[0].Min)
|
||||
|
||||
validationAttributeValues, ok := resource.AttributeValues["validation"]
|
||||
if ok {
|
||||
validationAttributeValuesArr, ok := validationAttributeValues.([]interface{})
|
||||
if ok {
|
||||
validationAttributeValuesMapStr, ok := validationAttributeValuesArr[0].(map[string]interface{})
|
||||
if ok {
|
||||
// Backward compatibility with terraform-coder-plugin < v0.8.2:
|
||||
// * "min_disabled" and "max_disabled" are not available yet
|
||||
// * "min" and "max" are required to be specified together
|
||||
if _, ok = validationAttributeValuesMapStr["min_disabled"]; !ok {
|
||||
if param.Validation[0].Min != 0 || param.Validation[0].Max != 0 {
|
||||
param.Validation[0].MinDisabled = false
|
||||
param.Validation[0].MaxDisabled = false
|
||||
} else {
|
||||
param.Validation[0].MinDisabled = true
|
||||
param.Validation[0].MaxDisabled = true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if !param.Validation[0].MaxDisabled {
|
||||
protoParam.ValidationMax = PtrInt32(param.Validation[0].Max)
|
||||
}
|
||||
if !param.Validation[0].MinDisabled {
|
||||
protoParam.ValidationMin = PtrInt32(param.Validation[0].Min)
|
||||
}
|
||||
protoParam.ValidationMonotonic = param.Validation[0].Monotonic
|
||||
}
|
||||
if len(param.Option) > 0 {
|
||||
|
@ -527,12 +554,8 @@ func ConvertState(modules []*tfjson.StateModule, rawGraph string, rawParameterNa
|
|||
}, nil
|
||||
}
|
||||
|
||||
func ptrInt32(number *int) *int32 {
|
||||
var n int32
|
||||
if number == nil {
|
||||
return &n
|
||||
}
|
||||
n = int32(*number)
|
||||
func PtrInt32(number int) *int32 {
|
||||
n := int32(number)
|
||||
return &n
|
||||
}
|
||||
|
||||
|
|
|
@ -323,6 +323,83 @@ func TestConvertResources(t *testing.T) {
|
|||
Type: "string",
|
||||
Description: "blah blah",
|
||||
DefaultValue: "ok",
|
||||
}, {
|
||||
Name: "number_example_min_max",
|
||||
Type: "number",
|
||||
DefaultValue: "4",
|
||||
ValidationMin: terraform.PtrInt32(3),
|
||||
ValidationMax: terraform.PtrInt32(6),
|
||||
}, {
|
||||
Name: "number_example_min_zero",
|
||||
Type: "number",
|
||||
DefaultValue: "4",
|
||||
ValidationMin: terraform.PtrInt32(0),
|
||||
ValidationMax: terraform.PtrInt32(6),
|
||||
}, {
|
||||
Name: "number_example_max_zero",
|
||||
Type: "number",
|
||||
DefaultValue: "-2",
|
||||
ValidationMin: terraform.PtrInt32(-3),
|
||||
ValidationMax: terraform.PtrInt32(0),
|
||||
}, {
|
||||
Name: "number_example",
|
||||
Type: "number",
|
||||
DefaultValue: "4",
|
||||
ValidationMin: nil,
|
||||
ValidationMax: nil,
|
||||
}},
|
||||
},
|
||||
"rich-parameters-validation": {
|
||||
resources: []*proto.Resource{{
|
||||
Name: "dev",
|
||||
Type: "null_resource",
|
||||
Agents: []*proto.Agent{{
|
||||
Name: "dev",
|
||||
OperatingSystem: "windows",
|
||||
ShutdownScriptTimeoutSeconds: 300,
|
||||
StartupScriptTimeoutSeconds: 300,
|
||||
Architecture: "arm64",
|
||||
Auth: &proto.Agent_Token{},
|
||||
LoginBeforeReady: true,
|
||||
ConnectionTimeoutSeconds: 120,
|
||||
}},
|
||||
}},
|
||||
parameters: []*proto.RichParameter{{
|
||||
Name: "number_example_min_max",
|
||||
Type: "number",
|
||||
DefaultValue: "4",
|
||||
ValidationMin: terraform.PtrInt32(3),
|
||||
ValidationMax: terraform.PtrInt32(6),
|
||||
}, {
|
||||
Name: "number_example_min",
|
||||
Type: "number",
|
||||
DefaultValue: "4",
|
||||
ValidationMin: terraform.PtrInt32(3),
|
||||
ValidationMax: nil,
|
||||
}, {
|
||||
Name: "number_example_min_zero",
|
||||
Type: "number",
|
||||
DefaultValue: "4",
|
||||
ValidationMin: terraform.PtrInt32(0),
|
||||
ValidationMax: nil,
|
||||
}, {
|
||||
Name: "number_example_max",
|
||||
Type: "number",
|
||||
DefaultValue: "4",
|
||||
ValidationMin: nil,
|
||||
ValidationMax: terraform.PtrInt32(6),
|
||||
}, {
|
||||
Name: "number_example_max_zero",
|
||||
Type: "number",
|
||||
DefaultValue: "-3",
|
||||
ValidationMin: nil,
|
||||
ValidationMax: terraform.PtrInt32(0),
|
||||
}, {
|
||||
Name: "number_example",
|
||||
Type: "number",
|
||||
DefaultValue: "4",
|
||||
ValidationMin: nil,
|
||||
ValidationMax: nil,
|
||||
}},
|
||||
},
|
||||
"git-auth-providers": {
|
||||
|
|
69
provisioner/terraform/testdata/rich-parameters-validation/rich-parameters-validation.tf
vendored
Normal file
69
provisioner/terraform/testdata/rich-parameters-validation/rich-parameters-validation.tf
vendored
Normal file
|
@ -0,0 +1,69 @@
|
|||
terraform {
|
||||
required_providers {
|
||||
coder = {
|
||||
source = "coder/coder"
|
||||
version = "0.8.2"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
data "coder_parameter" "number_example_min_max" {
|
||||
name = "number_example_min_max"
|
||||
type = "number"
|
||||
default = 4
|
||||
validation {
|
||||
min = 3
|
||||
max = 6
|
||||
}
|
||||
}
|
||||
|
||||
data "coder_parameter" "number_example_min" {
|
||||
name = "number_example_min"
|
||||
type = "number"
|
||||
default = 4
|
||||
validation {
|
||||
min = 3
|
||||
}
|
||||
}
|
||||
|
||||
data "coder_parameter" "number_example_min_zero" {
|
||||
name = "number_example_min_zero"
|
||||
type = "number"
|
||||
default = 4
|
||||
validation {
|
||||
min = 0
|
||||
}
|
||||
}
|
||||
|
||||
data "coder_parameter" "number_example_max" {
|
||||
name = "number_example_max"
|
||||
type = "number"
|
||||
default = 4
|
||||
validation {
|
||||
max = 6
|
||||
}
|
||||
}
|
||||
|
||||
data "coder_parameter" "number_example_max_zero" {
|
||||
name = "number_example_max_zero"
|
||||
type = "number"
|
||||
default = -3
|
||||
validation {
|
||||
max = 0
|
||||
}
|
||||
}
|
||||
|
||||
data "coder_parameter" "number_example" {
|
||||
name = "number_example"
|
||||
type = "number"
|
||||
default = 4
|
||||
}
|
||||
|
||||
resource "coder_agent" "dev" {
|
||||
os = "windows"
|
||||
arch = "arm64"
|
||||
}
|
||||
|
||||
resource "null_resource" "dev" {
|
||||
depends_on = [coder_agent.dev]
|
||||
}
|
36
provisioner/terraform/testdata/rich-parameters-validation/rich-parameters-validation.tfplan.dot
generated
vendored
Normal file
36
provisioner/terraform/testdata/rich-parameters-validation/rich-parameters-validation.tfplan.dot
generated
vendored
Normal file
|
@ -0,0 +1,36 @@
|
|||
digraph {
|
||||
compound = "true"
|
||||
newrank = "true"
|
||||
subgraph "root" {
|
||||
"[root] coder_agent.dev (expand)" [label = "coder_agent.dev", shape = "box"]
|
||||
"[root] data.coder_parameter.number_example (expand)" [label = "data.coder_parameter.number_example", shape = "box"]
|
||||
"[root] data.coder_parameter.number_example_max (expand)" [label = "data.coder_parameter.number_example_max", shape = "box"]
|
||||
"[root] data.coder_parameter.number_example_max_zero (expand)" [label = "data.coder_parameter.number_example_max_zero", shape = "box"]
|
||||
"[root] data.coder_parameter.number_example_min (expand)" [label = "data.coder_parameter.number_example_min", shape = "box"]
|
||||
"[root] data.coder_parameter.number_example_min_max (expand)" [label = "data.coder_parameter.number_example_min_max", shape = "box"]
|
||||
"[root] data.coder_parameter.number_example_min_zero (expand)" [label = "data.coder_parameter.number_example_min_zero", 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.number_example (expand)" -> "[root] provider[\"registry.terraform.io/coder/coder\"]"
|
||||
"[root] data.coder_parameter.number_example_max (expand)" -> "[root] provider[\"registry.terraform.io/coder/coder\"]"
|
||||
"[root] data.coder_parameter.number_example_max_zero (expand)" -> "[root] provider[\"registry.terraform.io/coder/coder\"]"
|
||||
"[root] data.coder_parameter.number_example_min (expand)" -> "[root] provider[\"registry.terraform.io/coder/coder\"]"
|
||||
"[root] data.coder_parameter.number_example_min_max (expand)" -> "[root] provider[\"registry.terraform.io/coder/coder\"]"
|
||||
"[root] data.coder_parameter.number_example_min_zero (expand)" -> "[root] provider[\"registry.terraform.io/coder/coder\"]"
|
||||
"[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_parameter.number_example (expand)"
|
||||
"[root] provider[\"registry.terraform.io/coder/coder\"] (close)" -> "[root] data.coder_parameter.number_example_max (expand)"
|
||||
"[root] provider[\"registry.terraform.io/coder/coder\"] (close)" -> "[root] data.coder_parameter.number_example_max_zero (expand)"
|
||||
"[root] provider[\"registry.terraform.io/coder/coder\"] (close)" -> "[root] data.coder_parameter.number_example_min (expand)"
|
||||
"[root] provider[\"registry.terraform.io/coder/coder\"] (close)" -> "[root] data.coder_parameter.number_example_min_max (expand)"
|
||||
"[root] provider[\"registry.terraform.io/coder/coder\"] (close)" -> "[root] data.coder_parameter.number_example_min_zero (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)"
|
||||
}
|
||||
}
|
||||
|
540
provisioner/terraform/testdata/rich-parameters-validation/rich-parameters-validation.tfplan.json
generated
vendored
Normal file
540
provisioner/terraform/testdata/rich-parameters-validation/rich-parameters-validation.tfplan.json
generated
vendored
Normal file
|
@ -0,0 +1,540 @@
|
|||
{
|
||||
"format_version": "1.1",
|
||||
"terraform_version": "1.4.0",
|
||||
"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": 0,
|
||||
"values": {
|
||||
"arch": "arm64",
|
||||
"auth": "token",
|
||||
"connection_timeout": 120,
|
||||
"dir": null,
|
||||
"env": null,
|
||||
"login_before_ready": true,
|
||||
"metadata": [],
|
||||
"motd_file": null,
|
||||
"os": "windows",
|
||||
"shutdown_script": null,
|
||||
"shutdown_script_timeout": 300,
|
||||
"startup_script": null,
|
||||
"startup_script_timeout": 300,
|
||||
"troubleshooting_url": null
|
||||
},
|
||||
"sensitive_values": {
|
||||
"metadata": []
|
||||
}
|
||||
},
|
||||
{
|
||||
"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": {
|
||||
"arch": "arm64",
|
||||
"auth": "token",
|
||||
"connection_timeout": 120,
|
||||
"dir": null,
|
||||
"env": null,
|
||||
"login_before_ready": true,
|
||||
"metadata": [],
|
||||
"motd_file": null,
|
||||
"os": "windows",
|
||||
"shutdown_script": null,
|
||||
"shutdown_script_timeout": 300,
|
||||
"startup_script": null,
|
||||
"startup_script_timeout": 300,
|
||||
"troubleshooting_url": null
|
||||
},
|
||||
"after_unknown": {
|
||||
"id": true,
|
||||
"init_script": true,
|
||||
"metadata": [],
|
||||
"token": true
|
||||
},
|
||||
"before_sensitive": false,
|
||||
"after_sensitive": {
|
||||
"metadata": [],
|
||||
"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.4.0",
|
||||
"values": {
|
||||
"root_module": {
|
||||
"resources": [
|
||||
{
|
||||
"address": "data.coder_parameter.number_example",
|
||||
"mode": "data",
|
||||
"type": "coder_parameter",
|
||||
"name": "number_example",
|
||||
"provider_name": "registry.terraform.io/coder/coder",
|
||||
"schema_version": 0,
|
||||
"values": {
|
||||
"default": "4",
|
||||
"description": null,
|
||||
"display_name": null,
|
||||
"icon": null,
|
||||
"id": "b4018ceb-5529-4ea9-8d44-f1435255f5ce",
|
||||
"legacy_variable": null,
|
||||
"legacy_variable_name": null,
|
||||
"mutable": false,
|
||||
"name": "number_example",
|
||||
"option": null,
|
||||
"optional": true,
|
||||
"type": "number",
|
||||
"validation": [],
|
||||
"value": "4"
|
||||
},
|
||||
"sensitive_values": {
|
||||
"validation": []
|
||||
}
|
||||
},
|
||||
{
|
||||
"address": "data.coder_parameter.number_example_max",
|
||||
"mode": "data",
|
||||
"type": "coder_parameter",
|
||||
"name": "number_example_max",
|
||||
"provider_name": "registry.terraform.io/coder/coder",
|
||||
"schema_version": 0,
|
||||
"values": {
|
||||
"default": "4",
|
||||
"description": null,
|
||||
"display_name": null,
|
||||
"icon": null,
|
||||
"id": "78f023f8-d78a-4660-bc55-f4af607e9c92",
|
||||
"legacy_variable": null,
|
||||
"legacy_variable_name": null,
|
||||
"mutable": false,
|
||||
"name": "number_example_max",
|
||||
"option": null,
|
||||
"optional": true,
|
||||
"type": "number",
|
||||
"validation": [
|
||||
{
|
||||
"error": "",
|
||||
"max": 6,
|
||||
"max_disabled": false,
|
||||
"min": 0,
|
||||
"min_disabled": true,
|
||||
"monotonic": "",
|
||||
"regex": ""
|
||||
}
|
||||
],
|
||||
"value": "4"
|
||||
},
|
||||
"sensitive_values": {
|
||||
"validation": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"address": "data.coder_parameter.number_example_max_zero",
|
||||
"mode": "data",
|
||||
"type": "coder_parameter",
|
||||
"name": "number_example_max_zero",
|
||||
"provider_name": "registry.terraform.io/coder/coder",
|
||||
"schema_version": 0,
|
||||
"values": {
|
||||
"default": "-3",
|
||||
"description": null,
|
||||
"display_name": null,
|
||||
"icon": null,
|
||||
"id": "d4dc1b09-51d8-4428-92e5-637ca7f23826",
|
||||
"legacy_variable": null,
|
||||
"legacy_variable_name": null,
|
||||
"mutable": false,
|
||||
"name": "number_example_max_zero",
|
||||
"option": null,
|
||||
"optional": true,
|
||||
"type": "number",
|
||||
"validation": [
|
||||
{
|
||||
"error": "",
|
||||
"max": 0,
|
||||
"max_disabled": false,
|
||||
"min": 0,
|
||||
"min_disabled": true,
|
||||
"monotonic": "",
|
||||
"regex": ""
|
||||
}
|
||||
],
|
||||
"value": "-3"
|
||||
},
|
||||
"sensitive_values": {
|
||||
"validation": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"address": "data.coder_parameter.number_example_min",
|
||||
"mode": "data",
|
||||
"type": "coder_parameter",
|
||||
"name": "number_example_min",
|
||||
"provider_name": "registry.terraform.io/coder/coder",
|
||||
"schema_version": 0,
|
||||
"values": {
|
||||
"default": "4",
|
||||
"description": null,
|
||||
"display_name": null,
|
||||
"icon": null,
|
||||
"id": "7e0c0c5d-4c6f-44d3-aaae-31e6698d65d8",
|
||||
"legacy_variable": null,
|
||||
"legacy_variable_name": null,
|
||||
"mutable": false,
|
||||
"name": "number_example_min",
|
||||
"option": null,
|
||||
"optional": true,
|
||||
"type": "number",
|
||||
"validation": [
|
||||
{
|
||||
"error": "",
|
||||
"max": 0,
|
||||
"max_disabled": true,
|
||||
"min": 3,
|
||||
"min_disabled": false,
|
||||
"monotonic": "",
|
||||
"regex": ""
|
||||
}
|
||||
],
|
||||
"value": "4"
|
||||
},
|
||||
"sensitive_values": {
|
||||
"validation": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"address": "data.coder_parameter.number_example_min_max",
|
||||
"mode": "data",
|
||||
"type": "coder_parameter",
|
||||
"name": "number_example_min_max",
|
||||
"provider_name": "registry.terraform.io/coder/coder",
|
||||
"schema_version": 0,
|
||||
"values": {
|
||||
"default": "4",
|
||||
"description": null,
|
||||
"display_name": null,
|
||||
"icon": null,
|
||||
"id": "1e9fe990-cc13-4cdb-84dd-ab198ffe8e8d",
|
||||
"legacy_variable": null,
|
||||
"legacy_variable_name": null,
|
||||
"mutable": false,
|
||||
"name": "number_example_min_max",
|
||||
"option": null,
|
||||
"optional": true,
|
||||
"type": "number",
|
||||
"validation": [
|
||||
{
|
||||
"error": "",
|
||||
"max": 6,
|
||||
"max_disabled": false,
|
||||
"min": 3,
|
||||
"min_disabled": false,
|
||||
"monotonic": "",
|
||||
"regex": ""
|
||||
}
|
||||
],
|
||||
"value": "4"
|
||||
},
|
||||
"sensitive_values": {
|
||||
"validation": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"address": "data.coder_parameter.number_example_min_zero",
|
||||
"mode": "data",
|
||||
"type": "coder_parameter",
|
||||
"name": "number_example_min_zero",
|
||||
"provider_name": "registry.terraform.io/coder/coder",
|
||||
"schema_version": 0,
|
||||
"values": {
|
||||
"default": "4",
|
||||
"description": null,
|
||||
"display_name": null,
|
||||
"icon": null,
|
||||
"id": "a358e7b2-9ace-49fe-b94b-476f1a5e0fbd",
|
||||
"legacy_variable": null,
|
||||
"legacy_variable_name": null,
|
||||
"mutable": false,
|
||||
"name": "number_example_min_zero",
|
||||
"option": null,
|
||||
"optional": true,
|
||||
"type": "number",
|
||||
"validation": [
|
||||
{
|
||||
"error": "",
|
||||
"max": 0,
|
||||
"max_disabled": true,
|
||||
"min": 0,
|
||||
"min_disabled": false,
|
||||
"monotonic": "",
|
||||
"regex": ""
|
||||
}
|
||||
],
|
||||
"value": "4"
|
||||
},
|
||||
"sensitive_values": {
|
||||
"validation": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"configuration": {
|
||||
"provider_config": {
|
||||
"coder": {
|
||||
"name": "coder",
|
||||
"full_name": "registry.terraform.io/coder/coder",
|
||||
"version_constraint": "0.8.2"
|
||||
},
|
||||
"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": "arm64"
|
||||
},
|
||||
"os": {
|
||||
"constant_value": "windows"
|
||||
}
|
||||
},
|
||||
"schema_version": 0
|
||||
},
|
||||
{
|
||||
"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.number_example",
|
||||
"mode": "data",
|
||||
"type": "coder_parameter",
|
||||
"name": "number_example",
|
||||
"provider_config_key": "coder",
|
||||
"expressions": {
|
||||
"default": {
|
||||
"constant_value": 4
|
||||
},
|
||||
"name": {
|
||||
"constant_value": "number_example"
|
||||
},
|
||||
"type": {
|
||||
"constant_value": "number"
|
||||
}
|
||||
},
|
||||
"schema_version": 0
|
||||
},
|
||||
{
|
||||
"address": "data.coder_parameter.number_example_max",
|
||||
"mode": "data",
|
||||
"type": "coder_parameter",
|
||||
"name": "number_example_max",
|
||||
"provider_config_key": "coder",
|
||||
"expressions": {
|
||||
"default": {
|
||||
"constant_value": 4
|
||||
},
|
||||
"name": {
|
||||
"constant_value": "number_example_max"
|
||||
},
|
||||
"type": {
|
||||
"constant_value": "number"
|
||||
},
|
||||
"validation": [
|
||||
{
|
||||
"max": {
|
||||
"constant_value": 6
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"schema_version": 0
|
||||
},
|
||||
{
|
||||
"address": "data.coder_parameter.number_example_max_zero",
|
||||
"mode": "data",
|
||||
"type": "coder_parameter",
|
||||
"name": "number_example_max_zero",
|
||||
"provider_config_key": "coder",
|
||||
"expressions": {
|
||||
"default": {
|
||||
"constant_value": -3
|
||||
},
|
||||
"name": {
|
||||
"constant_value": "number_example_max_zero"
|
||||
},
|
||||
"type": {
|
||||
"constant_value": "number"
|
||||
},
|
||||
"validation": [
|
||||
{
|
||||
"max": {
|
||||
"constant_value": 0
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"schema_version": 0
|
||||
},
|
||||
{
|
||||
"address": "data.coder_parameter.number_example_min",
|
||||
"mode": "data",
|
||||
"type": "coder_parameter",
|
||||
"name": "number_example_min",
|
||||
"provider_config_key": "coder",
|
||||
"expressions": {
|
||||
"default": {
|
||||
"constant_value": 4
|
||||
},
|
||||
"name": {
|
||||
"constant_value": "number_example_min"
|
||||
},
|
||||
"type": {
|
||||
"constant_value": "number"
|
||||
},
|
||||
"validation": [
|
||||
{
|
||||
"min": {
|
||||
"constant_value": 3
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"schema_version": 0
|
||||
},
|
||||
{
|
||||
"address": "data.coder_parameter.number_example_min_max",
|
||||
"mode": "data",
|
||||
"type": "coder_parameter",
|
||||
"name": "number_example_min_max",
|
||||
"provider_config_key": "coder",
|
||||
"expressions": {
|
||||
"default": {
|
||||
"constant_value": 4
|
||||
},
|
||||
"name": {
|
||||
"constant_value": "number_example_min_max"
|
||||
},
|
||||
"type": {
|
||||
"constant_value": "number"
|
||||
},
|
||||
"validation": [
|
||||
{
|
||||
"max": {
|
||||
"constant_value": 6
|
||||
},
|
||||
"min": {
|
||||
"constant_value": 3
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"schema_version": 0
|
||||
},
|
||||
{
|
||||
"address": "data.coder_parameter.number_example_min_zero",
|
||||
"mode": "data",
|
||||
"type": "coder_parameter",
|
||||
"name": "number_example_min_zero",
|
||||
"provider_config_key": "coder",
|
||||
"expressions": {
|
||||
"default": {
|
||||
"constant_value": 4
|
||||
},
|
||||
"name": {
|
||||
"constant_value": "number_example_min_zero"
|
||||
},
|
||||
"type": {
|
||||
"constant_value": "number"
|
||||
},
|
||||
"validation": [
|
||||
{
|
||||
"min": {
|
||||
"constant_value": 0
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"schema_version": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
36
provisioner/terraform/testdata/rich-parameters-validation/rich-parameters-validation.tfstate.dot
generated
vendored
Normal file
36
provisioner/terraform/testdata/rich-parameters-validation/rich-parameters-validation.tfstate.dot
generated
vendored
Normal file
|
@ -0,0 +1,36 @@
|
|||
digraph {
|
||||
compound = "true"
|
||||
newrank = "true"
|
||||
subgraph "root" {
|
||||
"[root] coder_agent.dev (expand)" [label = "coder_agent.dev", shape = "box"]
|
||||
"[root] data.coder_parameter.number_example (expand)" [label = "data.coder_parameter.number_example", shape = "box"]
|
||||
"[root] data.coder_parameter.number_example_max (expand)" [label = "data.coder_parameter.number_example_max", shape = "box"]
|
||||
"[root] data.coder_parameter.number_example_max_zero (expand)" [label = "data.coder_parameter.number_example_max_zero", shape = "box"]
|
||||
"[root] data.coder_parameter.number_example_min (expand)" [label = "data.coder_parameter.number_example_min", shape = "box"]
|
||||
"[root] data.coder_parameter.number_example_min_max (expand)" [label = "data.coder_parameter.number_example_min_max", shape = "box"]
|
||||
"[root] data.coder_parameter.number_example_min_zero (expand)" [label = "data.coder_parameter.number_example_min_zero", 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.number_example (expand)" -> "[root] provider[\"registry.terraform.io/coder/coder\"]"
|
||||
"[root] data.coder_parameter.number_example_max (expand)" -> "[root] provider[\"registry.terraform.io/coder/coder\"]"
|
||||
"[root] data.coder_parameter.number_example_max_zero (expand)" -> "[root] provider[\"registry.terraform.io/coder/coder\"]"
|
||||
"[root] data.coder_parameter.number_example_min (expand)" -> "[root] provider[\"registry.terraform.io/coder/coder\"]"
|
||||
"[root] data.coder_parameter.number_example_min_max (expand)" -> "[root] provider[\"registry.terraform.io/coder/coder\"]"
|
||||
"[root] data.coder_parameter.number_example_min_zero (expand)" -> "[root] provider[\"registry.terraform.io/coder/coder\"]"
|
||||
"[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_parameter.number_example (expand)"
|
||||
"[root] provider[\"registry.terraform.io/coder/coder\"] (close)" -> "[root] data.coder_parameter.number_example_max (expand)"
|
||||
"[root] provider[\"registry.terraform.io/coder/coder\"] (close)" -> "[root] data.coder_parameter.number_example_max_zero (expand)"
|
||||
"[root] provider[\"registry.terraform.io/coder/coder\"] (close)" -> "[root] data.coder_parameter.number_example_min (expand)"
|
||||
"[root] provider[\"registry.terraform.io/coder/coder\"] (close)" -> "[root] data.coder_parameter.number_example_min_max (expand)"
|
||||
"[root] provider[\"registry.terraform.io/coder/coder\"] (close)" -> "[root] data.coder_parameter.number_example_min_zero (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)"
|
||||
}
|
||||
}
|
||||
|
278
provisioner/terraform/testdata/rich-parameters-validation/rich-parameters-validation.tfstate.json
generated
vendored
Normal file
278
provisioner/terraform/testdata/rich-parameters-validation/rich-parameters-validation.tfstate.json
generated
vendored
Normal file
|
@ -0,0 +1,278 @@
|
|||
{
|
||||
"format_version": "1.0",
|
||||
"terraform_version": "1.4.0",
|
||||
"values": {
|
||||
"root_module": {
|
||||
"resources": [
|
||||
{
|
||||
"address": "data.coder_parameter.number_example",
|
||||
"mode": "data",
|
||||
"type": "coder_parameter",
|
||||
"name": "number_example",
|
||||
"provider_name": "registry.terraform.io/coder/coder",
|
||||
"schema_version": 0,
|
||||
"values": {
|
||||
"default": "4",
|
||||
"description": null,
|
||||
"display_name": null,
|
||||
"icon": null,
|
||||
"id": "2ba8e573-2f49-4a2a-b454-1fd544b7d50c",
|
||||
"legacy_variable": null,
|
||||
"legacy_variable_name": null,
|
||||
"mutable": false,
|
||||
"name": "number_example",
|
||||
"option": null,
|
||||
"optional": true,
|
||||
"type": "number",
|
||||
"validation": [],
|
||||
"value": "4"
|
||||
},
|
||||
"sensitive_values": {
|
||||
"validation": []
|
||||
}
|
||||
},
|
||||
{
|
||||
"address": "data.coder_parameter.number_example_max",
|
||||
"mode": "data",
|
||||
"type": "coder_parameter",
|
||||
"name": "number_example_max",
|
||||
"provider_name": "registry.terraform.io/coder/coder",
|
||||
"schema_version": 0,
|
||||
"values": {
|
||||
"default": "4",
|
||||
"description": null,
|
||||
"display_name": null,
|
||||
"icon": null,
|
||||
"id": "7f94ec1c-7ad9-42ee-8efe-ade93e45a23f",
|
||||
"legacy_variable": null,
|
||||
"legacy_variable_name": null,
|
||||
"mutable": false,
|
||||
"name": "number_example_max",
|
||||
"option": null,
|
||||
"optional": true,
|
||||
"type": "number",
|
||||
"validation": [
|
||||
{
|
||||
"error": "",
|
||||
"max": 6,
|
||||
"max_disabled": false,
|
||||
"min": 0,
|
||||
"min_disabled": true,
|
||||
"monotonic": "",
|
||||
"regex": ""
|
||||
}
|
||||
],
|
||||
"value": "4"
|
||||
},
|
||||
"sensitive_values": {
|
||||
"validation": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"address": "data.coder_parameter.number_example_max_zero",
|
||||
"mode": "data",
|
||||
"type": "coder_parameter",
|
||||
"name": "number_example_max_zero",
|
||||
"provider_name": "registry.terraform.io/coder/coder",
|
||||
"schema_version": 0,
|
||||
"values": {
|
||||
"default": "-3",
|
||||
"description": null,
|
||||
"display_name": null,
|
||||
"icon": null,
|
||||
"id": "03793f75-22ba-4232-ae8b-dcc34f34a9dc",
|
||||
"legacy_variable": null,
|
||||
"legacy_variable_name": null,
|
||||
"mutable": false,
|
||||
"name": "number_example_max_zero",
|
||||
"option": null,
|
||||
"optional": true,
|
||||
"type": "number",
|
||||
"validation": [
|
||||
{
|
||||
"error": "",
|
||||
"max": 0,
|
||||
"max_disabled": false,
|
||||
"min": 0,
|
||||
"min_disabled": true,
|
||||
"monotonic": "",
|
||||
"regex": ""
|
||||
}
|
||||
],
|
||||
"value": "-3"
|
||||
},
|
||||
"sensitive_values": {
|
||||
"validation": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"address": "data.coder_parameter.number_example_min",
|
||||
"mode": "data",
|
||||
"type": "coder_parameter",
|
||||
"name": "number_example_min",
|
||||
"provider_name": "registry.terraform.io/coder/coder",
|
||||
"schema_version": 0,
|
||||
"values": {
|
||||
"default": "4",
|
||||
"description": null,
|
||||
"display_name": null,
|
||||
"icon": null,
|
||||
"id": "822879a8-5ee0-46c7-984d-b4efc9e70bcf",
|
||||
"legacy_variable": null,
|
||||
"legacy_variable_name": null,
|
||||
"mutable": false,
|
||||
"name": "number_example_min",
|
||||
"option": null,
|
||||
"optional": true,
|
||||
"type": "number",
|
||||
"validation": [
|
||||
{
|
||||
"error": "",
|
||||
"max": 0,
|
||||
"max_disabled": true,
|
||||
"min": 3,
|
||||
"min_disabled": false,
|
||||
"monotonic": "",
|
||||
"regex": ""
|
||||
}
|
||||
],
|
||||
"value": "4"
|
||||
},
|
||||
"sensitive_values": {
|
||||
"validation": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"address": "data.coder_parameter.number_example_min_max",
|
||||
"mode": "data",
|
||||
"type": "coder_parameter",
|
||||
"name": "number_example_min_max",
|
||||
"provider_name": "registry.terraform.io/coder/coder",
|
||||
"schema_version": 0,
|
||||
"values": {
|
||||
"default": "4",
|
||||
"description": null,
|
||||
"display_name": null,
|
||||
"icon": null,
|
||||
"id": "a59a1652-653b-424e-8106-b19f938ac556",
|
||||
"legacy_variable": null,
|
||||
"legacy_variable_name": null,
|
||||
"mutable": false,
|
||||
"name": "number_example_min_max",
|
||||
"option": null,
|
||||
"optional": true,
|
||||
"type": "number",
|
||||
"validation": [
|
||||
{
|
||||
"error": "",
|
||||
"max": 6,
|
||||
"max_disabled": false,
|
||||
"min": 3,
|
||||
"min_disabled": false,
|
||||
"monotonic": "",
|
||||
"regex": ""
|
||||
}
|
||||
],
|
||||
"value": "4"
|
||||
},
|
||||
"sensitive_values": {
|
||||
"validation": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"address": "data.coder_parameter.number_example_min_zero",
|
||||
"mode": "data",
|
||||
"type": "coder_parameter",
|
||||
"name": "number_example_min_zero",
|
||||
"provider_name": "registry.terraform.io/coder/coder",
|
||||
"schema_version": 0,
|
||||
"values": {
|
||||
"default": "4",
|
||||
"description": null,
|
||||
"display_name": null,
|
||||
"icon": null,
|
||||
"id": "65c5512e-6c5c-40eb-bb2c-bca47f72564b",
|
||||
"legacy_variable": null,
|
||||
"legacy_variable_name": null,
|
||||
"mutable": false,
|
||||
"name": "number_example_min_zero",
|
||||
"option": null,
|
||||
"optional": true,
|
||||
"type": "number",
|
||||
"validation": [
|
||||
{
|
||||
"error": "",
|
||||
"max": 0,
|
||||
"max_disabled": true,
|
||||
"min": 0,
|
||||
"min_disabled": false,
|
||||
"monotonic": "",
|
||||
"regex": ""
|
||||
}
|
||||
],
|
||||
"value": "4"
|
||||
},
|
||||
"sensitive_values": {
|
||||
"validation": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"address": "coder_agent.dev",
|
||||
"mode": "managed",
|
||||
"type": "coder_agent",
|
||||
"name": "dev",
|
||||
"provider_name": "registry.terraform.io/coder/coder",
|
||||
"schema_version": 0,
|
||||
"values": {
|
||||
"arch": "arm64",
|
||||
"auth": "token",
|
||||
"connection_timeout": 120,
|
||||
"dir": null,
|
||||
"env": null,
|
||||
"id": "6cddf19d-3caa-47dd-b4a8-6a6ac423caf2",
|
||||
"init_script": "",
|
||||
"login_before_ready": true,
|
||||
"metadata": [],
|
||||
"motd_file": null,
|
||||
"os": "windows",
|
||||
"shutdown_script": null,
|
||||
"shutdown_script_timeout": 300,
|
||||
"startup_script": null,
|
||||
"startup_script_timeout": 300,
|
||||
"token": "19f956f2-92b2-4fd9-8a89-ed3ec5c23716",
|
||||
"troubleshooting_url": null
|
||||
},
|
||||
"sensitive_values": {
|
||||
"metadata": []
|
||||
}
|
||||
},
|
||||
{
|
||||
"address": "null_resource.dev",
|
||||
"mode": "managed",
|
||||
"type": "null_resource",
|
||||
"name": "dev",
|
||||
"provider_name": "registry.terraform.io/hashicorp/null",
|
||||
"schema_version": 0,
|
||||
"values": {
|
||||
"id": "6499191613757287225",
|
||||
"triggers": null
|
||||
},
|
||||
"sensitive_values": {},
|
||||
"depends_on": [
|
||||
"coder_agent.dev"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -2,7 +2,7 @@ terraform {
|
|||
required_providers {
|
||||
coder = {
|
||||
source = "coder/coder"
|
||||
version = "0.6.20"
|
||||
version = "0.7.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -27,6 +27,43 @@ data "coder_parameter" "example" {
|
|||
}
|
||||
}
|
||||
|
||||
// Plugin revision v0.7.0 requires defining "min" or "max" rules together.
|
||||
data "coder_parameter" "number_example_min_max" {
|
||||
name = "number_example_min_max"
|
||||
type = "number"
|
||||
default = 4
|
||||
validation {
|
||||
min = 3
|
||||
max = 6
|
||||
}
|
||||
}
|
||||
|
||||
data "coder_parameter" "number_example_min_zero" {
|
||||
name = "number_example_min_zero"
|
||||
type = "number"
|
||||
default = 4
|
||||
validation {
|
||||
min = 0
|
||||
max = 6
|
||||
}
|
||||
}
|
||||
|
||||
data "coder_parameter" "number_example_max_zero" {
|
||||
name = "number_example_max_zero"
|
||||
type = "number"
|
||||
default = -2
|
||||
validation {
|
||||
min = -3
|
||||
max = 0
|
||||
}
|
||||
}
|
||||
|
||||
data "coder_parameter" "number_example" {
|
||||
name = "number_example"
|
||||
type = "number"
|
||||
default = 4
|
||||
}
|
||||
|
||||
resource "coder_agent" "dev" {
|
||||
os = "windows"
|
||||
arch = "arm64"
|
||||
|
|
|
@ -4,17 +4,29 @@ digraph {
|
|||
subgraph "root" {
|
||||
"[root] coder_agent.dev (expand)" [label = "coder_agent.dev", shape = "box"]
|
||||
"[root] data.coder_parameter.example (expand)" [label = "data.coder_parameter.example", shape = "box"]
|
||||
"[root] data.coder_parameter.number_example (expand)" [label = "data.coder_parameter.number_example", shape = "box"]
|
||||
"[root] data.coder_parameter.number_example_max_zero (expand)" [label = "data.coder_parameter.number_example_max_zero", shape = "box"]
|
||||
"[root] data.coder_parameter.number_example_min_max (expand)" [label = "data.coder_parameter.number_example_min_max", shape = "box"]
|
||||
"[root] data.coder_parameter.number_example_min_zero (expand)" [label = "data.coder_parameter.number_example_min_zero", shape = "box"]
|
||||
"[root] data.coder_parameter.sample (expand)" [label = "data.coder_parameter.sample", 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.example (expand)" -> "[root] provider[\"registry.terraform.io/coder/coder\"]"
|
||||
"[root] data.coder_parameter.number_example (expand)" -> "[root] provider[\"registry.terraform.io/coder/coder\"]"
|
||||
"[root] data.coder_parameter.number_example_max_zero (expand)" -> "[root] provider[\"registry.terraform.io/coder/coder\"]"
|
||||
"[root] data.coder_parameter.number_example_min_max (expand)" -> "[root] provider[\"registry.terraform.io/coder/coder\"]"
|
||||
"[root] data.coder_parameter.number_example_min_zero (expand)" -> "[root] provider[\"registry.terraform.io/coder/coder\"]"
|
||||
"[root] data.coder_parameter.sample (expand)" -> "[root] provider[\"registry.terraform.io/coder/coder\"]"
|
||||
"[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_parameter.example (expand)"
|
||||
"[root] provider[\"registry.terraform.io/coder/coder\"] (close)" -> "[root] data.coder_parameter.number_example (expand)"
|
||||
"[root] provider[\"registry.terraform.io/coder/coder\"] (close)" -> "[root] data.coder_parameter.number_example_max_zero (expand)"
|
||||
"[root] provider[\"registry.terraform.io/coder/coder\"] (close)" -> "[root] data.coder_parameter.number_example_min_max (expand)"
|
||||
"[root] provider[\"registry.terraform.io/coder/coder\"] (close)" -> "[root] data.coder_parameter.number_example_min_zero (expand)"
|
||||
"[root] provider[\"registry.terraform.io/coder/coder\"] (close)" -> "[root] data.coder_parameter.sample (expand)"
|
||||
"[root] provider[\"registry.terraform.io/hashicorp/null\"] (close)" -> "[root] null_resource.dev (expand)"
|
||||
"[root] root" -> "[root] provider[\"registry.terraform.io/coder/coder\"] (close)"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"format_version": "1.1",
|
||||
"terraform_version": "1.3.7",
|
||||
"terraform_version": "1.4.0",
|
||||
"planned_values": {
|
||||
"root_module": {
|
||||
"resources": [
|
||||
|
@ -18,6 +18,7 @@
|
|||
"dir": null,
|
||||
"env": null,
|
||||
"login_before_ready": true,
|
||||
"metadata": [],
|
||||
"motd_file": null,
|
||||
"os": "windows",
|
||||
"shutdown_script": null,
|
||||
|
@ -26,7 +27,9 @@
|
|||
"startup_script_timeout": 300,
|
||||
"troubleshooting_url": null
|
||||
},
|
||||
"sensitive_values": {}
|
||||
"sensitive_values": {
|
||||
"metadata": []
|
||||
}
|
||||
},
|
||||
{
|
||||
"address": "null_resource.dev",
|
||||
|
@ -62,6 +65,7 @@
|
|||
"dir": null,
|
||||
"env": null,
|
||||
"login_before_ready": true,
|
||||
"metadata": [],
|
||||
"motd_file": null,
|
||||
"os": "windows",
|
||||
"shutdown_script": null,
|
||||
|
@ -73,10 +77,12 @@
|
|||
"after_unknown": {
|
||||
"id": true,
|
||||
"init_script": true,
|
||||
"metadata": [],
|
||||
"token": true
|
||||
},
|
||||
"before_sensitive": false,
|
||||
"after_sensitive": {
|
||||
"metadata": [],
|
||||
"token": true
|
||||
}
|
||||
}
|
||||
|
@ -105,7 +111,7 @@
|
|||
],
|
||||
"prior_state": {
|
||||
"format_version": "1.0",
|
||||
"terraform_version": "1.3.7",
|
||||
"terraform_version": "1.4.0",
|
||||
"values": {
|
||||
"root_module": {
|
||||
"resources": [
|
||||
|
@ -119,8 +125,9 @@
|
|||
"values": {
|
||||
"default": null,
|
||||
"description": null,
|
||||
"display_name": null,
|
||||
"icon": null,
|
||||
"id": "857b1591-ee42-4ded-9804-783ffd1eb180",
|
||||
"id": "62a57280-032d-4528-9705-c663e6971d9d",
|
||||
"legacy_variable": null,
|
||||
"legacy_variable_name": null,
|
||||
"mutable": false,
|
||||
|
@ -151,6 +158,142 @@
|
|||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"address": "data.coder_parameter.number_example",
|
||||
"mode": "data",
|
||||
"type": "coder_parameter",
|
||||
"name": "number_example",
|
||||
"provider_name": "registry.terraform.io/coder/coder",
|
||||
"schema_version": 0,
|
||||
"values": {
|
||||
"default": "4",
|
||||
"description": null,
|
||||
"display_name": null,
|
||||
"icon": null,
|
||||
"id": "37b849a7-1830-4662-b804-e23a6fb0a0dd",
|
||||
"legacy_variable": null,
|
||||
"legacy_variable_name": null,
|
||||
"mutable": false,
|
||||
"name": "number_example",
|
||||
"option": null,
|
||||
"optional": true,
|
||||
"type": "number",
|
||||
"validation": null,
|
||||
"value": "4"
|
||||
},
|
||||
"sensitive_values": {}
|
||||
},
|
||||
{
|
||||
"address": "data.coder_parameter.number_example_max_zero",
|
||||
"mode": "data",
|
||||
"type": "coder_parameter",
|
||||
"name": "number_example_max_zero",
|
||||
"provider_name": "registry.terraform.io/coder/coder",
|
||||
"schema_version": 0,
|
||||
"values": {
|
||||
"default": "-2",
|
||||
"description": null,
|
||||
"display_name": null,
|
||||
"icon": null,
|
||||
"id": "21eddf29-7529-4ea4-9416-c0c6c156c3ad",
|
||||
"legacy_variable": null,
|
||||
"legacy_variable_name": null,
|
||||
"mutable": false,
|
||||
"name": "number_example_max_zero",
|
||||
"option": null,
|
||||
"optional": true,
|
||||
"type": "number",
|
||||
"validation": [
|
||||
{
|
||||
"error": "",
|
||||
"max": 0,
|
||||
"min": -3,
|
||||
"monotonic": "",
|
||||
"regex": ""
|
||||
}
|
||||
],
|
||||
"value": "-2"
|
||||
},
|
||||
"sensitive_values": {
|
||||
"validation": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"address": "data.coder_parameter.number_example_min_max",
|
||||
"mode": "data",
|
||||
"type": "coder_parameter",
|
||||
"name": "number_example_min_max",
|
||||
"provider_name": "registry.terraform.io/coder/coder",
|
||||
"schema_version": 0,
|
||||
"values": {
|
||||
"default": "4",
|
||||
"description": null,
|
||||
"display_name": null,
|
||||
"icon": null,
|
||||
"id": "826afb7f-80fe-4563-95d3-1f8da1f8c274",
|
||||
"legacy_variable": null,
|
||||
"legacy_variable_name": null,
|
||||
"mutable": false,
|
||||
"name": "number_example_min_max",
|
||||
"option": null,
|
||||
"optional": true,
|
||||
"type": "number",
|
||||
"validation": [
|
||||
{
|
||||
"error": "",
|
||||
"max": 6,
|
||||
"min": 3,
|
||||
"monotonic": "",
|
||||
"regex": ""
|
||||
}
|
||||
],
|
||||
"value": "4"
|
||||
},
|
||||
"sensitive_values": {
|
||||
"validation": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"address": "data.coder_parameter.number_example_min_zero",
|
||||
"mode": "data",
|
||||
"type": "coder_parameter",
|
||||
"name": "number_example_min_zero",
|
||||
"provider_name": "registry.terraform.io/coder/coder",
|
||||
"schema_version": 0,
|
||||
"values": {
|
||||
"default": "4",
|
||||
"description": null,
|
||||
"display_name": null,
|
||||
"icon": null,
|
||||
"id": "9656b8ff-4e7b-4ba0-8377-569b358ff110",
|
||||
"legacy_variable": null,
|
||||
"legacy_variable_name": null,
|
||||
"mutable": false,
|
||||
"name": "number_example_min_zero",
|
||||
"option": null,
|
||||
"optional": true,
|
||||
"type": "number",
|
||||
"validation": [
|
||||
{
|
||||
"error": "",
|
||||
"max": 6,
|
||||
"min": 0,
|
||||
"monotonic": "",
|
||||
"regex": ""
|
||||
}
|
||||
],
|
||||
"value": "4"
|
||||
},
|
||||
"sensitive_values": {
|
||||
"validation": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"address": "data.coder_parameter.sample",
|
||||
"mode": "data",
|
||||
|
@ -161,8 +304,9 @@
|
|||
"values": {
|
||||
"default": "ok",
|
||||
"description": "blah blah",
|
||||
"display_name": null,
|
||||
"icon": null,
|
||||
"id": "1477c44d-b36a-48cd-9942-0b532f1791db",
|
||||
"id": "07dd798d-22fe-437d-ae78-2092d01f4b0b",
|
||||
"legacy_variable": null,
|
||||
"legacy_variable_name": null,
|
||||
"mutable": false,
|
||||
|
@ -184,7 +328,7 @@
|
|||
"coder": {
|
||||
"name": "coder",
|
||||
"full_name": "registry.terraform.io/coder/coder",
|
||||
"version_constraint": "0.6.20"
|
||||
"version_constraint": "0.7.0"
|
||||
},
|
||||
"null": {
|
||||
"name": "null",
|
||||
|
@ -254,6 +398,112 @@
|
|||
},
|
||||
"schema_version": 0
|
||||
},
|
||||
{
|
||||
"address": "data.coder_parameter.number_example",
|
||||
"mode": "data",
|
||||
"type": "coder_parameter",
|
||||
"name": "number_example",
|
||||
"provider_config_key": "coder",
|
||||
"expressions": {
|
||||
"default": {
|
||||
"constant_value": 4
|
||||
},
|
||||
"name": {
|
||||
"constant_value": "number_example"
|
||||
},
|
||||
"type": {
|
||||
"constant_value": "number"
|
||||
}
|
||||
},
|
||||
"schema_version": 0
|
||||
},
|
||||
{
|
||||
"address": "data.coder_parameter.number_example_max_zero",
|
||||
"mode": "data",
|
||||
"type": "coder_parameter",
|
||||
"name": "number_example_max_zero",
|
||||
"provider_config_key": "coder",
|
||||
"expressions": {
|
||||
"default": {
|
||||
"constant_value": -2
|
||||
},
|
||||
"name": {
|
||||
"constant_value": "number_example_max_zero"
|
||||
},
|
||||
"type": {
|
||||
"constant_value": "number"
|
||||
},
|
||||
"validation": [
|
||||
{
|
||||
"max": {
|
||||
"constant_value": 0
|
||||
},
|
||||
"min": {
|
||||
"constant_value": -3
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"schema_version": 0
|
||||
},
|
||||
{
|
||||
"address": "data.coder_parameter.number_example_min_max",
|
||||
"mode": "data",
|
||||
"type": "coder_parameter",
|
||||
"name": "number_example_min_max",
|
||||
"provider_config_key": "coder",
|
||||
"expressions": {
|
||||
"default": {
|
||||
"constant_value": 4
|
||||
},
|
||||
"name": {
|
||||
"constant_value": "number_example_min_max"
|
||||
},
|
||||
"type": {
|
||||
"constant_value": "number"
|
||||
},
|
||||
"validation": [
|
||||
{
|
||||
"max": {
|
||||
"constant_value": 6
|
||||
},
|
||||
"min": {
|
||||
"constant_value": 3
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"schema_version": 0
|
||||
},
|
||||
{
|
||||
"address": "data.coder_parameter.number_example_min_zero",
|
||||
"mode": "data",
|
||||
"type": "coder_parameter",
|
||||
"name": "number_example_min_zero",
|
||||
"provider_config_key": "coder",
|
||||
"expressions": {
|
||||
"default": {
|
||||
"constant_value": 4
|
||||
},
|
||||
"name": {
|
||||
"constant_value": "number_example_min_zero"
|
||||
},
|
||||
"type": {
|
||||
"constant_value": "number"
|
||||
},
|
||||
"validation": [
|
||||
{
|
||||
"max": {
|
||||
"constant_value": 6
|
||||
},
|
||||
"min": {
|
||||
"constant_value": 0
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"schema_version": 0
|
||||
},
|
||||
{
|
||||
"address": "data.coder_parameter.sample",
|
||||
"mode": "data",
|
||||
|
|
|
@ -4,17 +4,29 @@ digraph {
|
|||
subgraph "root" {
|
||||
"[root] coder_agent.dev (expand)" [label = "coder_agent.dev", shape = "box"]
|
||||
"[root] data.coder_parameter.example (expand)" [label = "data.coder_parameter.example", shape = "box"]
|
||||
"[root] data.coder_parameter.number_example (expand)" [label = "data.coder_parameter.number_example", shape = "box"]
|
||||
"[root] data.coder_parameter.number_example_max_zero (expand)" [label = "data.coder_parameter.number_example_max_zero", shape = "box"]
|
||||
"[root] data.coder_parameter.number_example_min_max (expand)" [label = "data.coder_parameter.number_example_min_max", shape = "box"]
|
||||
"[root] data.coder_parameter.number_example_min_zero (expand)" [label = "data.coder_parameter.number_example_min_zero", shape = "box"]
|
||||
"[root] data.coder_parameter.sample (expand)" [label = "data.coder_parameter.sample", 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.example (expand)" -> "[root] provider[\"registry.terraform.io/coder/coder\"]"
|
||||
"[root] data.coder_parameter.number_example (expand)" -> "[root] provider[\"registry.terraform.io/coder/coder\"]"
|
||||
"[root] data.coder_parameter.number_example_max_zero (expand)" -> "[root] provider[\"registry.terraform.io/coder/coder\"]"
|
||||
"[root] data.coder_parameter.number_example_min_max (expand)" -> "[root] provider[\"registry.terraform.io/coder/coder\"]"
|
||||
"[root] data.coder_parameter.number_example_min_zero (expand)" -> "[root] provider[\"registry.terraform.io/coder/coder\"]"
|
||||
"[root] data.coder_parameter.sample (expand)" -> "[root] provider[\"registry.terraform.io/coder/coder\"]"
|
||||
"[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_parameter.example (expand)"
|
||||
"[root] provider[\"registry.terraform.io/coder/coder\"] (close)" -> "[root] data.coder_parameter.number_example (expand)"
|
||||
"[root] provider[\"registry.terraform.io/coder/coder\"] (close)" -> "[root] data.coder_parameter.number_example_max_zero (expand)"
|
||||
"[root] provider[\"registry.terraform.io/coder/coder\"] (close)" -> "[root] data.coder_parameter.number_example_min_max (expand)"
|
||||
"[root] provider[\"registry.terraform.io/coder/coder\"] (close)" -> "[root] data.coder_parameter.number_example_min_zero (expand)"
|
||||
"[root] provider[\"registry.terraform.io/coder/coder\"] (close)" -> "[root] data.coder_parameter.sample (expand)"
|
||||
"[root] provider[\"registry.terraform.io/hashicorp/null\"] (close)" -> "[root] null_resource.dev (expand)"
|
||||
"[root] root" -> "[root] provider[\"registry.terraform.io/coder/coder\"] (close)"
|
||||
|
|
|
@ -1,36 +1,9 @@
|
|||
{
|
||||
"format_version": "1.0",
|
||||
"terraform_version": "1.3.7",
|
||||
"terraform_version": "1.4.0",
|
||||
"values": {
|
||||
"root_module": {
|
||||
"resources": [
|
||||
{
|
||||
"address": "coder_agent.dev",
|
||||
"mode": "managed",
|
||||
"type": "coder_agent",
|
||||
"name": "dev",
|
||||
"provider_name": "registry.terraform.io/coder/coder",
|
||||
"schema_version": 0,
|
||||
"values": {
|
||||
"arch": "arm64",
|
||||
"auth": "token",
|
||||
"connection_timeout": 120,
|
||||
"dir": null,
|
||||
"env": null,
|
||||
"id": "c2221717-e813-49f0-a655-4cb7aa5265e2",
|
||||
"init_script": "",
|
||||
"login_before_ready": true,
|
||||
"motd_file": null,
|
||||
"os": "windows",
|
||||
"shutdown_script": null,
|
||||
"shutdown_script_timeout": 300,
|
||||
"startup_script": null,
|
||||
"startup_script_timeout": 300,
|
||||
"token": "fdb94db8-fca1-4a13-bbcb-73bfaec95b77",
|
||||
"troubleshooting_url": null
|
||||
},
|
||||
"sensitive_values": {}
|
||||
},
|
||||
{
|
||||
"address": "data.coder_parameter.example",
|
||||
"mode": "data",
|
||||
|
@ -41,8 +14,9 @@
|
|||
"values": {
|
||||
"default": null,
|
||||
"description": null,
|
||||
"display_name": null,
|
||||
"icon": null,
|
||||
"id": "f5f644c9-cb0c-47b1-8e02-d9f6fa99b935",
|
||||
"id": "5860f577-b0e7-4bb6-a4de-9de71a801ba0",
|
||||
"legacy_variable": null,
|
||||
"legacy_variable_name": null,
|
||||
"mutable": false,
|
||||
|
@ -73,6 +47,142 @@
|
|||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"address": "data.coder_parameter.number_example",
|
||||
"mode": "data",
|
||||
"type": "coder_parameter",
|
||||
"name": "number_example",
|
||||
"provider_name": "registry.terraform.io/coder/coder",
|
||||
"schema_version": 0,
|
||||
"values": {
|
||||
"default": "4",
|
||||
"description": null,
|
||||
"display_name": null,
|
||||
"icon": null,
|
||||
"id": "ecac8658-4def-424a-a24e-0a8c906cf8e8",
|
||||
"legacy_variable": null,
|
||||
"legacy_variable_name": null,
|
||||
"mutable": false,
|
||||
"name": "number_example",
|
||||
"option": null,
|
||||
"optional": true,
|
||||
"type": "number",
|
||||
"validation": null,
|
||||
"value": "4"
|
||||
},
|
||||
"sensitive_values": {}
|
||||
},
|
||||
{
|
||||
"address": "data.coder_parameter.number_example_max_zero",
|
||||
"mode": "data",
|
||||
"type": "coder_parameter",
|
||||
"name": "number_example_max_zero",
|
||||
"provider_name": "registry.terraform.io/coder/coder",
|
||||
"schema_version": 0,
|
||||
"values": {
|
||||
"default": "-2",
|
||||
"description": null,
|
||||
"display_name": null,
|
||||
"icon": null,
|
||||
"id": "6996b908-2bd9-4043-8821-59aada8fa202",
|
||||
"legacy_variable": null,
|
||||
"legacy_variable_name": null,
|
||||
"mutable": false,
|
||||
"name": "number_example_max_zero",
|
||||
"option": null,
|
||||
"optional": true,
|
||||
"type": "number",
|
||||
"validation": [
|
||||
{
|
||||
"error": "",
|
||||
"max": 0,
|
||||
"min": -3,
|
||||
"monotonic": "",
|
||||
"regex": ""
|
||||
}
|
||||
],
|
||||
"value": "-2"
|
||||
},
|
||||
"sensitive_values": {
|
||||
"validation": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"address": "data.coder_parameter.number_example_min_max",
|
||||
"mode": "data",
|
||||
"type": "coder_parameter",
|
||||
"name": "number_example_min_max",
|
||||
"provider_name": "registry.terraform.io/coder/coder",
|
||||
"schema_version": 0,
|
||||
"values": {
|
||||
"default": "4",
|
||||
"description": null,
|
||||
"display_name": null,
|
||||
"icon": null,
|
||||
"id": "a368fde8-b9ab-479f-92fb-776f4d5d3e53",
|
||||
"legacy_variable": null,
|
||||
"legacy_variable_name": null,
|
||||
"mutable": false,
|
||||
"name": "number_example_min_max",
|
||||
"option": null,
|
||||
"optional": true,
|
||||
"type": "number",
|
||||
"validation": [
|
||||
{
|
||||
"error": "",
|
||||
"max": 6,
|
||||
"min": 3,
|
||||
"monotonic": "",
|
||||
"regex": ""
|
||||
}
|
||||
],
|
||||
"value": "4"
|
||||
},
|
||||
"sensitive_values": {
|
||||
"validation": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"address": "data.coder_parameter.number_example_min_zero",
|
||||
"mode": "data",
|
||||
"type": "coder_parameter",
|
||||
"name": "number_example_min_zero",
|
||||
"provider_name": "registry.terraform.io/coder/coder",
|
||||
"schema_version": 0,
|
||||
"values": {
|
||||
"default": "4",
|
||||
"description": null,
|
||||
"display_name": null,
|
||||
"icon": null,
|
||||
"id": "55ff394f-995a-43d8-b05f-9fbf72f62d18",
|
||||
"legacy_variable": null,
|
||||
"legacy_variable_name": null,
|
||||
"mutable": false,
|
||||
"name": "number_example_min_zero",
|
||||
"option": null,
|
||||
"optional": true,
|
||||
"type": "number",
|
||||
"validation": [
|
||||
{
|
||||
"error": "",
|
||||
"max": 6,
|
||||
"min": 0,
|
||||
"monotonic": "",
|
||||
"regex": ""
|
||||
}
|
||||
],
|
||||
"value": "4"
|
||||
},
|
||||
"sensitive_values": {
|
||||
"validation": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"address": "data.coder_parameter.sample",
|
||||
"mode": "data",
|
||||
|
@ -83,8 +193,9 @@
|
|||
"values": {
|
||||
"default": "ok",
|
||||
"description": "blah blah",
|
||||
"display_name": null,
|
||||
"icon": null,
|
||||
"id": "e2944252-1c30-43c8-9ce3-53a9755030dc",
|
||||
"id": "6a1fb6c7-eb4d-443b-9968-1813668794d0",
|
||||
"legacy_variable": null,
|
||||
"legacy_variable_name": null,
|
||||
"mutable": false,
|
||||
|
@ -97,6 +208,36 @@
|
|||
},
|
||||
"sensitive_values": {}
|
||||
},
|
||||
{
|
||||
"address": "coder_agent.dev",
|
||||
"mode": "managed",
|
||||
"type": "coder_agent",
|
||||
"name": "dev",
|
||||
"provider_name": "registry.terraform.io/coder/coder",
|
||||
"schema_version": 0,
|
||||
"values": {
|
||||
"arch": "arm64",
|
||||
"auth": "token",
|
||||
"connection_timeout": 120,
|
||||
"dir": null,
|
||||
"env": null,
|
||||
"id": "9e190fb1-8087-4c64-b99d-1e0bd1067ed8",
|
||||
"init_script": "",
|
||||
"login_before_ready": true,
|
||||
"metadata": [],
|
||||
"motd_file": null,
|
||||
"os": "windows",
|
||||
"shutdown_script": null,
|
||||
"shutdown_script_timeout": 300,
|
||||
"startup_script": null,
|
||||
"startup_script_timeout": 300,
|
||||
"token": "1e09aaa2-0700-4968-abbd-0b8ab8f9fefc",
|
||||
"troubleshooting_url": null
|
||||
},
|
||||
"sensitive_values": {
|
||||
"metadata": []
|
||||
}
|
||||
},
|
||||
{
|
||||
"address": "null_resource.dev",
|
||||
"mode": "managed",
|
||||
|
@ -105,7 +246,7 @@
|
|||
"provider_name": "registry.terraform.io/hashicorp/null",
|
||||
"schema_version": 0,
|
||||
"values": {
|
||||
"id": "5032149403215603103",
|
||||
"id": "7817924891856217249",
|
||||
"triggers": null
|
||||
},
|
||||
"sensitive_values": {},
|
||||
|
|
Loading…
Reference in New Issue