Files
opentf/command/testdata/show-json/modules/output.json
Alisdair McDiarmid e27aacebf9 command/jsonplan: Add sensitive value mapping data
Similar to `after_unknown`, `before_sensitive` and `after_sensitive` are
values with similar structure to `before` and `after` which encode the
presence of sensitive values in a planned change. These should be used
to obscure sensitive values from human-readable output.

These values follow the same structure as the `before` and `after`
values, replacing sensitive values with `true`, and non-sensitive values
with `false`. Following the `after_unknown` precedent, we omit
non-sensitive `false` values for object attributes/map values, to make
serialization more compact.

One difference from `after_unknown` is that a sensitive complex value
(collection or structural type) is replaced with `true`. If the complex
value itself is sensitive, all of its contents should be obscured.
2021-03-26 19:26:10 -04:00

292 lines
10 KiB
JSON

{
"format_version": "0.1",
"planned_values": {
"outputs": {
"test": {
"sensitive": false,
"value": "baz"
}
},
"root_module": {
"child_modules": [
{
"resources": [
{
"address": "module.module_test_bar.test_instance.test",
"mode": "managed",
"type": "test_instance",
"name": "test",
"provider_name": "registry.terraform.io/hashicorp/test",
"schema_version": 0,
"values": {
"ami": "bar-var"
}
}
],
"address": "module.module_test_bar"
},
{
"resources": [
{
"address": "module.module_test_foo.test_instance.test[0]",
"mode": "managed",
"type": "test_instance",
"name": "test",
"index": 0,
"provider_name": "registry.terraform.io/hashicorp/test",
"schema_version": 0,
"values": {
"ami": "baz"
}
},
{
"address": "module.module_test_foo.test_instance.test[1]",
"mode": "managed",
"type": "test_instance",
"name": "test",
"index": 1,
"provider_name": "registry.terraform.io/hashicorp/test",
"schema_version": 0,
"values": {
"ami": "baz"
}
},
{
"address": "module.module_test_foo.test_instance.test[2]",
"mode": "managed",
"type": "test_instance",
"name": "test",
"index": 2,
"provider_name": "registry.terraform.io/hashicorp/test",
"schema_version": 0,
"values": {
"ami": "baz"
}
}
],
"address": "module.module_test_foo"
}
]
}
},
"prior_state": {
"format_version": "0.1",
"values": {
"outputs": {
"test": {
"sensitive": false,
"value": "baz"
}
},
"root_module": {}
}
},
"resource_changes": [
{
"address": "module.module_test_bar.test_instance.test",
"module_address": "module.module_test_bar",
"mode": "managed",
"type": "test_instance",
"name": "test",
"provider_name": "registry.terraform.io/hashicorp/test",
"change": {
"actions": [
"create"
],
"before": null,
"after": {
"ami": "bar-var"
},
"after_unknown": {
"id": true
},
"after_sensitive": {},
"before_sensitive": false
}
},
{
"address": "module.module_test_foo.test_instance.test[0]",
"module_address": "module.module_test_foo",
"mode": "managed",
"type": "test_instance",
"provider_name": "registry.terraform.io/hashicorp/test",
"name": "test",
"index": 0,
"change": {
"actions": [
"create"
],
"before": null,
"after": {
"ami": "baz"
},
"after_unknown": {
"id": true
},
"after_sensitive": {},
"before_sensitive": false
}
},
{
"address": "module.module_test_foo.test_instance.test[1]",
"module_address": "module.module_test_foo",
"mode": "managed",
"type": "test_instance",
"provider_name": "registry.terraform.io/hashicorp/test",
"name": "test",
"index": 1,
"change": {
"actions": [
"create"
],
"before": null,
"after": {
"ami": "baz"
},
"after_unknown": {
"id": true
},
"after_sensitive": {},
"before_sensitive": false
}
},
{
"address": "module.module_test_foo.test_instance.test[2]",
"module_address": "module.module_test_foo",
"mode": "managed",
"type": "test_instance",
"provider_name": "registry.terraform.io/hashicorp/test",
"name": "test",
"index": 2,
"change": {
"actions": [
"create"
],
"before": null,
"after": {
"ami": "baz"
},
"after_unknown": {
"id": true
},
"after_sensitive": {},
"before_sensitive": false
}
}
],
"output_changes": {
"test": {
"actions": [
"create"
],
"before": null,
"after": "baz",
"after_unknown": false
}
},
"configuration": {
"root_module": {
"outputs": {
"test": {
"expression": {
"references": [
"module.module_test_foo.test"
]
},
"depends_on": [
"module.module_test_foo"
]
}
},
"module_calls": {
"module_test_bar": {
"source": "./bar",
"module": {
"outputs": {
"test": {
"expression": {
"references": [
"var.test_var"
]
}
}
},
"resources": [
{
"address": "test_instance.test",
"mode": "managed",
"type": "test_instance",
"name": "test",
"provider_config_key": "module_test_bar:test",
"expressions": {
"ami": {
"references": [
"var.test_var"
]
}
},
"schema_version": 0
}
],
"variables": {
"test_var": {
"default": "bar-var"
}
}
}
},
"module_test_foo": {
"source": "./foo",
"expressions": {
"test_var": {
"constant_value": "baz"
}
},
"module": {
"outputs": {
"test": {
"expression": {
"references": [
"var.test_var"
]
}
}
},
"resources": [
{
"address": "test_instance.test",
"mode": "managed",
"type": "test_instance",
"name": "test",
"provider_config_key": "module_test_foo:test",
"expressions": {
"ami": {
"references": [
"var.test_var"
]
}
},
"schema_version": 0,
"count_expression": {
"constant_value": 3
}
}
],
"variables": {
"test_var": {
"default": "foo-var"
}
}
}
}
}
},
"provider_config": {
"module.module_test_foo:test": {
"module_address": "module.module_test_foo",
"name": "test"
}
}
}
}