【问题标题】:Puppet-lint warning when iterating over nested hash in puppet manifest迭代木偶清单中的嵌套哈希时的木偶皮棉警告
【发布时间】:2016-11-15 06:34:18
【问题描述】:

我正在我的一个木偶清单中迭代数组的哈希

 1 # class to manage needed packages
 2 class profile::packages (
 3 ){
 4   $packages = hiera_hash('profile::packages::managed', {})
 5 
 6   if $packages != {} {
 7     $packages.each | String $package_state, Array $packages_array | {
 8       $packages_array.each | Integer $idx, String $package | {
 9         notify { "${package} with ${idx} should be ${package_state}": }
10       }
11     }
12   }
13 }

但我收到了 puppet-lint 警告。

警告:在没有显式命名空间的情况下使用顶级范围变量 在第 8 行 块引用 警告:在没有明确使用的情况下使用顶级范围变量 第 9 行的命名空间

代码运行良好,所以是 puppet-lint 的问题。也许有一种方法可以配置 puppet-lint 以识别 lambda 块中的变量?

【问题讨论】:

  • 添加的 puppet-lint 提示 here 可以禁用整个范围检查,但在这种情况下不希望这样做。
  • 此代码可以通过重构来改进,也不会引发 lint 警告。
  • 所以让我们知道我们可以重构代码以删除 lint 警告。

标签: puppet


【解决方案1】:

在撰写本文时,这是 puppet-lint 中的 a known issue。它对 Puppet 4 语言功能的支持有限。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-05
    • 2017-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多