簡體   English   中英

用戶變量中的打包程序對象

[英]packer Objects in user variables

如何從var文件加載用戶變量對象。 在這里問了這個問題https://github.com/hashicorp/packer/issues/2441

是否可以處理用戶變量中的對象? 例如,使用Chef-solo設置程序,我想將json屬性作為用戶變量傳遞。 在當前的實現中,這似乎是不可能的。

讀取'test.json'中的變量時出錯:json:無法將對象解組為字符串類型的Go值

我有一個名為test.json的文件,該文件包含以下內容:

{“元數據”:{“ somekey”:“ somevalue”}}

使用var-file選項傳遞文件時,出現上述錯誤。

有沒有特定的原因無法執行? 無需解析深度嵌套的對象,只需將用戶變量元數據設置為一個對象,以便它可以被packer.json中的對象類型使用。

有一種解決方法,但我需要一個示例。

在當前的實現中,這似乎是不可能的。

沒錯,當前無法在用戶變量中傳遞對象。

您可以簡單地預處理所需的值,例如使用jq

{
  "builders": [{
    "type": "digitalocean",
    "ssh_pty": "true",
    "image": "{{user `di_image`}}",
    "region": "{{user `di_region`}}",
    "size": "{{user `di_size`}}"
    }]
 } 

cat cloud.json | jq 'setpath(["builders",0,"flavor"]; {"hi": "hoo"})'

{
  "builders": [{
    "type": "digitalocean",
    "ssh_pty": "true",
    "image": "{{user `di_image`}}",
    "region": "{{user `di_region`}}",
    "size": "{{user `di_size`}}",
    "flavor": {
      "hi": "hoo"
    }
  }]
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM