在 HLC 文件中将值解析为 int

Parse value as int in HLC files

我正在为参数化的 HashiCorp Nomad 作业编写模板。它的参数之一是priority,它应该是0到100之间的整数。

与其他工具一样,Nomad 支持 variable interpolation,因此可以在某个点定义变量并在以后引用。 Nomad 还允许定义 "meta" 变量,这些变量在运行时传递并且可以在 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

有什么办法可以"cast"把字符串转成整数吗?或者,是否有任何其他引用变量的方法?

我最后在 Github 上提出了一个问题。他们的回应是目前还无法插入 priority 字段。 See issue.