Skip to content

Instantly share code, notes, and snippets.

@jeffmccune
Created December 14, 2011 01:06
Show Gist options
  • Save jeffmccune/1474730 to your computer and use it in GitHub Desktop.
Save jeffmccune/1474730 to your computer and use it in GitHub Desktop.
Puppet Documentation for all types and providers found
[jeff@maynard] (2.7.x)(clean) 1.8.7@puppet src/puppet/lib/puppet
% irb
1.8.7 :001 > require 'puppet'
=> true
1.8.7 :002 > Puppet::Type.loadall
=> ["/vagrant/src/puppet/lib/puppet/type/augeas.rb", "/vagrant/src/puppet/lib/puppet/type/component.rb", "/vagrant/src/puppet/lib/puppet/type/computer.rb", "/vagrant/src/puppet/lib/puppet/type/cron.rb", "/vagrant/src/puppet/lib/puppet/type/exec.rb", "/vagrant/src/puppet/lib/puppet/type/file.rb", "/vagrant/src/puppet/lib/puppet/type/filebucket.rb", "/vagrant/src/puppet/lib/puppet/type/group.rb", "/vagrant/src/puppet/lib/puppet/type/host.rb", "/vagrant/src/puppet/lib/puppet/type/interface.rb", "/vagrant/src/puppet/lib/puppet/type/k5login.rb", "/vagrant/src/puppet/lib/puppet/type/macauthorization.rb", "/vagrant/src/puppet/lib/puppet/type/mailalias.rb", "/vagrant/src/puppet/lib/puppet/type/maillist.rb", "/vagrant/src/puppet/lib/puppet/type/mcx.rb", "/vagrant/src/puppet/lib/puppet/type/mount.rb", "/vagrant/src/puppet/lib/puppet/type/nagios_command.rb", "/vagrant/src/puppet/lib/puppet/type/nagios_contact.rb", "/vagrant/src/puppet/lib/puppet/type/nagios_contactgroup.rb", "/vagrant/src/puppet/lib/puppet/type/nagios_host.rb", "/vagrant/src/puppet/lib/puppet/type/nagios_hostdependency.rb", "/vagrant/src/puppet/lib/puppet/type/nagios_hostescalation.rb", "/vagrant/src/puppet/lib/puppet/type/nagios_hostextinfo.rb", "/vagrant/src/puppet/lib/puppet/type/nagios_hostgroup.rb", "/vagrant/src/puppet/lib/puppet/type/nagios_service.rb", "/vagrant/src/puppet/lib/puppet/type/nagios_servicedependency.rb", "/vagrant/src/puppet/lib/puppet/type/nagios_serviceescalation.rb", "/vagrant/src/puppet/lib/puppet/type/nagios_serviceextinfo.rb", "/vagrant/src/puppet/lib/puppet/type/nagios_servicegroup.rb", "/vagrant/src/puppet/lib/puppet/type/nagios_timeperiod.rb", "/vagrant/src/puppet/lib/puppet/type/notify.rb", "/vagrant/src/puppet/lib/puppet/type/package.rb", "/vagrant/src/puppet/lib/puppet/type/port.rb", "/vagrant/src/puppet/lib/puppet/type/resources.rb", "/vagrant/src/puppet/lib/puppet/type/router.rb", "/vagrant/src/puppet/lib/puppet/type/schedule.rb", "/vagrant/src/puppet/lib/puppet/type/scheduled_task.rb", "/vagrant/src/puppet/lib/puppet/type/selboolean.rb", "/vagrant/src/puppet/lib/puppet/type/selmodule.rb", "/vagrant/src/puppet/lib/puppet/type/service.rb", "/vagrant/src/puppet/lib/puppet/type/ssh_authorized_key.rb", "/vagrant/src/puppet/lib/puppet/type/sshkey.rb", "/vagrant/src/puppet/lib/puppet/type/stage.rb", "/vagrant/src/puppet/lib/puppet/type/tidy.rb", "/vagrant/src/puppet/lib/puppet/type/user.rb", "/vagrant/src/puppet/lib/puppet/type/vlan.rb", "/vagrant/src/puppet/lib/puppet/type/whit.rb", "/vagrant/src/puppet/lib/puppet/type/yumrepo.rb", "/vagrant/src/puppet/lib/puppet/type/zfs.rb", "/vagrant/src/puppet/lib/puppet/type/zone.rb", "/vagrant/src/puppet/lib/puppet/type/zpool.rb", "/vagrant/src/envpuppet/stdlib/lib/puppet/type/anchor.rb", "/vagrant/src/envpuppet/stdlib/lib/puppet/type/file_line.rb"]
1.8.7 :003 > doc_hash = Puppet::Type.instance_variable_get("@types").inject({}) { |memo, (name, type)| memo[name.to_s] = type.providers.map { |p| { p.to_s => type.provider(p).doc } }; memo }; true
=> true
1.8.7 :004 > puts doc_hash.to_yaml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment