Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Validar quando usamos um versão inexistente de uma property #24

Open
daltonmatos opened this issue Oct 17, 2024 · 0 comments
Open

Validar quando usamos um versão inexistente de uma property #24

daltonmatos opened this issue Oct 17, 2024 · 0 comments

Comments

@daltonmatos
Copy link
Collaborator

Quando estamos na fase de validar um campo é comum termos um código como esse:

module "v0" {
  source = "./v0"
  count  = var.schema.version == "v0" ? 1 : 0

  metadata_name = var.metadata_name
  path          = var.path
  field_path    = var.field_path
  manifest      = var.manifest
  schema        = var.schema
}

module "v1" {
  source = "./v1"
  count  = var.schema.version == "v1" ? 1 : 0

  metadata_name = var.metadata_name
  path          = var.path
  field_path    = var.field_path
  manifest      = var.manifest
  schema        = var.schema
}

output "resource" {
  value = one(
    concat(
      module.v0[*].resource,
      module.v1[*].resource,
    )
  )
}

No momento em que estamos desenvolvendo o manifest.tf, se usamos uma versão inexistente dessa property, aqui por exemplo, v3 o valor do output resource seria apenas null e isso vai fazer o terraform explodir com um erro não amigável.

A ideia aqui é adicionar uma validação que não permita o output ser nulo, pois quando isso acontece é porque nenhum dos modules do código foi instanciado e isso muito provavelmente significa um erro de desenvolvimento.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant