rspec-puppet-facts 1.9.6 → 2.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -1,5 +1,7 @@
1
1
  require 'bundler/gem_tasks'
2
2
 
3
+ PUPPET_VERSIONS_PATH = File.join(__dir__, 'ext', 'puppet_agent_components.json')
4
+
3
5
  begin
4
6
  require 'rspec/core/rake_task'
5
7
  require 'yard'
@@ -14,3 +16,48 @@ task :dump_commit do
14
16
  puts "############ Commits since #{last_tag} ######"
15
17
  puts `git log --pretty=format:"- %s" #{last_tag}..HEAD`
16
18
  end
19
+
20
+ namespace :puppet_versions do
21
+ task :update do
22
+ require 'net/http'
23
+ require 'net/https'
24
+ require 'uri'
25
+
26
+ uri = URI.parse('https://forgeapi.puppet.com/private/versions/puppet-agent')
27
+ http = Net::HTTP.new(uri.host, uri.port)
28
+ http.use_ssl = uri.scheme == 'https'
29
+
30
+ request = Net::HTTP::Get.new(uri.request_uri)
31
+ response = http.request(request)
32
+ raise unless response.is_a?(Net::HTTPSuccess)
33
+
34
+ File.open(PUPPET_VERSIONS_PATH, 'wb:UTF-8') do |fd|
35
+ fd.write(response.body)
36
+ end
37
+ end
38
+
39
+ task :test do
40
+ Rake::Task['puppet_versions:update'].invoke
41
+
42
+ output = `git status --porcelain #{PUPPET_VERSIONS_PATH}`
43
+ unless output.strip.empty?
44
+ $stderr.puts "#{PUPPET_VERSIONS_PATH} is out of date."
45
+ $stderr.puts 'Run the puppet_versions:update task to update it and commit the changes.'
46
+ raise
47
+ end
48
+ end
49
+ end
50
+
51
+ begin
52
+ require 'rubygems'
53
+ require 'github_changelog_generator/task'
54
+
55
+ GitHubChangelogGenerator::RakeTask.new :changelog do |config|
56
+ config.exclude_labels = %w{duplicate question invalid wontfix wont-fix skip-changelog}
57
+ config.user = 'voxpupuli'
58
+ config.project = 'rspec-puppet-facts'
59
+ gem_version = Gem::Specification.load("#{config.project}.gemspec").version
60
+ config.future_release = gem_version
61
+ end
62
+ rescue LoadError
63
+ end
@@ -0,0 +1 @@
1
+ {"1.10.6":{"puppet":"4.10.6","facter":"3.6.6","hiera":"3.3.2","leatherman":"0.12.1","cpp-hocon":"0.1.4","marionette-collective":"2.10.5","cpp-pcp-client":"1.5.3","pxp-agent":"1.5.4","augeas":"1.4.0","curl":"7.51.0","ruby-2.1.9":"2.1.9","ruby-stomp":"1.3.3","rubygem-deep-merge":"1.0.1","rubygem-net-ssh":"4.1.0","rubygem-hocon":"1.2.5","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1","rubygem-locale":"2.1.2","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.0","rubygem-gettext-setup":"0.20","ruby-shadow":"2.3.3","ruby-augeas":"0.5.0","openssl":"1.0.2k","puppet-ca-bundle":"1.0.7","libxml2":"2.9.4","libxslt":"1.1.29","virt-what":"1.14","dmidecode":"2.12","shellpath":"2015-09-18","ruby-selinux":"2.0.94"},"1.10.7":{"puppet":"4.10.7","facter":"3.6.7","hiera":"3.3.2","leatherman":"0.12.2","cpp-hocon":"0.1.4","marionette-collective":"2.10.5","cpp-pcp-client":"1.5.4","pxp-agent":"1.5.5","augeas":"1.4.0","curl":"7.51.0","ruby-2.1.9":"2.1.9","ruby-stomp":"1.3.3","rubygem-deep-merge":"1.0.1","rubygem-net-ssh":"4.1.0","rubygem-hocon":"1.2.5","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1","rubygem-locale":"2.1.2","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.0","rubygem-gettext-setup":"0.20","ruby-shadow":"2.3.3","ruby-augeas":"0.5.0","openssl":"1.0.2k","puppet-ca-bundle":"1.0.7","libxml2":"2.9.4","libxslt":"1.1.29","virt-what":"1.14","dmidecode":"2.12","shellpath":"2015-09-18"},"1.10.8":{"puppet":"4.10.8","facter":"3.6.7","hiera":"3.3.2","leatherman":"0.12.2","cpp-hocon":"0.1.4","marionette-collective":"2.10.5","cpp-pcp-client":"1.5.4","pxp-agent":"1.5.5","augeas":"1.4.0","curl":"7.51.0","ruby-2.1.9":"2.1.9","ruby-stomp":"1.3.3","rubygem-deep-merge":"1.0.1","rubygem-net-ssh":"4.1.0","rubygem-hocon":"1.2.5","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1","rubygem-locale":"2.1.2","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.0","rubygem-gettext-setup":"0.20","ruby-shadow":"2.3.3","ruby-augeas":"0.5.0","openssl":"1.0.2k","puppet-ca-bundle":"1.0.7","libxml2":"2.9.4","libxslt":"1.1.29","virt-what":"1.14","dmidecode":"2.12","shellpath":"2015-09-18"},"1.10.9":{"puppet":"4.10.9","facter":"3.6.8","hiera":"3.3.2","leatherman":"0.12.2","cpp-hocon":"0.1.4","marionette-collective":"2.10.6","cpp-pcp-client":"1.5.4","pxp-agent":"1.5.5","augeas":"1.4.0","ruby-2.1.9":"2.1.9","ruby-stomp":"1.3.3","rubygem-deep-merge":"1.0.1","rubygem-net-ssh":"4.1.0","rubygem-hocon":"1.2.5","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1","rubygem-locale":"2.1.2","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.0","rubygem-gettext-setup":"0.20","ruby-augeas":"0.5.0","openssl":"1.0.2k","puppet-ca-bundle":"1.0.8","libxml2":"2.9.4","libxslt":"1.1.29","libedit":"20150325-3.1"},"1.10.10":{"puppet":"4.10.10","facter":"3.6.9","hiera":"3.3.2","leatherman":"0.12.3","cpp-hocon":"0.1.4","marionette-collective":"2.10.6","cpp-pcp-client":"1.5.5","pxp-agent":"1.5.6","augeas":"1.4.0","curl":"7.57.0","ruby-2.1.9":"2.1.9","ruby-stomp":"1.3.3","rubygem-deep-merge":"1.0.1","rubygem-net-ssh":"4.1.0","rubygem-hocon":"1.2.5","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1","rubygem-locale":"2.1.2","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.0","rubygem-gettext-setup":"0.20","ruby-shadow":"2.3.3","ruby-augeas":"0.5.0","openssl":"1.0.2n","puppet-ca-bundle":"1.0.8","libxml2":"2.9.4","libxslt":"1.1.29","virt-what":"1.14","dmidecode":"2.12","shellpath":"2015-09-18","ruby-selinux":"2.0.94"},"1.10.11":{"facter-source":"3.6.9-21-gecf783f","leatherman-source":"0.12.3-3-g784520b","cpp-hocon-source":"0.1.4","puppet-runtime":"201804040","augeas":"1.4.0","curl":"7.59.0","libxml2":"2.9.4","libxslt":"1.1.29","openssl":"1.0.2n","puppet-ca-bundle":"1.0.8","ruby-2.1.9":"2.1.9","ruby-augeas":"0.5.0","ruby-selinux":"2.0.94","ruby-shadow":"2.3.3","ruby-stomp":"1.3.3","rubygem-deep-merge":"1.0.1","rubygem-fast_gettext":"1.1.0","rubygem-gettext":"3.2.2","rubygem-gettext-setup":"0.30","rubygem-hocon":"1.2.5","rubygem-locale":"2.1.2","rubygem-net-ssh":"4.1.0","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1"},"1.10.12":{"facter-source":"3.6.10","leatherman-source":"0.12.4","cpp-hocon-source":"0.1.4","puppet-runtime":"201804040","augeas":"1.4.0","curl":"7.59.0","libxml2":"2.9.4","libxslt":"1.1.29","openssl":"1.0.2n","puppet-ca-bundle":"1.0.8","ruby-2.1.9":"2.1.9","ruby-augeas":"0.5.0","ruby-selinux":"2.0.94","ruby-shadow":"2.3.3","ruby-stomp":"1.3.3","rubygem-deep-merge":"1.0.1","rubygem-fast_gettext":"1.1.0","rubygem-gettext":"3.2.2","rubygem-gettext-setup":"0.30","rubygem-hocon":"1.2.5","rubygem-locale":"2.1.2","rubygem-net-ssh":"4.1.0","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1"},"1.10.13":{"facter-source":"3.6.10","leatherman-source":"0.12.4","cpp-hocon-source":"0.1.4","puppet-runtime":"201806040","augeas":"1.4.0","curl":"7.59.0","libxml2":"2.9.4","libxslt":"1.1.29","openssl":"1.0.2n","puppet-ca-bundle":"1.0.8","ruby-2.1.9":"2.1.9","ruby-augeas":"0.5.0","ruby-selinux":"2.0.94","ruby-shadow":"2.3.3","ruby-stomp":"1.3.3","rubygem-deep-merge":"1.0.1","rubygem-fast_gettext":"1.1.0","rubygem-gettext":"3.2.2","rubygem-gettext-setup":"0.30","rubygem-hocon":"1.2.5","rubygem-locale":"2.1.2","rubygem-net-ssh":"4.1.0","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1"},"1.10.14":{"facter-source":"3.6.10","leatherman-source":"0.12.4","cpp-hocon-source":"0.1.4","puppet-runtime":"201806040","augeas":"1.4.0","curl":"7.59.0","libxml2":"2.9.4","libxslt":"1.1.29","openssl":"1.0.2n","puppet-ca-bundle":"1.0.8","ruby-2.1.9":"2.1.9","ruby-augeas":"0.5.0","ruby-selinux":"2.0.94","ruby-shadow":"2.3.3","ruby-stomp":"1.3.3","rubygem-deep-merge":"1.0.1","rubygem-fast_gettext":"1.1.0","rubygem-gettext":"3.2.2","rubygem-gettext-setup":"0.30","rubygem-hocon":"1.2.5","rubygem-locale":"2.1.2","rubygem-net-ssh":"4.1.0","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1"},"1.10.15":{"puppet":"4.10.13","facter":"3.6.11","hiera":"3.3.4","leatherman":"0.12.4","cpp-hocon":"0.1.4","marionette-collective":"2.10.6","cpp-pcp-client":"1.5.8","pxp-agent":"1.5.8","puppet-runtime":"201812140","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","augeas":"1.4.0","curl":"7.62.0","libxml2":"2.9.4","libxslt":"1.1.29","openssl-1.0.2":"1.0.2n","puppet-ca-bundle":"1.0.8","ruby-2.1.9":"2.1.9","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","ruby-stomp":"1.3.3","rubygem-deep-merge":"1.0.1","rubygem-fast_gettext":"1.1.0","rubygem-gettext":"3.2.2","rubygem-gettext-setup":"0.30","rubygem-hocon":"1.2.5","rubygem-locale":"2.1.2","rubygem-net-ssh":"4.1.0","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1"},"5.1.0":{"puppet":"5.1.0","facter":"3.8.0","hiera":"3.4.0","leatherman":"1.0.0","cpp-hocon":"0.1.5","marionette-collective":"2.11.2","cpp-pcp-client":"1.5.3","pxp-agent":"1.6.1","augeas":"1.8.0","curl":"7.51.0","ruby-2.4.1":"2.4.1","ruby-stomp":"1.3.3","rubygem-deep-merge":"1.0.1","rubygem-net-ssh":"4.1.0","rubygem-hocon":"1.2.5","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1","rubygem-locale":"2.1.2","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.0","rubygem-gettext-setup":"0.24","ruby-shadow":"2.3.3","ruby-augeas":"0.5.0","openssl":"1.0.2k","puppet-ca-bundle":"1.0.7","libxml2":"2.9.4","libxslt":"1.1.29","virt-what":"1.14","dmidecode":"2.12","shellpath":"2015-09-18","ruby-selinux":"2.0.94"},"5.2.0":{"puppet":"5.2.0","facter":"3.9.0","hiera":"3.4.1","leatherman":"1.2.1","cpp-hocon":"0.1.5","marionette-collective":"2.11.2","cpp-pcp-client":"1.5.4","pxp-agent":"1.7.0","libwhereami":"0.1.1","augeas":"1.8.1","curl":"7.55.1","ruby-2.4.1":"2.4.1","ruby-stomp":"1.3.3","rubygem-deep-merge":"1.0.1","rubygem-net-ssh":"4.1.0","rubygem-hocon":"1.2.5","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1","rubygem-locale":"2.1.2","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.0","rubygem-gettext-setup":"0.28","ruby-shadow":"2.3.3","ruby-augeas":"0.5.0","openssl":"1.0.2k","puppet-ca-bundle":"1.0.7","libxml2":"2.9.4","libxslt":"1.1.29","virt-what":"1.14","dmidecode":"2.12","shellpath":"2015-09-18"},"5.3.0":{"puppet":"5.3.0","facter":"3.9.1","hiera":"3.4.2","leatherman":"1.2.1","cpp-hocon":"0.1.5","marionette-collective":"2.11.3","cpp-pcp-client":"1.5.4","pxp-agent":"1.8.0","libwhereami":"0.1.2","augeas":"1.8.1","curl":"7.55.1","ruby-2.4.1":"2.4.1","ruby-stomp":"1.3.3","rubygem-deep-merge":"1.0.1","rubygem-net-ssh":"4.1.0","rubygem-hocon":"1.2.5","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1","rubygem-locale":"2.1.2","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.0","rubygem-gettext-setup":"0.28","ruby-shadow":"2.3.3","ruby-augeas":"0.5.0","openssl":"1.0.2k","puppet-ca-bundle":"1.0.8","libxml2":"2.9.4","libxslt":"1.1.29","virt-what":"1.14","dmidecode":"2.12","shellpath":"2015-09-18"},"5.3.1":{"puppet":"5.3.1","facter":"3.9.2","hiera":"3.4.2","leatherman":"1.2.1","cpp-hocon":"0.1.5","marionette-collective":"2.11.3","cpp-pcp-client":"1.5.4","pxp-agent":"1.8.0","libwhereami":"0.1.2","augeas":"1.8.1","curl":"7.55.1","ruby-2.4.1":"2.4.1","ruby-stomp":"1.3.3","rubygem-deep-merge":"1.0.1","rubygem-net-ssh":"4.1.0","rubygem-hocon":"1.2.5","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1","rubygem-locale":"2.1.2","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.0","rubygem-gettext-setup":"0.28","ruby-shadow":"2.3.3","ruby-augeas":"0.5.0","openssl":"1.0.2k","puppet-ca-bundle":"1.0.8","libxml2":"2.9.4","libxslt":"1.1.29","virt-what":"1.14","dmidecode":"2.12","shellpath":"2015-09-18"},"5.3.2":{"puppet":"5.3.2","facter":"3.9.2","hiera":"3.4.2","leatherman":"1.2.1","cpp-hocon":"0.1.5","marionette-collective":"2.11.3","cpp-pcp-client":"1.5.4","pxp-agent":"1.8.0","libwhereami":"0.1.2","augeas":"1.8.1","curl":"7.55.1","ruby-2.4.1":"2.4.1","ruby-stomp":"1.3.3","rubygem-deep-merge":"1.0.1","rubygem-net-ssh":"4.1.0","rubygem-hocon":"1.2.5","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1","rubygem-locale":"2.1.2","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.0","rubygem-gettext-setup":"0.28","ruby-shadow":"2.3.3","ruby-augeas":"0.5.0","openssl":"1.0.2k","puppet-ca-bundle":"1.0.8","libxml2":"2.9.4","libxslt":"1.1.29","virt-what":"1.14","dmidecode":"2.12","shellpath":"2015-09-18"},"5.3.3":{"puppet":"5.3.3","facter":"3.9.3","hiera":"3.4.2","leatherman":"1.2.1","cpp-hocon":"0.1.5","marionette-collective":"2.11.4","cpp-pcp-client":"1.5.4","pxp-agent":"1.8.0","libwhereami":"0.1.2","augeas":"1.8.1","curl":"7.56.1","ruby-2.4.2":"2.4.2","ruby-stomp":"1.4.4","rubygem-deep-merge":"1.0.1","rubygem-net-ssh":"4.1.0","rubygem-hocon":"1.2.5","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1","rubygem-locale":"2.1.2","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.0","rubygem-gettext-setup":"0.28","ruby-shadow":"2.3.3","ruby-augeas":"0.5.0","openssl":"1.0.2k","puppet-ca-bundle":"1.0.8","libxml2":"2.9.4","libxslt":"1.1.29","virt-what":"1.14","dmidecode":"2.12","shellpath":"2015-09-18","ruby-selinux":"2.0.94"},"5.3.4":{"puppet":"5.3.4","facter":"3.9.4","hiera":"3.4.2","leatherman":"1.2.2","cpp-hocon":"0.1.5","marionette-collective":"2.11.4","cpp-pcp-client":"1.5.5","pxp-agent":"1.8.1","libwhereami":"0.1.3","augeas":"1.8.1","curl":"7.57.0","ruby-2.4.3":"2.4.3","ruby-stomp":"1.4.4","rubygem-deep-merge":"1.0.1","rubygem-net-ssh":"4.1.0","rubygem-hocon":"1.2.5","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1","rubygem-locale":"2.1.2","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.2","rubygem-gettext-setup":"0.28","ruby-shadow":"2.3.3","ruby-augeas":"0.5.0","openssl":"1.0.2n","puppet-ca-bundle":"1.0.8","libxml2":"2.9.4","libxslt":"1.1.29","virt-what":"1.14","dmidecode":"2.12","shellpath":"2015-09-18","ruby-selinux":"1.33.4"},"5.3.5":{"puppet":"5.3.5","facter":"3.9.5","hiera":"3.4.2","leatherman":"1.2.2","cpp-hocon":"0.1.5","marionette-collective":"2.11.4","cpp-pcp-client":"1.5.5","pxp-agent":"1.8.2","libwhereami":"0.1.3","augeas":"1.8.1","curl":"7.58.0","ruby-2.4.3":"2.4.3","ruby-stomp":"1.4.4","rubygem-deep-merge":"1.0.1","rubygem-net-ssh":"4.1.0","rubygem-hocon":"1.2.5","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1","rubygem-locale":"2.1.2","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.2","rubygem-gettext-setup":"0.28","ruby-shadow":"2.3.3","ruby-augeas":"0.5.0","openssl":"1.0.2n","puppet-ca-bundle":"1.0.8","libxml2":"2.9.4","libxslt":"1.1.29","virt-what":"1.14","dmidecode":"2.12","shellpath":"2015-09-18","ruby-selinux":"2.0.94"},"5.3.6":{"facter-source":"3.9.6","leatherman-source":"1.2.3","cpp-hocon-source":"0.1.5","puppet-runtime":"201804093"},"5.3.7":{"facter-source":"3.9.6","leatherman-source":"1.2.3","cpp-hocon-source":"0.1.5","puppet-runtime":"201806040","augeas":"1.8.1","curl":"7.59.0","libxml2":"2.9.4","libxslt":"1.1.29","openssl":"1.0.2n","puppet-ca-bundle":"1.0.8","ruby-2.4.4":"2.4.4","ruby-augeas":"0.5.0","ruby-selinux":"2.0.94","ruby-shadow":"2.3.3","ruby-stomp":"1.4.4","rubygem-deep-merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-gettext-setup":"0.30","rubygem-hocon":"1.2.5","rubygem-locale":"2.1.2","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1"},"5.3.8":{"facter-source":"3.9.6","leatherman-source":"1.2.3","cpp-hocon-source":"0.1.5","puppet-runtime":"201806040","augeas":"1.8.1","curl":"7.59.0","libxml2":"2.9.4","libxslt":"1.1.29","openssl":"1.0.2n","puppet-ca-bundle":"1.0.8","ruby-2.4.4":"2.4.4","ruby-augeas":"0.5.0","ruby-selinux":"2.0.94","ruby-shadow":"2.3.3","ruby-stomp":"1.4.4","rubygem-deep-merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-gettext-setup":"0.30","rubygem-hocon":"1.2.5","rubygem-locale":"2.1.2","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1"},"5.4.0":{"puppet":"5.4.0","facter":"3.10.0","hiera":"3.4.2","leatherman":"1.4.0","cpp-hocon":"0.1.5","marionette-collective":"2.11.4","cpp-pcp-client":"1.5.5","pxp-agent":"1.8.2","libwhereami":"0.2.0","augeas":"1.10.1","curl":"7.58.0","ruby-2.4.3":"2.4.3","ruby-stomp":"1.4.4","rubygem-deep-merge":"1.0.1","rubygem-net-ssh":"4.1.0","rubygem-hocon":"1.2.5","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1","rubygem-locale":"2.1.2","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.2","rubygem-gettext-setup":"0.28","ruby-shadow":"2.3.3","ruby-augeas":"0.5.0","openssl":"1.0.2n","puppet-ca-bundle":"1.0.8","libxml2":"2.9.4","libxslt":"1.1.29","virt-what":"1.14","dmidecode":"2.12","shellpath":"2015-09-18","ruby-selinux":"2.0.94"},"5.5.0":{"facter-source":"3.11.0","leatherman-source":"1.4.0","cpp-hocon-source":"0.1.5","puppet-runtime":"201803070","augeas":"1.4.0","curl":"7.58.0","libxml2":"2.9.4","libxslt":"1.1.29","openssl":"1.0.2n","puppet-ca-bundle":"1.0.8","ruby-2.1.9":"2.1.9","ruby-augeas":"0.5.0","ruby-selinux":"2.0.94","ruby-shadow":"2.3.3","ruby-stomp-1.3.3":"1.3.3","rubygem-deep-merge":"1.0.1","rubygem-fast_gettext":"1.1.0","rubygem-gettext":"3.2.2","rubygem-gettext-setup":"0.30","rubygem-hocon":"1.2.5","rubygem-locale":"2.1.2","rubygem-net-ssh":"4.1.0","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1"},"5.5.1":{"facter-source":"3.11.1","leatherman-source":"1.4.1","cpp-hocon-source":"0.1.5","puppet-runtime":"201804100","augeas":"1.10.1","curl":"7.59.0","libxml2":"2.9.4","libxslt":"1.1.29","openssl":"1.0.2n","puppet-ca-bundle":"1.0.8","ruby-2.4.4":"2.4.4","ruby-augeas":"0.5.0","ruby-selinux":"2.0.94","ruby-shadow":"2.3.3","ruby-stomp":"1.4.4","rubygem-deep-merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-gettext-setup":"0.30","rubygem-hiera-eyaml":"2.1.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1","rubygem-trollop":"2.1.2"},"5.5.2":{"facter-source":"3.11.2","leatherman-source":"1.4.1","cpp-hocon-source":"0.1.5","puppet-runtime":"201806040","augeas":"1.10.1","curl":"7.59.0","libxml2":"2.9.4","libxslt":"1.1.29","openssl":"1.0.2n","puppet-ca-bundle":"1.0.8","ruby-2.4.4":"2.4.4","ruby-augeas":"0.5.0","ruby-selinux":"2.0.94","ruby-shadow":"2.3.3","ruby-stomp":"1.4.4","rubygem-deep-merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-gettext-setup":"0.30","rubygem-hiera-eyaml":"2.1.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1","rubygem-trollop":"2.1.2"},"5.5.3":{"facter-source":"3.11.2","leatherman-source":"1.4.1","cpp-hocon-source":"0.1.5","puppet-runtime":"201806040","augeas":"1.10.1","curl":"7.59.0","libxml2":"2.9.4","libxslt":"1.1.29","openssl":"1.0.2n","puppet-ca-bundle":"1.0.8","ruby-2.4.4":"2.4.4","ruby-augeas":"0.5.0","ruby-selinux":"2.0.94","ruby-shadow":"2.3.3","ruby-stomp":"1.4.4","rubygem-deep-merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-gettext-setup":"0.30","rubygem-hiera-eyaml":"2.1.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1","rubygem-trollop":"2.1.2"},"5.5.4":{"facter-source":"3.11.3","leatherman-source":"1.4.2","cpp-hocon-source":"0.1.7","puppet-runtime":"201806220","augeas":"1.10.1","curl":"7.59.0","libxml2":"2.9.4","libxslt":"1.1.29","openssl":"1.0.2n","puppet-ca-bundle":"1.0.8","ruby-2.4.4":"2.4.4","ruby-augeas":"0.5.0","ruby-selinux":"2.0.94","ruby-shadow":"2.3.3","ruby-stomp":"1.4.4","rubygem-deep-merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-gettext-setup":"0.30","rubygem-hiera-eyaml":"2.1.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1","rubygem-trollop":"2.1.2"},"5.5.6":{"facter-source":"3.11.4","leatherman-source":"1.4.2","cpp-hocon-source":"0.1.7","puppet-runtime":"201808140","augeas":"1.10.1","curl":"7.59.0","libxml2":"2.9.4","libxslt":"1.1.29","openssl-1.0.2":"1.0.2n","puppet-ca-bundle":"1.0.8","ruby-2.4.4":"2.4.4","ruby-augeas":"0.5.0","ruby-selinux":"2.0.94","ruby-shadow":"2.3.3","ruby-stomp":"1.4.4","rubygem-deep-merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-gettext-setup":"0.30","rubygem-hiera-eyaml":"2.1.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1","rubygem-trollop":"2.1.2"},"5.5.7":{"facter-source":"3.11.5","leatherman-source":"1.4.4","cpp-hocon-source":"0.1.7","puppet-runtime":"201810110","augeas":"1.10.1","curl":"7.61.1","libxml2":"2.9.4","libxslt":"1.1.29","openssl-1.0.2":"1.0.2n","puppet-ca-bundle":"1.0.8","ruby-2.4.4":"2.4.4","ruby-augeas":"0.5.0","ruby-selinux":"2.0.94","ruby-shadow":"2.5.0","ruby-stomp":"1.4.4","rubygem-deep-merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-gettext-setup":"0.30","rubygem-hiera-eyaml":"2.1.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1","rubygem-trollop":"2.1.2"},"5.5.8":{"facter-source":"3.11.6","leatherman-source":"1.4.4","cpp-hocon-source":"0.1.7","puppet-runtime":"201810110","augeas":"1.10.1","curl":"7.61.1","libxml2":"2.9.4","libxslt":"1.1.29","openssl-1.0.2":"1.0.2n","puppet-ca-bundle":"1.0.8","ruby-2.4.4":"2.4.4","ruby-augeas":"0.5.0","ruby-selinux":"2.0.94","ruby-shadow":"2.5.0","ruby-stomp":"1.4.4","rubygem-deep-merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-gettext-setup":"0.30","rubygem-hiera-eyaml":"2.1.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1","rubygem-trollop":"2.1.2"},"5.5.9":{"puppet":"5.5.9","facter":"3.11.7","hiera":"3.4.6","leatherman":"1.4.4","cpp-hocon":"0.1.7","marionette-collective":"2.12.4","cpp-pcp-client":"1.5.8","pxp-agent":"1.9.6","libwhereami":"0.2.2","puppet-runtime":"201812201","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18"},"5.5.10":{"puppet":"5.5.10","facter":"3.11.7","hiera":"3.4.6","leatherman":"1.4.4","cpp-hocon":"0.1.7","marionette-collective":"2.12.4","cpp-pcp-client":"1.5.8","pxp-agent":"1.9.6","libwhereami":"0.2.2","puppet-runtime":"201812201","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18"},"5.5.11":{"puppet":"5.5.11","facter":"3.11.8","hiera":"3.4.6","leatherman":"1.4.4","cpp-hocon":"0.1.7","marionette-collective":"2.12.4","cpp-pcp-client":"1.5.8","pxp-agent":"1.9.7","libwhereami":"0.2.2","puppet-runtime":"201903080","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","augeas":"1.11.0","curl":"7.64.0","libxml2":"2.9.8","libxslt":"1.1.29","openssl-1.0.2":"1.0.2n","puppet-ca-bundle":"1.0.8","ruby-2.4.5":"2.4.5","ruby-augeas":"0.5.0","ruby-selinux":"1.33.4","ruby-shadow":"2.5.0","ruby-stomp":"1.4.4","rubygem-deep-merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-gettext-setup":"0.30","rubygem-hiera-eyaml":"3.0.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-optimist":"3.0.0","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1","rubygem-trollop":"2.1.2"},"5.5.12":{"puppet":"5.5.12","facter":"3.11.8","hiera":"3.4.6","leatherman":"1.4.6","cpp-hocon":"0.1.7","marionette-collective":"2.12.4","cpp-pcp-client":"1.5.8","pxp-agent":"1.9.7","libwhereami":"0.2.2","puppet-runtime":"201903080","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","augeas":"1.11.0","curl":"7.64.0","libxml2":"2.9.8","libxslt":"1.1.29","openssl-1.0.2":"1.0.2n","puppet-ca-bundle":"1.0.8","ruby-2.4.5":"2.4.5","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","ruby-stomp":"1.4.4","rubygem-deep-merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-gettext-setup":"0.30","rubygem-hiera-eyaml":"3.0.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-optimist":"3.0.0","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1","rubygem-trollop":"2.1.2"},"5.5.13":{"puppet":"5.5.13","facter":"3.11.8","hiera":"3.4.6","leatherman":"1.4.6","cpp-hocon":"0.1.7","marionette-collective":"2.12.4","cpp-pcp-client":"1.5.8","pxp-agent":"1.9.7","libwhereami":"0.2.2","puppet-runtime":"201904021","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","augeas":"1.11.0","curl":"7.64.0","libxml2":"2.9.8","libxslt":"1.1.29","openssl-1.0.2":"1.0.2n","puppet-ca-bundle":"1.0.8","ruby-2.4.5":"2.4.5","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","ruby-stomp":"1.4.4","rubygem-deep-merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-gettext-setup":"0.30","rubygem-hiera-eyaml":"3.0.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-optimist":"3.0.0","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1","rubygem-trollop":"2.1.2"},"5.5.14":{"puppet":"5.5.14","facter":"3.11.8","hiera":"3.4.6","leatherman":"1.4.6","cpp-hocon":"0.1.7","marionette-collective":"2.12.4","cpp-pcp-client":"1.5.8","pxp-agent":"1.9.7-3-g2b5d5d1","libwhereami":"0.2.2","puppet-runtime":"201904250","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","augeas":"1.11.0","curl":"7.64.0","libxml2":"2.9.8","libxslt":"1.1.33","openssl-1.0.2":"1.0.2r","puppet-ca-bundle":"1.0.8","ruby-2.4.5":"2.4.5","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","ruby-stomp":"1.4.4","rubygem-deep-merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-gettext-setup":"0.30","rubygem-hiera-eyaml":"3.0.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-optimist":"3.0.0","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1"},"5.5.15":{"puppet":"5.5.15","facter":"3.11.9","hiera":"3.4.6","leatherman":"1.4.7","cpp-hocon":"0.1.7","marionette-collective":"2.12.4","cpp-pcp-client":"1.5.8","pxp-agent":"1.9.9","libwhereami":"0.2.2","puppet-runtime":"201906190","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","augeas":"1.12.0","curl":"7.65.1","libxml2":"2.9.8","libxslt":"1.1.33","openssl-1.0.2":"1.0.2r","puppet-ca-bundle":"1.0.8","ruby-2.4.5":"2.4.5","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","ruby-stomp":"1.4.4","rubygem-deep_merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-gettext-setup":"0.30","rubygem-hiera-eyaml":"3.0.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-optimist":"3.0.0","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1"},"5.5.16":{"puppet":"5.5.16","facter":"3.11.9","hiera":"3.4.6","leatherman":"1.4.7","cpp-hocon":"0.1.7","marionette-collective":"2.12.4","cpp-pcp-client":"1.5.8","pxp-agent":"1.9.10","libwhereami":"0.2.2","puppet-runtime":"201907080","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","augeas":"1.12.0","curl":"7.65.1","libxml2":"2.9.8","libxslt":"1.1.33","openssl-1.0.2":"1.0.2r","puppet-ca-bundle":"1.0.8","ruby-2.4.5":"2.4.5","ruby-augeas":"0.5.0","ruby-selinux":"1.33.4","ruby-shadow":"2.5.0","ruby-stomp":"1.4.4","rubygem-deep_merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-gettext-setup":"0.30","rubygem-hiera-eyaml":"3.0.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-optimist":"3.0.0","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1"},"5.5.17":{"puppet":"5.5.17","facter":"3.11.10","hiera":"3.4.6","leatherman":"1.4.8","cpp-hocon":"0.1.7","marionette-collective":"2.12.5","cpp-pcp-client":"1.5.9","pxp-agent":"1.9.11","libwhereami":"0.2.3","puppet-runtime":"201910020","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","augeas":"1.12.0","curl":"7.66.0","libxml2":"2.9.8","libxslt":"1.1.33","openssl-1.0.2":"1.0.2t","puppet-ca-bundle":"1.0.8","ruby-2.4.9":"2.4.9","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","ruby-stomp":"1.4.4","rubygem-deep_merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-gettext-setup":"0.31","rubygem-hiera-eyaml":"3.0.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-optimist":"3.0.0","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1"},"5.5.18":{"puppet":"5.5.18","facter":"3.11.11","hiera":"3.4.6","leatherman":"1.4.10","cpp-hocon":"0.2.0","marionette-collective":"2.12.5","cpp-pcp-client":"1.6.1","pxp-agent":"1.9.12","libwhereami":"0.2.3","puppet-runtime":"202001090","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","augeas":"1.12.0","boost":"1.67.0","curl":"7.66.0","libxml2":"2.9.8","libxslt":"1.1.33","openssl-1.1.1":"1.1.1d","openssl-lib":"1.0.2t","puppet-ca-bundle":"1.0.8","ruby-2.4.9":"2.4.9","ruby-augeas":"0.5.0","ruby-selinux":"2.9","ruby-shadow":"2.5.0","ruby-stomp":"1.4.4","rubygem-deep_merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-gettext-setup":"0.31","rubygem-hiera-eyaml":"3.1.1","rubygem-highline":"1.6.21","rubygem-hocon":"1.3.0","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-optimist":"3.0.0","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1","yaml-cpp":"yaml-cpp-0.6.2"},"5.5.19":{"puppet":"5.5.19","facter":"3.11.12","hiera":"3.4.6","leatherman":"1.4.10","cpp-hocon":"0.2.0","marionette-collective":"2.12.5","cpp-pcp-client":"1.6.1","pxp-agent":"1.9.12","libwhereami":"0.2.3","puppet-runtime":"202003021","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","augeas":"1.12.0","boost":"1.69.0","curl":"7.68.0","libxml2":"2.9.8","libxslt":"1.1.33","openssl-1.1.1":"1.1.1d","openssl-lib":"1.0.2u","puppet-ca-bundle":"1.0.8","ruby-2.4.9":"2.4.9","ruby-augeas":"0.5.0","ruby-selinux":"2.9","ruby-shadow":"2.5.0","ruby-stomp":"1.4.4","rubygem-deep_merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-gettext-setup":"0.31","rubygem-hiera-eyaml":"3.2.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.3.0","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-optimist":"3.0.0","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1","yaml-cpp":"yaml-cpp-0.6.2"},"5.5.20":{"puppet":"5.5.20","facter":"3.11.13","hiera":"3.4.6","leatherman":"1.4.12","cpp-hocon":"0.2.0","marionette-collective":"2.12.5","cpp-pcp-client":"1.6.4","pxp-agent":"1.9.12","libwhereami":"0.2.3","puppet-runtime":"202004210","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","augeas":"1.12.0","boost":"1.69.0","curl":"7.68.0","libxml2":"2.9.8","libxslt":"1.1.33","openssl-1.1.1":"1.1.1g","openssl-lib":"1.0.2u","puppet-ca-bundle":"1.0.8","ruby-2.4.10":"2.4.10","ruby-augeas":"0.5.0","ruby-selinux":"2.9","ruby-shadow":"2.5.0","ruby-stomp":"1.4.4","rubygem-deep_merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-gettext-setup":"0.34","rubygem-hiera-eyaml":"3.2.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.3.0","rubygem-locale":"2.1.3","rubygem-multi_json":"1.14.1","rubygem-net-ssh":"4.2.0","rubygem-optimist":"3.0.0","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1","yaml-cpp":"yaml-cpp-0.6.2"},"5.5.21":{"openssl-1.1.1":"1.1.1g","curl":"7.71.0","puppet-ca-bundle":"1.0.9","ruby-2.4.10":"2.4.10","augeas":"1.12.0","libxml2":"2.9.8","libxslt":"1.1.33","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","ruby-selinux":"2.9","rubygem-hocon":"1.3.1","rubygem-deep_merge":"1.0.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1","rubygem-locale":"2.1.3","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.2","rubygem-gettext-setup":"0.34","rubygem-multi_json":"1.14.1","rubygem-optimist":"3.0.0","rubygem-highline":"1.6.21","rubygem-hiera-eyaml":"3.2.0","ruby-stomp":"1.4.4","boost":"1.73.0","yaml-cpp":"yaml-cpp-0.6.2","openssl-lib":"1.0.2u","puppet":"5.5.21","facter":"3.11.14","hiera":"3.4.6","leatherman":"1.4.13","cpp-hocon":"0.3.0","marionette-collective":"2.12.5","cpp-pcp-client":"1.6.5","pxp-agent":"1.9.13","libwhereami":"0.2.4","puppet-runtime":"202006300","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18"},"5.5.22":{"openssl-1.1.1":"1.1.1g","curl":"7.72.0","puppet-ca-bundle":"1.0.9","ruby-2.4.10":"2.4.10","augeas":"1.12.0","libxml2":"2.9.8","libxslt":"1.1.33","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","ruby-selinux":"2.9","rubygem-hocon":"1.3.1","rubygem-deep_merge":"1.0.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"0.1.2","rubygem-text":"1.3.1","rubygem-locale":"2.1.3","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.2","rubygem-gettext-setup":"0.34","rubygem-multi_json":"1.14.1","rubygem-optimist":"3.0.1","rubygem-highline":"1.6.21","rubygem-hiera-eyaml":"3.2.0","ruby-stomp":"1.4.4","boost":"1.73.0","yaml-cpp":"yaml-cpp-0.6.2","openssl-lib":"1.0.2u","puppet":"5.5.22","facter":"3.11.14","hiera":"3.4.6","leatherman":"1.4.13","cpp-hocon":"0.3.0","marionette-collective":"2.12.5","cpp-pcp-client":"1.6.5","pxp-agent":"1.9.14","libwhereami":"0.2.4","puppet-runtime":"202010060","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18"},"6.0.0":{"facter-source":"3.12.0","leatherman-source":"1.5.0","cpp-hocon-source":"0.2.0","puppet-runtime":"201809130","augeas":"1.10.1","boost":"1.67.0","curl":"7.59.0","libxml2":"2.9.4","libxslt":"1.1.29","openssl-1.1.0":"1.1.0h","puppet-ca-bundle":"1.0.8","ruby-2.5.1":"2.5.1","ruby-augeas":"0.5.0","ruby-selinux":"2.0.94","ruby-shadow":"2.5.0","rubygem-deep-merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-hiera-eyaml":"2.1.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-httpclient":"2.8.3","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"1.0.2","rubygem-text":"1.3.1","rubygem-trollop":"2.1.2","yaml-cpp":"yaml-cpp-0.6.2"},"6.0.1":{"facter-source":"3.12.0","leatherman-source":"1.5.0","cpp-hocon-source":"0.2.0","puppet-runtime":"201809260","augeas":"1.10.1","boost":"1.67.0","curl":"7.59.0","libxml2":"2.9.4","libxslt":"1.1.29","openssl-1.1.0":"1.1.0h","puppet-ca-bundle":"1.0.8","ruby-2.5.1":"2.5.1","ruby-augeas":"0.5.0","ruby-selinux":"2.0.94","ruby-shadow":"2.5.0","rubygem-deep-merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-hiera-eyaml":"2.1.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-httpclient":"2.8.3","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"1.0.2","rubygem-text":"1.3.1","rubygem-trollop":"2.1.2","yaml-cpp":"yaml-cpp-0.6.2"},"6.0.2":{"facter-source":"3.12.0","leatherman-source":"1.5.1","cpp-hocon-source":"0.2.0","puppet-runtime":"201810011","augeas":"1.10.1","boost":"1.67.0","curl":"7.59.0","libxml2":"2.9.4","libxslt":"1.1.29","openssl-1.1.0":"1.1.0h","puppet-ca-bundle":"1.0.8","ruby-2.5.1":"2.5.1","ruby-augeas":"0.5.0","ruby-selinux":"2.0.94","ruby-shadow":"2.5.0","rubygem-deep-merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-hiera-eyaml":"2.1.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-httpclient":"2.8.3","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"1.0.2","rubygem-text":"1.3.1","rubygem-trollop":"2.1.2","yaml-cpp":"yaml-cpp-0.6.2"},"6.0.3":{"facter-source":"3.12.1","leatherman-source":"1.5.2","cpp-hocon-source":"0.2.0","puppet-runtime":"201810110","augeas":"1.10.1","boost":"1.67.0","curl":"7.61.1","libxml2":"2.9.4","libxslt":"1.1.29","openssl-1.1.0":"1.1.0h","puppet-ca-bundle":"1.0.8","ruby-2.5.1":"2.5.1","ruby-augeas":"0.5.0","ruby-selinux":"2.0.94","ruby-shadow":"2.5.0","rubygem-deep-merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-hiera-eyaml":"2.1.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-httpclient":"2.8.3","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"1.0.2","rubygem-text":"1.3.1","rubygem-trollop":"2.1.2","yaml-cpp":"yaml-cpp-0.6.2"},"6.0.4":{"facter-source":"3.12.1","leatherman-source":"1.5.3","cpp-hocon-source":"0.2.0","puppet-runtime":"201810110","augeas":"1.10.1","boost":"1.67.0","curl":"7.61.1","libxml2":"2.9.4","libxslt":"1.1.29","openssl-1.1.0":"1.1.0h","puppet-ca-bundle":"1.0.8","ruby-2.5.1":"2.5.1","ruby-augeas":"0.5.0","ruby-selinux":"2.0.94","ruby-shadow":"2.5.0","rubygem-deep-merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-hiera-eyaml":"2.1.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-httpclient":"2.8.3","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"1.0.2","rubygem-text":"1.3.1","rubygem-trollop":"2.1.2","yaml-cpp":"yaml-cpp-0.6.2"},"6.0.5":{"puppet":"6.0.5","facter":"3.12.3","hiera":"3.4.6","leatherman":"1.5.4","cpp-hocon":"0.2.0","cpp-pcp-client":"1.6.0","pxp-agent":"1.10.4","libwhereami":"0.2.2","puppet-runtime":"201812201","puppet-resource_api":"v1.6.3","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.0.3","module-puppetlabs-cron_core":"1.0.0","module-puppetlabs-host_core":"1.0.1","module-puppetlabs-mount_core":"1.0.2","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.1","module-puppetlabs-sshkeys_core":"1.0.1","module-puppetlabs-yumrepo_core":"1.0.1","module-puppetlabs-zfs_core":"1.0.1","module-puppetlabs-zone_core":"1.0.1"},"6.0.7":{"puppet":"6.0.7","facter":"3.12.4","hiera":"3.4.6","leatherman":"1.5.4","cpp-hocon":"0.2.0","cpp-pcp-client":"1.6.0","pxp-agent":"1.10.5","libwhereami":"0.2.2","puppet-runtime":"201903080","puppet-resource_api":"v1.6.4","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.0.4","module-puppetlabs-cron_core":"1.0.0","module-puppetlabs-host_core":"1.0.2","module-puppetlabs-mount_core":"1.0.2","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.1","module-puppetlabs-sshkeys_core":"1.0.2","module-puppetlabs-yumrepo_core":"1.0.3","module-puppetlabs-zfs_core":"1.0.1","module-puppetlabs-zone_core":"1.0.1","augeas":"1.11.0","boost":"1.67.0","curl":"7.64.0","libxml2":"2.9.8","libxslt":"1.1.29","puppet-ca-bundle":"1.0.8","ruby-2.5.3":"2.5.3","ruby-augeas":"0.5.0","ruby-selinux":"2.0.94","ruby-shadow":"2.5.0","rubygem-deep-merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-hiera-eyaml":"3.0.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-httpclient":"2.8.3","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-optimist":"3.0.0","rubygem-semantic_puppet":"1.0.2","rubygem-text":"1.3.1","rubygem-trollop":"2.1.2","yaml-cpp":"yaml-cpp-0.6.2"},"6.0.8":{"puppet":"6.0.8","facter":"3.12.4","hiera":"3.4.6","leatherman":"1.5.4","cpp-hocon":"0.2.0","cpp-pcp-client":"1.6.0","pxp-agent":"1.10.5","libwhereami":"0.2.2","puppet-runtime":"201904021","puppet-resource_api":"v1.6.4","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.0.4","module-puppetlabs-cron_core":"1.0.0","module-puppetlabs-host_core":"1.0.2","module-puppetlabs-mount_core":"1.0.2","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.1","module-puppetlabs-sshkeys_core":"1.0.2","module-puppetlabs-yumrepo_core":"1.0.3","module-puppetlabs-zfs_core":"1.0.1","module-puppetlabs-zone_core":"1.0.1","augeas":"1.11.0","boost":"1.67.0","curl":"7.64.0","libxml2":"2.9.8","libxslt":"1.1.29","openssl-1.1.1":"1.1.1a","puppet-ca-bundle":"1.0.8","ruby-2.5.3":"2.5.3","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","rubygem-deep-merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-hiera-eyaml":"3.0.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-httpclient":"2.8.3","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-optimist":"3.0.0","rubygem-semantic_puppet":"1.0.2","rubygem-text":"1.3.1","rubygem-trollop":"2.1.2","yaml-cpp":"yaml-cpp-0.6.2"},"6.0.9":{"puppet":"6.0.9","facter":"3.12.4","hiera":"3.4.6","leatherman":"1.5.4","cpp-hocon":"0.2.0","cpp-pcp-client":"1.6.0","pxp-agent":"1.10.6","libwhereami":"0.2.2","puppet-runtime":"201904240","puppet-resource_api":"v1.6.4","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.0.4","module-puppetlabs-cron_core":"1.0.0","module-puppetlabs-host_core":"1.0.2","module-puppetlabs-mount_core":"1.0.2","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.1","module-puppetlabs-sshkeys_core":"1.0.2","module-puppetlabs-yumrepo_core":"1.0.3","module-puppetlabs-zfs_core":"1.0.1","module-puppetlabs-zone_core":"1.0.1","augeas":"1.11.0","curl":"7.64.0","libxml2":"2.9.8","libxslt":"1.1.33","openssl-1.1.1":"1.1.1a","puppet-ca-bundle":"1.0.8","ruby-2.5.3":"2.5.3","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","rubygem-deep-merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-hiera-eyaml":"3.0.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-httpclient":"2.8.3","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-optimist":"3.0.0","rubygem-semantic_puppet":"1.0.2","rubygem-text":"1.3.1"},"6.0.10":{"puppet":"6.0.10","facter":"3.12.5","hiera":"3.4.6","leatherman":"1.5.5","cpp-hocon":"0.2.0","cpp-pcp-client":"1.6.0","pxp-agent":"1.10.7","libwhereami":"0.2.2","puppet-runtime":"201907080","puppet-resource_api":"1.6.5","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.0.4","module-puppetlabs-cron_core":"1.0.0","module-puppetlabs-host_core":"1.0.2","module-puppetlabs-mount_core":"1.0.2","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.1","module-puppetlabs-sshkeys_core":"1.0.2","module-puppetlabs-yumrepo_core":"1.0.3","module-puppetlabs-zfs_core":"1.0.1","module-puppetlabs-zone_core":"1.0.1","augeas":"1.12.0","boost":"1.67.0","curl":"7.65.1","libxml2":"2.9.8","libxslt":"1.1.33","openssl-1.1.1":"1.1.1a","puppet-ca-bundle":"1.0.8","ruby-2.5.3":"2.5.3","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","rubygem-deep_merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-hiera-eyaml":"3.0.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-httpclient":"2.8.3","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-optimist":"3.0.0","rubygem-semantic_puppet":"1.0.2","rubygem-text":"1.3.1","yaml-cpp":"yaml-cpp-0.6.2"},"6.1.0":{"facter-source":"3.12.2","leatherman-source":"1.5.4","cpp-hocon-source":"0.2.0","puppet-runtime":"201812140","augeas":"1.10.1","boost":"1.67.0","curl":"7.62.0","libxml2":"2.9.4","libxslt":"1.1.29","openssl-1.1.0":"1.1.0h","puppet-ca-bundle":"1.0.8","ruby-2.5.3":"2.5.3","ruby-augeas":"0.5.0","ruby-selinux":"2.0.94","ruby-shadow":"2.5.0","rubygem-deep-merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-hiera-eyaml":"2.1.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-httpclient":"2.8.3","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"1.0.2","rubygem-text":"1.3.1","rubygem-trollop":"2.1.2","yaml-cpp":"yaml-cpp-0.6.2"},"6.2.0":{"puppet":"6.2.0","facter":"3.12.3","hiera":"3.5.0","leatherman":"1.5.4","cpp-hocon":"0.2.0","cpp-pcp-client":"1.6.0","pxp-agent":"1.10.4","libwhereami":"0.2.2","puppet-runtime":"201901130","puppet-resource_api":"v1.6.3-7-g2419162","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.0.1","module-puppetlabs-cron_core":"1.0.0","module-puppetlabs-host_core":"1.0.2","module-puppetlabs-mount_core":"1.0.2","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.1","module-puppetlabs-sshkeys_core":"1.0.2","module-puppetlabs-yumrepo_core":"1.0.3","module-puppetlabs-zfs_core":"1.0.1","module-puppetlabs-zone_core":"1.0.1","augeas":"1.10.1","boost":"1.67.0","curl":"7.62.0","libxml2":"2.9.8","libxslt":"1.1.29","openssl-1.1.1":"1.1.1a","puppet-ca-bundle":"1.0.8","ruby-2.5.3":"2.5.3","ruby-augeas":"0.5.0","ruby-selinux":"2.0.94","ruby-shadow":"2.5.0","rubygem-deep-merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-hiera-eyaml":"2.1.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-httpclient":"2.8.3","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"1.0.2","rubygem-text":"1.3.1","rubygem-trollop":"2.1.2","yaml-cpp":"yaml-cpp-0.6.2"},"6.3.0":{"puppet":"6.3.0","facter":"3.13.0","hiera":"3.5.0","leatherman":"1.5.4","cpp-hocon":"0.2.0","cpp-pcp-client":"1.6.0","pxp-agent":"1.11.0","libwhereami":"0.2.2","puppet-runtime":"201902070","puppet-resource_api":"v1.7.0","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.0.1","module-puppetlabs-cron_core":"1.0.0","module-puppetlabs-host_core":"1.0.2","module-puppetlabs-mount_core":"1.0.2","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.1","module-puppetlabs-sshkeys_core":"1.0.2","module-puppetlabs-yumrepo_core":"1.0.3","module-puppetlabs-zfs_core":"1.0.1","module-puppetlabs-zone_core":"1.0.1","augeas":"1.11.0","boost":"1.67.0","curl":"7.62.0","libxml2":"2.9.8","libxslt":"1.1.29","openssl-1.1.1":"1.1.1a","puppet-ca-bundle":"1.0.8","ruby-2.5.3":"2.5.3","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","rubygem-deep-merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-hiera-eyaml":"2.1.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-httpclient":"2.8.3","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"1.0.2","rubygem-text":"1.3.1","rubygem-trollop":"2.1.2","yaml-cpp":"yaml-cpp-0.6.2"},"6.4.0":{"puppet":"6.4.0","facter":"3.13.1","hiera":"3.5.0","leatherman":"1.6.0","cpp-hocon":"0.2.0","cpp-pcp-client":"1.6.0","pxp-agent":"1.11.0","libwhereami":"0.2.2","puppet-runtime":"201903192","puppet-resource_api":"v1.8.1","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.0.4","module-puppetlabs-cron_core":"1.0.0","module-puppetlabs-host_core":"1.0.2","module-puppetlabs-mount_core":"1.0.2","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.1","module-puppetlabs-sshkeys_core":"1.0.2","module-puppetlabs-yumrepo_core":"1.0.3","module-puppetlabs-zfs_core":"1.0.1","module-puppetlabs-zone_core":"1.0.1","augeas":"1.11.0","boost":"1.67.0","curl":"7.64.0","libxml2":"2.9.8","libxslt":"1.1.29","openssl-1.1.1":"1.1.1a","puppet-ca-bundle":"1.0.8","ruby-2.5.3":"2.5.3","ruby-augeas":"0.5.0","ruby-selinux":"2.0.94","ruby-shadow":"2.5.0","rubygem-deep-merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-hiera-eyaml":"3.0.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-httpclient":"2.8.3","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-optimist":"3.0.0","rubygem-semantic_puppet":"1.0.2","rubygem-text":"1.3.1","rubygem-trollop":"2.1.2","yaml-cpp":"yaml-cpp-0.6.2"},"6.4.1":{"puppet":"6.4.1","facter":"3.13.2","hiera":"3.5.0","leatherman":"1.6.0","cpp-hocon":"0.2.0","cpp-pcp-client":"1.6.0","pxp-agent":"1.11.0","libwhereami":"0.2.2","puppet-runtime":"201904091","puppet-resource_api":"v1.8.1-9-gd7091b4","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.0.4","module-puppetlabs-cron_core":"1.0.0","module-puppetlabs-host_core":"1.0.2","module-puppetlabs-mount_core":"1.0.2","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.1","module-puppetlabs-sshkeys_core":"1.0.2","module-puppetlabs-yumrepo_core":"1.0.3","module-puppetlabs-zfs_core":"1.0.1","module-puppetlabs-zone_core":"1.0.1","augeas":"1.11.0","curl":"7.64.0","libxml2":"2.9.8","libxslt":"1.1.29","openssl-1.1.1":"1.1.1a","puppet-ca-bundle":"1.0.8","ruby-2.5.3":"2.5.3","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","rubygem-deep-merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-hiera-eyaml":"3.0.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-httpclient":"2.8.3","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-optimist":"3.0.0","rubygem-semantic_puppet":"1.0.2","rubygem-text":"1.3.1"},"6.4.2":{"puppet":"6.4.2","facter":"3.13.2","hiera":"3.5.0","leatherman":"1.6.0","cpp-hocon":"0.2.0","cpp-pcp-client":"1.6.0","pxp-agent":"1.11.1","libwhereami":"0.2.2","puppet-runtime":"201904240","puppet-resource_api":"1.8.2-6-gc8c913b","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.0.4","module-puppetlabs-cron_core":"1.0.0","module-puppetlabs-host_core":"1.0.2","module-puppetlabs-mount_core":"1.0.2","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.1","module-puppetlabs-sshkeys_core":"1.0.2","module-puppetlabs-yumrepo_core":"1.0.3","module-puppetlabs-zfs_core":"1.0.1","module-puppetlabs-zone_core":"1.0.1","augeas":"1.11.0","boost":"1.67.0","curl":"7.64.0","libxml2":"2.9.8","libxslt":"1.1.33","openssl-1.1.1":"1.1.1a","puppet-ca-bundle":"1.0.8","ruby-2.5.3":"2.5.3","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","rubygem-deep-merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-hiera-eyaml":"3.0.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-httpclient":"2.8.3","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-optimist":"3.0.0","rubygem-semantic_puppet":"1.0.2","rubygem-text":"1.3.1","yaml-cpp":"yaml-cpp-0.6.2"},"6.4.3":{"puppet":"6.4.3","facter":"3.13.3","hiera":"3.5.0","leatherman":"1.6.1","cpp-hocon":"0.2.0","cpp-pcp-client":"1.6.0","pxp-agent":"1.11.3","libwhereami":"0.2.2","puppet-runtime":"201907082","puppet-resource_api":"1.8.6","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.0.4","module-puppetlabs-cron_core":"1.0.0","module-puppetlabs-host_core":"1.0.2","module-puppetlabs-mount_core":"1.0.2","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.1","module-puppetlabs-sshkeys_core":"1.0.2","module-puppetlabs-yumrepo_core":"1.0.3","module-puppetlabs-zfs_core":"1.0.1","module-puppetlabs-zone_core":"1.0.1","augeas":"1.12.0","boost":"1.67.0","curl":"7.65.1","libxml2":"2.9.8","libxslt":"1.1.33","openssl-1.1.1":"1.1.1a","puppet-ca-bundle":"1.0.8","ruby-2.5.3":"2.5.3","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","rubygem-deep_merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-hiera-eyaml":"3.0.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-httpclient":"2.8.3","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-optimist":"3.0.0","rubygem-semantic_puppet":"1.0.2","rubygem-text":"1.3.1","yaml-cpp":"yaml-cpp-0.6.2"},"6.4.4":{"puppet":"6.4.4","facter":"3.13.4","hiera":"3.5.0","leatherman":"1.6.2","cpp-hocon":"0.2.0","cpp-pcp-client":"1.6.1","pxp-agent":"1.11.4","libwhereami":"0.2.3","puppet-runtime":"201910040","puppet-resource_api":"1.8.9","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.0.4","module-puppetlabs-cron_core":"1.0.0","module-puppetlabs-host_core":"1.0.2","module-puppetlabs-mount_core":"1.0.2","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.1","module-puppetlabs-sshkeys_core":"1.0.2","module-puppetlabs-yumrepo_core":"1.0.3","module-puppetlabs-zfs_core":"1.0.1","module-puppetlabs-zone_core":"1.0.1","augeas":"1.12.0","boost":"1.67.0","curl":"7.66.0","libxml2":"2.9.8","libxslt":"1.1.33","openssl-1.1.1":"1.1.1d","puppet-ca-bundle":"1.0.8","ruby-2.5.7":"2.5.7","ruby-augeas":"0.5.0","ruby-selinux":"2.0.94","ruby-shadow":"2.5.0","rubygem-deep_merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-hiera-eyaml":"3.0.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-httpclient":"2.8.3","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-optimist":"3.0.0","rubygem-semantic_puppet":"1.0.2","rubygem-text":"1.3.1","yaml-cpp":"yaml-cpp-0.6.2"},"6.4.5":{"puppet":"6.4.5","facter":"3.13.5","hiera":"3.5.0","leatherman":"1.6.4","cpp-hocon":"0.2.0","cpp-pcp-client":"1.6.1","pxp-agent":"1.11.5","libwhereami":"0.2.3","puppet-runtime":"202001090","puppet-resource_api":"1.8.11","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.0.5","module-puppetlabs-cron_core":"1.0.3","module-puppetlabs-host_core":"1.0.3","module-puppetlabs-mount_core":"1.0.4","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.4","module-puppetlabs-sshkeys_core":"1.0.3","module-puppetlabs-yumrepo_core":"1.0.6","module-puppetlabs-zfs_core":"1.0.4","module-puppetlabs-zone_core":"1.0.3","augeas":"1.12.0","boost":"1.67.0","curl":"7.66.0","libxml2":"2.9.8","libxslt":"1.1.33","openssl-1.1.1":"1.1.1d","puppet-ca-bundle":"1.0.8","ruby-2.5.7":"2.5.7","ruby-augeas":"0.5.0","ruby-selinux":"2.9","ruby-shadow":"2.5.0","rubygem-deep_merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-hiera-eyaml":"3.1.1","rubygem-highline":"1.6.21","rubygem-hocon":"1.3.0","rubygem-httpclient":"2.8.3","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-optimist":"3.0.0","rubygem-semantic_puppet":"1.0.2","rubygem-text":"1.3.1","yaml-cpp":"yaml-cpp-0.6.2"},"6.5.0":{"puppet":"6.5.0","facter":"3.14.0","hiera":"3.5.0","leatherman":"1.7.0","cpp-hocon":"0.2.0","cpp-pcp-client":"1.6.0","pxp-agent":"1.11.2","libwhereami":"0.2.2","puppet-runtime":"201906061","puppet-resource_api":"1.8.4","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.0.4","module-puppetlabs-cron_core":"1.0.0","module-puppetlabs-host_core":"1.0.2","module-puppetlabs-mount_core":"1.0.2","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.1","module-puppetlabs-sshkeys_core":"1.0.2","module-puppetlabs-yumrepo_core":"1.0.3","module-puppetlabs-zfs_core":"1.0.1","module-puppetlabs-zone_core":"1.0.1","augeas":"1.11.0","boost":"1.67.0","curl":"7.65.1","libxml2":"2.9.8","libxslt":"1.1.33","openssl-1.1.1":"1.1.1a","puppet-ca-bundle":"1.0.8","ruby-2.5.3":"2.5.3","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","rubygem-deep_merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-hiera-eyaml":"3.0.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-httpclient":"2.8.3","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-optimist":"3.0.0","rubygem-semantic_puppet":"1.0.2","rubygem-text":"1.3.1","yaml-cpp":"yaml-cpp-0.6.2"},"6.6.0":{"puppet":"6.6.0","facter":"3.14.1","hiera":"3.5.0","leatherman":"1.7.0","cpp-hocon":"0.2.0","cpp-pcp-client":"1.6.0","pxp-agent":"1.12.1","libwhereami":"0.2.2","puppet-runtime":"201906190","puppet-resource_api":"1.8.5","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.0.4","module-puppetlabs-cron_core":"1.0.0","module-puppetlabs-host_core":"1.0.2","module-puppetlabs-mount_core":"1.0.2","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.1","module-puppetlabs-sshkeys_core":"1.0.2","module-puppetlabs-yumrepo_core":"1.0.3","module-puppetlabs-zfs_core":"1.0.1","module-puppetlabs-zone_core":"1.0.1","augeas":"1.12.0","boost":"1.67.0","curl":"7.65.1","libxml2":"2.9.8","libxslt":"1.1.33","openssl-1.1.1":"1.1.1a","puppet-ca-bundle":"1.0.8","ruby-2.5.3":"2.5.3","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","rubygem-deep_merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-hiera-eyaml":"3.0.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-httpclient":"2.8.3","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-optimist":"3.0.0","rubygem-semantic_puppet":"1.0.2","rubygem-text":"1.3.1","yaml-cpp":"yaml-cpp-0.6.2"},"6.7.0":{"puppet":"6.7.0","facter":"3.14.2","hiera":"3.5.0","leatherman":"1.6.1-7-gdf19902","cpp-hocon":"0.2.0","cpp-pcp-client":"1.6.0","pxp-agent":"1.12.2","libwhereami":"0.2.2","puppet-runtime":"201907151","puppet-resource_api":"1.8.6","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.0.4","module-puppetlabs-cron_core":"1.0.0","module-puppetlabs-host_core":"1.0.2","module-puppetlabs-mount_core":"1.0.2","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.1","module-puppetlabs-sshkeys_core":"1.0.2","module-puppetlabs-yumrepo_core":"1.0.3","module-puppetlabs-zfs_core":"1.0.1","module-puppetlabs-zone_core":"1.0.1","augeas":"1.12.0","boost":"1.67.0","curl":"7.65.1","libxml2":"2.9.8","libxslt":"1.1.33","openssl-1.1.1":"1.1.1a","puppet-ca-bundle":"1.0.8","ruby-2.5.3":"2.5.3","ruby-augeas":"0.5.0","ruby-selinux":"2.0.94","ruby-shadow":"2.5.0","rubygem-deep_merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-hiera-eyaml":"3.0.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-httpclient":"2.8.3","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-optimist":"3.0.0","rubygem-semantic_puppet":"1.0.2","rubygem-text":"1.3.1","yaml-cpp":"yaml-cpp-0.6.2"},"6.7.1":{"puppet":"6.7.1","facter":"3.14.2","hiera":"3.5.0","leatherman":"1.6.1-7-gdf19902","cpp-hocon":"0.2.0","cpp-pcp-client":"1.6.0","pxp-agent":"1.12.2","libwhereami":"0.2.2","puppet-runtime":"201907151","puppet-resource_api":"1.8.6","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.0.4","module-puppetlabs-cron_core":"1.0.0","module-puppetlabs-host_core":"1.0.2","module-puppetlabs-mount_core":"1.0.2","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.1","module-puppetlabs-sshkeys_core":"1.0.2","module-puppetlabs-yumrepo_core":"1.0.3","module-puppetlabs-zfs_core":"1.0.1","module-puppetlabs-zone_core":"1.0.1","augeas":"1.12.0","boost":"1.67.0","curl":"7.65.1","libxml2":"2.9.8","libxslt":"1.1.33","openssl-1.1.1":"1.1.1a","puppet-ca-bundle":"1.0.8","ruby-2.5.3":"2.5.3","ruby-augeas":"0.5.0","ruby-selinux":"2.0.94","ruby-shadow":"2.5.0","rubygem-deep_merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-hiera-eyaml":"3.0.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-httpclient":"2.8.3","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-optimist":"3.0.0","rubygem-semantic_puppet":"1.0.2","rubygem-text":"1.3.1","yaml-cpp":"yaml-cpp-0.6.2"},"6.7.2":{"puppet":"6.7.2","facter":"3.14.2","hiera":"3.5.0","leatherman":"1.6.1-7-gdf19902","cpp-hocon":"0.2.0","cpp-pcp-client":"1.6.0","pxp-agent":"1.12.2","libwhereami":"0.2.2","puppet-runtime":"201907151","puppet-resource_api":"1.8.6","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.0.4","module-puppetlabs-cron_core":"1.0.0","module-puppetlabs-host_core":"1.0.2","module-puppetlabs-mount_core":"1.0.2","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.1","module-puppetlabs-sshkeys_core":"1.0.2","module-puppetlabs-yumrepo_core":"1.0.3","module-puppetlabs-zfs_core":"1.0.1","module-puppetlabs-zone_core":"1.0.1","augeas":"1.12.0","boost":"1.67.0","curl":"7.65.1","libxml2":"2.9.8","libxslt":"1.1.33","openssl-1.1.1":"1.1.1a","puppet-ca-bundle":"1.0.8","ruby-2.5.3":"2.5.3","ruby-augeas":"0.5.0","ruby-selinux":"2.0.94","ruby-shadow":"2.5.0","rubygem-deep_merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-hiera-eyaml":"3.0.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-httpclient":"2.8.3","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-optimist":"3.0.0","rubygem-semantic_puppet":"1.0.2","rubygem-text":"1.3.1","yaml-cpp":"yaml-cpp-0.6.2"},"6.8.0":{"puppet":"6.8.0","facter":"3.14.3","hiera":"3.5.0","leatherman":"1.7.1","cpp-hocon":"0.2.0","cpp-pcp-client":"1.6.0","pxp-agent":"1.12.3","libwhereami":"0.2.2","puppet-runtime":"201908090","puppet-resource_api":"1.8.6","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.0.4","module-puppetlabs-cron_core":"1.0.2","module-puppetlabs-host_core":"1.0.2","module-puppetlabs-mount_core":"1.0.2","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.1","module-puppetlabs-sshkeys_core":"1.0.2","module-puppetlabs-yumrepo_core":"1.0.3","module-puppetlabs-zfs_core":"1.0.1","module-puppetlabs-zone_core":"1.0.1","augeas":"1.12.0","boost":"1.67.0","curl":"7.65.1","libxml2":"2.9.8","libxslt":"1.1.33","openssl-1.1.1":"1.1.1a","puppet-ca-bundle":"1.0.8","ruby-2.5.3":"2.5.3","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","rubygem-deep_merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-hiera-eyaml":"3.0.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-httpclient":"2.8.3","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-optimist":"3.0.0","rubygem-semantic_puppet":"1.0.2","rubygem-text":"1.3.1","yaml-cpp":"yaml-cpp-0.6.2"},"6.8.1":{"puppet":"6.8.1","facter":"3.14.3","hiera":"3.5.0","leatherman":"1.7.1","cpp-hocon":"0.2.0","cpp-pcp-client":"1.6.0","pxp-agent":"1.12.3","libwhereami":"0.2.2","puppet-runtime":"201908090","puppet-resource_api":"1.8.6","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.0.4","module-puppetlabs-cron_core":"1.0.2","module-puppetlabs-host_core":"1.0.2","module-puppetlabs-mount_core":"1.0.2","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.1","module-puppetlabs-sshkeys_core":"1.0.2","module-puppetlabs-yumrepo_core":"1.0.3","module-puppetlabs-zfs_core":"1.0.1","module-puppetlabs-zone_core":"1.0.1","augeas":"1.12.0","boost":"1.67.0","curl":"7.65.1","libxml2":"2.9.8","libxslt":"1.1.33","openssl-1.1.1":"1.1.1a","puppet-ca-bundle":"1.0.8","ruby-2.5.3":"2.5.3","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","rubygem-deep_merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-hiera-eyaml":"3.0.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-httpclient":"2.8.3","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-optimist":"3.0.0","rubygem-semantic_puppet":"1.0.2","rubygem-text":"1.3.1","yaml-cpp":"yaml-cpp-0.6.2"},"6.9.0":{"puppet":"6.9.0","facter":"3.14.4","hiera":"3.5.0-3-gcb2430e","leatherman":"1.7.2","cpp-hocon":"0.2.0","cpp-pcp-client":"1.6.0","pxp-agent":"1.12.4","libwhereami":"0.3.0","puppet-runtime":"201909040","puppet-resource_api":"1.8.7","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.0.4","module-puppetlabs-cron_core":"1.0.2","module-puppetlabs-host_core":"1.0.2","module-puppetlabs-mount_core":"1.0.2","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.1","module-puppetlabs-sshkeys_core":"1.0.2","module-puppetlabs-yumrepo_core":"1.0.3","module-puppetlabs-zfs_core":"1.0.1","module-puppetlabs-zone_core":"1.0.1","augeas":"1.12.0","boost":"1.67.0","curl":"7.65.1","libxml2":"2.9.8","libxslt":"1.1.33","openssl-1.1.1":"1.1.1a","puppet-ca-bundle":"1.0.8","ruby-2.5.3":"2.5.3","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","rubygem-concurrent-ruby":"1.1.5","rubygem-deep_merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-hiera-eyaml":"3.0.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-httpclient":"2.8.3","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-optimist":"3.0.0","rubygem-semantic_puppet":"1.0.2","rubygem-text":"1.3.1","yaml-cpp":"yaml-cpp-0.6.2"},"6.10.0":{"puppet":"6.10.0","facter":"3.14.5","hiera":"3.6.0","leatherman":"1.7.3","cpp-hocon":"0.2.0","cpp-pcp-client":"1.6.0","pxp-agent":"1.13.0","libwhereami":"0.3.1","puppet-runtime":"201909240","puppet-resource_api":"1.8.8","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.0.4","module-puppetlabs-cron_core":"1.0.2","module-puppetlabs-host_core":"1.0.2","module-puppetlabs-mount_core":"1.0.2","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.1","module-puppetlabs-sshkeys_core":"1.0.2","module-puppetlabs-yumrepo_core":"1.0.3","module-puppetlabs-zfs_core":"1.0.1","module-puppetlabs-zone_core":"1.0.1","augeas":"1.12.0","boost":"1.67.0","curl":"7.65.1","libxml2":"2.9.8","libxslt":"1.1.33","openssl-1.1.1":"1.1.1a","puppet-ca-bundle":"1.0.8","ruby-2.5.6":"2.5.6","ruby-augeas":"0.5.0","ruby-selinux":"2.0.94","ruby-shadow":"2.5.0","rubygem-concurrent-ruby":"1.1.5","rubygem-deep_merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-hiera-eyaml":"3.0.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-httpclient":"2.8.3","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-optimist":"3.0.0","rubygem-semantic_puppet":"1.0.2","rubygem-text":"1.3.1","yaml-cpp":"yaml-cpp-0.6.2"},"6.10.1":{"puppet":"6.10.1","facter":"3.14.5","hiera":"3.6.0","leatherman":"1.8.0","cpp-hocon":"0.2.0","cpp-pcp-client":"1.6.1","pxp-agent":"1.15.0","libwhereami":"0.3.1","puppet-runtime":"201910040","puppet-resource_api":"1.8.9","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.0.4","module-puppetlabs-cron_core":"1.0.2","module-puppetlabs-host_core":"1.0.2","module-puppetlabs-mount_core":"1.0.2","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.1","module-puppetlabs-sshkeys_core":"1.0.2","module-puppetlabs-yumrepo_core":"1.0.3","module-puppetlabs-zfs_core":"1.0.1","module-puppetlabs-zone_core":"1.0.1","augeas":"1.12.0","boost":"1.67.0","curl":"7.66.0","libxml2":"2.9.8","libxslt":"1.1.33","openssl-1.1.1":"1.1.1d","puppet-ca-bundle":"1.0.8","ruby-2.5.7":"2.5.7","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","rubygem-concurrent-ruby":"1.1.5","rubygem-deep_merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-hiera-eyaml":"3.0.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.2.5","rubygem-httpclient":"2.8.3","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-optimist":"3.0.0","rubygem-semantic_puppet":"1.0.2","rubygem-text":"1.3.1","yaml-cpp":"yaml-cpp-0.6.2"},"6.11.0":{"puppet":"6.11.0","facter":"3.14.6","facter-ng":"0.0.10","hiera":"3.6.0","leatherman":"1.9.0","cpp-hocon":"0.2.0","cpp-pcp-client":"1.6.1","pxp-agent":"1.15.1","libwhereami":"0.3.1","puppet-runtime":"201911050","puppet-resource_api":"1.8.10","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.0.5","module-puppetlabs-cron_core":"1.0.3","module-puppetlabs-host_core":"1.0.3","module-puppetlabs-mount_core":"1.0.4","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.4","module-puppetlabs-sshkeys_core":"1.0.3","module-puppetlabs-yumrepo_core":"1.0.4","module-puppetlabs-zfs_core":"1.0.4","module-puppetlabs-zone_core":"1.0.3","augeas":"1.12.0","boost":"1.67.0","curl":"7.66.0","libxml2":"2.9.8","libxslt":"1.1.33","openssl-1.1.1":"1.1.1d","puppet-ca-bundle":"1.0.8","ruby-2.5.7":"2.5.7","ruby-augeas":"0.5.0","ruby-selinux":"2.0.94","ruby-shadow":"2.5.0","rubygem-concurrent-ruby":"1.1.5","rubygem-deep_merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-hiera-eyaml":"3.0.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.3.0","rubygem-httpclient":"2.8.3","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-optimist":"3.0.0","rubygem-semantic_puppet":"1.0.2","rubygem-text":"1.3.1","rubygem-thor":"0.20.3","yaml-cpp":"yaml-cpp-0.6.2"},"6.11.1":{"puppet":"6.11.1","facter":"3.14.6","facter-ng":"0.0.10","hiera":"3.6.0","leatherman":"1.9.0","cpp-hocon":"0.2.0","cpp-pcp-client":"1.6.1","pxp-agent":"1.15.1","libwhereami":"0.3.1","puppet-runtime":"201911050","puppet-resource_api":"1.8.10","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.0.5","module-puppetlabs-cron_core":"1.0.3","module-puppetlabs-host_core":"1.0.3","module-puppetlabs-mount_core":"1.0.4","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.4","module-puppetlabs-sshkeys_core":"1.0.3","module-puppetlabs-yumrepo_core":"1.0.4","module-puppetlabs-zfs_core":"1.0.4","module-puppetlabs-zone_core":"1.0.3","augeas":"1.12.0","boost":"1.67.0","curl":"7.66.0","libxml2":"2.9.8","libxslt":"1.1.33","openssl-1.1.1":"1.1.1d","puppet-ca-bundle":"1.0.8","ruby-2.5.7":"2.5.7","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","rubygem-concurrent-ruby":"1.1.5","rubygem-deep_merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-hiera-eyaml":"3.0.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.3.0","rubygem-httpclient":"2.8.3","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-optimist":"3.0.0","rubygem-semantic_puppet":"1.0.2","rubygem-text":"1.3.1","rubygem-thor":"0.20.3","yaml-cpp":"yaml-cpp-0.6.2"},"6.12.0":{"puppet":"6.12.0","facter":"3.14.7","facter-ng":"0.0.10","hiera":"3.6.0","leatherman":"1.10.0","cpp-hocon":"0.2.0","cpp-pcp-client":"1.6.1","pxp-agent":"1.15.1","libwhereami":"0.4.0","puppet-runtime":"202001090","puppet-resource_api":"1.8.11","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.0.5","module-puppetlabs-cron_core":"1.0.3","module-puppetlabs-host_core":"1.0.3","module-puppetlabs-mount_core":"1.0.4","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.4","module-puppetlabs-sshkeys_core":"1.0.3","module-puppetlabs-yumrepo_core":"1.0.6","module-puppetlabs-zfs_core":"1.0.4","module-puppetlabs-zone_core":"1.0.3","augeas":"1.12.0","boost":"1.67.0","curl":"7.66.0","libxml2":"2.9.8","libxslt":"1.1.33","openssl-1.1.1":"1.1.1d","puppet-ca-bundle":"1.0.8","ruby-2.5.7":"2.5.7","ruby-augeas":"0.5.0","ruby-selinux":"2.9","ruby-shadow":"2.5.0","rubygem-concurrent-ruby":"1.1.5","rubygem-deep_merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-gettext":"3.2.2","rubygem-hiera-eyaml":"3.1.1","rubygem-highline":"1.6.21","rubygem-hocon":"1.3.0","rubygem-httpclient":"2.8.3","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-optimist":"3.0.0","rubygem-semantic_puppet":"1.0.2","rubygem-text":"1.3.1","rubygem-thor":"0.20.3","yaml-cpp":"yaml-cpp-0.6.2"},"6.13.0":{"puppet":"6.13.0","facter":"3.14.8","facter-ng":"v4.0.5-23-g8693b81","hiera":"3.6.0","leatherman":"1.10.0","cpp-hocon":"0.2.0","cpp-pcp-client":"1.6.1","pxp-agent":"1.15.2","libwhereami":"0.4.0","puppet-runtime":"202002100","puppet-resource_api":"1.8.12","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.0.5","module-puppetlabs-cron_core":"1.0.3","module-puppetlabs-host_core":"1.0.3","module-puppetlabs-mount_core":"1.0.4","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.4","module-puppetlabs-sshkeys_core":"1.0.3","module-puppetlabs-yumrepo_core":"1.0.6","module-puppetlabs-zfs_core":"1.0.4","module-puppetlabs-zone_core":"1.0.3","augeas":"1.12.0","boost":"1.69.0","curl":"7.68.0","libxml2":"2.9.8","libxslt":"1.1.33","openssl-1.1.1":"1.1.1d","puppet-ca-bundle":"1.0.8","ruby-2.5.7":"2.5.7","ruby-augeas":"0.5.0","ruby-selinux":"2.9","ruby-shadow":"2.5.0","rubygem-concurrent-ruby":"1.1.5","rubygem-deep_merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-ffi":"1.9.25","rubygem-gettext":"3.2.2","rubygem-hiera-eyaml":"3.2.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.3.0","rubygem-httpclient":"2.8.3","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-optimist":"3.0.0","rubygem-semantic_puppet":"1.0.2","rubygem-sys-filesystem":"1.3.2","rubygem-text":"1.3.1","rubygem-thor":"1.0.1","yaml-cpp":"yaml-cpp-0.6.2"},"6.14.0":{"puppet":"6.14.0","facter":"3.14.9","facter-ng":"v4.0.8.pre-26-gafe0d80","hiera":"3.6.0","leatherman":"1.10.0","cpp-hocon":"0.2.0","cpp-pcp-client":"1.6.1","pxp-agent":"1.15.2","libwhereami":"0.4.0","puppet-runtime":"202003021","puppet-resource_api":"1.8.13","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.0.5","module-puppetlabs-cron_core":"1.0.3","module-puppetlabs-host_core":"1.0.3","module-puppetlabs-mount_core":"1.0.4","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.4","module-puppetlabs-sshkeys_core":"1.0.3","module-puppetlabs-yumrepo_core":"1.0.6","module-puppetlabs-zfs_core":"1.0.4","module-puppetlabs-zone_core":"1.0.3","augeas":"1.12.0","boost":"1.69.0","curl":"7.68.0","libxml2":"2.9.8","libxslt":"1.1.33","openssl-1.1.1":"1.1.1d","puppet-ca-bundle":"1.0.8","ruby-2.5.7":"2.5.7","ruby-augeas":"0.5.0","ruby-selinux":"2.9","ruby-shadow":"2.5.0","rubygem-concurrent-ruby":"1.1.5","rubygem-deep_merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-ffi":"1.9.25","rubygem-gettext":"3.2.2","rubygem-hiera-eyaml":"3.2.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.3.0","rubygem-httpclient":"2.8.3","rubygem-locale":"2.1.2","rubygem-multi_json":"1.13.1","rubygem-net-ssh":"4.2.0","rubygem-optimist":"3.0.0","rubygem-semantic_puppet":"1.0.2","rubygem-sys-filesystem":"1.3.2","rubygem-text":"1.3.1","rubygem-thor":"1.0.1","yaml-cpp":"yaml-cpp-0.6.2"},"6.15.0":{"puppet":"6.15.0","facter":"3.14.10","facter-ng":"4.0.17-3-gdf99078","hiera":"3.6.0","leatherman":"1.12.0","cpp-hocon":"0.2.0","cpp-pcp-client":"1.7.2","pxp-agent":"1.15.3","libwhereami":"0.4.0","puppet-runtime":"202004210","puppet-resource_api":"1.8.13","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.0.5","module-puppetlabs-cron_core":"1.0.3","module-puppetlabs-host_core":"1.0.3","module-puppetlabs-mount_core":"1.0.4","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.4","module-puppetlabs-sshkeys_core":"1.0.3","module-puppetlabs-yumrepo_core":"1.0.7","module-puppetlabs-zfs_core":"1.0.5","module-puppetlabs-zone_core":"1.0.3","augeas":"1.12.0","boost":"1.69.0","curl":"7.68.0","libxml2":"2.9.8","libxslt":"1.1.33","openssl-1.1.1":"1.1.1g","puppet-ca-bundle":"1.0.8","ruby-2.5.8":"2.5.8","ruby-augeas":"0.5.0","ruby-selinux":"2.9","ruby-shadow":"2.5.0","rubygem-concurrent-ruby":"1.1.5","rubygem-deep_merge":"1.0.1","rubygem-fast_gettext":"1.1.2","rubygem-ffi":"1.12.2","rubygem-gettext":"3.2.2","rubygem-hiera-eyaml":"3.2.0","rubygem-highline":"1.6.21","rubygem-hocon":"1.3.0","rubygem-httpclient":"2.8.3","rubygem-locale":"2.1.3","rubygem-multi_json":"1.14.1","rubygem-net-ssh":"4.2.0","rubygem-optimist":"3.0.0","rubygem-semantic_puppet":"1.0.2","rubygem-sys-filesystem":"1.3.2","rubygem-text":"1.3.1","rubygem-thor":"1.0.1","yaml-cpp":"yaml-cpp-0.6.2"},"6.16.0":{"openssl-1.1.1":"1.1.1g","curl":"7.68.0","puppet-ca-bundle":"1.0.9","ruby-2.5.8":"2.5.8","augeas":"1.12.0","libxml2":"2.9.8","libxslt":"1.1.33","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","ruby-selinux":"2.0.94","rubygem-hocon":"1.3.1","rubygem-deep_merge":"1.0.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"1.0.2","rubygem-text":"1.3.1","rubygem-locale":"2.1.3","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.2","rubygem-concurrent-ruby":"1.1.5","rubygem-ffi":"1.12.2","rubygem-multi_json":"1.14.1","rubygem-optimist":"3.0.0","rubygem-highline":"1.6.21","rubygem-hiera-eyaml":"3.2.0","rubygem-httpclient":"2.8.3","rubygem-thor":"1.0.1","rubygem-sys-filesystem":"1.3.2","boost":"1.73.0","yaml-cpp":"yaml-cpp-0.6.2","puppet":"6.16.0","facter":"3.14.11","facter-ng":"4.0.24","hiera":"3.6.0","leatherman":"1.12.0","cpp-hocon":"0.2.2","cpp-pcp-client":"1.7.3","pxp-agent":"1.15.4","libwhereami":"0.5.0","puppet-runtime":"202005260","puppet-resource_api":"1.8.13","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.0.5","module-puppetlabs-cron_core":"1.0.4","module-puppetlabs-host_core":"1.0.3","module-puppetlabs-mount_core":"1.0.4","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.4","module-puppetlabs-sshkeys_core":"1.0.3","module-puppetlabs-yumrepo_core":"1.0.7","module-puppetlabs-zfs_core":"1.0.5","module-puppetlabs-zone_core":"1.0.3"},"6.17.0":{"openssl-1.1.1":"1.1.1g","curl":"7.71.0","puppet-ca-bundle":"1.0.9","ruby-2.5.8":"2.5.8","augeas":"1.12.0","libxml2":"2.9.8","libxslt":"1.1.33","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","ruby-selinux":"2.9","rubygem-hocon":"1.3.1","rubygem-deep_merge":"1.0.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"1.0.2","rubygem-text":"1.3.1","rubygem-locale":"2.1.3","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.2","rubygem-concurrent-ruby":"1.1.5","rubygem-ffi":"1.13.1","rubygem-multi_json":"1.14.1","rubygem-optimist":"3.0.1","rubygem-highline":"1.6.21","rubygem-hiera-eyaml":"3.2.0","rubygem-httpclient":"2.8.3","rubygem-thor":"1.0.1","rubygem-sys-filesystem":"1.3.2","boost":"1.73.0","yaml-cpp":"yaml-cpp-0.6.2","puppet":"6.17.0","facter":"3.14.12","facter-ng":"4.0.26-13-g68068b2","hiera":"3.6.0","leatherman":"1.12.1","cpp-hocon":"0.3.0","cpp-pcp-client":"1.7.3","pxp-agent":"1.15.5","libwhereami":"0.5.0","puppet-runtime":"202007030","puppet-resource_api":"1.8.13","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.0.5","module-puppetlabs-cron_core":"1.0.4","module-puppetlabs-host_core":"1.0.3","module-puppetlabs-mount_core":"1.0.4","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.4","module-puppetlabs-sshkeys_core":"1.0.3","module-puppetlabs-yumrepo_core":"1.0.7","module-puppetlabs-zfs_core":"1.0.5","module-puppetlabs-zone_core":"1.0.3"},"6.18.0":{"openssl-1.1.1":"1.1.1g","curl":"7.71.1","puppet-ca-bundle":"1.0.9","ruby-2.5.8":"2.5.8","augeas":"1.12.0","libxml2":"2.9.8","libxslt":"1.1.33","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","ruby-selinux":"2.9","rubygem-hocon":"1.3.1","rubygem-deep_merge":"1.0.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"1.0.2","rubygem-text":"1.3.1","rubygem-locale":"2.1.3","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.2","rubygem-concurrent-ruby":"1.1.5","rubygem-ffi":"1.13.1","rubygem-multi_json":"1.14.1","rubygem-optimist":"3.0.1","rubygem-highline":"1.6.21","rubygem-hiera-eyaml":"3.2.0","rubygem-httpclient":"2.8.3","rubygem-thor":"1.0.1","rubygem-sys-filesystem":"1.3.2","boost":"1.73.0","yaml-cpp":"yaml-cpp-0.6.2","puppet":"6.18.0","facter":"3.14.13","facter-ng":"4.0.33","hiera":"3.6.0","leatherman":"1.12.1","cpp-hocon":"0.3.0","cpp-pcp-client":"1.7.3","pxp-agent":"1.15.6","libwhereami":"0.5.0","puppet-runtime":"202008140","puppet-resource_api":"1.8.13","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.0.5","module-puppetlabs-cron_core":"1.0.4","module-puppetlabs-host_core":"1.0.3","module-puppetlabs-mount_core":"1.0.4","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.4","module-puppetlabs-sshkeys_core":"1.0.3","module-puppetlabs-yumrepo_core":"1.0.7","module-puppetlabs-zfs_core":"1.0.5","module-puppetlabs-zone_core":"1.0.3"},"6.19.0":{"openssl-1.1.1":"1.1.1g","curl":"7.72.0","puppet-ca-bundle":"1.0.9","ruby-2.5.8":"2.5.8","augeas":"1.12.0","libxml2":"2.9.8","libxslt":"1.1.33","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","ruby-selinux":"2.0.94","rubygem-hocon":"1.3.1","rubygem-deep_merge":"1.0.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"1.0.2","rubygem-text":"1.3.1","rubygem-locale":"2.1.3","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.2","rubygem-concurrent-ruby":"1.1.5","rubygem-ffi":"1.13.1","rubygem-multi_json":"1.14.1","rubygem-optimist":"3.0.1","rubygem-highline":"1.6.21","rubygem-hiera-eyaml":"3.2.0","rubygem-httpclient":"2.8.3","rubygem-thor":"1.0.1","rubygem-sys-filesystem":"1.3.2","boost":"1.73.0","yaml-cpp":"yaml-cpp-0.6.2","puppet":"6.19.0","facter":"3.14.14","facter-ng":"4.0.43","hiera":"3.6.0","leatherman":"1.12.2","cpp-hocon":"0.3.0","cpp-pcp-client":"1.7.3","pxp-agent":"1.15.7","libwhereami":"0.5.0","puppet-runtime":"202010130","puppet-resource_api":"1.8.13","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.0.5","module-puppetlabs-cron_core":"1.0.4","module-puppetlabs-host_core":"1.0.3","module-puppetlabs-mount_core":"1.0.4","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.4","module-puppetlabs-sshkeys_core":"1.0.3","module-puppetlabs-yumrepo_core":"1.0.7","module-puppetlabs-zfs_core":"1.0.5","module-puppetlabs-zone_core":"1.0.3"},"6.19.1":{"openssl-1.1.1":"1.1.1g","curl":"7.72.0","puppet-ca-bundle":"1.0.9","ruby-2.5.8":"2.5.8","augeas":"1.12.0","libxml2":"2.9.8","libxslt":"1.1.33","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","ruby-selinux":"2.9","rubygem-hocon":"1.3.1","rubygem-deep_merge":"1.0.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"1.0.2","rubygem-text":"1.3.1","rubygem-locale":"2.1.3","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.2","rubygem-concurrent-ruby":"1.1.5","rubygem-ffi":"1.13.1","rubygem-multi_json":"1.14.1","rubygem-optimist":"3.0.1","rubygem-highline":"1.6.21","rubygem-hiera-eyaml":"3.2.0","rubygem-httpclient":"2.8.3","rubygem-thor":"1.0.1","rubygem-sys-filesystem":"1.3.2","boost":"1.73.0","yaml-cpp":"yaml-cpp-0.6.2","puppet":"6.19.1","facter":"3.14.14","facter-ng":"4.0.43","hiera":"3.6.0","leatherman":"1.12.2","cpp-hocon":"0.3.0","cpp-pcp-client":"1.7.3","pxp-agent":"1.15.7","libwhereami":"0.5.0","puppet-runtime":"202010130","puppet-resource_api":"1.8.13","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.0.5","module-puppetlabs-cron_core":"1.0.4","module-puppetlabs-host_core":"1.0.3","module-puppetlabs-mount_core":"1.0.4","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.4","module-puppetlabs-sshkeys_core":"1.0.3","module-puppetlabs-yumrepo_core":"1.0.7","module-puppetlabs-zfs_core":"1.0.5","module-puppetlabs-zone_core":"1.0.3"},"6.20.0":{"openssl-1.1.1":"1.1.1i","curl":"7.74.0","puppet-ca-bundle":"1.0.9","ruby-2.5.8":"2.5.8","augeas":"1.12.0","libxml2":"2.9.8","libxslt":"1.1.33","ruby-augeas":"0.5.0","libedit":"20150325-3.1","rubygem-hocon":"1.3.1","rubygem-deep_merge":"1.0.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"1.0.3","rubygem-text":"1.3.1","rubygem-locale":"2.1.3","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.2","rubygem-concurrent-ruby":"1.1.5","rubygem-ffi":"1.13.1","rubygem-multi_json":"1.14.1","rubygem-optimist":"3.0.1","rubygem-highline":"1.6.21","rubygem-hiera-eyaml":"3.2.0","rubygem-httpclient":"2.8.3","rubygem-thor":"1.0.1","rubygem-sys-filesystem":"1.3.2","boost":"1.73.0","yaml-cpp":"yaml-cpp-0.6.2","puppet":"6.20.0","facter":"3.14.15","facter-ng":"4.0.49","hiera":"3.6.0","leatherman":"1.12.4","cpp-hocon":"0.3.0","cpp-pcp-client":"1.7.3","pxp-agent":"1.15.10","libwhereami":"0.5.0","puppet-runtime":"202101130","puppet-resource_api":"1.8.13","module-puppetlabs-augeas_core":"1.1.1","module-puppetlabs-cron_core":"1.0.5","module-puppetlabs-host_core":"1.0.3","module-puppetlabs-mount_core":"1.0.4","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.4","module-puppetlabs-sshkeys_core":"1.0.3","module-puppetlabs-yumrepo_core":"1.0.7","module-puppetlabs-zfs_core":"1.2.0","module-puppetlabs-zone_core":"1.0.3"},"6.21.0":{"openssl-1.1.1":"1.1.1i","curl":"7.74.0","puppet-ca-bundle":"1.0.9","ruby-2.5.8":"2.5.8","augeas":"1.12.0","libxml2":"2.9.8","libxslt":"1.1.33","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","ruby-selinux":"2.9","rubygem-hocon":"1.3.1","rubygem-deep_merge":"1.0.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"1.0.3","rubygem-text":"1.3.1","rubygem-locale":"2.1.3","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.2","rubygem-concurrent-ruby":"1.1.5","rubygem-ffi":"1.13.1","rubygem-multi_json":"1.14.1","rubygem-optimist":"3.0.1","rubygem-highline":"1.6.21","rubygem-hiera-eyaml":"3.2.0","rubygem-httpclient":"2.8.3","rubygem-thor":"1.0.1","rubygem-sys-filesystem":"1.3.2","boost":"1.73.0","yaml-cpp":"yaml-cpp-0.6.2","puppet":"6.21.0","facter":"3.14.16","facter-ng":"4.0.50","hiera":"3.6.0","leatherman":"1.12.4","cpp-hocon":"0.3.0","cpp-pcp-client":"1.7.3","pxp-agent":"1.15.10","libwhereami":"0.5.0","puppet-runtime":"202102031","puppet-resource_api":"1.8.13","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.1.1","module-puppetlabs-cron_core":"1.0.5","module-puppetlabs-host_core":"1.0.3","module-puppetlabs-mount_core":"1.0.4","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.4","module-puppetlabs-sshkeys_core":"1.0.3","module-puppetlabs-yumrepo_core":"1.0.7","module-puppetlabs-zfs_core":"1.2.0","module-puppetlabs-zone_core":"1.0.3"},"6.21.1":{"openssl-1.1.1":"1.1.1i","curl":"7.74.0","puppet-ca-bundle":"1.0.9","ruby-2.5.8":"2.5.8","augeas":"1.12.0","libxml2":"2.9.8","libxslt":"1.1.33","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","ruby-selinux":"2.9","rubygem-hocon":"1.3.1","rubygem-deep_merge":"1.0.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"1.0.3","rubygem-text":"1.3.1","rubygem-locale":"2.1.3","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.2","rubygem-concurrent-ruby":"1.1.5","rubygem-ffi":"1.13.1","rubygem-multi_json":"1.14.1","rubygem-optimist":"3.0.1","rubygem-highline":"1.6.21","rubygem-hiera-eyaml":"3.2.0","rubygem-httpclient":"2.8.3","rubygem-thor":"1.0.1","rubygem-sys-filesystem":"1.3.2","boost":"1.73.0","yaml-cpp":"yaml-cpp-0.6.2","puppet":"6.21.1","facter":"3.14.16","facter-ng":"4.0.50","hiera":"3.6.0","leatherman":"1.12.4","cpp-hocon":"0.3.0","cpp-pcp-client":"1.7.3","pxp-agent":"1.15.10","libwhereami":"0.5.0","puppet-runtime":"202102031","puppet-resource_api":"1.8.13","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.1.1","module-puppetlabs-cron_core":"1.0.5","module-puppetlabs-host_core":"1.0.3","module-puppetlabs-mount_core":"1.0.4","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.4","module-puppetlabs-sshkeys_core":"1.0.3","module-puppetlabs-yumrepo_core":"1.0.7","module-puppetlabs-zfs_core":"1.2.0","module-puppetlabs-zone_core":"1.0.3"},"6.22.0":{"openssl-1.1.1":"1.1.1k","curl":"7.76.0","puppet-ca-bundle":"1.0.9","ruby-2.5.9":"2.5.9","augeas":"1.12.0","libxml2":"2.9.8","libxslt":"1.1.33","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","ruby-selinux":"2.9","rubygem-hocon":"1.3.1","rubygem-deep_merge":"1.0.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"1.0.3","rubygem-text":"1.3.1","rubygem-locale":"2.1.3","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.2","rubygem-concurrent-ruby":"1.1.5","rubygem-ffi":"1.13.1","rubygem-multi_json":"1.14.1","rubygem-optimist":"3.0.1","rubygem-highline":"1.6.21","rubygem-hiera-eyaml":"3.2.0","rubygem-httpclient":"2.8.3","rubygem-thor":"1.0.1","rubygem-sys-filesystem":"1.3.2","boost":"1.73.0","yaml-cpp":"yaml-cpp-0.6.2","puppet":"6.22.0","facter":"3.14.17","facter-ng":"4.1.0","hiera":"3.7.0","leatherman":"1.12.4","cpp-hocon":"0.3.0","cpp-pcp-client":"1.7.3","pxp-agent":"1.15.11","libwhereami":"0.5.0","puppet-runtime":"202104131","puppet-resource_api":"1.8.13","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.1.2","module-puppetlabs-cron_core":"1.0.5","module-puppetlabs-host_core":"1.0.3","module-puppetlabs-mount_core":"1.0.4","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.1.0","module-puppetlabs-sshkeys_core":"1.0.3","module-puppetlabs-yumrepo_core":"1.0.7","module-puppetlabs-zfs_core":"1.2.0","module-puppetlabs-zone_core":"1.0.3"},"6.22.1":{"openssl-1.1.1":"1.1.1k","curl":"7.76.0","puppet-ca-bundle":"1.0.9","ruby-2.5.9":"2.5.9","augeas":"1.12.0","libxml2":"2.9.8","libxslt":"1.1.33","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","ruby-selinux":"2.9","rubygem-hocon":"1.3.1","rubygem-deep_merge":"1.0.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"1.0.3","rubygem-text":"1.3.1","rubygem-locale":"2.1.3","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.2","rubygem-concurrent-ruby":"1.1.5","rubygem-ffi":"1.13.1","rubygem-multi_json":"1.14.1","rubygem-optimist":"3.0.1","rubygem-highline":"1.6.21","rubygem-hiera-eyaml":"3.2.0","rubygem-httpclient":"2.8.3","rubygem-thor":"1.0.1","rubygem-sys-filesystem":"1.3.2","boost":"1.73.0","yaml-cpp":"yaml-cpp-0.6.2","puppet":"6.22.1","facter":"3.14.17","facter-ng":"4.1.1","hiera":"3.7.0","leatherman":"1.12.4","cpp-hocon":"0.3.0","cpp-pcp-client":"1.7.3","pxp-agent":"1.15.11","libwhereami":"0.5.0","puppet-runtime":"202104131","puppet-resource_api":"1.8.13","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.1.2","module-puppetlabs-cron_core":"1.0.5","module-puppetlabs-host_core":"1.0.3","module-puppetlabs-mount_core":"1.0.4","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.1.0","module-puppetlabs-sshkeys_core":"1.0.3","module-puppetlabs-yumrepo_core":"1.0.7","module-puppetlabs-zfs_core":"1.2.0","module-puppetlabs-zone_core":"1.0.3"},"6.23.0":{"openssl-1.1.1":"1.1.1k","curl":"7.77.0","puppet-ca-bundle":"1.0.9","ruby-2.5.9":"2.5.9","augeas":"1.12.0","libxml2":"2.9.8","libxslt":"1.1.33","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","ruby-selinux":"2.9","rubygem-hocon":"1.3.1","rubygem-deep_merge":"1.0.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"1.0.4","rubygem-text":"1.3.1","rubygem-locale":"2.1.3","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.2","rubygem-concurrent-ruby":"1.1.8","rubygem-ffi":"1.13.1","rubygem-multi_json":"1.14.1","rubygem-optimist":"3.0.1","rubygem-highline":"2.0.3","rubygem-hiera-eyaml":"3.2.1","rubygem-httpclient":"2.8.3","rubygem-thor":"1.1.0","rubygem-sys-filesystem":"1.3.2","boost":"1.73.0","yaml-cpp":"yaml-cpp-0.6.2","puppet":"6.23.0","facter":"3.14.18","facter-ng":"4.2.1","hiera":"3.7.0","leatherman":"1.12.5","cpp-hocon":"0.3.0","cpp-pcp-client":"1.7.3","pxp-agent":"1.15.13","libwhereami":"0.5.0","puppet-runtime":"202106080","puppet-resource_api":"v1.8.14","virt-what":"1.18","dmidecode":"2.12","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.1.2","module-puppetlabs-cron_core":"1.0.5","module-puppetlabs-host_core":"1.0.3","module-puppetlabs-mount_core":"1.0.4","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.1.0","module-puppetlabs-sshkeys_core":"1.0.3","module-puppetlabs-yumrepo_core":"1.0.7","module-puppetlabs-zfs_core":"1.2.0","module-puppetlabs-zone_core":"1.0.3"},"6.24.0":{"openssl-1.1.1":"1.1.1k","curl":"7.77.0","puppet-ca-bundle":"1.0.9","ruby-2.5.9":"2.5.9","augeas":"1.12.0","libxml2":"2.9.8","libxslt":"1.1.33","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","ruby-selinux":"2.9","rubygem-hocon":"1.3.1","rubygem-deep_merge":"1.0.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"1.0.4","rubygem-text":"1.3.1","rubygem-locale":"2.1.3","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.2","rubygem-concurrent-ruby":"1.1.8","rubygem-ffi":"1.13.1","rubygem-multi_json":"1.14.1","rubygem-optimist":"3.0.1","rubygem-highline":"2.0.3","rubygem-hiera-eyaml":"3.2.1","rubygem-httpclient":"2.8.3","rubygem-thor":"1.1.0","rubygem-sys-filesystem":"1.3.2","boost":"1.73.0","yaml-cpp":"yaml-cpp-0.6.2","puppet":"6.24.0","facter":"3.14.19","facter-ng":"4.2.2","hiera":"3.7.0","leatherman":"1.12.6","cpp-hocon":"0.3.0","cpp-pcp-client":"1.7.3","pxp-agent":"1.15.14","libwhereami":"0.5.0","puppet-runtime":"202107010","puppet-resource_api":"v1.8.14","virt-what":"1.18","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.1.2","module-puppetlabs-cron_core":"1.0.5","module-puppetlabs-host_core":"1.0.3","module-puppetlabs-mount_core":"1.0.4","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.1.0","module-puppetlabs-sshkeys_core":"1.0.3","module-puppetlabs-yumrepo_core":"1.0.7","module-puppetlabs-zfs_core":"1.2.0","module-puppetlabs-zone_core":"1.0.3"},"7.0.0":{"openssl-1.1.1":"1.1.1g","curl":"7.72.0","puppet-ca-bundle":"1.0.9","ruby-2.7.1":"2.7.1","augeas":"1.12.0","libxml2":"2.9.8","libxslt":"1.1.33","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","ruby-selinux":"2.0.94","rubygem-hocon":"1.3.1","rubygem-deep_merge":"1.2.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"1.0.2","rubygem-text":"1.3.1","rubygem-locale":"2.1.3","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.2","rubygem-concurrent-ruby":"1.1.5","rubygem-ffi":"1.13.1","rubygem-multi_json":"1.14.1","rubygem-optimist":"3.0.1","rubygem-highline":"1.6.21","rubygem-hiera-eyaml":"3.2.0","rubygem-thor":"1.0.1","rubygem-scanf":"1.0.0","rubygem-sys-filesystem":"1.3.2","boost":"1.73.0","yaml-cpp":"yaml-cpp-0.6.2","puppet-runtime":"202010280","pxp-agent":"202011060","puppet":"7.0.0","facter":"4.0.46","hiera":"3.6.0","puppet-resource_api":"1.8.13","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.1.1","module-puppetlabs-cron_core":"1.0.5","module-puppetlabs-host_core":"1.0.3","module-puppetlabs-mount_core":"1.0.4","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.4","module-puppetlabs-sshkeys_core":"2.2.0","module-puppetlabs-yumrepo_core":"1.0.7","module-puppetlabs-zfs_core":"1.2.0","module-puppetlabs-zone_core":"1.0.3"},"7.1.0":{"openssl-1.1.1":"1.1.1i","curl":"7.74.0","puppet-ca-bundle":"1.0.9","ruby-2.7.1":"2.7.1","augeas":"1.12.0","libxml2":"2.9.8","libxslt":"1.1.33","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","ruby-selinux":"2.9","rubygem-hocon":"1.3.1","rubygem-deep_merge":"1.2.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"1.0.2","rubygem-text":"1.3.1","rubygem-locale":"2.1.3","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.2","rubygem-concurrent-ruby":"1.1.5","rubygem-ffi":"1.13.1","rubygem-multi_json":"1.14.1","rubygem-optimist":"3.0.1","rubygem-highline":"1.6.21","rubygem-hiera-eyaml":"3.2.0","rubygem-thor":"1.0.1","rubygem-scanf":"1.0.0","rubygem-sys-filesystem":"1.3.2","boost":"1.73.0","yaml-cpp":"yaml-cpp-0.6.2","puppet-runtime":"202012102","pxp-agent":"202012110","puppet":"7.1.0","facter":"4.0.47","hiera":"3.6.0","puppet-resource_api":"1.8.13","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.1.1","module-puppetlabs-cron_core":"1.0.5","module-puppetlabs-host_core":"1.0.3","module-puppetlabs-mount_core":"1.0.4","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.4","module-puppetlabs-sshkeys_core":"2.2.0","module-puppetlabs-yumrepo_core":"1.0.7","module-puppetlabs-zfs_core":"1.2.0","module-puppetlabs-zone_core":"1.0.3"},"7.3.0":{"openssl-1.1.1":"1.1.1i","curl":"7.74.0","puppet-ca-bundle":"1.0.9","ruby-2.7.2":"2.7.2","augeas":"1.12.0","libxml2":"2.9.8","libxslt":"1.1.33","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","ruby-selinux":"2.9","rubygem-hocon":"1.3.1","rubygem-deep_merge":"1.2.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"1.0.3","rubygem-text":"1.3.1","rubygem-locale":"2.1.3","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.2","rubygem-concurrent-ruby":"1.1.5","rubygem-ffi":"1.13.1","rubygem-multi_json":"1.14.1","rubygem-optimist":"3.0.1","rubygem-highline":"1.6.21","rubygem-hiera-eyaml":"3.2.0","rubygem-thor":"1.0.1","rubygem-scanf":"1.0.0","rubygem-sys-filesystem":"1.3.2","boost":"1.73.0","yaml-cpp":"yaml-cpp-0.6.2","puppet-runtime":"202101150","pxp-agent":"202101150","puppet":"7.3.0","facter":"4.0.49","hiera":"3.6.0","puppet-resource_api":"1.8.13","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.1.1","module-puppetlabs-cron_core":"1.0.5","module-puppetlabs-host_core":"1.0.3","module-puppetlabs-mount_core":"1.0.4","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.4","module-puppetlabs-sshkeys_core":"2.2.0","module-puppetlabs-yumrepo_core":"1.0.7","module-puppetlabs-zfs_core":"1.2.0","module-puppetlabs-zone_core":"1.0.3"},"7.4.0":{"openssl-1.1.1":"1.1.1i","curl":"7.74.0","puppet-ca-bundle":"1.0.9","ruby-2.7.2":"2.7.2","augeas":"1.12.0","libxml2":"2.9.8","libxslt":"1.1.33","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","ruby-selinux":"2.9","rubygem-hocon":"1.3.1","rubygem-deep_merge":"1.2.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"1.0.3","rubygem-text":"1.3.1","rubygem-locale":"2.1.3","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.2","rubygem-concurrent-ruby":"1.1.5","rubygem-ffi":"1.13.1","rubygem-multi_json":"1.14.1","rubygem-optimist":"3.0.1","rubygem-highline":"1.6.21","rubygem-hiera-eyaml":"3.2.0","rubygem-thor":"1.0.1","rubygem-scanf":"1.0.0","rubygem-sys-filesystem":"1.3.2","boost":"1.73.0","yaml-cpp":"yaml-cpp-0.6.2","puppet-runtime":"202102031","pxp-agent":"202102033","puppet":"7.4.0","facter":"4.0.51","hiera":"3.6.0","puppet-resource_api":"1.8.13","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.1.1","module-puppetlabs-cron_core":"1.0.5","module-puppetlabs-host_core":"1.0.3","module-puppetlabs-mount_core":"1.0.4","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.4","module-puppetlabs-sshkeys_core":"2.2.0","module-puppetlabs-yumrepo_core":"1.0.7","module-puppetlabs-zfs_core":"1.2.0","module-puppetlabs-zone_core":"1.0.3"},"7.4.1":{"openssl-1.1.1":"1.1.1i","curl":"7.74.0","puppet-ca-bundle":"1.0.9","ruby-2.7.2":"2.7.2","augeas":"1.12.0","libxml2":"2.9.8","libxslt":"1.1.33","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","ruby-selinux":"2.9","rubygem-hocon":"1.3.1","rubygem-deep_merge":"1.2.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"1.0.3","rubygem-text":"1.3.1","rubygem-locale":"2.1.3","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.2","rubygem-concurrent-ruby":"1.1.5","rubygem-ffi":"1.13.1","rubygem-multi_json":"1.14.1","rubygem-optimist":"3.0.1","rubygem-highline":"1.6.21","rubygem-hiera-eyaml":"3.2.0","rubygem-thor":"1.0.1","rubygem-scanf":"1.0.0","rubygem-sys-filesystem":"1.3.2","boost":"1.73.0","yaml-cpp":"yaml-cpp-0.6.2","puppet-runtime":"202102031","pxp-agent":"202102033","puppet":"7.4.1","facter":"4.0.51","hiera":"3.6.0","puppet-resource_api":"1.8.13","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.1.1","module-puppetlabs-cron_core":"1.0.5","module-puppetlabs-host_core":"1.0.3","module-puppetlabs-mount_core":"1.0.4","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.4","module-puppetlabs-sshkeys_core":"2.2.0","module-puppetlabs-yumrepo_core":"1.0.7","module-puppetlabs-zfs_core":"1.2.0","module-puppetlabs-zone_core":"1.0.3"},"7.5.0":{"openssl-1.1.1":"1.1.1i","curl":"7.74.0","puppet-ca-bundle":"1.0.9","ruby-2.7.2":"2.7.2","augeas":"1.12.0","libxml2":"2.9.8","libxslt":"1.1.33","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","ruby-selinux":"2.9","rubygem-hocon":"1.3.1","rubygem-deep_merge":"1.2.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"1.0.3","rubygem-text":"1.3.1","rubygem-locale":"2.1.3","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.2","rubygem-concurrent-ruby":"1.1.5","rubygem-ffi":"1.13.1","rubygem-multi_json":"1.14.1","rubygem-optimist":"3.0.1","rubygem-highline":"1.6.21","rubygem-hiera-eyaml":"3.2.0","rubygem-thor":"1.0.1","rubygem-scanf":"1.0.0","rubygem-sys-filesystem":"1.3.2","boost":"1.73.0","yaml-cpp":"yaml-cpp-0.6.2","puppet-runtime":"202103081","pxp-agent":"202103080","puppet":"7.5.0","facter":"4.0.52","hiera":"3.7.0","puppet-resource_api":"1.8.13","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.1.2","module-puppetlabs-cron_core":"1.0.5","module-puppetlabs-host_core":"1.0.3","module-puppetlabs-mount_core":"1.0.4","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.0.4","module-puppetlabs-sshkeys_core":"2.2.0","module-puppetlabs-yumrepo_core":"1.0.7","module-puppetlabs-zfs_core":"1.2.0","module-puppetlabs-zone_core":"1.0.3"},"7.6.0":{"openssl-1.1.1":"1.1.1k","curl":"7.76.0","puppet-ca-bundle":"1.0.9","ruby-2.7.3":"2.7.3","augeas":"1.12.0","libxml2":"2.9.8","libxslt":"1.1.33","ruby-augeas":"0.5.0","libedit":"20150325-3.1","rubygem-hocon":"1.3.1","rubygem-deep_merge":"1.2.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"1.0.3","rubygem-text":"1.3.1","rubygem-locale":"2.1.3","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.2","rubygem-concurrent-ruby":"1.1.5","rubygem-ffi":"1.13.1","rubygem-multi_json":"1.14.1","rubygem-optimist":"3.0.1","rubygem-highline":"1.6.21","rubygem-hiera-eyaml":"3.2.0","rubygem-thor":"1.0.1","rubygem-scanf":"1.0.0","rubygem-sys-filesystem":"1.3.2","boost":"1.73.0","yaml-cpp":"yaml-cpp-0.6.2","puppet-runtime":"202104131","pxp-agent":"202104131","puppet":"7.6.0","facter":"4.1.0","hiera":"3.7.0","puppet-resource_api":"1.8.13","module-puppetlabs-augeas_core":"1.1.2","module-puppetlabs-cron_core":"1.0.5","module-puppetlabs-host_core":"1.0.3","module-puppetlabs-mount_core":"1.0.4","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.1.0","module-puppetlabs-sshkeys_core":"2.2.0","module-puppetlabs-yumrepo_core":"1.0.7","module-puppetlabs-zfs_core":"1.2.0","module-puppetlabs-zone_core":"1.0.3"},"7.6.1":{"openssl-1.1.1":"1.1.1k","curl":"7.76.0","puppet-ca-bundle":"1.0.9","ruby-2.7.3":"2.7.3","augeas":"1.12.0","libxml2":"2.9.8","libxslt":"1.1.33","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","ruby-selinux":"2.9","rubygem-hocon":"1.3.1","rubygem-deep_merge":"1.2.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"1.0.3","rubygem-text":"1.3.1","rubygem-locale":"2.1.3","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.2","rubygem-concurrent-ruby":"1.1.5","rubygem-ffi":"1.13.1","rubygem-multi_json":"1.14.1","rubygem-optimist":"3.0.1","rubygem-highline":"1.6.21","rubygem-hiera-eyaml":"3.2.0","rubygem-thor":"1.0.1","rubygem-scanf":"1.0.0","rubygem-sys-filesystem":"1.3.2","boost":"1.73.0","yaml-cpp":"yaml-cpp-0.6.2","puppet-runtime":"202104131","pxp-agent":"202104131","puppet":"7.6.1","facter":"4.1.1","hiera":"3.7.0","puppet-resource_api":"1.8.13","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.1.2","module-puppetlabs-cron_core":"1.0.5","module-puppetlabs-host_core":"1.0.3","module-puppetlabs-mount_core":"1.0.4","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.1.0","module-puppetlabs-sshkeys_core":"2.2.0","module-puppetlabs-yumrepo_core":"1.0.7","module-puppetlabs-zfs_core":"1.2.0","module-puppetlabs-zone_core":"1.0.3"},"7.7.0":{"openssl-1.1.1":"1.1.1k","curl":"7.76.0","puppet-ca-bundle":"1.0.9","ruby-2.7.3":"2.7.3","augeas":"1.12.0","libxml2":"2.9.8","libxslt":"1.1.33","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","ruby-selinux":"2.9","rubygem-hocon":"1.3.1","rubygem-deep_merge":"1.2.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"1.0.3","rubygem-text":"1.3.1","rubygem-locale":"2.1.3","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.2","rubygem-concurrent-ruby":"1.1.8","rubygem-ffi":"1.13.1","rubygem-multi_json":"1.14.1","rubygem-optimist":"3.0.1","rubygem-highline":"2.0.3","rubygem-hiera-eyaml":"3.2.1","rubygem-thor":"1.1.0","rubygem-scanf":"1.0.0","rubygem-sys-filesystem":"1.3.2","boost":"1.73.0","yaml-cpp":"yaml-cpp-0.6.2","puppet-runtime":"202105191","pxp-agent":"202105191","puppet":"7.7.0","facter":"4.2.0","hiera":"3.7.0","puppet-resource_api":"1.8.13","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.1.2","module-puppetlabs-cron_core":"1.0.5","module-puppetlabs-host_core":"1.0.3","module-puppetlabs-mount_core":"1.0.4","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.1.0","module-puppetlabs-sshkeys_core":"2.2.0","module-puppetlabs-yumrepo_core":"1.0.7","module-puppetlabs-zfs_core":"1.2.0","module-puppetlabs-zone_core":"1.0.3"},"7.8.0":{"openssl-1.1.1":"1.1.1k","curl":"7.77.0","puppet-ca-bundle":"1.0.9","ruby-2.7.3":"2.7.3","augeas":"1.12.0","libxml2":"2.9.8","libxslt":"1.1.33","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","ruby-selinux":"2.0.94","rubygem-hocon":"1.3.1","rubygem-deep_merge":"1.2.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"1.0.4","rubygem-text":"1.3.1","rubygem-locale":"2.1.3","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.2","rubygem-concurrent-ruby":"1.1.8","rubygem-ffi":"1.13.1","rubygem-multi_json":"1.14.1","rubygem-optimist":"3.0.1","rubygem-highline":"2.0.3","rubygem-hiera-eyaml":"3.2.1","rubygem-thor":"1.1.0","rubygem-scanf":"1.0.0","rubygem-sys-filesystem":"1.3.2","boost":"1.73.0","yaml-cpp":"yaml-cpp-0.6.2","puppet-runtime":"202106080","pxp-agent":"202106083","puppet":"7.8.0","facter":"4.2.1","hiera":"3.7.0","puppet-resource_api":"v1.8.14","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.1.2","module-puppetlabs-cron_core":"1.0.5","module-puppetlabs-host_core":"1.0.3","module-puppetlabs-mount_core":"1.0.4","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.1.0","module-puppetlabs-sshkeys_core":"2.2.0","module-puppetlabs-yumrepo_core":"1.0.7","module-puppetlabs-zfs_core":"1.2.0","module-puppetlabs-zone_core":"1.0.3"},"7.9.0":{"openssl-1.1.1":"1.1.1k","curl":"7.77.0","puppet-ca-bundle":"1.0.9","ruby-2.7.3":"2.7.3","augeas":"1.12.0","libxml2":"2.9.8","libxslt":"1.1.33","ruby-augeas":"0.5.0","ruby-shadow":"2.5.0","ruby-selinux":"2.9","rubygem-hocon":"1.3.1","rubygem-deep_merge":"1.2.1","rubygem-net-ssh":"4.2.0","rubygem-semantic_puppet":"1.0.4","rubygem-text":"1.3.1","rubygem-locale":"2.1.3","rubygem-gettext":"3.2.2","rubygem-fast_gettext":"1.1.2","rubygem-concurrent-ruby":"1.1.8","rubygem-ffi":"1.13.1","rubygem-multi_json":"1.14.1","rubygem-optimist":"3.0.1","rubygem-highline":"2.0.3","rubygem-hiera-eyaml":"3.2.1","rubygem-thor":"1.1.0","rubygem-scanf":"1.0.0","rubygem-sys-filesystem":"1.3.2","boost":"1.73.0","yaml-cpp":"yaml-cpp-0.6.2","puppet-runtime":"202107010","pxp-agent":"202107050","puppet":"7.9.0","facter":"4.2.2","hiera":"3.7.0","puppet-resource_api":"v1.8.14","shellpath":"2015-09-18","module-puppetlabs-augeas_core":"1.1.2","module-puppetlabs-cron_core":"1.0.5","module-puppetlabs-host_core":"1.0.3","module-puppetlabs-mount_core":"1.0.4","module-puppetlabs-scheduled_task":"1.0.0","module-puppetlabs-selinux_core":"1.1.0","module-puppetlabs-sshkeys_core":"2.2.0","module-puppetlabs-yumrepo_core":"1.0.7","module-puppetlabs-zfs_core":"1.2.0","module-puppetlabs-zone_core":"1.0.3"}}
@@ -3,15 +3,12 @@ require 'facter'
3
3
  require 'facterdb'
4
4
  require 'json'
5
5
 
6
- RSpec.configure do |c|
7
- c.add_setting :default_facter_version, :default => Facter.version
8
- c.add_setting :facterdb_string_keys, :default => false
9
- end
10
-
11
6
  # The purpose of this module is to simplify the Puppet
12
7
  # module's RSpec tests by looping through all supported
13
8
  # OS'es and their facts data which is received from the FacterDB.
14
9
  module RspecPuppetFacts
10
+ FACTS_CACHE = {}
11
+
15
12
  # Use the provided options or the data from the metadata.json file
16
13
  # to find a set of matching facts in the FacterDB.
17
14
  # OS names and facts can be used in the Puppet RSpec tests
@@ -37,22 +34,33 @@ module RspecPuppetFacts
37
34
  opts[:supported_os] ||= RspecPuppetFacts.meta_supported_os
38
35
  opts[:facterversion] ||= RSpec.configuration.default_facter_version
39
36
 
37
+ # This should list all variables that on_supported_os_implementation uses
38
+ cache_key = [
39
+ opts.to_s,
40
+ RspecPuppetFacts.custom_facts.to_s,
41
+ RspecPuppetFacts.spec_facts_os_filter,
42
+ RspecPuppetFacts.spec_facts_strict?,
43
+ ]
44
+
45
+ result = FACTS_CACHE[cache_key] ||= on_supported_os_implementation(opts)
46
+
47
+ # Marshalling is used to get unique instances which is needed for test
48
+ # isolation when facts are overridden.
49
+ Marshal.load(Marshal.dump(result))
50
+ end
51
+
52
+ # The real implementation of on_supported_os.
53
+ #
54
+ # Generating facts is slow - this allows memoization of the facts between
55
+ # multiple calls.
56
+ #
57
+ # @api private
58
+ def on_supported_os_implementation(opts = {})
40
59
  unless (facterversion = opts[:facterversion]) =~ /\A\d+\.\d+(?:\.\d+)*\z/
41
60
  raise ArgumentError, ":facterversion must be in the format 'n.n' or " \
42
61
  "'n.n.n' (n is numeric), not '#{facterversion}'"
43
62
  end
44
63
 
45
- facter_version_filter = RspecPuppetFacts.facter_version_to_filter(facterversion)
46
- db = FacterDB.get_facts({ :facterversion => facter_version_filter })
47
-
48
- version = facterversion
49
- while db.empty? && version !~ /\d+\.0\.\d+/
50
- version = RspecPuppetFacts.down_facter_version(version)
51
- facter_version_filter = RspecPuppetFacts.facter_version_to_filter(version)
52
- db = FacterDB.get_facts({ :facterversion => facter_version_filter})
53
- end
54
-
55
-
56
64
  filter = []
57
65
  opts[:supported_os].map do |os_sup|
58
66
  if os_sup['operatingsystemrelease']
@@ -72,16 +80,19 @@ module RspecPuppetFacts
72
80
  "/^#{operatingsystemmajrelease}-/"
73
81
  end
74
82
  elsif os_sup['operatingsystem'] =~ /Windows/i
75
- hardwaremodel = version =~ /^[12]\./ ? 'x64' : 'x86_64'
83
+ hardwaremodel = facterversion =~ /^[12]\./ ? 'x64' : 'x86_64'
76
84
  os_sup['operatingsystem'] = os_sup['operatingsystem'].downcase
77
85
  operatingsystemmajrelease = operatingsystemmajrelease[/\A(?:Server )?(.+)/i, 1]
78
86
 
79
87
  # force quoting because windows releases can contain spaces
80
88
  os_release_filter = "\"#{operatingsystemmajrelease}\""
81
89
 
82
- if operatingsystemmajrelease == '2016' && Puppet::Util::Package.versioncmp(version, '3.4') < 0
90
+ if operatingsystemmajrelease == '2016' && Puppet::Util::Package.versioncmp(facterversion, '3.4') < 0
83
91
  os_release_filter = '/^10\\.0\\./'
84
92
  end
93
+ elsif os_sup['operatingsystem'] =~ /Amazon/i
94
+ # Tighten the regex for Amazon Linux 2 so that we don't pick up Amazon Linux 2016 or 2017 facts
95
+ os_release_filter = "/^2$/" if operatingsystemmajrelease == '2'
85
96
  end
86
97
 
87
98
  filter << {
@@ -101,6 +112,8 @@ module RspecPuppetFacts
101
112
  end
102
113
  end
103
114
 
115
+ facterversion_obj = Gem::Version.new(facterversion)
116
+
104
117
  # FacterDB may have newer versions of facter data for which it contains a subset of all possible
105
118
  # facter data (see FacterDB 0.5.2 for Facter releases 3.8 and 3.9). In this situation we need to
106
119
  # cycle through and downgrade Facter versions per platform type until we find matching Facter data.
@@ -108,20 +121,19 @@ module RspecPuppetFacts
108
121
  facter_version_filter = RspecPuppetFacts.facter_version_to_filter(facterversion)
109
122
  db = FacterDB.get_facts(filter_spec.merge({ :facterversion => facter_version_filter }))
110
123
 
111
- version = facterversion
112
- while db.empty? && version !~ /\A\d+\.0($|\.\d+)/
113
- version = RspecPuppetFacts.down_facter_version(version)
114
- facter_version_filter = RspecPuppetFacts.facter_version_to_filter(version)
115
- db = FacterDB.get_facts(filter_spec.merge({ :facterversion => facter_version_filter }))
116
- end
124
+ if db.empty?
125
+ if RspecPuppetFacts.spec_facts_strict?
126
+ raise ArgumentError, "No facts were found in the FacterDB for Facter v#{facterversion} on #{filter_spec}, aborting"
127
+ end
117
128
 
118
- next if db.empty?
129
+ version = FacterDB.get_facts(filter_spec).map { |facts| Gem::Version.new(facts[:facterversion]) }.sort.reverse.detect { |v| v <= facterversion_obj }
119
130
 
120
- unless version == facterversion
121
- if RspecPuppetFacts.spec_facts_strict?
122
- raise ArgumentError, "No facts were found in the FacterDB for Facter v#{facterversion}, aborting"
123
- else
124
- RspecPuppetFacts.warning "No facts were found in the FacterDB for Facter v#{facterversion}, using v#{version} instead"
131
+ next unless version
132
+ version = version.to_s
133
+ facter_version_filter = "/\\A#{Regexp.escape(version)}/"
134
+
135
+ unless version == facterversion
136
+ RspecPuppetFacts.warning "No facts were found in the FacterDB for Facter v#{facterversion} on #{filter_spec}, using v#{version} instead"
125
137
  end
126
138
  end
127
139
 
@@ -215,6 +227,13 @@ module RspecPuppetFacts
215
227
  facts
216
228
  end
217
229
 
230
+ # Get custom facts
231
+ # @return [nil,Hash]
232
+ # @api private
233
+ def self.custom_facts
234
+ @custom_facts
235
+ end
236
+
218
237
  # If provided this filter can be used to limit the set
219
238
  # of retrieved facts only to the matched OS names.
220
239
  # The value is being taken from the SPEC_FACTS_OS environment
@@ -336,16 +355,45 @@ module RspecPuppetFacts
336
355
  major, minor = version.split('.')
337
356
  "/\\A#{major}\\.#{minor}\\./"
338
357
  end
339
- # Subtracts from the minor version passed and returns a string representing
340
- # the next minor version down
341
- # @return [String] next version below
342
- # @param version [String] the Facter version
343
- # @param minor_subtractor [int] the value which to subtract by
344
- # @api private
345
- def self.down_facter_version(version, minor_subtractor = 1)
346
- major, minor, z = version.split('.')
347
- z = '0' if z.nil?
348
- minor = (minor.to_i - minor_subtractor).to_s
349
- "#{major}.#{minor}.#{z}"
358
+
359
+ def self.facter_version_for_puppet_version(puppet_version)
360
+ return Facter.version if puppet_version.nil?
361
+
362
+ json_path = File.expand_path(File.join(__dir__, '..', 'ext', 'puppet_agent_components.json'))
363
+ unless File.file?(json_path) && File.readable?(json_path)
364
+ warning "#{json_path} does not exist or is not readable, defaulting to Facter #{Facter.version}"
365
+ return Facter.version
366
+ end
367
+
368
+ fd = File.open(json_path, 'rb:UTF-8')
369
+ data = JSON.parse(fd.read)
370
+
371
+ version_map = data.map { |_, versions|
372
+ if versions['puppet'].nil? || versions['facter'].nil?
373
+ nil
374
+ else
375
+ [Gem::Version.new(versions['puppet']), versions['facter']]
376
+ end
377
+ }.compact
378
+
379
+ puppet_gem_version = Gem::Version.new(puppet_version)
380
+ applicable_versions = version_map.select { |p, _| puppet_gem_version >= p }
381
+ if applicable_versions.empty?
382
+ warning "Unable to find Puppet #{puppet_version} in #{json_path}, defaulting to Facter #{Facter.version}"
383
+ return Facter.version
384
+ end
385
+
386
+ applicable_versions.sort { |a, b| b.first <=> a.first }.first.last
387
+ rescue JSON::ParserError
388
+ warning "#{json_path} contains invalid JSON, defaulting to Facter #{Facter.version}"
389
+ Facter.version
390
+ ensure
391
+ fd.close if fd
350
392
  end
351
393
  end
394
+
395
+ RSpec.configure do |c|
396
+ c.add_setting :default_facter_version,
397
+ :default => RspecPuppetFacts.facter_version_for_puppet_version(Puppet.version)
398
+ c.add_setting :facterdb_string_keys, :default => false
399
+ end
@@ -2,6 +2,6 @@ module RspecPuppetFacts
2
2
  # This module contains the current version constant
3
3
  module Version
4
4
  # The current version of this gem
5
- STRING = '1.9.6'
5
+ STRING = '2.0.2'
6
6
  end
7
7
  end
@@ -1,32 +1,30 @@
1
- # -*- encoding: utf-8 -*-
1
+ # frozen_string_literal: true
2
2
 
3
- $LOAD_PATH.unshift File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift File.expand_path('lib', __dir__)
4
4
  require 'rspec-puppet-facts/version'
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = 'rspec-puppet-facts'
8
8
  s.version = RspecPuppetFacts::Version::STRING
9
- s.authors = ['Mickaël Canévet']
10
- s.email = ['mickael.canevet@camptocamp.com']
11
- s.homepage = 'http://github.com/mcanevet/rspec-puppet-facts'
9
+ s.authors = ['Vox Pupuli']
10
+ s.email = ['voxpupuli@groups.io']
11
+ s.homepage = 'http://github.com/voxpupuli/rspec-puppet-facts'
12
12
  s.summary = 'Standard facts fixtures for Puppet'
13
13
  s.description = 'Contains facts from many Facter version on many Operating Systems'
14
14
  s.licenses = 'Apache-2.0'
15
15
 
16
16
  # see .travis.yml for the supported ruby versions
17
- s.required_ruby_version = '>= 2.1.0'
17
+ s.required_ruby_version = '>= 2.4.0'
18
18
 
19
19
  s.files = `git ls-files`.split("\n")
20
20
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
21
21
  s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
22
22
 
23
23
  s.add_development_dependency 'mime-types'
24
- s.add_development_dependency 'coveralls'
25
24
  s.add_development_dependency 'rake'
26
25
  s.add_development_dependency 'rspec'
27
26
  s.add_development_dependency 'yard'
28
27
  s.add_runtime_dependency 'puppet'
29
- s.add_runtime_dependency 'json'
30
28
  s.add_runtime_dependency 'facter'
31
29
  s.add_runtime_dependency 'facterdb', '>= 0.5.0'
32
30
  end
@@ -1,11 +1,133 @@
1
1
  require 'spec_helper'
2
2
  require 'json'
3
+ require 'stringio'
3
4
 
4
5
  describe RspecPuppetFacts do
5
6
  let(:metadata_file) do
6
7
  'spec/fixtures/metadata.json'
7
8
  end
8
9
 
10
+ describe '.facter_version_for_puppet_version' do
11
+ subject(:facter_version) do
12
+ described_class.facter_version_for_puppet_version(puppet_version)
13
+ end
14
+
15
+ let(:component_json_path) do
16
+ File.expand_path(File.join(__dir__, '..', 'ext', 'puppet_agent_components.json'))
17
+ end
18
+
19
+ let(:puppet_version) { Puppet.version }
20
+
21
+ context 'when the component JSON file does not exist' do
22
+ before(:each) do
23
+ allow(File).to receive(:file?).with(component_json_path).and_return(false)
24
+ allow(described_class).to receive(:warning)
25
+ end
26
+
27
+ it 'defaults to the currently installed Facter version' do
28
+ expect(facter_version).to eq(Facter.version)
29
+ end
30
+
31
+ it 'warns the user' do
32
+ msg = /does not exist or is not readable, defaulting to/i
33
+ expect(described_class).to receive(:warning).with(a_string_matching(msg))
34
+ facter_version
35
+ end
36
+ end
37
+
38
+ context 'when the component JSON file is unreadable' do
39
+ before(:each) do
40
+ allow(File).to receive(:readable?).with(component_json_path).and_return(false)
41
+ allow(described_class).to receive(:warning)
42
+ end
43
+
44
+ it 'defaults to the currently installed Facter version' do
45
+ expect(facter_version).to eq(Facter.version)
46
+ end
47
+
48
+ it 'warns the user' do
49
+ msg = /does not exist or is not readable, defaulting to/i
50
+ expect(described_class).to receive(:warning).with(a_string_matching(msg))
51
+ facter_version
52
+ end
53
+ end
54
+
55
+ context 'when the component JSON file is unparseable' do
56
+ before(:each) do
57
+ io = StringIO.new('this is not JSON!')
58
+ allow(File).to receive(:open).with(component_json_path, anything).and_return(io)
59
+ allow(described_class).to receive(:warning)
60
+ end
61
+
62
+ it 'defaults to the currently installed Facter version' do
63
+ expect(facter_version).to eq(Facter.version)
64
+ end
65
+
66
+ it 'warns the user' do
67
+ msg = /contains invalid json, defaulting to/i
68
+ expect(described_class).to receive(:warning).with(a_string_matching(msg))
69
+ facter_version
70
+ end
71
+ end
72
+
73
+ context 'when the passed puppet_version is nil' do
74
+ let(:puppet_version) { nil }
75
+
76
+ it 'defaults to the currently installed Facter version' do
77
+ expect(facter_version).to eq(Facter.version)
78
+ end
79
+ end
80
+
81
+ context 'when passed a Puppet version greater than any known version' do
82
+ let(:puppet_version) { '999.0.0' }
83
+
84
+ it 'returns the Facter version for the highest known Puppet version' do
85
+ known_facter_versions = JSON.parse(File.read(component_json_path)).map do |_, r|
86
+ r['facter']
87
+ end
88
+ sorted_facter_versions = known_facter_versions.compact.sort do |a, b|
89
+ Gem::Version.new(b) <=> Gem::Version.new(a)
90
+ end
91
+
92
+ expect(facter_version).to eq(sorted_facter_versions.first)
93
+ end
94
+ end
95
+
96
+ context 'when passed a known Puppet version' do
97
+ let(:puppet_version) { '5.2.0' }
98
+
99
+ it 'returns the Facter version for that Puppet version' do
100
+ expect(facter_version).to eq('3.9.0')
101
+ end
102
+ end
103
+
104
+ context 'when passed a Puppet version between two known versions' do
105
+ let(:puppet_version) { '5.2.5' }
106
+
107
+ it 'returns the Facter version for the lower Puppet version' do
108
+ expect(facter_version).to eq('3.9.0')
109
+ end
110
+ end
111
+
112
+ context 'when passed a Puppet version lower than any known version' do
113
+ let(:puppet_version) { '1.0.0' }
114
+
115
+ before(:each) do
116
+ allow(described_class).to receive(:warning)
117
+ end
118
+
119
+ it 'returns the currently installed Facter version' do
120
+ expect(facter_version).to eq(Facter.version)
121
+ end
122
+
123
+ it 'warns the user' do
124
+ msg = /unable to find puppet #{Regexp.escape(puppet_version)}.+?, defaulting to/i
125
+ expect(described_class).to receive(:warning).with(a_string_matching(msg))
126
+ facter_version
127
+ end
128
+ end
129
+ end
130
+
9
131
  describe '#on_supported_os' do
10
132
  context 'With RSpec.configuration.facterdb_string_keys' do
11
133
  subject(:result) do
@@ -368,16 +490,19 @@ describe RspecPuppetFacts do
368
490
  'operatingsystemrelease' => release,
369
491
  }
370
492
  ],
493
+ :facterversion => facterversion,
371
494
  }
372
495
  )
373
496
  end
374
497
 
498
+ let(:facterversion) { '3.8.0' }
499
+
375
500
  context 'with a standard release' do
376
501
  let(:release) { ['7'] }
377
502
 
378
503
  it { is_expected.to be_a(Hash) }
379
504
  it { is_expected.to have_attributes(:size => 1) }
380
- it { is_expected.to include('windows-7-x64' => an_instance_of(Hash)) }
505
+ it { is_expected.to include('windows-7-x86_64' => an_instance_of(Hash)) }
381
506
  end
382
507
 
383
508
  context 'with a revision release' do
@@ -385,7 +510,7 @@ describe RspecPuppetFacts do
385
510
 
386
511
  it { is_expected.to be_a(Hash) }
387
512
  it { is_expected.to have_attributes(:size => 1) }
388
- it { is_expected.to include('windows-2012 R2-x64' => an_instance_of(Hash)) }
513
+ it { is_expected.to include('windows-2012 R2-x86_64' => an_instance_of(Hash)) }
389
514
  end
390
515
 
391
516
  context 'with a Server prefixed release' do
@@ -393,7 +518,7 @@ describe RspecPuppetFacts do
393
518
 
394
519
  it { is_expected.to be_a(Hash) }
395
520
  it { is_expected.to have_attributes(:size => 1) }
