| required_providers { |
| testing = { |
| source = "hashicorp/testing" |
| version = "0.1.0" |
| } |
| } |
| |
| provider "testing" "default" {} |
| |
| variable "default" { |
| type = object({ |
| id = string |
| value = string |
| }) |
| default = { |
| id = "cec9bc39" |
| value = "hello, mercury!" |
| } |
| } |
| |
| variable "optional_default" { |
| type = object({ |
| id = optional(string) |
| value = optional(string, "hello, venus!") |
| }) |
| default = { |
| id = "78d8b3d7" |
| } |
| } |
| |
| variable "optional" { |
| type = object({ |
| id = optional(string) |
| value = optional(string, "hello, earth!") |
| }) |
| } |
| |
| component "self" { |
| source = "./" |
| providers = { |
| testing = provider.testing.default |
| } |
| inputs = { |
| input = [ |
| var.default, |
| var.optional_default, |
| var.optional, |
| ] |
| } |
| } |
| |
| stack "child" { |
| source = "./child" |
| |
| inputs = { |
| optional = {} |
| } |
| } |