Если я правильно понимаю ваш вопрос, вы пытаетесь разрешить имя переменной с помощью интерполяции. В terraform это невозможно сделать.
Если вы хотите разрешить конкретный список значений, основанный на значении переменных, вы можете сделать это, используя map
для , сопоставьте ваше значение с переменными, к которым они разрешают.
Например, у вас может быть что-то вроде
locals {
timeseries = "desktop"
timeseries_lookup = {
desktop = var.query_desktop_timeseries
# Other mappings would go here
}
}
Это может затем использоваться, очень похоже на ваш желаемый вариант использования, например следующие
for_each = local.timeseries_lookup[local.timeseries]