无法在Terraform .tfvars文件存储OVH凭证,求排查指导
Terraform OVH凭证变量引用问题解决
核心问题
你在OVH provider配置中错误地将变量名用双引号包裹,导致Terraform把"var.ovhapplication_key"当作字符串字面量传递给OVH API,而非引用你定义的变量值,这直接触发了403权限错误。
修正后的Provider配置
将main.tf里的OVH provider部分修改为:
provider "ovh" { endpoint = "ovh-eu" application_key = var.ovhapplication_key application_secret = var.ovhapplication_secret consumer_key = var.ovhconsumer_key }
注意去掉变量名两侧的双引号,让Terraform正确解析变量引用。
额外检查项
- tfvars文件加载规则:如果使用
credentials.tfvars,执行计划时需通过terraform plan -var-file=credentials.tfvars指定文件;若用credentials.auto.tfvars或terraform.tfvars,Terraform会自动加载,无需额外参数。你当前的terraform.tfvars配置符合自动加载要求。 - 凭证准确性:确认
terraform.tfvars里的OVH凭证与控制台生成的完全一致,注意大小写、特殊字符不要出错。 - 敏感变量保护:建议给OVH相关变量添加敏感标记,避免执行计划时泄露凭证:
variable "ovhapplication_key" { type = string sensitive = true } variable "ovhapplication_secret" { type = string sensitive = true } variable "ovhconsumer_key" { type = string sensitive = true }
内容的提问来源于stack exchange,提问作者VapeBoro
相关产品推荐
相关产品推荐

