簡體   English   中英

如何在人偶中獲取哈希值中的密鑰

[英]How to get key in hash value in puppet

我不知道是否有可能。 我有這樣的清單:

$some_external_value = 'pew_pew'
$dict = {
    ensure => $ensure,
    configuration => {
         "random_name-${some_external_value}" => {
            command => 'python script.py config/random_name-${some_external_value}.cfg',
         },
         "some_other_name-${some_external_value}" => {
            command => 'python script.py config/some_other_name-${some_external_value}.cfg',
         },
         "without-external" => {
            command => "python script.py config/without-external.cfg",
            user => 'cluster',
         },
      }
}
notice ($dict["configuration"]["some_other_name-${some_external_value}"]["command"])

我懂了

notice: Scope(Class[main]): python script.py config/some_other_name-pew_pew.cfg

是否有一些技巧可以只寫一次密鑰名,然后再引用它?

"some_other_name-${some_external_value}" => {
     command => 'python script.py config/${wild_magic_variable_pasting_key_here}.cfg',
 },

您可以使用自定義解析器功能到達那里。

$orig_dict = {
  ...
  configuration => {
     "random_name-${some_external_value}" => {
        command => 'python script.py config/__KEY__.cfg',
     },
  ...
}

$dict = keysubst($orig_dict)

...在其中ruby函數以遞歸方式將__KEY__令牌替換為相應的鍵值。

暫無
暫無

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

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