microsoft / terraform-provider-azuredevops

Terraform Azure DevOps provider
https://www.terraform.io/docs/providers/azuredevops/
MIT License
372 stars 260 forks source link

azuredevops_serviceendpoint_kubernetes crash if the parameters are empty #1084

Open diegolagospagopa opened 5 days ago

diegolagospagopa commented 5 days ago

Community Note

Terraform (and Azure DevOps Provider) Version

Affected Resource(s)

Terraform Configuration Files

resource "azuredevops_serviceendpoint_kubernetes" "aks_prod" {
  depends_on            = [data.azuredevops_project.project]
  project_id            = data.azuredevops_project.project.id
  service_endpoint_name = local.srv_endpoint_name_aks_prod
  apiserver_url         = module.printit_prod_secrets.values["pagopa-p-itn-prod-aks-apiserver-url"].value
  authorization_type    = "ServiceAccount"
  service_account {
    # base64 values
    token   = module.printit_prod_secrets.values["pagopa-p-itn-prod-aks-azure-devops-sa-token"].value
    ca_cert = module.printit_prod_secrets.values["pagopa-p-itn-prod-aks-azure-devops-sa-cacrt"].value
  }
}

Debug Output

Panic Output

crash.log

Expected Behavior

Show an error message related to the fact that the service account fields are empty

Actual Behavior

crash badly

Steps to Reproduce

  1. create a service connection aks, with service account token and crt but the fields must be empty
  2. terraform apply

Important Factoids

References

xuzhang3 commented 5 hours ago

@diegolagospagopa can you check the module values module.printit_prod_secrets.values , if this value empty then ADO would take the empty string as the input which is invalid