在 HLC 文件中将值插入为整数

在 HLC 文件中将值插入为整数

我正在为参数化的 HashiCorp Nomad 作业编写模板。它的一个参数是priority,它应该是 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

这似乎某个时候的问题该问题已修复,但假设您使用的是最新版本,则应该可以正常工作:

prioritystr = "${NOMAD_META_TASK_PRIORITY}"
priority = int(prioritystr)

答案2

我最终在 Github 上提出了一个问题。他们的回复是,目前还无法插入优先级字段。查看问题

相关内容