在Puppet中收到“未知功能”错误

戴维·赫罗米克(David Hromyk)

在Puppet中定义函数时收到错误。 C:\Windows\system32> puppet agent --test --server davidhromyk.test.5.puppet.lrscorp.net --masterport 8937 --ssldir C:\Temp\davidhromyk.test.5.puppet.lrscorp.net Info: Using configured environment 'internal' Info: Retrieving pluginfacts Info: Retrieving plugin Info: Retrieving locales Info: Loading facts Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Unknown function: 'driver_name'. (file: /home/david.hromyk/.puppetlabs/etc/code/environments/internal/modules/windows_print_server/manifests/init.pp, line: 12, column: 41) on node ops-dev-print01.lrscorp.net Warning: Not using cache on failed catalog Error: Could not retrieve catalog; skipping run

这是我的模块配置。

class windows_print_server (
  $printers,
  ){

  exec { 'Install-PrintServices':
    command  => 'Install-WindowsFeature -Name @("print-services","Print-LPD-Service")',
    unless   => '& { exit ((Get-WindowsFeature -Name Print-Services).installed -eq $false) }',
    provider => powershell,
  }

$printers.each |Integer $index, Hash $printer| {
 exec { "add printer driver ${printer.driver_name} for ${printer.name}":
  command => "Add-PrinterDriver -Name ${printer.driver_name}",
  unless  => "Get-PrinterDriver -Name ${printer.driver_name}",
}
exec { "add printer port $printer.port_name for ${printer.name}":
  command => "Add-PrinterPort -Name ${printer.port_name}",
  unless  => "Get-PrinterPort -Name ${printer.port.name}",
}
exec { "add printer $$printer.name for $printer.name":
  command => "Add-Printer -Name ${printer.name}",
  unless  => "Get-Printer -Name ${printer.name}",
  }
 }
}

这是我的希拉配置。

{
  "classes": [
   "windows_print_server"
  ],
  "windows_server::administrators::list": ["ops-security"],
  "windows_print_server::printers": [
    {"name": "Bldg2-Flr1-HPM426fdn", "port_name": "172.17.17.132", "driver_name": "HP Color LaserJet Pro M452 PCL 6"},
    {"name": "Bldg3-Flr 4 Dell 2335dn", "port_name": "172.17.33.174", "driver_name": "Dell 2335dn MFP PCL6"}
  ]
}

我相信在某个地方,我缺少$ {printer.driver_name}的init.pp语法。不确定执行此操作的正确方法。与$ {printer [“ name”]}相似吗?

约翰·布林格

从哈希访问值的语法[]在键周围使用方括号运算符

$printer['driver_name']

在大多数情况下,键周围的引号是可选的,因为Puppet会将裸露的单词识别为字符串(这是Puppet语言的一般特征,并非特定于哈希键)。

要将值插值到字符串中,需要$用大括号将所有内容括起来:

$printers.each |Integer $index, Hash $printer| {
 exec { "add printer driver ${printer[driver_name]} for ${printer[name]}":
  command => "Add-PrinterDriver -Name ${printer[driver_name]}",
  unless  => "Get-PrinterDriver -Name ${printer[driver_name]}",
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我在vba中收到呼叫功能错误?

在mongoDB中收到未知的组运算符'$ group'的错误

尝试更新Postgres表中的JSON,但收到未知错误

如何在cython中克隆功能?我收到SystemError:未知操作码

我收到“针对(未知URL):0未知错误的Http故障响应”,而不是Angular中的实际错误消息

Vim中的未知功能

python:由于未知原因收到缩进错误

我收到未知的geoip2错误

“收到未知参数:0”条纹 Api 错误

为什么我在“on 子句”错误中收到未知列“list_class.pk_class_id”?

为什么我收到此错误-字段列表中的未知列'customers.c_id'

步骤功能中的嵌套步骤功能:未知错误:“ ...无权创建托管规则”

XML中的未知错误

Xcode中的未知错误

在SQL Server 2008中执行该过程时,收到错误消息“未知的用户名或密码错误”

测试功能时未知的解析错误

未知的MySQL存储功能语法错误

Twig生成URL /路由错误/功能未知

我被要求修复搜索功能中的错误。我一直在yii上收到CDbException

ServiceStack:出于未知原因不断收到HTTP 500错误

收到错误-ASL CLI不起作用-未知选项'-l'

为什么会收到actionPerformed()错误:未知来源?

错误:收到未知参数:business_type-节点条带连接

Stripe PHP checkout API:错误:异常:收到未知参数:运送

收到“错误”:“未知身份验证策略“ jwt””

为什么我收到此代码的“未知转义字符”错误

基本功能中简单的python代码中的错误,这些错误会为接收到的数字供电

“on 子句”错误中的未知列

OpenCL程序中的未知错误