Configuration

在 HLC 文件中將值內插為整數

  • October 17, 2019

我正在為參數化的 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

有沒有辦法將字元串“轉換”為整數?或者,還有其他方法可以引用變數嗎?

我最終在 Github 上提出了一個問題。他們的回答是,還不能插入優先級欄位。見問題

這似乎是一個已修復的問題,但假設您使用的是最新版本,這應該可以工作:

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

引用自:https://serverfault.com/questions/982737