Puppet custom provider

Puppet custom provider

自定义提供者存放在模块子目录 lib/puppet/provider 下,如 lib/puppet/provider/<TYPE NAME>/<PROVIDER NAME>.rb

前面的章节创建了一个新的自定义类型 git repo,并告知 Puppet,该类型需要两个参数:source 和 path 。然而,到目前为止,还没有告知 Puppet 如何从 Git 仓库中检出所要的文件/数据。换句话说,就是如何给这种类型的指定实例。

示例

require 'fileutils'
Puppet::Type.type(:gitrepo).provide(:git) do
  commands :git =>" git"
  def create
    git "clone", resource[:source], resource[:path]
  end
  def exists?
    File.directory? resource[:path]
  end
end

参考资料

  • [英]约翰 阿伦德尔(John Arundel. Puppet实战手册. Kindle 版本.
  • https://docs.puppet.com/puppet/3.8/provider_development.html
Loading Disqus comments...
Table of Contents