Fix output values with null

Signed-off-by: Igor Rodionov <goruha@gmail.com>
This commit is contained in:
Igor Rodionov
2024-01-26 16:47:03 +01:00
parent 77d395af54
commit 656f6a64d5
4 changed files with 22 additions and 13 deletions

View File

@@ -294,11 +294,15 @@ func loadOutputs(tfmodule *tfconfig.Module, config *print.Config) ([]*Output, er
}
if config.OutputValues.Enabled {
output.Sensitive = values[output.Name].Sensitive
if values[output.Name].Sensitive {
output.Value = types.ValueOf(`<sensitive>`)
if value, ok := values[output.Name]; ok {
output.Sensitive = value.Sensitive
output.Value = types.ValueOf(value.Value)
} else {
output.Value = types.ValueOf(values[output.Name].Value)
output.Value = types.ValueOf("null")
}
if output.Sensitive {
output.Value = types.ValueOf(`<sensitive>`)
}
}
outputs = append(outputs, output)

View File

@@ -589,7 +589,7 @@ func TestLoadOutputs(t *testing.T) {
name: "load module outputs from path",
path: "full-example",
expected: expected{
outputs: 3,
outputs: 4,
},
},
{
@@ -665,7 +665,7 @@ func TestLoadOutputsValues(t *testing.T) {
path: "full-example",
outputPath: "output-values.json",
expected: expected{
outputs: 3,
outputs: 4,
},
wantErr: false,
},
@@ -896,7 +896,7 @@ func TestSortItems(t *testing.T) {
inputs: []string{"D", "B", "E", "A", "C", "F", "G"},
required: []string{"A", "F"},
optional: []string{"D", "B", "E", "C", "G"},
outputs: []string{"C", "A", "B"},
outputs: []string{"C", "A", "B", "D"},
providers: []string{"tls", "aws", "null"},
},
},
@@ -909,7 +909,7 @@ func TestSortItems(t *testing.T) {
inputs: []string{"D", "B", "E", "A", "C", "F", "G"},
required: []string{"A", "F"},
optional: []string{"D", "B", "E", "C", "G"},
outputs: []string{"C", "A", "B"},
outputs: []string{"C", "A", "B", "D"},
providers: []string{"tls", "aws", "null"},
},
},
@@ -922,7 +922,7 @@ func TestSortItems(t *testing.T) {
inputs: []string{"D", "B", "E", "A", "C", "F", "G"},
required: []string{"A", "F"},
optional: []string{"D", "B", "E", "C", "G"},
outputs: []string{"C", "A", "B"},
outputs: []string{"C", "A", "B", "D"},
providers: []string{"tls", "aws", "null"},
},
},
@@ -935,7 +935,7 @@ func TestSortItems(t *testing.T) {
inputs: []string{"A", "B", "C", "D", "E", "F", "G"},
required: []string{"A", "F"},
optional: []string{"B", "C", "D", "E", "G"},
outputs: []string{"A", "B", "C"},
outputs: []string{"A", "B", "C", "D"},
providers: []string{"aws", "null", "tls"},
},
},
@@ -948,7 +948,7 @@ func TestSortItems(t *testing.T) {
inputs: []string{"A", "F", "B", "C", "D", "E", "G"},
required: []string{"A", "F"},
optional: []string{"B", "C", "D", "E", "G"},
outputs: []string{"A", "B", "C"},
outputs: []string{"A", "B", "C", "D"},
providers: []string{"aws", "null", "tls"},
},
},
@@ -961,7 +961,7 @@ func TestSortItems(t *testing.T) {
inputs: []string{"A", "F", "G", "B", "C", "D", "E"},
required: []string{"A", "F"},
optional: []string{"G", "B", "C", "D", "E"},
outputs: []string{"A", "B", "C"},
outputs: []string{"A", "B", "C", "D"},
providers: []string{"aws", "null", "tls"},
},
},

View File

@@ -12,3 +12,8 @@ output "A" {
output "B" {
value = "b"
}
// D null result
output "D" {
value = null
}