396
- it { is_expected.to include('windows-2012-x64' => an_instance_of(Hash)) }
521
+ it { is_expected.to include('windows-2012-x86_64' => an_instance_of(Hash)) }
397
522
  end
398
523
 
399
524
  context 'with a 2016 release' do
@@ -401,7 +526,18 @@ describe RspecPuppetFacts do
401
526
 
402
527
  it { is_expected.to be_a(Hash) }
403
528
  it { is_expected.to have_attributes(:size => 1) }
404
- it { is_expected.to include('windows-2016-x64' => an_instance_of(Hash)) }
529
+ it { is_expected.to include('windows-2016-x86_64' => an_instance_of(Hash)) }
530
+ end
531
+
532
+ context 'with a 2016 release and Facter < 3.4' do
533
+ let(:release) { ['2016'] }
534
+ let(:facterversion) { '3.3.0' }
535
+
536
+ it { is_expected.to be_a(Hash) }
537
+ it { is_expected.to have_attributes(:size => 1) }
538
+ it 'munges the operatingsystemmajrelease to 2016' do
539
+ is_expected.to include('windows-2016-x86_64' => an_instance_of(Hash))
540
+ end
405
541
  end
406
542
  end
407
543
 
@@ -523,25 +659,6 @@ describe RspecPuppetFacts do
523
659
  end
