terraform-provider-kubernetes: kubernetes_resource_quota variable interpolation does not work with terraform v0.12.0
Terraform Version
terraform -v
Terraform v0.12.0
+ provider.google v2.7.0
+ provider.google-beta v2.7.0
+ provider.kubernetes v1.7.0
+ provider.template v2.1.2
Affected Resource(s)
- kubernetes_resource_quota
Expected Behavior
This should work:
resource "kubernetes_resource_quota" "resource" {
metadata {
name = "${var.namespace}-quota"
namespace = "${var.namespace}"
}
spec {
hard = {
"pods" = "${var.quota_pods}"
"requests.cpu" = "${var.quota_cpu_request}"
"requests.memory" = "${var.quota_memory_request}"
"limits.cpu" = "${var.quota_cpu_limit}"
"limits.memory" = "${var.quota_memory_limit}"
}
}
}
Actual Behavior
I’m getting this error:
Error: spec.0.hard.pods ("74D93920-ED26-11E3-AC10-0800200C9A66"): quantities must match the regular expression '^([+-]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$'
on ../../modules/module-name/main.tf line 11, in resource "kubernetes_resource_quota" "resource":
11: resource "kubernetes_resource_quota" "resource" {
If I place the values in line it works:
resource "kubernetes_resource_quota" "resource" {
metadata {
name = "${var.namespace}-quota"
namespace = "${var.namespace}"
}
spec {
hard = {
"pods" = 5 #"${var.quota_pods}"
"requests.cpu" = "3" #"${var.quota_cpu_request}"
"requests.memory" = "4Gi"#"${var.quota_memory_request}"
"limits.cpu" = "4" #"${var.quota_cpu_limit}"
"limits.memory" = "8Gi"#"${var.quota_memory_limit}"
}
}
}
It seems like the variable reference is tested agains the regexp not it’s value.
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Reactions: 1
- Comments: 21 (11 by maintainers)
@conet I merged #491 which fixes this issue. It will be available in the next release.