Интерполировать значения как целые числа в файлах HLC

Я пишу шаблон для параметризованного задания HashiCorp Nomad. Одним из его параметров является приоритет , который должен быть целым числом от 0 до 100.

Как и другие инструменты, Nomad поддерживает интерполяцию переменных , чтобы можно было определить переменную. в какой-то момент и позже упоминается. Nomad также позволяет определять "мета-переменные", которые передаются во время выполнения и могут использоваться в файле HLC.

То, что я пытаюсь сделать, выглядит следующим образом:

job "my-job" {
    parametrized {
        meta_required = ["TASK_PRIORITY"]
    }
    priority = "${NOMAD_META_TASK_PRIORITY}"
    ...
}

Единственный способ, который я нашел, чтобы прочитать эти переменные находятся внутри строк. Поскольку раздел priority ожидает целое число, возникает следующая ошибка:

error parsing 'job': 1 error(s) decoding: * cannot parse 'Priority' as int: strconv.ParseInt: parsing "${NOMAD_META_TASK_PRIORITY}": invalid syntax

Есть ли способ «преобразовать» строку в целое число? Или, в качестве альтернативы, есть ли какой-либо другой способ ссылки на переменную, который мог бы работать?

1
задан 10 September 2019 в 23:57
2 ответа

В итоге я поднял вопрос на Github. Они ответили, что пока невозможно интерполировать поле приоритета. См. Выпуск .

0
ответ дан 3 December 2019 в 23:00

Похоже, это была проблема в какой-то момент , которая была исправлена, но если предположить, что вы используете самую последнюю версию, это должно сработать:

prioritystr = "${NOMAD_META_TASK_PRIORITY}"
priority = int(prioritystr)
1
ответ дан 3 December 2019 в 23:00

Теги

Похожие вопросы