mirror of https://github.com/hashicorp/terraform
mocking overrides: default to concrete empty object when values are missing (#34563)
parent
d7f97ec847
commit
9658f9df6b
@ -0,0 +1,30 @@
|
||||
terraform {
|
||||
required_providers {
|
||||
test = {
|
||||
source = "hashicorp/test"
|
||||
configuration_aliases = [test.primary, test.secondary]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
variable "instances" {
|
||||
type = number
|
||||
}
|
||||
|
||||
resource "test_resource" "primary" {
|
||||
provider = test.primary
|
||||
count = var.instances
|
||||
}
|
||||
|
||||
resource "test_resource" "secondary" {
|
||||
provider = test.secondary
|
||||
count = var.instances
|
||||
}
|
||||
|
||||
output "primary" {
|
||||
value = test_resource.primary
|
||||
}
|
||||
|
||||
output "secondary" {
|
||||
value = test_resource.secondary
|
||||
}
|
||||
@ -0,0 +1,46 @@
|
||||
terraform {
|
||||
required_providers {
|
||||
test = {
|
||||
source = "hashicorp/test"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
provider "test" {
|
||||
alias = "primary"
|
||||
}
|
||||
|
||||
provider "test" {
|
||||
alias = "secondary"
|
||||
}
|
||||
|
||||
variable "instances" {
|
||||
type = number
|
||||
}
|
||||
|
||||
variable "child_instances" {
|
||||
type = number
|
||||
}
|
||||
|
||||
resource "test_resource" "primary" {
|
||||
provider = test.primary
|
||||
count = var.instances
|
||||
}
|
||||
|
||||
resource "test_resource" "secondary" {
|
||||
provider = test.secondary
|
||||
count = var.instances
|
||||
}
|
||||
|
||||
module "child" {
|
||||
count = var.instances
|
||||
|
||||
source = "./child"
|
||||
|
||||
providers = {
|
||||
test.primary = test.primary
|
||||
test.secondary = test.secondary
|
||||
}
|
||||
|
||||
instances = var.child_instances
|
||||
}
|
||||
@ -0,0 +1,13 @@
|
||||
override_module {
|
||||
target = module.child[1]
|
||||
outputs = "should be an object"
|
||||
}
|
||||
|
||||
variables {
|
||||
instances = 3
|
||||
child_instances = 1
|
||||
}
|
||||
|
||||
run "test" {
|
||||
# We won't even execute this, as the configuration isn't valid.
|
||||
}
|
||||
@ -0,0 +1,12 @@
|
||||
override_module {
|
||||
target = module.child[1]
|
||||
}
|
||||
|
||||
variables {
|
||||
instances = 3
|
||||
child_instances = 1
|
||||
}
|
||||
|
||||
run "test" {
|
||||
# Just want to make sure things don't crash with missing `outputs` attribute.
|
||||
}
|
||||
Loading…
Reference in new issue