为什么木偶不能找到我的班级?

Per*_*cot 3 puppet

我正在尝试实现这里找到的配方https://github.com/puppetlabs/puppetlabs-firewall#readme,我似乎正在制造一个我看不到的新手木偶错误.我有一个名为mwsettings的模块本身可以找到(mwsettings/init.pp存储一个帮助程序,用于加载一些模板并且可以正常工作),但是我的site.pp中的以下代码

Firewall {
  notify  => Exec['persist-firewall'],
  before  => Class['mwsettings::postfirewall'],
  require => Class['mwsettings::prefirewall'],
}
Run Code Online (Sandbox Code Playgroud)

爆发了

Error: Failed to apply catalog: Could not find dependency Class[Mwsettings::Prefirewall] for Firewall[100 accept mysql - XXXXXXXX]
Run Code Online (Sandbox Code Playgroud)

当我的代码稍后在site.pp调用时

firewall { "100 accept mysql - $name":
    proto => 'tcp',
    action => 'accept',
    dport => 3306,
    source => $name,
}
Run Code Online (Sandbox Code Playgroud)

但是,看起来我已经为prefirewall正确设置了清单:

# cat modules/mwsettings/manifests/prefirewall.pp 
class mwsettings::prefirewall {
  Firewall {
    require => undef,
  }
<snip>
Run Code Online (Sandbox Code Playgroud)

我在这里错过了一些非常微不足道的东西吗?因为这是我的第一个有木偶的牛仔竞技表演,所以我甚至都不确定如何调试它.

谢谢!

Ger*_*orn 7

您指的是您尚未声明的类.

如果你添加它应该工作:

include mwsettings::prefirewall

include mwsettings::postfirewall
Run Code Online (Sandbox Code Playgroud)