1

我正在使用 puppet 的网络设备管理功能来配置 Cisco 路由器,但我不知道如何使用它来发送我自己的命令,我也想用这些命令来创建自己的事实。

对于常规的 Windows 或 Linux 客户端,我们有 exec:

exec { 'test':
      command => 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -executionpolicy remotesigned -file C:\test.ps1',
    }

并将其与因子一起使用:

Facter.add('hardware_platform') do
  setcode do
    Facter::Core::Execution.exec('/bin/uname --hardware-platform')
  end
end

但是设备管理的等价物是什么?

查看 github 上的代码,看起来这些可能是相关的类: puppet/lib/puppet/util/network_device/transport/ ssh.rb 和 telnet.rb

但我不知道我应该如何在我的模块中调用和使用它们。

4

1 回答 1

2

正如我在puppet-users上回答的那样,核心数据类型的 Puppet DSL 视图或端点中没有任何机制puppet device允许您连接到节点和网络设备之间的底层通信以注入任意 IOS 命令。要进入该层,您需要编写自定义类型和提供程序,或者可能修改其中一种核心类型。

于 2015-12-23T16:36:15.583 回答