Codes & Commit Id
PR : #8
Commit : 2fc8173
# main.tf
data "aws_acm_certificate" "datasource" {
domain = var.domain
statuses = var.status # ["ISSUED"]
}
# variables.tf
variable "domain" {
type = string
}
variable "status" {
type = list(string)
default = ["ISSUED"]
}
# outputs.tf
output "arn" {
value = data.aws_acm_certificate.datasource.arn
}
package main
import (
"testing"
"github.com/gruntwork-io/terratest/modules/terraform"
)
func TestTerraformDataAwsAmi(t *testing.T) {
t.Parallel()
options := terraform.WithDefaultRetryableErrors(t, &terraform.Options{
TerraformDir: "../../../../data/aws/acm",
Vars: map[string]interface{}{
"domain": "example.com",
"status": []string{"ISSUED"},
},
EnvVars: map[string]string{
"AWS_DEFAULT_REGION": "us-east-1",
},
})
defer terraform.Destroy(t, options)
terraform.InitAndValidateE(t, options)
}
Expected Result
Success
Real Result
Failed
│ Error: Failed to parse command-line flags
│
│ flag provided but not defined: -var
╵
╷
│ Error: Too many command line arguments
│
│ Expected at most one positional argument.
Epxected Issue
In terraform, terraform validate don't required -var or -var-files.
But in terratest, terraform.InitAndValidate or terraform.InitAndValidateE needs vars.
But when I use vars: map[string]interface{} with terratest, terratest typed terraform validate -var ....
But, Terraform don't supports -v option in validate.
So, this implementation of terraform.InitAndValidate(E) can't executeed at any way.
Codes & Commit Id
PR : #8
Commit : 2fc8173
Expected Result
Success
Real Result
Failed
│ Error: Failed to parse command-line flags │ │ flag provided but not defined: -var ╵ ╷ │ Error: Too many command line arguments │ │ Expected at most one positional argument.Epxected Issue
In terraform,
terraform validatedon't required-varor-var-files.But in terratest,
terraform.InitAndValidateorterraform.InitAndValidateEneeds vars.But when I use
vars: map[string]interface{}with terratest, terratest typedterraform validate -var ....But, Terraform don't supports
-voption in validate.So, this implementation of terraform.InitAndValidate(E) can't executeed at any way.