So this is turning it into a small coding contest =). I needed something similar to this, and there's a pretty easy way to do this with the puppet resource_type face.
require 'puppet' require 'puppet/face' Puppet::Face[:resource_type,:current].search('*').find_all {|x| x.type==:hostclass}.collect{|x| x.name}.sort You can do some interesting things, such as get all the classes parameters as well: Puppet::Face[:resource_type,:current].search('*').find_all {|x| x.type==:hostclass}.collect{|x| {x.name=>x.arguments.keys}} Here's an example of classes and parameters it accept: [{"apt::backports"=>["release", "location"]}, {"apt::debian::testing"=>[]}, {"apt::debian::unstable"=>[]}, {"apt::params"=>[]}, {"apt::release"=>["release_id"]}, {"apt::update"=>[]}, {"apt"=> ["purge_sources_list_d", "purge_sources_list", "always_apt_update", "proxy_host", "proxy_port", "purge_preferences_d", "disable_keys"]}, ... Thanks, Nan On Thu, Jul 12, 2012 at 9:50 AM, Nick Cammorato <nick_cammor...@terc.edu> wrote: > You could do something like this, it's not the cleanest in the world(I > barely ever use sed anymore), but as something quick and dirty: > curl -k -H "Accept: yaml" https://puppet:8140/mgmt/resource_types/class | > more | grep " name: " | sed -e 's/^ *name: //;s/&id.* //' | sort | uniq > > It'll have some bad data you'll have to parse out(built-in classes like > notify, fail, etc.), but should work. > > > On Thursday, July 12, 2012 11:54:25 AM UTC-4, llo...@oreillyauto.com wrote: >> >> Is there a way to get a list of all the classes available from the puppet >> master? >> >> I have 2 goals for this - one is documentation in a human readable form, >> and the other is potentially importing that data into dashboard. >> >> I did find some info on the rest API >> (http://docs.puppetlabs.com/guides/rest_api.html#resource-types ) but I >> can't make any sense of the output from it. >> >> Thanks. >> >> Lee > > > On Thursday, July 12, 2012 11:54:25 AM UTC-4, llo...@oreillyauto.com wrote: >> >> Is there a way to get a list of all the classes available from the puppet >> master? >> >> I have 2 goals for this - one is documentation in a human readable form, >> and the other is potentially importing that data into dashboard. >> >> I did find some info on the rest API >> (http://docs.puppetlabs.com/guides/rest_api.html#resource-types ) but I >> can't make any sense of the output from it. >> >> Thanks. >> >> Lee > > > On Thursday, July 12, 2012 11:54:25 AM UTC-4, llo...@oreillyauto.com wrote: >> >> Is there a way to get a list of all the classes available from the puppet >> master? >> >> I have 2 goals for this - one is documentation in a human readable form, >> and the other is potentially importing that data into dashboard. >> >> I did find some info on the rest API >> (http://docs.puppetlabs.com/guides/rest_api.html#resource-types ) but I >> can't make any sense of the output from it. >> >> Thanks. >> >> Lee > > > On Thursday, July 12, 2012 11:54:25 AM UTC-4, llo...@oreillyauto.com wrote: >> >> Is there a way to get a list of all the classes available from the puppet >> master? >> >> I have 2 goals for this - one is documentation in a human readable form, >> and the other is potentially importing that data into dashboard. >> >> I did find some info on the rest API >> (http://docs.puppetlabs.com/guides/rest_api.html#resource-types ) but I >> can't make any sense of the output from it. >> >> Thanks. >> >> Lee > > -- > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > To view this discussion on the web visit > https://groups.google.com/d/msg/puppet-users/-/m4XmKKAYwtkJ. > > To post to this group, send email to puppet-users@googlegroups.com. > To unsubscribe from this group, send email to > puppet-users+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.