524
660
  end
525
661
 
526
- context 'Without a custom facterversion in the options hash' do
527
- subject do
528
- on_supported_os(
529
- supported_os: [
530
- { 'operatingsystem' => 'CentOS', 'operatingsystemrelease' => %w[7] }
531
- ]
532
- )
533
- end
534
-
535
- it 'returns facts from the loaded facter version' do
536
- facter_version = Facter.version.split('.')
537
- is_expected.to match(
538
- 'centos-7-x86_64' => include(
539
- :facterversion => /\A#{facter_version[0]}\.#{facter_version[1]}\./
540
- )
541
- )
542
- end
543
- end
544
-
545
662
  context 'With a default Facter version specified in the RSpec configuration' do
546
663
  before(:each) do
547
664
  RSpec.configuration.default_facter_version = '3.1.0'
@@ -669,6 +786,23 @@ describe RspecPuppetFacts do
669
786
  end
670
787
  end
671
788
 
789
+ context 'When querying a fact set that does not have an operatingsystemmajrelease fact' do
790
+ subject do
791
+ on_supported_os(
792
+ supported_os: [
793
+ { 'operatingsystem' => 'SLES', 'operatingsystemrelease' => ['11'] }
794
+ ],
795
+ facterversion: '2.1.0'
796
+ )
797
+ end
798
+
799
+ it 'splits the operatingsystemrelease fact value to get the major release' do
800
+ is_expected.to match(
801
+ 'sles-11-x86_64' => include(:operatingsystemrelease => '11.3')
802
+ )
803
+ end
804
+ end
805
+
672
806
  context 'With an invalid facterversion in the options hash' do
673
807
  let(:method_call) do
674
808
  on_supported_os(
@@ -883,17 +1017,4 @@ describe RspecPuppetFacts do
883
1017
  end
884
1018
  end
885
1019
  end
886
-
887
- describe '.down_facter_version' do
888
- context 'with MAJOR.MINOR.PATCH version' do
889
- it 'decrements MINOR version' do
890
- expect(RspecPuppetFacts.down_facter_version('3.5.5')).to eq '3.4.5'
891
- end
892
- end
893
- context 'with MAJOR.MINOR version' do
894
- it 'decrements MINOR version and sets PATCH to \'0\'' do
895
- expect(RspecPuppetFacts.down_facter_version('3.5')).to eq '3.4.0'
896
- end
897
- end
898
- end
899
1020
  end