puppet-retrospec 0.7.0 → 0.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1258) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +7 -3
  3. data/README.md +8 -0
  4. data/VERSION +1 -1
  5. data/bin/retrospec +7 -0
  6. data/lib/retrospec.rb +1 -0
  7. data/lib/retrospec/helpers.rb +1 -1
  8. data/lib/retrospec/version.rb +2 -2
  9. data/puppet-retrospec.gemspec +1268 -9
  10. data/vendor/gems/puppet-3.7.3/COMMITTERS.md +244 -0
  11. data/vendor/gems/puppet-3.7.3/CONTRIBUTING.md +91 -0
  12. data/vendor/gems/puppet-3.7.3/Gemfile +102 -0
  13. data/vendor/gems/puppet-3.7.3/LICENSE +17 -0
  14. data/vendor/gems/puppet-3.7.3/README.md +76 -0
  15. data/vendor/gems/puppet-3.7.3/Rakefile +68 -0
  16. data/vendor/gems/puppet-3.7.3/bin/extlookup2hiera +56 -0
  17. data/vendor/gems/puppet-3.7.3/bin/puppet +8 -0
  18. data/vendor/gems/puppet-3.7.3/conf/auth.conf +120 -0
  19. data/vendor/gems/puppet-3.7.3/conf/fileserver.conf +42 -0
  20. data/vendor/gems/puppet-3.7.3/conf/tagmail.conf +16 -0
  21. data/vendor/gems/puppet-3.7.3/install.rb +429 -0
  22. data/vendor/gems/puppet-3.7.3/lib/hiera/backend/puppet_backend.rb +103 -0
  23. data/vendor/gems/puppet-3.7.3/lib/hiera/scope.rb +60 -0
  24. data/vendor/gems/puppet-3.7.3/lib/hiera_puppet.rb +87 -0
  25. data/vendor/gems/puppet-3.7.3/lib/puppet.rb +277 -0
  26. data/vendor/gems/puppet-3.7.3/lib/puppet/agent.rb +121 -0
  27. data/vendor/gems/puppet-3.7.3/lib/puppet/agent/disabler.rb +53 -0
  28. data/vendor/gems/puppet-3.7.3/lib/puppet/agent/locker.rb +43 -0
  29. data/vendor/gems/puppet-3.7.3/lib/puppet/application.rb +513 -0
  30. data/vendor/gems/puppet-3.7.3/lib/puppet/application/agent.rb +480 -0
  31. data/vendor/gems/puppet-3.7.3/lib/puppet/application/apply.rb +299 -0
  32. data/vendor/gems/puppet-3.7.3/lib/puppet/application/ca.rb +5 -0
  33. data/vendor/gems/puppet-3.7.3/lib/puppet/application/catalog.rb +4 -0
  34. data/vendor/gems/puppet-3.7.3/lib/puppet/application/cert.rb +277 -0
  35. data/vendor/gems/puppet-3.7.3/lib/puppet/application/certificate.rb +15 -0
  36. data/vendor/gems/puppet-3.7.3/lib/puppet/application/certificate_request.rb +7 -0
  37. data/vendor/gems/puppet-3.7.3/lib/puppet/application/certificate_revocation_list.rb +7 -0
  38. data/vendor/gems/puppet-3.7.3/lib/puppet/application/config.rb +4 -0
  39. data/vendor/gems/puppet-3.7.3/lib/puppet/application/describe.rb +254 -0
  40. data/vendor/gems/puppet-3.7.3/lib/puppet/application/device.rb +238 -0
  41. data/vendor/gems/puppet-3.7.3/lib/puppet/application/doc.rb +273 -0
  42. data/vendor/gems/puppet-3.7.3/lib/puppet/application/face_base.rb +250 -0
  43. data/vendor/gems/puppet-3.7.3/lib/puppet/application/facts.rb +4 -0
  44. data/vendor/gems/puppet-3.7.3/lib/puppet/application/file.rb +4 -0
  45. data/vendor/gems/puppet-3.7.3/lib/puppet/application/filebucket.rb +184 -0
  46. data/vendor/gems/puppet-3.7.3/lib/puppet/application/help.rb +4 -0
  47. data/vendor/gems/puppet-3.7.3/lib/puppet/application/indirection_base.rb +4 -0
  48. data/vendor/gems/puppet-3.7.3/lib/puppet/application/inspect.rb +179 -0
  49. data/vendor/gems/puppet-3.7.3/lib/puppet/application/instrumentation_data.rb +7 -0
  50. data/vendor/gems/puppet-3.7.3/lib/puppet/application/instrumentation_listener.rb +7 -0
  51. data/vendor/gems/puppet-3.7.3/lib/puppet/application/instrumentation_probe.rb +7 -0
  52. data/vendor/gems/puppet-3.7.3/lib/puppet/application/key.rb +4 -0
  53. data/vendor/gems/puppet-3.7.3/lib/puppet/application/kick.rb +351 -0
  54. data/vendor/gems/puppet-3.7.3/lib/puppet/application/man.rb +4 -0
  55. data/vendor/gems/puppet-3.7.3/lib/puppet/application/master.rb +304 -0
  56. data/vendor/gems/puppet-3.7.3/lib/puppet/application/module.rb +4 -0
  57. data/vendor/gems/puppet-3.7.3/lib/puppet/application/node.rb +4 -0
  58. data/vendor/gems/puppet-3.7.3/lib/puppet/application/parser.rb +5 -0
  59. data/vendor/gems/puppet-3.7.3/lib/puppet/application/plugin.rb +3 -0
  60. data/vendor/gems/puppet-3.7.3/lib/puppet/application/queue.rb +161 -0
  61. data/vendor/gems/puppet-3.7.3/lib/puppet/application/report.rb +4 -0
  62. data/vendor/gems/puppet-3.7.3/lib/puppet/application/resource.rb +228 -0
  63. data/vendor/gems/puppet-3.7.3/lib/puppet/application/resource_type.rb +7 -0
  64. data/vendor/gems/puppet-3.7.3/lib/puppet/application/secret_agent.rb +9 -0
  65. data/vendor/gems/puppet-3.7.3/lib/puppet/application/status.rb +4 -0
  66. data/vendor/gems/puppet-3.7.3/lib/puppet/bindings.rb +147 -0
  67. data/vendor/gems/puppet-3.7.3/lib/puppet/coercion.rb +40 -0
  68. data/vendor/gems/puppet-3.7.3/lib/puppet/configurer.rb +305 -0
  69. data/vendor/gems/puppet-3.7.3/lib/puppet/configurer/downloader.rb +66 -0
  70. data/vendor/gems/puppet-3.7.3/lib/puppet/configurer/downloader_factory.rb +34 -0
  71. data/vendor/gems/puppet-3.7.3/lib/puppet/configurer/fact_handler.rb +37 -0
  72. data/vendor/gems/puppet-3.7.3/lib/puppet/configurer/plugin_handler.rb +23 -0
  73. data/vendor/gems/puppet-3.7.3/lib/puppet/confine.rb +80 -0
  74. data/vendor/gems/puppet-3.7.3/lib/puppet/confine/any.rb +26 -0
  75. data/vendor/gems/puppet-3.7.3/lib/puppet/confine/exists.rb +19 -0
  76. data/vendor/gems/puppet-3.7.3/lib/puppet/confine/false.rb +19 -0
  77. data/vendor/gems/puppet-3.7.3/lib/puppet/confine/feature.rb +17 -0
  78. data/vendor/gems/puppet-3.7.3/lib/puppet/confine/true.rb +20 -0
  79. data/vendor/gems/puppet-3.7.3/lib/puppet/confine/variable.rb +59 -0
  80. data/vendor/gems/puppet-3.7.3/lib/puppet/confine_collection.rb +50 -0
  81. data/vendor/gems/puppet-3.7.3/lib/puppet/confiner.rb +46 -0
  82. data/vendor/gems/puppet-3.7.3/lib/puppet/context.rb +101 -0
  83. data/vendor/gems/puppet-3.7.3/lib/puppet/context/trusted_information.rb +56 -0
  84. data/vendor/gems/puppet-3.7.3/lib/puppet/daemon.rb +182 -0
  85. data/vendor/gems/puppet-3.7.3/lib/puppet/data_binding.rb +12 -0
  86. data/vendor/gems/puppet-3.7.3/lib/puppet/defaults.rb +2084 -0
  87. data/vendor/gems/puppet-3.7.3/lib/puppet/dsl.rb +7 -0
  88. data/vendor/gems/puppet-3.7.3/lib/puppet/dsl/resource_api.rb +120 -0
  89. data/vendor/gems/puppet-3.7.3/lib/puppet/dsl/resource_type_api.rb +34 -0
  90. data/vendor/gems/puppet-3.7.3/lib/puppet/environments.rb +434 -0
  91. data/vendor/gems/puppet-3.7.3/lib/puppet/error.rb +62 -0
  92. data/vendor/gems/puppet-3.7.3/lib/puppet/external/dot.rb +326 -0
  93. data/vendor/gems/puppet-3.7.3/lib/puppet/external/nagios.rb +46 -0
  94. data/vendor/gems/puppet-3.7.3/lib/puppet/external/nagios/base.rb +472 -0
  95. data/vendor/gems/puppet-3.7.3/lib/puppet/external/nagios/grammar.ry +248 -0
  96. data/vendor/gems/puppet-3.7.3/lib/puppet/external/nagios/makefile +9 -0
  97. data/vendor/gems/puppet-3.7.3/lib/puppet/external/nagios/parser.rb +400 -0
  98. data/vendor/gems/puppet-3.7.3/lib/puppet/external/pson/common.rb +385 -0
  99. data/vendor/gems/puppet-3.7.3/lib/puppet/external/pson/pure.rb +15 -0
  100. data/vendor/gems/puppet-3.7.3/lib/puppet/external/pson/pure/generator.rb +394 -0
  101. data/vendor/gems/puppet-3.7.3/lib/puppet/external/pson/pure/parser.rb +318 -0
  102. data/vendor/gems/puppet-3.7.3/lib/puppet/external/pson/version.rb +8 -0
  103. data/vendor/gems/puppet-3.7.3/lib/puppet/face.rb +12 -0
  104. data/vendor/gems/puppet-3.7.3/lib/puppet/face/ca.rb +254 -0
  105. data/vendor/gems/puppet-3.7.3/lib/puppet/face/catalog.rb +130 -0
  106. data/vendor/gems/puppet-3.7.3/lib/puppet/face/catalog/select.rb +49 -0
  107. data/vendor/gems/puppet-3.7.3/lib/puppet/face/certificate.rb +160 -0
  108. data/vendor/gems/puppet-3.7.3/lib/puppet/face/certificate_request.rb +53 -0
  109. data/vendor/gems/puppet-3.7.3/lib/puppet/face/certificate_revocation_list.rb +58 -0
  110. data/vendor/gems/puppet-3.7.3/lib/puppet/face/config.rb +119 -0
  111. data/vendor/gems/puppet-3.7.3/lib/puppet/face/facts.rb +81 -0
  112. data/vendor/gems/puppet-3.7.3/lib/puppet/face/file.rb +47 -0
  113. data/vendor/gems/puppet-3.7.3/lib/puppet/face/file/download.rb +57 -0
  114. data/vendor/gems/puppet-3.7.3/lib/puppet/face/file/store.rb +21 -0
  115. data/vendor/gems/puppet-3.7.3/lib/puppet/face/help.rb +194 -0
  116. data/vendor/gems/puppet-3.7.3/lib/puppet/face/help/action.erb +86 -0
  117. data/vendor/gems/puppet-3.7.3/lib/puppet/face/help/face.erb +111 -0
  118. data/vendor/gems/puppet-3.7.3/lib/puppet/face/help/global.erb +16 -0
  119. data/vendor/gems/puppet-3.7.3/lib/puppet/face/help/man.erb +152 -0
  120. data/vendor/gems/puppet-3.7.3/lib/puppet/face/instrumentation_data.rb +30 -0
  121. data/vendor/gems/puppet-3.7.3/lib/puppet/face/instrumentation_listener.rb +98 -0
  122. data/vendor/gems/puppet-3.7.3/lib/puppet/face/instrumentation_probe.rb +79 -0
  123. data/vendor/gems/puppet-3.7.3/lib/puppet/face/key.rb +15 -0
  124. data/vendor/gems/puppet-3.7.3/lib/puppet/face/man.rb +99 -0
  125. data/vendor/gems/puppet-3.7.3/lib/puppet/face/module.rb +19 -0
  126. data/vendor/gems/puppet-3.7.3/lib/puppet/face/module/build.rb +63 -0
  127. data/vendor/gems/puppet-3.7.3/lib/puppet/face/module/changes.rb +41 -0
  128. data/vendor/gems/puppet-3.7.3/lib/puppet/face/module/generate.rb +251 -0
  129. data/vendor/gems/puppet-3.7.3/lib/puppet/face/module/install.rb +145 -0
  130. data/vendor/gems/puppet-3.7.3/lib/puppet/face/module/list.rb +275 -0
  131. data/vendor/gems/puppet-3.7.3/lib/puppet/face/module/search.rb +94 -0
  132. data/vendor/gems/puppet-3.7.3/lib/puppet/face/module/uninstall.rb +78 -0
  133. data/vendor/gems/puppet-3.7.3/lib/puppet/face/module/upgrade.rb +86 -0
  134. data/vendor/gems/puppet-3.7.3/lib/puppet/face/node.rb +43 -0
  135. data/vendor/gems/puppet-3.7.3/lib/puppet/face/node/clean.rb +159 -0
  136. data/vendor/gems/puppet-3.7.3/lib/puppet/face/parser.rb +160 -0
  137. data/vendor/gems/puppet-3.7.3/lib/puppet/face/plugin.rb +65 -0
  138. data/vendor/gems/puppet-3.7.3/lib/puppet/face/report.rb +54 -0
  139. data/vendor/gems/puppet-3.7.3/lib/puppet/face/resource.rb +53 -0
  140. data/vendor/gems/puppet-3.7.3/lib/puppet/face/resource_type.rb +81 -0
  141. data/vendor/gems/puppet-3.7.3/lib/puppet/face/secret_agent.rb +54 -0
  142. data/vendor/gems/puppet-3.7.3/lib/puppet/face/status.rb +53 -0
  143. data/vendor/gems/puppet-3.7.3/lib/puppet/feature/base.rb +94 -0
  144. data/vendor/gems/puppet-3.7.3/lib/puppet/feature/cfacter.rb +14 -0
  145. data/vendor/gems/puppet-3.7.3/lib/puppet/feature/eventlog.rb +5 -0
  146. data/vendor/gems/puppet-3.7.3/lib/puppet/feature/external_facts.rb +5 -0
  147. data/vendor/gems/puppet-3.7.3/lib/puppet/feature/libuser.rb +8 -0
  148. data/vendor/gems/puppet-3.7.3/lib/puppet/feature/msgpack.rb +3 -0
  149. data/vendor/gems/puppet-3.7.3/lib/puppet/feature/pe_license.rb +4 -0
  150. data/vendor/gems/puppet-3.7.3/lib/puppet/feature/pson.rb +4 -0
  151. data/vendor/gems/puppet-3.7.3/lib/puppet/feature/rack.rb +19 -0
  152. data/vendor/gems/puppet-3.7.3/lib/puppet/feature/rails.rb +47 -0
  153. data/vendor/gems/puppet-3.7.3/lib/puppet/feature/rdoc1.rb +16 -0
  154. data/vendor/gems/puppet-3.7.3/lib/puppet/feature/rubygems.rb +7 -0
  155. data/vendor/gems/puppet-3.7.3/lib/puppet/feature/selinux.rb +3 -0
  156. data/vendor/gems/puppet-3.7.3/lib/puppet/feature/ssh.rb +3 -0
  157. data/vendor/gems/puppet-3.7.3/lib/puppet/feature/stomp.rb +5 -0
  158. data/vendor/gems/puppet-3.7.3/lib/puppet/feature/zlib.rb +5 -0
  159. data/vendor/gems/puppet-3.7.3/lib/puppet/file_bucket.rb +4 -0
  160. data/vendor/gems/puppet-3.7.3/lib/puppet/file_bucket/dipper.rb +119 -0
  161. data/vendor/gems/puppet-3.7.3/lib/puppet/file_bucket/file.rb +157 -0
  162. data/vendor/gems/puppet-3.7.3/lib/puppet/file_collection.rb +19 -0
  163. data/vendor/gems/puppet-3.7.3/lib/puppet/file_collection/lookup.rb +10 -0
  164. data/vendor/gems/puppet-3.7.3/lib/puppet/file_serving.rb +3 -0
  165. data/vendor/gems/puppet-3.7.3/lib/puppet/file_serving/base.rb +95 -0
  166. data/vendor/gems/puppet-3.7.3/lib/puppet/file_serving/configuration.rb +109 -0
  167. data/vendor/gems/puppet-3.7.3/lib/puppet/file_serving/configuration/parser.rb +121 -0
  168. data/vendor/gems/puppet-3.7.3/lib/puppet/file_serving/content.rb +45 -0
  169. data/vendor/gems/puppet-3.7.3/lib/puppet/file_serving/fileset.rb +172 -0
  170. data/vendor/gems/puppet-3.7.3/lib/puppet/file_serving/metadata.rb +199 -0
  171. data/vendor/gems/puppet-3.7.3/lib/puppet/file_serving/mount.rb +39 -0
  172. data/vendor/gems/puppet-3.7.3/lib/puppet/file_serving/mount/file.rb +121 -0
  173. data/vendor/gems/puppet-3.7.3/lib/puppet/file_serving/mount/modules.rb +24 -0
  174. data/vendor/gems/puppet-3.7.3/lib/puppet/file_serving/mount/pluginfacts.rb +35 -0
  175. data/vendor/gems/puppet-3.7.3/lib/puppet/file_serving/mount/plugins.rb +35 -0
  176. data/vendor/gems/puppet-3.7.3/lib/puppet/file_serving/terminus_helper.rb +21 -0
  177. data/vendor/gems/puppet-3.7.3/lib/puppet/file_serving/terminus_selector.rb +30 -0
  178. data/vendor/gems/puppet-3.7.3/lib/puppet/file_system.rb +366 -0
  179. data/vendor/gems/puppet-3.7.3/lib/puppet/file_system/file18.rb +5 -0
  180. data/vendor/gems/puppet-3.7.3/lib/puppet/file_system/file19.rb +46 -0
  181. data/vendor/gems/puppet-3.7.3/lib/puppet/file_system/file19windows.rb +107 -0
  182. data/vendor/gems/puppet-3.7.3/lib/puppet/file_system/file_impl.rb +145 -0
  183. data/vendor/gems/puppet-3.7.3/lib/puppet/file_system/memory_file.rb +71 -0
  184. data/vendor/gems/puppet-3.7.3/lib/puppet/file_system/memory_impl.rb +78 -0
  185. data/vendor/gems/puppet-3.7.3/lib/puppet/file_system/path_pattern.rb +97 -0
  186. data/vendor/gems/puppet-3.7.3/lib/puppet/file_system/uniquefile.rb +190 -0
  187. data/vendor/gems/puppet-3.7.3/lib/puppet/forge.rb +226 -0
  188. data/vendor/gems/puppet-3.7.3/lib/puppet/forge/cache.rb +59 -0
  189. data/vendor/gems/puppet-3.7.3/lib/puppet/forge/errors.rb +112 -0
  190. data/vendor/gems/puppet-3.7.3/lib/puppet/forge/repository.rb +182 -0
  191. data/vendor/gems/puppet-3.7.3/lib/puppet/functions.rb +555 -0
  192. data/vendor/gems/puppet-3.7.3/lib/puppet/functions/assert_type.rb +59 -0
  193. data/vendor/gems/puppet-3.7.3/lib/puppet/functions/each.rb +111 -0
  194. data/vendor/gems/puppet-3.7.3/lib/puppet/functions/epp.rb +54 -0
  195. data/vendor/gems/puppet-3.7.3/lib/puppet/functions/filter.rb +113 -0
  196. data/vendor/gems/puppet-3.7.3/lib/puppet/functions/import.rb +7 -0
  197. data/vendor/gems/puppet-3.7.3/lib/puppet/functions/inline_epp.rb +88 -0
  198. data/vendor/gems/puppet-3.7.3/lib/puppet/functions/map.rb +97 -0
  199. data/vendor/gems/puppet-3.7.3/lib/puppet/functions/match.rb +102 -0
  200. data/vendor/gems/puppet-3.7.3/lib/puppet/functions/reduce.rb +94 -0
  201. data/vendor/gems/puppet-3.7.3/lib/puppet/functions/slice.rb +126 -0
  202. data/vendor/gems/puppet-3.7.3/lib/puppet/functions/with.rb +23 -0
  203. data/vendor/gems/puppet-3.7.3/lib/puppet/graph.rb +11 -0
  204. data/vendor/gems/puppet-3.7.3/lib/puppet/graph/key.rb +26 -0
  205. data/vendor/gems/puppet-3.7.3/lib/puppet/graph/prioritizer.rb +29 -0
  206. data/vendor/gems/puppet-3.7.3/lib/puppet/graph/random_prioritizer.rb +16 -0
  207. data/vendor/gems/puppet-3.7.3/lib/puppet/graph/rb_tree_map.rb +388 -0
  208. data/vendor/gems/puppet-3.7.3/lib/puppet/graph/relationship_graph.rb +246 -0
  209. data/vendor/gems/puppet-3.7.3/lib/puppet/graph/sequential_prioritizer.rb +31 -0
  210. data/vendor/gems/puppet-3.7.3/lib/puppet/graph/simple_graph.rb +566 -0
  211. data/vendor/gems/puppet-3.7.3/lib/puppet/graph/title_hash_prioritizer.rb +16 -0
  212. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector.rb +61 -0
  213. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/active_record.rb +29 -0
  214. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/catalog/active_record.rb +39 -0
  215. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/catalog/compiler.rb +182 -0
  216. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/catalog/json.rb +6 -0
  217. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/catalog/msgpack.rb +6 -0
  218. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/catalog/queue.rb +9 -0
  219. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/catalog/rest.rb +6 -0
  220. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/catalog/static_compiler.rb +214 -0
  221. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/catalog/store_configs.rb +8 -0
  222. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/catalog/yaml.rb +22 -0
  223. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/certificate/ca.rb +9 -0
  224. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/certificate/disabled_ca.rb +22 -0
  225. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/certificate/file.rb +9 -0
  226. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/certificate/rest.rb +16 -0
  227. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/certificate_request/ca.rb +22 -0
  228. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/certificate_request/disabled_ca.rb +22 -0
  229. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/certificate_request/file.rb +8 -0
  230. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/certificate_request/memory.rb +6 -0
  231. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/certificate_request/rest.rb +10 -0
  232. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/certificate_revocation_list/ca.rb +8 -0
  233. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/certificate_revocation_list/disabled_ca.rb +22 -0
  234. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/certificate_revocation_list/file.rb +8 -0
  235. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/certificate_revocation_list/rest.rb +10 -0
  236. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/certificate_status.rb +4 -0
  237. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/certificate_status/file.rb +91 -0
  238. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/certificate_status/rest.rb +11 -0
  239. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/code.rb +6 -0
  240. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/couch.rb +78 -0
  241. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/data_binding/hiera.rb +7 -0
  242. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/data_binding/none.rb +5 -0
  243. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/direct_file_server.rb +19 -0
  244. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/envelope.rb +11 -0
  245. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/errors.rb +5 -0
  246. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/exec.rb +38 -0
  247. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/face.rb +139 -0
  248. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/facts/active_record.rb +44 -0
  249. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/facts/couch.rb +36 -0
  250. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/facts/facter.rb +78 -0
  251. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/facts/inventory_active_record.rb +110 -0
  252. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/facts/inventory_service.rb +20 -0
  253. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/facts/memory.rb +9 -0
  254. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/facts/network_device.rb +24 -0
  255. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/facts/rest.rb +8 -0
  256. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/facts/store_configs.rb +8 -0
  257. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/facts/yaml.rb +82 -0
  258. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/file_bucket_file/file.rb +142 -0
  259. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/file_bucket_file/rest.rb +8 -0
  260. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/file_bucket_file/selector.rb +53 -0
  261. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/file_content.rb +5 -0
  262. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/file_content/file.rb +7 -0
  263. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/file_content/file_server.rb +7 -0
  264. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/file_content/rest.rb +9 -0
  265. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/file_content/selector.rb +30 -0
  266. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/file_metadata.rb +5 -0
  267. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/file_metadata/file.rb +22 -0
  268. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/file_metadata/file_server.rb +7 -0
  269. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/file_metadata/rest.rb +9 -0
  270. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/file_metadata/selector.rb +30 -0
  271. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/file_server.rb +65 -0
  272. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/hiera.rb +48 -0
  273. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/indirection.rb +336 -0
  274. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/instrumentation_data.rb +3 -0
  275. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/instrumentation_data/local.rb +22 -0
  276. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/instrumentation_data/rest.rb +8 -0
  277. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/instrumentation_listener.rb +3 -0
  278. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/instrumentation_listener/local.rb +26 -0
  279. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/instrumentation_listener/rest.rb +8 -0
  280. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/instrumentation_probe.rb +3 -0
  281. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/instrumentation_probe/local.rb +27 -0
  282. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/instrumentation_probe/rest.rb +8 -0
  283. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/json.rb +76 -0
  284. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/key/ca.rb +16 -0
  285. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/key/disabled_ca.rb +22 -0
  286. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/key/file.rb +49 -0
  287. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/key/memory.rb +6 -0
  288. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/ldap.rb +79 -0
  289. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/memory.rb +34 -0
  290. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/msgpack.rb +82 -0
  291. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/node/active_record.rb +22 -0
  292. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/node/exec.rb +69 -0
  293. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/node/ldap.rb +257 -0
  294. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/node/memory.rb +10 -0
  295. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/node/msgpack.rb +7 -0
  296. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/node/plain.rb +20 -0
  297. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/node/rest.rb +7 -0
  298. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/node/store_configs.rb +8 -0
  299. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/node/write_only_yaml.rb +32 -0
  300. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/node/yaml.rb +22 -0
  301. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/none.rb +9 -0
  302. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/plain.rb +9 -0
  303. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/queue.rb +80 -0
  304. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/report/msgpack.rb +11 -0
  305. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/report/processor.rb +59 -0
  306. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/report/rest.rb +15 -0
  307. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/report/yaml.rb +11 -0
  308. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/request.rb +317 -0
  309. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/resource/active_record.rb +104 -0
  310. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/resource/ral.rb +64 -0
  311. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/resource/rest.rb +17 -0
  312. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/resource/store_configs.rb +13 -0
  313. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/resource/validator.rb +8 -0
  314. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/resource_type.rb +5 -0
  315. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/resource_type/parser.rb +101 -0
  316. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/resource_type/rest.rb +7 -0
  317. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/rest.rb +267 -0
  318. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/run/local.rb +15 -0
  319. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/run/rest.rb +12 -0
  320. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/ssl_file.rb +180 -0
  321. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/status.rb +3 -0
  322. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/status/local.rb +12 -0
  323. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/status/rest.rb +9 -0
  324. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/store_configs.rb +30 -0
  325. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/terminus.rb +169 -0
  326. data/vendor/gems/puppet-3.7.3/lib/puppet/indirector/yaml.rb +63 -0
  327. data/vendor/gems/puppet-3.7.3/lib/puppet/interface.rb +235 -0
  328. data/vendor/gems/puppet-3.7.3/lib/puppet/interface/action.rb +374 -0
  329. data/vendor/gems/puppet-3.7.3/lib/puppet/interface/action_builder.rb +149 -0
  330. data/vendor/gems/puppet-3.7.3/lib/puppet/interface/action_manager.rb +101 -0
  331. data/vendor/gems/puppet-3.7.3/lib/puppet/interface/documentation.rb +342 -0
  332. data/vendor/gems/puppet-3.7.3/lib/puppet/interface/face_collection.rb +125 -0
  333. data/vendor/gems/puppet-3.7.3/lib/puppet/interface/option.rb +150 -0
  334. data/vendor/gems/puppet-3.7.3/lib/puppet/interface/option_builder.rb +93 -0
  335. data/vendor/gems/puppet-3.7.3/lib/puppet/interface/option_manager.rb +99 -0
  336. data/vendor/gems/puppet-3.7.3/lib/puppet/loaders.rb +19 -0
  337. data/vendor/gems/puppet-3.7.3/lib/puppet/metatype/manager.rb +184 -0
  338. data/vendor/gems/puppet-3.7.3/lib/puppet/module.rb +339 -0
  339. data/vendor/gems/puppet-3.7.3/lib/puppet/module_tool.rb +194 -0
  340. data/vendor/gems/puppet-3.7.3/lib/puppet/module_tool/applications.rb +14 -0
  341. data/vendor/gems/puppet-3.7.3/lib/puppet/module_tool/applications/application.rb +98 -0
  342. data/vendor/gems/puppet-3.7.3/lib/puppet/module_tool/applications/builder.rb +148 -0
  343. data/vendor/gems/puppet-3.7.3/lib/puppet/module_tool/applications/checksummer.rb +62 -0
  344. data/vendor/gems/puppet-3.7.3/lib/puppet/module_tool/applications/installer.rb +353 -0
  345. data/vendor/gems/puppet-3.7.3/lib/puppet/module_tool/applications/searcher.rb +29 -0
  346. data/vendor/gems/puppet-3.7.3/lib/puppet/module_tool/applications/uninstaller.rb +117 -0
  347. data/vendor/gems/puppet-3.7.3/lib/puppet/module_tool/applications/unpacker.rb +100 -0
  348. data/vendor/gems/puppet-3.7.3/lib/puppet/module_tool/applications/upgrader.rb +279 -0
  349. data/vendor/gems/puppet-3.7.3/lib/puppet/module_tool/checksums.rb +49 -0
  350. data/vendor/gems/puppet-3.7.3/lib/puppet/module_tool/contents_description.rb +84 -0
  351. data/vendor/gems/puppet-3.7.3/lib/puppet/module_tool/dependency.rb +42 -0
  352. data/vendor/gems/puppet-3.7.3/lib/puppet/module_tool/errors.rb +11 -0
  353. data/vendor/gems/puppet-3.7.3/lib/puppet/module_tool/errors/base.rb +15 -0
  354. data/vendor/gems/puppet-3.7.3/lib/puppet/module_tool/errors/installer.rb +95 -0
  355. data/vendor/gems/puppet-3.7.3/lib/puppet/module_tool/errors/shared.rb +188 -0
  356. data/vendor/gems/puppet-3.7.3/lib/puppet/module_tool/errors/uninstaller.rb +45 -0
  357. data/vendor/gems/puppet-3.7.3/lib/puppet/module_tool/errors/upgrader.rb +63 -0
  358. data/vendor/gems/puppet-3.7.3/lib/puppet/module_tool/install_directory.rb +45 -0
  359. data/vendor/gems/puppet-3.7.3/lib/puppet/module_tool/installed_modules.rb +98 -0
  360. data/vendor/gems/puppet-3.7.3/lib/puppet/module_tool/local_tarball.rb +90 -0
  361. data/vendor/gems/puppet-3.7.3/lib/puppet/module_tool/metadata.rb +209 -0
  362. data/vendor/gems/puppet-3.7.3/lib/puppet/module_tool/modulefile.rb +78 -0
  363. data/vendor/gems/puppet-3.7.3/lib/puppet/module_tool/shared_behaviors.rb +180 -0
  364. data/vendor/gems/puppet-3.7.3/lib/puppet/module_tool/skeleton/templates/generator/Gemfile +7 -0
  365. data/vendor/gems/puppet-3.7.3/lib/puppet/module_tool/skeleton/templates/generator/README.md.erb +79 -0
  366. data/vendor/gems/puppet-3.7.3/lib/puppet/module_tool/skeleton/templates/generator/Rakefile +18 -0
  367. data/vendor/gems/puppet-3.7.3/lib/puppet/module_tool/skeleton/templates/generator/manifests/init.pp.erb +41 -0
  368. data/vendor/gems/puppet-3.7.3/lib/puppet/module_tool/skeleton/templates/generator/metadata.json.erb +1 -0
  369. data/vendor/gems/puppet-3.7.3/lib/puppet/module_tool/skeleton/templates/generator/spec/classes/init_spec.rb.erb +7 -0
  370. data/vendor/gems/puppet-3.7.3/lib/puppet/module_tool/skeleton/templates/generator/spec/spec_helper.rb +1 -0
  371. data/vendor/gems/puppet-3.7.3/lib/puppet/module_tool/skeleton/templates/generator/tests/init.pp.erb +12 -0
  372. data/vendor/gems/puppet-3.7.3/lib/puppet/module_tool/tar.rb +17 -0
  373. data/vendor/gems/puppet-3.7.3/lib/puppet/module_tool/tar/gnu.rb +19 -0
  374. data/vendor/gems/puppet-3.7.3/lib/puppet/module_tool/tar/mini.rb +53 -0
  375. data/vendor/gems/puppet-3.7.3/lib/puppet/network.rb +3 -0
  376. data/vendor/gems/puppet-3.7.3/lib/puppet/network/auth_config_parser.rb +84 -0
  377. data/vendor/gems/puppet-3.7.3/lib/puppet/network/authconfig.rb +76 -0
  378. data/vendor/gems/puppet-3.7.3/lib/puppet/network/authentication.rb +35 -0
  379. data/vendor/gems/puppet-3.7.3/lib/puppet/network/authorization.rb +34 -0
  380. data/vendor/gems/puppet-3.7.3/lib/puppet/network/authstore.rb +282 -0
  381. data/vendor/gems/puppet-3.7.3/lib/puppet/network/client_request.rb +29 -0
  382. data/vendor/gems/puppet-3.7.3/lib/puppet/network/format.rb +110 -0
  383. data/vendor/gems/puppet-3.7.3/lib/puppet/network/format_handler.rb +105 -0
  384. data/vendor/gems/puppet-3.7.3/lib/puppet/network/format_support.rb +124 -0
  385. data/vendor/gems/puppet-3.7.3/lib/puppet/network/formats.rb +216 -0
  386. data/vendor/gems/puppet-3.7.3/lib/puppet/network/http.rb +20 -0
  387. data/vendor/gems/puppet-3.7.3/lib/puppet/network/http/api.rb +2 -0
  388. data/vendor/gems/puppet-3.7.3/lib/puppet/network/http/api/v1.rb +222 -0
  389. data/vendor/gems/puppet-3.7.3/lib/puppet/network/http/api/v2.rb +32 -0
  390. data/vendor/gems/puppet-3.7.3/lib/puppet/network/http/api/v2/authorization.rb +15 -0
  391. data/vendor/gems/puppet-3.7.3/lib/puppet/network/http/api/v2/environments.rb +35 -0
  392. data/vendor/gems/puppet-3.7.3/lib/puppet/network/http/compression.rb +118 -0
  393. data/vendor/gems/puppet-3.7.3/lib/puppet/network/http/connection.rb +240 -0
  394. data/vendor/gems/puppet-3.7.3/lib/puppet/network/http/error.rb +69 -0
  395. data/vendor/gems/puppet-3.7.3/lib/puppet/network/http/factory.rb +44 -0
  396. data/vendor/gems/puppet-3.7.3/lib/puppet/network/http/handler.rb +186 -0
  397. data/vendor/gems/puppet-3.7.3/lib/puppet/network/http/issues.rb +11 -0
  398. data/vendor/gems/puppet-3.7.3/lib/puppet/network/http/memory_response.rb +13 -0
  399. data/vendor/gems/puppet-3.7.3/lib/puppet/network/http/nocache_pool.rb +21 -0
  400. data/vendor/gems/puppet-3.7.3/lib/puppet/network/http/pool.rb +120 -0
  401. data/vendor/gems/puppet-3.7.3/lib/puppet/network/http/rack.rb +33 -0
  402. data/vendor/gems/puppet-3.7.3/lib/puppet/network/http/rack/rest.rb +138 -0
  403. data/vendor/gems/puppet-3.7.3/lib/puppet/network/http/request.rb +56 -0
  404. data/vendor/gems/puppet-3.7.3/lib/puppet/network/http/response.rb +11 -0
  405. data/vendor/gems/puppet-3.7.3/lib/puppet/network/http/route.rb +100 -0
  406. data/vendor/gems/puppet-3.7.3/lib/puppet/network/http/session.rb +17 -0
  407. data/vendor/gems/puppet-3.7.3/lib/puppet/network/http/site.rb +39 -0
  408. data/vendor/gems/puppet-3.7.3/lib/puppet/network/http/webrick.rb +129 -0
  409. data/vendor/gems/puppet-3.7.3/lib/puppet/network/http/webrick/rest.rb +104 -0
  410. data/vendor/gems/puppet-3.7.3/lib/puppet/network/http_pool.rb +61 -0
  411. data/vendor/gems/puppet-3.7.3/lib/puppet/network/resolver.rb +86 -0
  412. data/vendor/gems/puppet-3.7.3/lib/puppet/network/rest_controller.rb +2 -0
  413. data/vendor/gems/puppet-3.7.3/lib/puppet/network/rights.rb +219 -0
  414. data/vendor/gems/puppet-3.7.3/lib/puppet/network/server.rb +39 -0
  415. data/vendor/gems/puppet-3.7.3/lib/puppet/node.rb +184 -0
  416. data/vendor/gems/puppet-3.7.3/lib/puppet/node/environment.rb +595 -0
  417. data/vendor/gems/puppet-3.7.3/lib/puppet/node/facts.rb +155 -0
  418. data/vendor/gems/puppet-3.7.3/lib/puppet/parameter.rb +585 -0
  419. data/vendor/gems/puppet-3.7.3/lib/puppet/parameter/boolean.rb +15 -0
  420. data/vendor/gems/puppet-3.7.3/lib/puppet/parameter/package_options.rb +31 -0
  421. data/vendor/gems/puppet-3.7.3/lib/puppet/parameter/path.rb +57 -0
  422. data/vendor/gems/puppet-3.7.3/lib/puppet/parameter/value.rb +93 -0
  423. data/vendor/gems/puppet-3.7.3/lib/puppet/parameter/value_collection.rb +211 -0
  424. data/vendor/gems/puppet-3.7.3/lib/puppet/parser.rb +7 -0
  425. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/ast.rb +129 -0
  426. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/ast/arithmetic_operator.rb +91 -0
  427. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/ast/astarray.rb +50 -0
  428. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/ast/asthash.rb +37 -0
  429. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/ast/block_expression.rb +40 -0
  430. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/ast/boolean_operator.rb +46 -0
  431. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/ast/branch.rb +22 -0
  432. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/ast/caseopt.rb +52 -0
  433. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/ast/casestatement.rb +41 -0
  434. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/ast/collection.rb +53 -0
  435. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/ast/collexpr.rb +109 -0
  436. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/ast/comparison_operator.rb +38 -0
  437. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/ast/definition.rb +17 -0
  438. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/ast/else.rb +22 -0
  439. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/ast/function.rb +59 -0
  440. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/ast/hostclass.rb +29 -0
  441. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/ast/ifstatement.rb +34 -0
  442. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/ast/in_operator.rb +24 -0
  443. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/ast/lambda.rb +135 -0
  444. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/ast/leaf.rb +232 -0
  445. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/ast/match_operator.rb +28 -0
  446. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/ast/method_call.rb +77 -0
  447. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/ast/minus.rb +23 -0
  448. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/ast/node.rb +25 -0
  449. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/ast/nop.rb +11 -0
  450. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/ast/not.rb +19 -0
  451. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/ast/pops_bridge.rb +242 -0
  452. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/ast/relationship.rb +47 -0
  453. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/ast/resource.rb +67 -0
  454. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/ast/resource_defaults.rb +24 -0
  455. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/ast/resource_instance.rb +9 -0
  456. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/ast/resource_override.rb +62 -0
  457. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/ast/resource_reference.rb +28 -0
  458. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/ast/resourceparam.rb +27 -0
  459. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/ast/selector.rb +50 -0
  460. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/ast/top_level_construct.rb +4 -0
  461. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/ast/vardef.rb +38 -0
  462. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/code_merger.rb +13 -0
  463. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/collector.rb +177 -0
  464. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/compiler.rb +625 -0
  465. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/e4_parser_adapter.rb +81 -0
  466. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/files.rb +137 -0
  467. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions.rb +262 -0
  468. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/assert_type.rb +31 -0
  469. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/contain.rb +36 -0
  470. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/create_resources.rb +82 -0
  471. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/defined.rb +73 -0
  472. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/digest.rb +5 -0
  473. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/each.rb +48 -0
  474. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/epp.rb +45 -0
  475. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/extlookup.rb +153 -0
  476. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/fail.rb +4 -0
  477. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/file.rb +31 -0
  478. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/filter.rb +44 -0
  479. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/fqdn_rand.rb +21 -0
  480. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/generate.rb +37 -0
  481. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/hiera.rb +26 -0
  482. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/hiera_array.rb +27 -0
  483. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/hiera_hash.rb +29 -0
  484. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/hiera_include.rb +44 -0
  485. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/include.rb +35 -0
  486. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/inline_epp.rb +76 -0
  487. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/inline_template.rb +21 -0
  488. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/lookup.rb +144 -0
  489. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/map.rb +43 -0
  490. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/match.rb +28 -0
  491. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/md5.rb +5 -0
  492. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/realize.rb +14 -0
  493. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/reduce.rb +71 -0
  494. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/regsubst.rb +116 -0
  495. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/require.rb +61 -0
  496. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/search.rb +12 -0
  497. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/sha1.rb +5 -0
  498. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/shellquote.rb +61 -0
  499. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/slice.rb +48 -0
  500. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/split.rb +28 -0
  501. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/sprintf.rb +36 -0
  502. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/tag.rb +6 -0
  503. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/tagged.rb +18 -0
  504. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/template.rb +30 -0
  505. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/versioncmp.rb +30 -0
  506. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/functions/with.rb +21 -0
  507. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/grammar.ra +806 -0
  508. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/lexer.rb +608 -0
  509. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/makefile +8 -0
  510. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/methods.rb +69 -0
  511. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/parser.rb +2559 -0
  512. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/parser_factory.rb +76 -0
  513. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/parser_support.rb +195 -0
  514. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/relationship.rb +62 -0
  515. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/resource.rb +275 -0
  516. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/resource/param.rb +25 -0
  517. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/scope.rb +906 -0
  518. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/templatewrapper.rb +127 -0
  519. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/type_loader.rb +152 -0
  520. data/vendor/gems/puppet-3.7.3/lib/puppet/parser/yaml_trimmer.rb +7 -0
  521. data/vendor/gems/puppet-3.7.3/lib/puppet/pops.rb +118 -0
  522. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/adaptable.rb +190 -0
  523. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/adapters.rb +109 -0
  524. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/binder/binder.rb +393 -0
  525. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/binder/binder_issues.rb +122 -0
  526. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/binder/bindings_checker.rb +197 -0
  527. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/binder/bindings_composer.rb +175 -0
  528. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/binder/bindings_factory.rb +805 -0
  529. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/binder/bindings_label_provider.rb +43 -0
  530. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/binder/bindings_loader.rb +88 -0
  531. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/binder/bindings_model.rb +68 -0
  532. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/binder/bindings_model_dumper.rb +187 -0
  533. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/binder/bindings_model_meta.rb +215 -0
  534. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/binder/bindings_validator_factory.rb +28 -0
  535. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/binder/config/binder_config.rb +107 -0
  536. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/binder/config/binder_config_checker.rb +142 -0
  537. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/binder/config/diagnostic_producer.rb +32 -0
  538. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/binder/config/issues.rb +86 -0
  539. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/binder/injector.rb +767 -0
  540. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/binder/injector_entry.rb +57 -0
  541. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/binder/key_factory.rb +67 -0
  542. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/binder/lookup.rb +199 -0
  543. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/binder/producers.rb +826 -0
  544. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/binder/scheme_handler/confdir_scheme.rb +34 -0
  545. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/binder/scheme_handler/module_scheme.rb +84 -0
  546. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/binder/scheme_handler/symbolic_scheme.rb +53 -0
  547. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/binder/system_bindings.rb +60 -0
  548. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/containment.rb +104 -0
  549. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/evaluator/access_operator.rb +596 -0
  550. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/evaluator/callable_mismatch_describer.rb +175 -0
  551. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/evaluator/callable_signature.rb +100 -0
  552. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/evaluator/closure.rb +228 -0
  553. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/evaluator/compare_operator.rb +172 -0
  554. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/evaluator/epp_evaluator.rb +88 -0
  555. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/evaluator/evaluator_impl.rb +1115 -0
  556. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/evaluator/external_syntax_support.rb +49 -0
  557. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/evaluator/relationship_operator.rb +157 -0
  558. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/evaluator/runtime3_support.rb +599 -0
  559. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/functions/dispatch.rb +76 -0
  560. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/functions/dispatcher.rb +70 -0
  561. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/functions/function.rb +77 -0
  562. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/issue_reporter.rb +87 -0
  563. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/issues.rb +548 -0
  564. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/label_provider.rb +76 -0
  565. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/loader/base_loader.rb +102 -0
  566. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/loader/dependency_loader.rb +60 -0
  567. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/loader/gem_support.rb +49 -0
  568. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/loader/loader.rb +180 -0
  569. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/loader/loader_paths.rb +118 -0
  570. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/loader/module_loaders.rb +256 -0
  571. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/loader/null_loader.rb +44 -0
  572. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/loader/ruby_function_instantiator.rb +34 -0
  573. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/loader/simple_environment_loader.rb +20 -0
  574. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/loader/static_loader.rb +79 -0
  575. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/loader/uri_helper.rb +22 -0
  576. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/loaders.rb +231 -0
  577. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/model/ast_transformer.rb +643 -0
  578. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/model/ast_tree_dumper.rb +386 -0
  579. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/model/factory.rb +1055 -0
  580. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/model/model.rb +114 -0
  581. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/model/model_label_provider.rb +106 -0
  582. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/model/model_meta.rb +576 -0
  583. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/model/model_tree_dumper.rb +407 -0
  584. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/model/tree_dumper.rb +59 -0
  585. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/parser/code_merger.rb +17 -0
  586. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/parser/egrammar.ra +757 -0
  587. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/parser/eparser.rb +2655 -0
  588. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/parser/epp_parser.rb +51 -0
  589. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/parser/epp_support.rb +247 -0
  590. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/parser/evaluating_parser.rb +140 -0
  591. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/parser/heredoc_support.rb +139 -0
  592. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/parser/interpolation_support.rb +231 -0
  593. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/parser/lexer2.rb +696 -0
  594. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/parser/lexer_support.rb +113 -0
  595. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/parser/locatable.rb +23 -0
  596. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/parser/locator.rb +291 -0
  597. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/parser/parser_support.rb +242 -0
  598. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/parser/slurp_support.rb +95 -0
  599. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/patterns.rb +44 -0
  600. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/semantic_error.rb +17 -0
  601. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/types/class_loader.rb +129 -0
  602. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/types/enumeration.rb +34 -0
  603. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/types/type_calculator.rb +1703 -0
  604. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/types/type_factory.rb +432 -0
  605. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/types/type_parser.rb +475 -0
  606. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/types/types.rb +397 -0
  607. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/types/types_meta.rb +223 -0
  608. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/utils.rb +142 -0
  609. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/validation.rb +432 -0
  610. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/validation/checker4_0.rb +760 -0
  611. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/validation/validator_factory_4_0.rb +30 -0
  612. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/visitable.rb +6 -0
  613. data/vendor/gems/puppet-3.7.3/lib/puppet/pops/visitor.rb +89 -0
  614. data/vendor/gems/puppet-3.7.3/lib/puppet/property.rb +617 -0
  615. data/vendor/gems/puppet-3.7.3/lib/puppet/property/boolean.rb +7 -0
  616. data/vendor/gems/puppet-3.7.3/lib/puppet/property/ensure.rb +105 -0
  617. data/vendor/gems/puppet-3.7.3/lib/puppet/property/keyvalue.rb +95 -0
  618. data/vendor/gems/puppet-3.7.3/lib/puppet/property/list.rb +78 -0
  619. data/vendor/gems/puppet-3.7.3/lib/puppet/property/ordered_list.rb +29 -0
  620. data/vendor/gems/puppet-3.7.3/lib/puppet/provider.rb +651 -0
  621. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/aixobject.rb +392 -0
  622. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/augeas/augeas.rb +509 -0
  623. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/cisco.rb +9 -0
  624. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/command.rb +25 -0
  625. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/computer/computer.rb +20 -0
  626. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/confine.rb +6 -0
  627. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/cron/crontab.rb +260 -0
  628. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/exec.rb +100 -0
  629. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/exec/posix.rb +48 -0
  630. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/exec/shell.rb +25 -0
  631. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/exec/windows.rb +55 -0
  632. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/file/posix.rb +136 -0
  633. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/file/windows.rb +104 -0
  634. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/group/aix.rb +141 -0
  635. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/group/directoryservice.rb +12 -0
  636. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/group/groupadd.rb +85 -0
  637. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/group/ldap.rb +45 -0
  638. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/group/pw.rb +48 -0
  639. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/group/windows_adsi.rb +86 -0
  640. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/host/parsed.rb +44 -0
  641. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/interface/cisco.rb +27 -0
  642. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/ldap.rb +137 -0
  643. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/macauthorization/macauthorization.rb +309 -0
  644. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/mailalias/aliases.rb +39 -0
  645. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/maillist/mailman.rb +108 -0
  646. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/mcx/mcxcontent.rb +172 -0
  647. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/mount.rb +58 -0
  648. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/mount/parsed.rb +123 -0
  649. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/naginator.rb +63 -0
  650. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/nameservice.rb +292 -0
  651. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/nameservice/directoryservice.rb +588 -0
  652. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/nameservice/objectadd.rb +33 -0
  653. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/nameservice/pw.rb +21 -0
  654. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/network_device.rb +68 -0
  655. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package.rb +52 -0
  656. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/aix.rb +152 -0
  657. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/appdmg.rb +106 -0
  658. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/apple.rb +47 -0
  659. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/apt.rb +116 -0
  660. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/aptitude.rb +29 -0
  661. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/aptrpm.rb +83 -0
  662. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/blastwave.rb +111 -0
  663. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/dpkg.rb +165 -0
  664. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/fink.rb +79 -0
  665. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/freebsd.rb +47 -0
  666. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/gem.rb +135 -0
  667. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/hpux.rb +44 -0
  668. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/macports.rb +107 -0
  669. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/msi.rb +125 -0
  670. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/nim.rb +280 -0
  671. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/openbsd.rb +228 -0
  672. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/opkg.rb +76 -0
  673. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/pacman.rb +234 -0
  674. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/pip.rb +119 -0
  675. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/pkg.rb +201 -0
  676. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/pkgdmg.rb +149 -0
  677. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/pkgin.rb +87 -0
  678. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/pkgutil.rb +186 -0
  679. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/portage.rb +149 -0
  680. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/ports.rb +94 -0
  681. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/portupgrade.rb +241 -0
  682. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/rpm.rb +187 -0
  683. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/rug.rb +52 -0
  684. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/sun.rb +132 -0
  685. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/sunfreeware.rb +9 -0
  686. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/up2date.rb +40 -0
  687. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/urpmi.rb +55 -0
  688. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/windows.rb +113 -0
  689. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/windows/exe_package.rb +70 -0
  690. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/windows/msi_package.rb +62 -0
  691. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/windows/package.rb +92 -0
  692. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/yum.rb +199 -0
  693. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/yumhelper.py +159 -0
  694. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/package/zypper.rb +90 -0
  695. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/parsedfile.rb +459 -0
  696. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/scheduled_task/win32_taskscheduler.rb +558 -0
  697. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/selboolean/getsetsebool.rb +47 -0
  698. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/selmodule/semodule.rb +134 -0
  699. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/service/base.rb +106 -0
  700. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/service/bsd.rb +51 -0
  701. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/service/daemontools.rb +194 -0
  702. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/service/debian.rb +64 -0
  703. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/service/freebsd.rb +143 -0
  704. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/service/gentoo.rb +45 -0
  705. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/service/init.rb +169 -0
  706. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/service/launchd.rb +353 -0
  707. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/service/openbsd.rb +342 -0
  708. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/service/openrc.rb +71 -0
  709. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/service/openwrt.rb +36 -0
  710. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/service/redhat.rb +67 -0
  711. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/service/runit.rb +111 -0
  712. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/service/service.rb +42 -0
  713. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/service/smf.rb +116 -0
  714. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/service/src.rb +120 -0
  715. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/service/systemd.rb +65 -0
  716. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/service/upstart.rb +355 -0
  717. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/service/windows.rb +106 -0
  718. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/ssh_authorized_key/parsed.rb +105 -0
  719. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/sshkey/parsed.rb +40 -0
  720. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/user/aix.rb +369 -0
  721. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/user/directoryservice.rb +685 -0
  722. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/user/hpux.rb +66 -0
  723. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/user/ldap.rb +128 -0
  724. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/user/pw.rb +97 -0
  725. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/user/user_role_add.rb +210 -0
  726. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/user/useradd.rb +231 -0
  727. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/user/windows_adsi.rb +99 -0
  728. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/vlan/cisco.rb +28 -0
  729. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/yumrepo/inifile.rb +300 -0
  730. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/zfs/zfs.rb +83 -0
  731. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/zone/solaris.rb +361 -0
  732. data/vendor/gems/puppet-3.7.3/lib/puppet/provider/zpool/zpool.rb +120 -0
  733. data/vendor/gems/puppet-3.7.3/lib/puppet/rails.rb +139 -0
  734. data/vendor/gems/puppet-3.7.3/lib/puppet/rails/benchmark.rb +63 -0
  735. data/vendor/gems/puppet-3.7.3/lib/puppet/rails/database/001_add_created_at_to_all_tables.rb +13 -0
  736. data/vendor/gems/puppet-3.7.3/lib/puppet/rails/database/002_remove_duplicated_index_on_all_tables.rb +13 -0
  737. data/vendor/gems/puppet-3.7.3/lib/puppet/rails/database/003_add_environment_to_host.rb +9 -0
  738. data/vendor/gems/puppet-3.7.3/lib/puppet/rails/database/004_add_inventory_service_tables.rb +36 -0
  739. data/vendor/gems/puppet-3.7.3/lib/puppet/rails/database/schema.rb +136 -0
  740. data/vendor/gems/puppet-3.7.3/lib/puppet/rails/fact_name.rb +7 -0
  741. data/vendor/gems/puppet-3.7.3/lib/puppet/rails/fact_value.rb +10 -0
  742. data/vendor/gems/puppet-3.7.3/lib/puppet/rails/host.rb +258 -0
  743. data/vendor/gems/puppet-3.7.3/lib/puppet/rails/inventory_fact.rb +5 -0
  744. data/vendor/gems/puppet-3.7.3/lib/puppet/rails/inventory_node.rb +43 -0
  745. data/vendor/gems/puppet-3.7.3/lib/puppet/rails/param_name.rb +25 -0
  746. data/vendor/gems/puppet-3.7.3/lib/puppet/rails/param_value.rb +74 -0
  747. data/vendor/gems/puppet-3.7.3/lib/puppet/rails/puppet_tag.rb +10 -0
  748. data/vendor/gems/puppet-3.7.3/lib/puppet/rails/resource.rb +235 -0
  749. data/vendor/gems/puppet-3.7.3/lib/puppet/rails/resource_tag.rb +26 -0
  750. data/vendor/gems/puppet-3.7.3/lib/puppet/rails/source_file.rb +8 -0
  751. data/vendor/gems/puppet-3.7.3/lib/puppet/reference/configuration.rb +73 -0
  752. data/vendor/gems/puppet-3.7.3/lib/puppet/reference/function.rb +17 -0
  753. data/vendor/gems/puppet-3.7.3/lib/puppet/reference/indirection.rb +71 -0
  754. data/vendor/gems/puppet-3.7.3/lib/puppet/reference/metaparameter.rb +44 -0
  755. data/vendor/gems/puppet-3.7.3/lib/puppet/reference/providers.rb +119 -0
  756. data/vendor/gems/puppet-3.7.3/lib/puppet/reference/report.rb +23 -0
  757. data/vendor/gems/puppet-3.7.3/lib/puppet/reference/type.rb +116 -0
  758. data/vendor/gems/puppet-3.7.3/lib/puppet/relationship.rb +103 -0
  759. data/vendor/gems/puppet-3.7.3/lib/puppet/reports.rb +89 -0
  760. data/vendor/gems/puppet-3.7.3/lib/puppet/reports/http.rb +31 -0
  761. data/vendor/gems/puppet-3.7.3/lib/puppet/reports/log.rb +14 -0
  762. data/vendor/gems/puppet-3.7.3/lib/puppet/reports/rrdgraph.rb +128 -0
  763. data/vendor/gems/puppet-3.7.3/lib/puppet/reports/store.rb +68 -0
  764. data/vendor/gems/puppet-3.7.3/lib/puppet/reports/tagmail.rb +179 -0
  765. data/vendor/gems/puppet-3.7.3/lib/puppet/resource.rb +605 -0
  766. data/vendor/gems/puppet-3.7.3/lib/puppet/resource/catalog.rb +554 -0
  767. data/vendor/gems/puppet-3.7.3/lib/puppet/resource/status.rb +155 -0
  768. data/vendor/gems/puppet-3.7.3/lib/puppet/resource/type.rb +413 -0
  769. data/vendor/gems/puppet-3.7.3/lib/puppet/resource/type_collection.rb +230 -0
  770. data/vendor/gems/puppet-3.7.3/lib/puppet/resource/type_collection_helper.rb +7 -0
  771. data/vendor/gems/puppet-3.7.3/lib/puppet/run.rb +109 -0
  772. data/vendor/gems/puppet-3.7.3/lib/puppet/scheduler.rb +16 -0
  773. data/vendor/gems/puppet-3.7.3/lib/puppet/scheduler/job.rb +53 -0
  774. data/vendor/gems/puppet-3.7.3/lib/puppet/scheduler/scheduler.rb +44 -0
  775. data/vendor/gems/puppet-3.7.3/lib/puppet/scheduler/splay_job.rb +32 -0
  776. data/vendor/gems/puppet-3.7.3/lib/puppet/scheduler/timer.rb +13 -0
  777. data/vendor/gems/puppet-3.7.3/lib/puppet/settings.rb +1442 -0
  778. data/vendor/gems/puppet-3.7.3/lib/puppet/settings/array_setting.rb +17 -0
  779. data/vendor/gems/puppet-3.7.3/lib/puppet/settings/autosign_setting.rb +22 -0
  780. data/vendor/gems/puppet-3.7.3/lib/puppet/settings/base_setting.rb +195 -0
  781. data/vendor/gems/puppet-3.7.3/lib/puppet/settings/boolean_setting.rb +32 -0
  782. data/vendor/gems/puppet-3.7.3/lib/puppet/settings/config_file.rb +139 -0
  783. data/vendor/gems/puppet-3.7.3/lib/puppet/settings/directory_setting.rb +12 -0
  784. data/vendor/gems/puppet-3.7.3/lib/puppet/settings/duration_setting.rb +32 -0
  785. data/vendor/gems/puppet-3.7.3/lib/puppet/settings/enum_setting.rb +16 -0
  786. data/vendor/gems/puppet-3.7.3/lib/puppet/settings/environment_conf.rb +175 -0
  787. data/vendor/gems/puppet-3.7.3/lib/puppet/settings/errors.rb +11 -0
  788. data/vendor/gems/puppet-3.7.3/lib/puppet/settings/file_or_directory_setting.rb +34 -0
  789. data/vendor/gems/puppet-3.7.3/lib/puppet/settings/file_setting.rb +234 -0
  790. data/vendor/gems/puppet-3.7.3/lib/puppet/settings/ini_file.rb +171 -0
  791. data/vendor/gems/puppet-3.7.3/lib/puppet/settings/path_setting.rb +8 -0
  792. data/vendor/gems/puppet-3.7.3/lib/puppet/settings/priority_setting.rb +42 -0
  793. data/vendor/gems/puppet-3.7.3/lib/puppet/settings/string_setting.rb +9 -0
  794. data/vendor/gems/puppet-3.7.3/lib/puppet/settings/terminus_setting.rb +14 -0
  795. data/vendor/gems/puppet-3.7.3/lib/puppet/settings/ttl_setting.rb +48 -0
  796. data/vendor/gems/puppet-3.7.3/lib/puppet/settings/value_translator.rb +15 -0
  797. data/vendor/gems/puppet-3.7.3/lib/puppet/ssl.rb +13 -0
  798. data/vendor/gems/puppet-3.7.3/lib/puppet/ssl/base.rb +140 -0
  799. data/vendor/gems/puppet-3.7.3/lib/puppet/ssl/certificate.rb +65 -0
  800. data/vendor/gems/puppet-3.7.3/lib/puppet/ssl/certificate_authority.rb +517 -0
  801. data/vendor/gems/puppet-3.7.3/lib/puppet/ssl/certificate_authority/autosign_command.rb +45 -0
  802. data/vendor/gems/puppet-3.7.3/lib/puppet/ssl/certificate_authority/interface.rb +178 -0
  803. data/vendor/gems/puppet-3.7.3/lib/puppet/ssl/certificate_factory.rb +219 -0
  804. data/vendor/gems/puppet-3.7.3/lib/puppet/ssl/certificate_request.rb +299 -0
  805. data/vendor/gems/puppet-3.7.3/lib/puppet/ssl/certificate_request_attributes.rb +37 -0
  806. data/vendor/gems/puppet-3.7.3/lib/puppet/ssl/certificate_revocation_list.rb +110 -0
  807. data/vendor/gems/puppet-3.7.3/lib/puppet/ssl/certificate_signer.rb +22 -0
  808. data/vendor/gems/puppet-3.7.3/lib/puppet/ssl/configuration.rb +64 -0
  809. data/vendor/gems/puppet-3.7.3/lib/puppet/ssl/digest.rb +20 -0
  810. data/vendor/gems/puppet-3.7.3/lib/puppet/ssl/host.rb +372 -0
  811. data/vendor/gems/puppet-3.7.3/lib/puppet/ssl/inventory.rb +55 -0
  812. data/vendor/gems/puppet-3.7.3/lib/puppet/ssl/key.rb +59 -0
  813. data/vendor/gems/puppet-3.7.3/lib/puppet/ssl/oids.rb +78 -0
  814. data/vendor/gems/puppet-3.7.3/lib/puppet/ssl/validator.rb +60 -0
  815. data/vendor/gems/puppet-3.7.3/lib/puppet/ssl/validator/default_validator.rb +175 -0
  816. data/vendor/gems/puppet-3.7.3/lib/puppet/ssl/validator/no_validator.rb +20 -0
  817. data/vendor/gems/puppet-3.7.3/lib/puppet/status.rb +45 -0
  818. data/vendor/gems/puppet-3.7.3/lib/puppet/test/test_helper.rb +243 -0
  819. data/vendor/gems/puppet-3.7.3/lib/puppet/transaction.rb +370 -0
  820. data/vendor/gems/puppet-3.7.3/lib/puppet/transaction/additional_resource_generator.rb +126 -0
  821. data/vendor/gems/puppet-3.7.3/lib/puppet/transaction/event.rb +107 -0
  822. data/vendor/gems/puppet-3.7.3/lib/puppet/transaction/event_manager.rb +122 -0
  823. data/vendor/gems/puppet-3.7.3/lib/puppet/transaction/report.rb +383 -0
  824. data/vendor/gems/puppet-3.7.3/lib/puppet/transaction/resource_harness.rb +251 -0
  825. data/vendor/gems/puppet-3.7.3/lib/puppet/type.rb +2452 -0
  826. data/vendor/gems/puppet-3.7.3/lib/puppet/type/augeas.rb +201 -0
  827. data/vendor/gems/puppet-3.7.3/lib/puppet/type/component.rb +77 -0
  828. data/vendor/gems/puppet-3.7.3/lib/puppet/type/computer.rb +66 -0
  829. data/vendor/gems/puppet-3.7.3/lib/puppet/type/cron.rb +488 -0
  830. data/vendor/gems/puppet-3.7.3/lib/puppet/type/exec.rb +592 -0
  831. data/vendor/gems/puppet-3.7.3/lib/puppet/type/file.rb +933 -0
  832. data/vendor/gems/puppet-3.7.3/lib/puppet/type/file/checksum.rb +43 -0
  833. data/vendor/gems/puppet-3.7.3/lib/puppet/type/file/content.rb +241 -0
  834. data/vendor/gems/puppet-3.7.3/lib/puppet/type/file/ctime.rb +20 -0
  835. data/vendor/gems/puppet-3.7.3/lib/puppet/type/file/ensure.rb +189 -0
  836. data/vendor/gems/puppet-3.7.3/lib/puppet/type/file/group.rb +41 -0
  837. data/vendor/gems/puppet-3.7.3/lib/puppet/type/file/mode.rb +168 -0
  838. data/vendor/gems/puppet-3.7.3/lib/puppet/type/file/mtime.rb +18 -0
  839. data/vendor/gems/puppet-3.7.3/lib/puppet/type/file/owner.rb +44 -0
  840. data/vendor/gems/puppet-3.7.3/lib/puppet/type/file/selcontext.rb +124 -0
  841. data/vendor/gems/puppet-3.7.3/lib/puppet/type/file/source.rb +259 -0
  842. data/vendor/gems/puppet-3.7.3/lib/puppet/type/file/target.rb +87 -0
  843. data/vendor/gems/puppet-3.7.3/lib/puppet/type/file/type.rb +19 -0
  844. data/vendor/gems/puppet-3.7.3/lib/puppet/type/filebucket.rb +122 -0
  845. data/vendor/gems/puppet-3.7.3/lib/puppet/type/group.rb +188 -0
  846. data/vendor/gems/puppet-3.7.3/lib/puppet/type/host.rb +86 -0
  847. data/vendor/gems/puppet-3.7.3/lib/puppet/type/interface.rb +116 -0
  848. data/vendor/gems/puppet-3.7.3/lib/puppet/type/k5login.rb +88 -0
  849. data/vendor/gems/puppet-3.7.3/lib/puppet/type/macauthorization.rb +167 -0
  850. data/vendor/gems/puppet-3.7.3/lib/puppet/type/mailalias.rb +48 -0
  851. data/vendor/gems/puppet-3.7.3/lib/puppet/type/maillist.rb +62 -0
  852. data/vendor/gems/puppet-3.7.3/lib/puppet/type/mcx.rb +98 -0
  853. data/vendor/gems/puppet-3.7.3/lib/puppet/type/mount.rb +286 -0
  854. data/vendor/gems/puppet-3.7.3/lib/puppet/type/nagios_command.rb +3 -0
  855. data/vendor/gems/puppet-3.7.3/lib/puppet/type/nagios_contact.rb +3 -0
  856. data/vendor/gems/puppet-3.7.3/lib/puppet/type/nagios_contactgroup.rb +3 -0
  857. data/vendor/gems/puppet-3.7.3/lib/puppet/type/nagios_host.rb +3 -0
  858. data/vendor/gems/puppet-3.7.3/lib/puppet/type/nagios_hostdependency.rb +3 -0
  859. data/vendor/gems/puppet-3.7.3/lib/puppet/type/nagios_hostescalation.rb +3 -0
  860. data/vendor/gems/puppet-3.7.3/lib/puppet/type/nagios_hostextinfo.rb +3 -0
  861. data/vendor/gems/puppet-3.7.3/lib/puppet/type/nagios_hostgroup.rb +3 -0
  862. data/vendor/gems/puppet-3.7.3/lib/puppet/type/nagios_service.rb +3 -0
  863. data/vendor/gems/puppet-3.7.3/lib/puppet/type/nagios_servicedependency.rb +3 -0
  864. data/vendor/gems/puppet-3.7.3/lib/puppet/type/nagios_serviceescalation.rb +3 -0
  865. data/vendor/gems/puppet-3.7.3/lib/puppet/type/nagios_serviceextinfo.rb +3 -0
  866. data/vendor/gems/puppet-3.7.3/lib/puppet/type/nagios_servicegroup.rb +3 -0
  867. data/vendor/gems/puppet-3.7.3/lib/puppet/type/nagios_timeperiod.rb +3 -0
  868. data/vendor/gems/puppet-3.7.3/lib/puppet/type/notify.rb +44 -0
  869. data/vendor/gems/puppet-3.7.3/lib/puppet/type/package.rb +466 -0
  870. data/vendor/gems/puppet-3.7.3/lib/puppet/type/resources.rb +187 -0
  871. data/vendor/gems/puppet-3.7.3/lib/puppet/type/router.rb +17 -0
  872. data/vendor/gems/puppet-3.7.3/lib/puppet/type/schedule.rb +469 -0
  873. data/vendor/gems/puppet-3.7.3/lib/puppet/type/scheduled_task.rb +169 -0
  874. data/vendor/gems/puppet-3.7.3/lib/puppet/type/selboolean.rb +26 -0
  875. data/vendor/gems/puppet-3.7.3/lib/puppet/type/selmodule.rb +59 -0
  876. data/vendor/gems/puppet-3.7.3/lib/puppet/type/service.rb +234 -0
  877. data/vendor/gems/puppet-3.7.3/lib/puppet/type/ssh_authorized_key.rb +153 -0
  878. data/vendor/gems/puppet-3.7.3/lib/puppet/type/sshkey.rb +73 -0
  879. data/vendor/gems/puppet-3.7.3/lib/puppet/type/stage.rb +27 -0
  880. data/vendor/gems/puppet-3.7.3/lib/puppet/type/tidy.rb +324 -0
  881. data/vendor/gems/puppet-3.7.3/lib/puppet/type/user.rb +698 -0
  882. data/vendor/gems/puppet-3.7.3/lib/puppet/type/vlan.rb +26 -0
  883. data/vendor/gems/puppet-3.7.3/lib/puppet/type/whit.rb +34 -0
  884. data/vendor/gems/puppet-3.7.3/lib/puppet/type/yumrepo.rb +363 -0
  885. data/vendor/gems/puppet-3.7.3/lib/puppet/type/zfs.rb +150 -0
  886. data/vendor/gems/puppet-3.7.3/lib/puppet/type/zone.rb +382 -0
  887. data/vendor/gems/puppet-3.7.3/lib/puppet/type/zpool.rb +91 -0
  888. data/vendor/gems/puppet-3.7.3/lib/puppet/util.rb +554 -0
  889. data/vendor/gems/puppet-3.7.3/lib/puppet/util/autoload.rb +231 -0
  890. data/vendor/gems/puppet-3.7.3/lib/puppet/util/backups.rb +86 -0
  891. data/vendor/gems/puppet-3.7.3/lib/puppet/util/cacher.rb +74 -0
  892. data/vendor/gems/puppet-3.7.3/lib/puppet/util/checksums.rb +202 -0
  893. data/vendor/gems/puppet-3.7.3/lib/puppet/util/classgen.rb +236 -0
  894. data/vendor/gems/puppet-3.7.3/lib/puppet/util/colors.rb +217 -0
  895. data/vendor/gems/puppet-3.7.3/lib/puppet/util/command_line.rb +199 -0
  896. data/vendor/gems/puppet-3.7.3/lib/puppet/util/command_line/puppet_option_parser.rb +87 -0
  897. data/vendor/gems/puppet-3.7.3/lib/puppet/util/command_line/trollop.rb +824 -0
  898. data/vendor/gems/puppet-3.7.3/lib/puppet/util/constant_inflector.rb +24 -0
  899. data/vendor/gems/puppet-3.7.3/lib/puppet/util/diff.rb +79 -0
  900. data/vendor/gems/puppet-3.7.3/lib/puppet/util/docs.rb +128 -0
  901. data/vendor/gems/puppet-3.7.3/lib/puppet/util/errors.rb +106 -0
  902. data/vendor/gems/puppet-3.7.3/lib/puppet/util/execution.rb +327 -0
  903. data/vendor/gems/puppet-3.7.3/lib/puppet/util/execution_stub.rb +26 -0
  904. data/vendor/gems/puppet-3.7.3/lib/puppet/util/feature.rb +97 -0
  905. data/vendor/gems/puppet-3.7.3/lib/puppet/util/file_watcher.rb +28 -0
  906. data/vendor/gems/puppet-3.7.3/lib/puppet/util/fileparsing.rb +376 -0
  907. data/vendor/gems/puppet-3.7.3/lib/puppet/util/filetype.rb +303 -0
  908. data/vendor/gems/puppet-3.7.3/lib/puppet/util/http_proxy.rb +65 -0
  909. data/vendor/gems/puppet-3.7.3/lib/puppet/util/inifile.rb +341 -0
  910. data/vendor/gems/puppet-3.7.3/lib/puppet/util/inline_docs.rb +26 -0
  911. data/vendor/gems/puppet-3.7.3/lib/puppet/util/instance_loader.rb +81 -0
  912. data/vendor/gems/puppet-3.7.3/lib/puppet/util/instrumentation.rb +152 -0
  913. data/vendor/gems/puppet-3.7.3/lib/puppet/util/instrumentation/data.rb +46 -0
  914. data/vendor/gems/puppet-3.7.3/lib/puppet/util/instrumentation/indirection_probe.rb +41 -0
  915. data/vendor/gems/puppet-3.7.3/lib/puppet/util/instrumentation/instrumentable.rb +136 -0
  916. data/vendor/gems/puppet-3.7.3/lib/puppet/util/instrumentation/listener.rb +72 -0
  917. data/vendor/gems/puppet-3.7.3/lib/puppet/util/instrumentation/listeners/log.rb +23 -0
  918. data/vendor/gems/puppet-3.7.3/lib/puppet/util/instrumentation/listeners/performance.rb +24 -0
  919. data/vendor/gems/puppet-3.7.3/lib/puppet/util/json_lockfile.rb +44 -0
  920. data/vendor/gems/puppet-3.7.3/lib/puppet/util/ldap.rb +2 -0
  921. data/vendor/gems/puppet-3.7.3/lib/puppet/util/ldap/connection.rb +71 -0
  922. data/vendor/gems/puppet-3.7.3/lib/puppet/util/ldap/generator.rb +42 -0
  923. data/vendor/gems/puppet-3.7.3/lib/puppet/util/ldap/manager.rb +278 -0
  924. data/vendor/gems/puppet-3.7.3/lib/puppet/util/libuser.conf +15 -0
  925. data/vendor/gems/puppet-3.7.3/lib/puppet/util/libuser.rb +12 -0
  926. data/vendor/gems/puppet-3.7.3/lib/puppet/util/limits.rb +12 -0
  927. data/vendor/gems/puppet-3.7.3/lib/puppet/util/lockfile.rb +66 -0
  928. data/vendor/gems/puppet-3.7.3/lib/puppet/util/log.rb +343 -0
  929. data/vendor/gems/puppet-3.7.3/lib/puppet/util/log/destination.rb +49 -0
  930. data/vendor/gems/puppet-3.7.3/lib/puppet/util/log/destinations.rb +232 -0
  931. data/vendor/gems/puppet-3.7.3/lib/puppet/util/log/rate_limited_logger.rb +40 -0
  932. data/vendor/gems/puppet-3.7.3/lib/puppet/util/logging.rb +181 -0
  933. data/vendor/gems/puppet-3.7.3/lib/puppet/util/metaid.rb +21 -0
  934. data/vendor/gems/puppet-3.7.3/lib/puppet/util/methodhelper.rb +32 -0
  935. data/vendor/gems/puppet-3.7.3/lib/puppet/util/metric.rb +210 -0
  936. data/vendor/gems/puppet-3.7.3/lib/puppet/util/monkey_patches.rb +225 -0
  937. data/vendor/gems/puppet-3.7.3/lib/puppet/util/monkey_patches/lines.rb +13 -0
  938. data/vendor/gems/puppet-3.7.3/lib/puppet/util/nagios_maker.rb +85 -0
  939. data/vendor/gems/puppet-3.7.3/lib/puppet/util/network_device.rb +17 -0
  940. data/vendor/gems/puppet-3.7.3/lib/puppet/util/network_device/base.rb +27 -0
  941. data/vendor/gems/puppet-3.7.3/lib/puppet/util/network_device/cisco.rb +4 -0
  942. data/vendor/gems/puppet-3.7.3/lib/puppet/util/network_device/cisco/device.rb +267 -0
  943. data/vendor/gems/puppet-3.7.3/lib/puppet/util/network_device/cisco/facts.rb +72 -0
  944. data/vendor/gems/puppet-3.7.3/lib/puppet/util/network_device/cisco/interface.rb +82 -0
  945. data/vendor/gems/puppet-3.7.3/lib/puppet/util/network_device/config.rb +93 -0
  946. data/vendor/gems/puppet-3.7.3/lib/puppet/util/network_device/ipcalc.rb +68 -0
  947. data/vendor/gems/puppet-3.7.3/lib/puppet/util/network_device/transport.rb +5 -0
  948. data/vendor/gems/puppet-3.7.3/lib/puppet/util/network_device/transport/base.rb +26 -0
  949. data/vendor/gems/puppet-3.7.3/lib/puppet/util/network_device/transport/ssh.rb +122 -0
  950. data/vendor/gems/puppet-3.7.3/lib/puppet/util/network_device/transport/telnet.rb +44 -0
  951. data/vendor/gems/puppet-3.7.3/lib/puppet/util/package.rb +31 -0
  952. data/vendor/gems/puppet-3.7.3/lib/puppet/util/pidlock.rb +62 -0
  953. data/vendor/gems/puppet-3.7.3/lib/puppet/util/platform.rb +22 -0
  954. data/vendor/gems/puppet-3.7.3/lib/puppet/util/plugins.rb +82 -0
  955. data/vendor/gems/puppet-3.7.3/lib/puppet/util/posix.rb +137 -0
  956. data/vendor/gems/puppet-3.7.3/lib/puppet/util/profiler.rb +53 -0
  957. data/vendor/gems/puppet-3.7.3/lib/puppet/util/profiler/aggregate.rb +85 -0
  958. data/vendor/gems/puppet-3.7.3/lib/puppet/util/profiler/around_profiler.rb +67 -0
  959. data/vendor/gems/puppet-3.7.3/lib/puppet/util/profiler/logging.rb +48 -0
  960. data/vendor/gems/puppet-3.7.3/lib/puppet/util/profiler/object_counts.rb +17 -0
  961. data/vendor/gems/puppet-3.7.3/lib/puppet/util/profiler/wall_clock.rb +35 -0
  962. data/vendor/gems/puppet-3.7.3/lib/puppet/util/provider_features.rb +184 -0
  963. data/vendor/gems/puppet-3.7.3/lib/puppet/util/pson.rb +13 -0
  964. data/vendor/gems/puppet-3.7.3/lib/puppet/util/queue.rb +96 -0
  965. data/vendor/gems/puppet-3.7.3/lib/puppet/util/queue/stomp.rb +60 -0
  966. data/vendor/gems/puppet-3.7.3/lib/puppet/util/rails/cache_accumulator.rb +65 -0
  967. data/vendor/gems/puppet-3.7.3/lib/puppet/util/rails/collection_merger.rb +17 -0
  968. data/vendor/gems/puppet-3.7.3/lib/puppet/util/rails/reference_serializer.rb +32 -0
  969. data/vendor/gems/puppet-3.7.3/lib/puppet/util/rdoc.rb +96 -0
  970. data/vendor/gems/puppet-3.7.3/lib/puppet/util/reference.rb +124 -0
  971. data/vendor/gems/puppet-3.7.3/lib/puppet/util/resource_template.rb +61 -0
  972. data/vendor/gems/puppet-3.7.3/lib/puppet/util/retryaction.rb +47 -0
  973. data/vendor/gems/puppet-3.7.3/lib/puppet/util/rubygems.rb +75 -0
  974. data/vendor/gems/puppet-3.7.3/lib/puppet/util/run_mode.rb +82 -0
  975. data/vendor/gems/puppet-3.7.3/lib/puppet/util/selinux.rb +222 -0
  976. data/vendor/gems/puppet-3.7.3/lib/puppet/util/ssl.rb +53 -0
  977. data/vendor/gems/puppet-3.7.3/lib/puppet/util/storage.rb +89 -0
  978. data/vendor/gems/puppet-3.7.3/lib/puppet/util/suidmanager.rb +191 -0
  979. data/vendor/gems/puppet-3.7.3/lib/puppet/util/symbolic_file_mode.rb +144 -0
  980. data/vendor/gems/puppet-3.7.3/lib/puppet/util/tag_set.rb +41 -0
  981. data/vendor/gems/puppet-3.7.3/lib/puppet/util/tagging.rb +56 -0
  982. data/vendor/gems/puppet-3.7.3/lib/puppet/util/terminal.rb +16 -0
  983. data/vendor/gems/puppet-3.7.3/lib/puppet/util/user_attr.rb +21 -0
  984. data/vendor/gems/puppet-3.7.3/lib/puppet/util/warnings.rb +32 -0
  985. data/vendor/gems/puppet-3.7.3/lib/puppet/util/watched_file.rb +37 -0
  986. data/vendor/gems/puppet-3.7.3/lib/puppet/util/watcher.rb +17 -0
  987. data/vendor/gems/puppet-3.7.3/lib/puppet/util/watcher/change_watcher.rb +33 -0
  988. data/vendor/gems/puppet-3.7.3/lib/puppet/util/watcher/periodic_watcher.rb +37 -0
  989. data/vendor/gems/puppet-3.7.3/lib/puppet/util/watcher/timer.rb +19 -0
  990. data/vendor/gems/puppet-3.7.3/lib/puppet/util/windows.rb +28 -0
  991. data/vendor/gems/puppet-3.7.3/lib/puppet/util/windows/access_control_entry.rb +84 -0
  992. data/vendor/gems/puppet-3.7.3/lib/puppet/util/windows/access_control_list.rb +113 -0
  993. data/vendor/gems/puppet-3.7.3/lib/puppet/util/windows/adsi.rb +430 -0
  994. data/vendor/gems/puppet-3.7.3/lib/puppet/util/windows/api_types.rb +255 -0
  995. data/vendor/gems/puppet-3.7.3/lib/puppet/util/windows/com.rb +224 -0
  996. data/vendor/gems/puppet-3.7.3/lib/puppet/util/windows/error.rb +83 -0
  997. data/vendor/gems/puppet-3.7.3/lib/puppet/util/windows/file.rb +401 -0
  998. data/vendor/gems/puppet-3.7.3/lib/puppet/util/windows/process.rb +354 -0
  999. data/vendor/gems/puppet-3.7.3/lib/puppet/util/windows/registry.rb +80 -0
  1000. data/vendor/gems/puppet-3.7.3/lib/puppet/util/windows/root_certs.rb +108 -0
  1001. data/vendor/gems/puppet-3.7.3/lib/puppet/util/windows/security.rb +920 -0
  1002. data/vendor/gems/puppet-3.7.3/lib/puppet/util/windows/security_descriptor.rb +62 -0
  1003. data/vendor/gems/puppet-3.7.3/lib/puppet/util/windows/sid.rb +162 -0
  1004. data/vendor/gems/puppet-3.7.3/lib/puppet/util/windows/string.rb +16 -0
  1005. data/vendor/gems/puppet-3.7.3/lib/puppet/util/windows/taskscheduler.rb +1241 -0
  1006. data/vendor/gems/puppet-3.7.3/lib/puppet/util/windows/user.rb +292 -0
  1007. data/vendor/gems/puppet-3.7.3/lib/puppet/util/yaml.rb +24 -0
  1008. data/vendor/gems/puppet-3.7.3/lib/puppet/util/zaml.rb +419 -0
  1009. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor.rb +57 -0
  1010. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/load_pathspec.rb +1 -0
  1011. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/load_rgen.rb +1 -0
  1012. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/load_safe_yaml.rb +1 -0
  1013. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/load_semantic.rb +1 -0
  1014. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/pathspec/CHANGELOG.md +2 -0
  1015. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/pathspec/LICENSE +201 -0
  1016. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/pathspec/PUPPET_README.md +6 -0
  1017. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/pathspec/README.md +53 -0
  1018. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/pathspec/lib/pathspec.rb +121 -0
  1019. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +275 -0
  1020. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +17 -0
  1021. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +14 -0
  1022. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/require_vendored.rb +9 -0
  1023. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/CHANGELOG +197 -0
  1024. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/MIT-LICENSE +20 -0
  1025. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/PUPPET_README.md +6 -0
  1026. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/README.rdoc +78 -0
  1027. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/Rakefile +41 -0
  1028. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/TODO +41 -0
  1029. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/anounce.txt +61 -0
  1030. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/design_rationale.txt +71 -0
  1031. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/ea_support/ea_support.rb +54 -0
  1032. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/ea_support/id_store.rb +32 -0
  1033. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/ea_support/uml13_ea_metamodel.rb +562 -0
  1034. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/ea_support/uml13_ea_metamodel_ext.rb +45 -0
  1035. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/ea_support/uml13_ea_metamodel_generator.rb +43 -0
  1036. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/ea_support/uml13_ea_to_uml13.rb +103 -0
  1037. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/ea_support/uml13_to_uml13_ea.rb +89 -0
  1038. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/metamodels/uml13_metamodel.rb +559 -0
  1039. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/metamodels/uml13_metamodel_ext.rb +26 -0
  1040. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/mmgen/metamodel_generator.rb +20 -0
  1041. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/mmgen/mm_ext/ecore_mmgen_ext.rb +91 -0
  1042. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/mmgen/mmgen.rb +28 -0
  1043. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/mmgen/templates/annotations.tpl +37 -0
  1044. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/mmgen/templates/metamodel_generator.tpl +172 -0
  1045. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/array_extensions.rb +45 -0
  1046. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore.rb +218 -0
  1047. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore_builder_methods.rb +81 -0
  1048. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore_ext.rb +69 -0
  1049. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore_interface.rb +47 -0
  1050. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore_to_ruby.rb +167 -0
  1051. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/ecore/ruby_to_ecore.rb +91 -0
  1052. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/environment.rb +129 -0
  1053. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/fragment/dump_file_cache.rb +63 -0
  1054. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/fragment/fragmented_model.rb +140 -0
  1055. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/fragment/model_fragment.rb +289 -0
  1056. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/instantiator/abstract_instantiator.rb +66 -0
  1057. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/instantiator/abstract_xml_instantiator.rb +66 -0
  1058. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/instantiator/default_xml_instantiator.rb +117 -0
  1059. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/instantiator/ecore_xml_instantiator.rb +169 -0
  1060. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/instantiator/json_instantiator.rb +126 -0
  1061. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/instantiator/json_parser.rb +331 -0
  1062. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/instantiator/json_parser.y +94 -0
  1063. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/instantiator/nodebased_xml_instantiator.rb +137 -0
  1064. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/instantiator/qualified_name_resolver.rb +97 -0
  1065. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/instantiator/reference_resolver.rb +128 -0
  1066. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/instantiator/resolution_helper.rb +47 -0
  1067. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/instantiator/xmi11_instantiator.rb +168 -0
  1068. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder.rb +224 -0
  1069. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/builder_extensions.rb +556 -0
  1070. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/builder_runtime.rb +174 -0
  1071. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/constant_order_helper.rb +89 -0
  1072. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/data_types.rb +77 -0
  1073. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/intermediate/annotation.rb +30 -0
  1074. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/intermediate/feature.rb +168 -0
  1075. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/mm_multiple.rb +23 -0
  1076. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/module_extension.rb +42 -0
  1077. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/model_builder.rb +32 -0
  1078. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/model_builder/builder_context.rb +334 -0
  1079. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/model_builder/model_serializer.rb +225 -0
  1080. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/model_builder/reference_resolver.rb +156 -0
  1081. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/serializer/json_serializer.rb +121 -0
  1082. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/serializer/opposite_reference_filter.rb +18 -0
  1083. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/serializer/qualified_name_provider.rb +47 -0
  1084. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/serializer/xmi11_serializer.rb +116 -0
  1085. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/serializer/xmi20_serializer.rb +71 -0
  1086. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/serializer/xml_serializer.rb +98 -0
  1087. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/template_language.rb +297 -0
  1088. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/template_language/directory_template_container.rb +83 -0
  1089. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/template_language/output_handler.rb +87 -0
  1090. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/template_language/template_container.rb +234 -0
  1091. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/template_language/template_helper.rb +26 -0
  1092. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/transformer.rb +475 -0
  1093. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/util/auto_class_creator.rb +61 -0
  1094. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/util/cached_glob.rb +67 -0
  1095. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/util/file_cache_map.rb +124 -0
  1096. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/util/file_change_detector.rb +84 -0
  1097. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/util/method_delegation.rb +114 -0
  1098. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/util/model_comparator.rb +68 -0
  1099. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/util/model_comparator_base.rb +142 -0
  1100. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/util/model_dumper.rb +29 -0
  1101. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/util/name_helper.rb +42 -0
  1102. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/rgen/util/pattern_matcher.rb +329 -0
  1103. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/transformers/ecore_to_uml13.rb +79 -0
  1104. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/lib/transformers/uml13_to_ecore.rb +127 -0
  1105. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/array_extensions_test.rb +64 -0
  1106. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/ea_instantiator_test.rb +35 -0
  1107. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/ea_serializer_test.rb +23 -0
  1108. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/ecore_self_test.rb +54 -0
  1109. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/environment_test.rb +90 -0
  1110. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/json_test.rb +171 -0
  1111. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/metamodel_builder_test.rb +1482 -0
  1112. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/metamodel_from_ecore_test.rb +57 -0
  1113. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/metamodel_order_test.rb +131 -0
  1114. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test.rb +98 -0
  1115. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test/TestModel.rb +70 -0
  1116. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test/houseMetamodel.ecore +42 -0
  1117. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test/houseMetamodel_from_ecore.rb +44 -0
  1118. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test/using_builtin_types.ecore +9 -0
  1119. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/method_delegation_test.rb +178 -0
  1120. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/model_builder/builder_context_test.rb +59 -0
  1121. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/model_builder/builder_test.rb +242 -0
  1122. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/model_builder/ecore_original.rb +163 -0
  1123. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/model_builder/ecore_original_regenerated.rb +163 -0
  1124. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/model_builder/reference_resolver_test.rb +156 -0
  1125. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/model_builder/serializer_test.rb +94 -0
  1126. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/model_builder/statemachine_metamodel.rb +42 -0
  1127. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/model_builder/test_model/statemachine1.rb +23 -0
  1128. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/model_builder_test.rb +6 -0
  1129. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/model_fragment_test.rb +30 -0
  1130. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/output_handler_test.rb +58 -0
  1131. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/qualified_name_provider_test.rb +48 -0
  1132. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/qualified_name_resolver_test.rb +102 -0
  1133. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/reference_resolver_test.rb +117 -0
  1134. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/rgen_test.rb +26 -0
  1135. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/template_language_test.rb +163 -0
  1136. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/template_language_test/expected_result1.txt +29 -0
  1137. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/template_language_test/expected_result2.txt +9 -0
  1138. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/template_language_test/expected_result3.txt +4 -0
  1139. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/template_language_test/indentStringTestDefaultIndent.out +1 -0
  1140. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/template_language_test/indentStringTestTabIndent.out +1 -0
  1141. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/template_language_test/templates/callback_indent_test/a.tpl +12 -0
  1142. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/template_language_test/templates/callback_indent_test/b.tpl +5 -0
  1143. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/template_language_test/templates/code/array.tpl +11 -0
  1144. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/template_language_test/templates/content/author.tpl +7 -0
  1145. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/template_language_test/templates/content/chapter.tpl +5 -0
  1146. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/template_language_test/templates/define_local_test/local.tpl +8 -0
  1147. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/template_language_test/templates/define_local_test/test.tpl +8 -0
  1148. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/template_language_test/templates/evaluate_test/test.tpl +7 -0
  1149. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/template_language_test/templates/indent_string_test.tpl +12 -0
  1150. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/template_language_test/templates/index/c/cmod.tpl +1 -0
  1151. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/template_language_test/templates/index/chapter.tpl +3 -0
  1152. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/template_language_test/templates/no_backslash_r_test.tpl +5 -0
  1153. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/no_indent.tpl +3 -0
  1154. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/sub1/no_indent.tpl +3 -0
  1155. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/test.tpl +24 -0
  1156. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/test2.tpl +13 -0
  1157. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/test3.tpl +10 -0
  1158. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/template_language_test/templates/null_context_test.tpl +17 -0
  1159. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/template_language_test/templates/root.tpl +31 -0
  1160. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/template_language_test/templates/template_resolution_test/sub1.tpl +9 -0
  1161. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/template_language_test/templates/template_resolution_test/sub1/sub1.tpl +3 -0
  1162. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/template_language_test/templates/template_resolution_test/test.tpl +4 -0
  1163. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/template_language_test/testout.txt +29 -0
  1164. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/testmodel/class_model_checker.rb +119 -0
  1165. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/testmodel/ea_testmodel.eap +0 -0
  1166. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/testmodel/ea_testmodel.xml +1029 -0
  1167. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/testmodel/ea_testmodel_partial.xml +317 -0
  1168. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/testmodel/ecore_model_checker.rb +101 -0
  1169. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/testmodel/manual_testmodel.xml +22 -0
  1170. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/testmodel/object_model_checker.rb +67 -0
  1171. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/transformer_test.rb +254 -0
  1172. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/util/file_cache_map_test.rb +99 -0
  1173. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/util/pattern_matcher_test.rb +97 -0
  1174. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/util_test.rb +5 -0
  1175. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/xml_instantiator_test.rb +160 -0
  1176. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/xml_instantiator_test/simple_ecore_model_checker.rb +94 -0
  1177. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/xml_instantiator_test/simple_xmi_ecore_instantiator.rb +53 -0
  1178. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/xml_instantiator_test/simple_xmi_metamodel.rb +49 -0
  1179. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/rgen/test/xml_instantiator_test/simple_xmi_to_ecore.rb +75 -0
  1180. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/CHANGES.md +104 -0
  1181. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/Gemfile +11 -0
  1182. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/LICENSE.txt +22 -0
  1183. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/PUPPET_README.md +6 -0
  1184. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/README.md +179 -0
  1185. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/Rakefile +6 -0
  1186. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/lib/safe_yaml.rb +253 -0
  1187. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/lib/safe_yaml/deep.rb +34 -0
  1188. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/lib/safe_yaml/parse/date.rb +27 -0
  1189. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/lib/safe_yaml/parse/hexadecimal.rb +12 -0
  1190. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/lib/safe_yaml/parse/sexagesimal.rb +26 -0
  1191. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/lib/safe_yaml/psych_handler.rb +92 -0
  1192. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/lib/safe_yaml/psych_resolver.rb +52 -0
  1193. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/lib/safe_yaml/resolver.rb +94 -0
  1194. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/lib/safe_yaml/safe_to_ruby_visitor.rb +17 -0
  1195. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/lib/safe_yaml/syck_hack.rb +36 -0
  1196. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/lib/safe_yaml/syck_node_monkeypatch.rb +43 -0
  1197. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/lib/safe_yaml/syck_resolver.rb +38 -0
  1198. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform.rb +41 -0
  1199. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_boolean.rb +21 -0
  1200. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_date.rb +11 -0
  1201. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_float.rb +33 -0
  1202. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_integer.rb +25 -0
  1203. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_nil.rb +18 -0
  1204. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_symbol.rb +13 -0
  1205. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/transformation_map.rb +47 -0
  1206. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/lib/safe_yaml/version.rb +3 -0
  1207. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/run_specs_all_ruby_versions.sh +21 -0
  1208. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/safe_yaml.gemspec +18 -0
  1209. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/spec/exploit.1.9.2.yaml +2 -0
  1210. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/spec/exploit.1.9.3.yaml +2 -0
  1211. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/spec/psych_resolver_spec.rb +10 -0
  1212. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/spec/resolver_specs.rb +250 -0
  1213. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/spec/safe_yaml_spec.rb +702 -0
  1214. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/spec/spec_helper.rb +18 -0
  1215. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/spec/support/exploitable_back_door.rb +29 -0
  1216. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/spec/syck_resolver_spec.rb +10 -0
  1217. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/spec/transform/base64_spec.rb +11 -0
  1218. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/spec/transform/to_date_spec.rb +34 -0
  1219. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/spec/transform/to_float_spec.rb +42 -0
  1220. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/spec/transform/to_integer_spec.rb +59 -0
  1221. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml/spec/transform/to_symbol_spec.rb +49 -0
  1222. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/safe_yaml_patches.rb +9 -0
  1223. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/semantic/Gemfile +20 -0
  1224. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/semantic/PUPPET_README.md +6 -0
  1225. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/semantic/Rakefile +69 -0
  1226. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/semantic/lib/semantic.rb +7 -0
  1227. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/semantic/lib/semantic/dependency.rb +181 -0
  1228. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/semantic/lib/semantic/dependency/graph.rb +60 -0
  1229. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/semantic/lib/semantic/dependency/graph_node.rb +117 -0
  1230. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/semantic/lib/semantic/dependency/module_release.rb +46 -0
  1231. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/semantic/lib/semantic/dependency/source.rb +25 -0
  1232. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/semantic/lib/semantic/dependency/unsatisfiable_graph.rb +31 -0
  1233. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/semantic/lib/semantic/version.rb +168 -0
  1234. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/semantic/lib/semantic/version_range.rb +424 -0
  1235. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/semantic/spec/spec_helper.rb +24 -0
  1236. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/semantic/spec/unit/semantic/dependency/graph_node_spec.rb +141 -0
  1237. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/semantic/spec/unit/semantic/dependency/graph_spec.rb +162 -0
  1238. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/semantic/spec/unit/semantic/dependency/module_release_spec.rb +143 -0
  1239. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/semantic/spec/unit/semantic/dependency/source_spec.rb +5 -0
  1240. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/semantic/spec/unit/semantic/dependency/unsatisfiable_graph_spec.rb +44 -0
  1241. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/semantic/spec/unit/semantic/dependency_spec.rb +383 -0
  1242. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/semantic/spec/unit/semantic/version_range_spec.rb +307 -0
  1243. data/vendor/gems/puppet-3.7.3/lib/puppet/vendor/semantic/spec/unit/semantic/version_spec.rb +608 -0
  1244. data/vendor/gems/puppet-3.7.3/lib/puppet/version.rb +89 -0
  1245. data/vendor/gems/puppet-3.7.3/lib/puppetx.rb +89 -0
  1246. data/vendor/gems/puppet-3.7.3/lib/puppetx/puppet/bindings_scheme_handler.rb +130 -0
  1247. data/vendor/gems/puppet-3.7.3/lib/puppetx/puppet/syntax_checker.rb +91 -0
  1248. data/vendor/gems/puppet-3.7.3/lib/puppetx/puppetlabs/syntax_checkers/json.rb +37 -0
  1249. data/vendor/gems/puppet-3.7.3/lib/semver.rb +124 -0
  1250. data/vendor/gems/puppet-3.7.3/puppet-3.7.3.gemspec +3648 -0
  1251. data/vendor/gems/puppet-3.7.3/tasks/benchmark.rake +144 -0
  1252. data/vendor/gems/puppet-3.7.3/tasks/ci.rake +29 -0
  1253. data/vendor/gems/puppet-3.7.3/tasks/manpages.rake +84 -0
  1254. data/vendor/gems/puppet-3.7.3/tasks/memwalk.rake +195 -0
  1255. data/vendor/gems/puppet-3.7.3/tasks/parallel.rake +408 -0
  1256. data/vendor/gems/puppet-3.7.3/tasks/parser.rake +19 -0
  1257. data/vendor/gems/puppet-3.7.3/tasks/yard.rake +59 -0
  1258. metadata +1351 -35
@@ -0,0 +1,32 @@
1
+ module Puppet::Scheduler
2
+ class SplayJob < Job
3
+ attr_reader :splay
4
+
5
+ def initialize(run_interval, splay_limit, &block)
6
+ @splay = calculate_splay(splay_limit)
7
+ super(run_interval, &block)
8
+ end
9
+
10
+ def interval_to_next_from(time)
11
+ if last_run
12
+ super
13
+ else
14
+ (start_time + splay) - time
15
+ end
16
+ end
17
+
18
+ def ready?(time)
19
+ if last_run
20
+ super
21
+ else
22
+ start_time + splay <= time
23
+ end
24
+ end
25
+
26
+ private
27
+
28
+ def calculate_splay(limit)
29
+ rand(limit + 1)
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,13 @@
1
+ module Puppet::Scheduler
2
+ class Timer
3
+ def wait_for(seconds)
4
+ if seconds > 0
5
+ sleep(seconds)
6
+ end
7
+ end
8
+
9
+ def now
10
+ Time.now
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,1442 @@
1
+ require 'puppet'
2
+ require 'getoptlong'
3
+ require 'puppet/util/watched_file'
4
+ require 'puppet/util/command_line/puppet_option_parser'
5
+ require 'forwardable'
6
+
7
+ # The class for handling configuration files.
8
+ class Puppet::Settings
9
+ extend Forwardable
10
+ include Enumerable
11
+
12
+ require 'puppet/settings/errors'
13
+ require 'puppet/settings/base_setting'
14
+ require 'puppet/settings/string_setting'
15
+ require 'puppet/settings/enum_setting'
16
+ require 'puppet/settings/array_setting'
17
+ require 'puppet/settings/file_setting'
18
+ require 'puppet/settings/directory_setting'
19
+ require 'puppet/settings/file_or_directory_setting'
20
+ require 'puppet/settings/path_setting'
21
+ require 'puppet/settings/boolean_setting'
22
+ require 'puppet/settings/terminus_setting'
23
+ require 'puppet/settings/duration_setting'
24
+ require 'puppet/settings/ttl_setting'
25
+ require 'puppet/settings/priority_setting'
26
+ require 'puppet/settings/autosign_setting'
27
+ require 'puppet/settings/config_file'
28
+ require 'puppet/settings/value_translator'
29
+ require 'puppet/settings/environment_conf'
30
+
31
+ # local reference for convenience
32
+ PuppetOptionParser = Puppet::Util::CommandLine::PuppetOptionParser
33
+
34
+ attr_accessor :files
35
+ attr_reader :timer
36
+
37
+ # These are the settings that every app is required to specify; there are reasonable defaults defined in application.rb.
38
+ REQUIRED_APP_SETTINGS = [:logdir, :confdir, :vardir]
39
+
40
+ # This method is intended for puppet internal use only; it is a convenience method that
41
+ # returns reasonable application default settings values for a given run_mode.
42
+ def self.app_defaults_for_run_mode(run_mode)
43
+ {
44
+ :name => run_mode.to_s,
45
+ :run_mode => run_mode.name,
46
+ :confdir => run_mode.conf_dir,
47
+ :vardir => run_mode.var_dir,
48
+ :rundir => run_mode.run_dir,
49
+ :logdir => run_mode.log_dir,
50
+ }
51
+ end
52
+
53
+ def self.default_certname()
54
+ hostname = hostname_fact
55
+ domain = domain_fact
56
+ if domain and domain != ""
57
+ fqdn = [hostname, domain].join(".")
58
+ else
59
+ fqdn = hostname
60
+ end
61
+ fqdn.to_s.gsub(/\.$/, '')
62
+ end
63
+
64
+ def self.hostname_fact()
65
+ Facter["hostname"].value
66
+ end
67
+
68
+ def self.domain_fact()
69
+ Facter["domain"].value
70
+ end
71
+
72
+ def self.default_config_file_name
73
+ "puppet.conf"
74
+ end
75
+
76
+ # Create a new collection of config settings.
77
+ def initialize
78
+ @config = {}
79
+ @shortnames = {}
80
+
81
+ @created = []
82
+
83
+ # Keep track of set values.
84
+ @value_sets = {
85
+ :cli => Values.new(:cli, @config),
86
+ :memory => Values.new(:memory, @config),
87
+ :application_defaults => Values.new(:application_defaults, @config),
88
+ :overridden_defaults => Values.new(:overridden_defaults, @config),
89
+ }
90
+ @configuration_file = nil
91
+
92
+ # And keep a per-environment cache
93
+ @cache = Hash.new { |hash, key| hash[key] = {} }
94
+ @values = Hash.new { |hash, key| hash[key] = {} }
95
+
96
+ # The list of sections we've used.
97
+ @used = []
98
+
99
+ @hooks_to_call_on_application_initialization = []
100
+ @deprecated_setting_names = []
101
+ @deprecated_settings_that_have_been_configured = []
102
+
103
+ @translate = Puppet::Settings::ValueTranslator.new
104
+ @config_file_parser = Puppet::Settings::ConfigFile.new(@translate)
105
+ end
106
+
107
+ # @param name [Symbol] The name of the setting to fetch
108
+ # @return [Puppet::Settings::BaseSetting] The setting object
109
+ def setting(name)
110
+ @config[name]
111
+ end
112
+
113
+ # Retrieve a config value
114
+ # @param param [Symbol] the name of the setting
115
+ # @return [Object] the value of the setting
116
+ # @api private
117
+ def [](param)
118
+ if @deprecated_setting_names.include?(param)
119
+ issue_deprecation_warning(setting(param), "Accessing '#{param}' as a setting is deprecated.")
120
+ end
121
+ value(param)
122
+ end
123
+
124
+ # Set a config value. This doesn't set the defaults, it sets the value itself.
125
+ # @param param [Symbol] the name of the setting
126
+ # @param value [Object] the new value of the setting
127
+ # @api private
128
+ def []=(param, value)
129
+ if @deprecated_setting_names.include?(param)
130
+ issue_deprecation_warning(setting(param), "Modifying '#{param}' as a setting is deprecated.")
131
+ end
132
+ @value_sets[:memory].set(param, value)
133
+ unsafe_flush_cache
134
+ end
135
+
136
+ # Create a new default value for the given setting. The default overrides are
137
+ # higher precedence than the defaults given in defaults.rb, but lower
138
+ # precedence than any other values for the setting. This allows one setting
139
+ # `a` to change the default of setting `b`, but still allow a user to provide
140
+ # a value for setting `b`.
141
+ #
142
+ # @param param [Symbol] the name of the setting
143
+ # @param value [Object] the new default value for the setting
144
+ # @api private
145
+ def override_default(param, value)
146
+ @value_sets[:overridden_defaults].set(param, value)
147
+ unsafe_flush_cache
148
+ end
149
+
150
+ # Generate the list of valid arguments, in a format that GetoptLong can
151
+ # understand, and add them to the passed option list.
152
+ def addargs(options)
153
+ # Add all of the settings as valid options.
154
+ self.each { |name, setting|
155
+ setting.getopt_args.each { |args| options << args }
156
+ }
157
+
158
+ options
159
+ end
160
+
161
+ # Generate the list of valid arguments, in a format that OptionParser can
162
+ # understand, and add them to the passed option list.
163
+ def optparse_addargs(options)
164
+ # Add all of the settings as valid options.
165
+ self.each { |name, setting|
166
+ options << setting.optparse_args
167
+ }
168
+
169
+ options
170
+ end
171
+
172
+ # Is our setting a boolean setting?
173
+ def boolean?(param)
174
+ param = param.to_sym
175
+ @config.include?(param) and @config[param].kind_of?(BooleanSetting)
176
+ end
177
+
178
+ # Remove all set values, potentially skipping cli values.
179
+ def clear
180
+ unsafe_clear
181
+ end
182
+
183
+ # Remove all set values, potentially skipping cli values.
184
+ def unsafe_clear(clear_cli = true, clear_application_defaults = false)
185
+ if clear_application_defaults
186
+ @value_sets[:application_defaults] = Values.new(:application_defaults, @config)
187
+ @app_defaults_initialized = false
188
+ end
189
+
190
+ if clear_cli
191
+ @value_sets[:cli] = Values.new(:cli, @config)
192
+
193
+ # Only clear the 'used' values if we were explicitly asked to clear out
194
+ # :cli values; otherwise, it may be just a config file reparse,
195
+ # and we want to retain this cli values.
196
+ @used = []
197
+ end
198
+
199
+ @value_sets[:memory] = Values.new(:memory, @config)
200
+ @value_sets[:overridden_defaults] = Values.new(:overridden_defaults, @config)
201
+
202
+ @deprecated_settings_that_have_been_configured.clear
203
+ @values.clear
204
+ @cache.clear
205
+ end
206
+ private :unsafe_clear
207
+
208
+ # Clears all cached settings for a particular environment to ensure
209
+ # that changes to environment.conf are reflected in the settings if
210
+ # the environment timeout has expired.
211
+ #
212
+ # param [String, Symbol] environment the name of environment to clear settings for
213
+ #
214
+ # @api private
215
+ def clear_environment_settings(environment)
216
+
217
+ if environment.nil?
218
+ return
219
+ end
220
+
221
+ @cache[environment.to_sym].clear
222
+ @values[environment.to_sym] = {}
223
+ end
224
+
225
+ # Clear @cache, @used and the Environment.
226
+ #
227
+ # Whenever an object is returned by Settings, a copy is stored in @cache.
228
+ # As long as Setting attributes that determine the content of returned
229
+ # objects remain unchanged, Settings can keep returning objects from @cache
230
+ # without re-fetching or re-generating them.
231
+ #
232
+ # Whenever a Settings attribute changes, such as @values or @preferred_run_mode,
233
+ # this method must be called to clear out the caches so that updated
234
+ # objects will be returned.
235
+ def flush_cache
236
+ unsafe_flush_cache
237
+ end
238
+
239
+ def unsafe_flush_cache
240
+ clearused
241
+
242
+ # Clear the list of environments, because they cache, at least, the module path.
243
+ # We *could* preferentially just clear them if the modulepath is changed,
244
+ # but we don't really know if, say, the vardir is changed and the modulepath
245
+ # is defined relative to it. We need the defined?(stuff) because of loading
246
+ # order issues.
247
+ Puppet::Node::Environment.clear if defined?(Puppet::Node) and defined?(Puppet::Node::Environment)
248
+ end
249
+ private :unsafe_flush_cache
250
+
251
+ def clearused
252
+ @cache.clear
253
+ @used = []
254
+ end
255
+
256
+ def global_defaults_initialized?()
257
+ @global_defaults_initialized
258
+ end
259
+
260
+ def initialize_global_settings(args = [])
261
+ raise Puppet::DevError, "Attempting to initialize global default settings more than once!" if global_defaults_initialized?
262
+
263
+ # The first two phases of the lifecycle of a puppet application are:
264
+ # 1) Parse the command line options and handle any of them that are
265
+ # registered, defined "global" puppet settings (mostly from defaults.rb).
266
+ # 2) Parse the puppet config file(s).
267
+
268
+ parse_global_options(args)
269
+ parse_config_files
270
+
271
+ @global_defaults_initialized = true
272
+ end
273
+
274
+ # This method is called during application bootstrapping. It is responsible for parsing all of the
275
+ # command line options and initializing the settings accordingly.
276
+ #
277
+ # It will ignore options that are not defined in the global puppet settings list, because they may
278
+ # be valid options for the specific application that we are about to launch... however, at this point
279
+ # in the bootstrapping lifecycle, we don't yet know what that application is.
280
+ def parse_global_options(args)
281
+ # Create an option parser
282
+ option_parser = PuppetOptionParser.new
283
+ option_parser.ignore_invalid_options = true
284
+
285
+ # Add all global options to it.
286
+ self.optparse_addargs([]).each do |option|
287
+ option_parser.on(*option) do |arg|
288
+ opt, val = Puppet::Settings.clean_opt(option[0], arg)
289
+ handlearg(opt, val)
290
+ end
291
+ end
292
+
293
+ option_parser.on('--run_mode',
294
+ "The effective 'run mode' of the application: master, agent, or user.",
295
+ :REQUIRED) do |arg|
296
+ Puppet.settings.preferred_run_mode = arg
297
+ end
298
+
299
+ option_parser.parse(args)
300
+
301
+ # remove run_mode options from the arguments so that later parses don't think
302
+ # it is an unknown option.
303
+ while option_index = args.index('--run_mode') do
304
+ args.delete_at option_index
305
+ args.delete_at option_index
306
+ end
307
+ args.reject! { |arg| arg.start_with? '--run_mode=' }
308
+ end
309
+ private :parse_global_options
310
+
311
+ # A utility method (public, is used by application.rb and perhaps elsewhere) that munges a command-line
312
+ # option string into the format that Puppet.settings expects. (This mostly has to deal with handling the
313
+ # "no-" prefix on flag/boolean options).
314
+ #
315
+ # @param [String] opt the command line option that we are munging
316
+ # @param [String, TrueClass, FalseClass] val the value for the setting (as determined by the OptionParser)
317
+ def self.clean_opt(opt, val)
318
+ # rewrite --[no-]option to --no-option if that's what was given
319
+ if opt =~ /\[no-\]/ and !val
320
+ opt = opt.gsub(/\[no-\]/,'no-')
321
+ end
322
+ # otherwise remove the [no-] prefix to not confuse everybody
323
+ opt = opt.gsub(/\[no-\]/, '')
324
+ [opt, val]
325
+ end
326
+
327
+
328
+ def app_defaults_initialized?
329
+ @app_defaults_initialized
330
+ end
331
+
332
+ def initialize_app_defaults(app_defaults)
333
+ REQUIRED_APP_SETTINGS.each do |key|
334
+ raise SettingsError, "missing required app default setting '#{key}'" unless app_defaults.has_key?(key)
335
+ end
336
+
337
+ app_defaults.each do |key, value|
338
+ if key == :run_mode
339
+ self.preferred_run_mode = value
340
+ else
341
+ @value_sets[:application_defaults].set(key, value)
342
+ unsafe_flush_cache
343
+ end
344
+ end
345
+ apply_metadata
346
+ call_hooks_deferred_to_application_initialization
347
+ issue_deprecations
348
+
349
+ @app_defaults_initialized = true
350
+ end
351
+
352
+ def call_hooks_deferred_to_application_initialization(options = {})
353
+ @hooks_to_call_on_application_initialization.each do |setting|
354
+ begin
355
+ setting.handle(self.value(setting.name))
356
+ rescue InterpolationError => err
357
+ raise InterpolationError, err, err.backtrace unless options[:ignore_interpolation_dependency_errors]
358
+ #swallow. We're not concerned if we can't call hooks because dependencies don't exist yet
359
+ #we'll get another chance after application defaults are initialized
360
+ end
361
+ end
362
+ end
363
+ private :call_hooks_deferred_to_application_initialization
364
+
365
+ # Return a value's description.
366
+ def description(name)
367
+ if obj = @config[name.to_sym]
368
+ obj.desc
369
+ else
370
+ nil
371
+ end
372
+ end
373
+
374
+ def_delegator :@config, :each
375
+
376
+ # Iterate over each section name.
377
+ def eachsection
378
+ yielded = []
379
+ @config.each do |name, object|
380
+ section = object.section
381
+ unless yielded.include? section
382
+ yield section
383
+ yielded << section
384
+ end
385
+ end
386
+ end
387
+
388
+ # Return an object by name.
389
+ def setting(param)
390
+ param = param.to_sym
391
+ @config[param]
392
+ end
393
+
394
+ # Handle a command-line argument.
395
+ def handlearg(opt, value = nil)
396
+ @cache.clear
397
+
398
+ if value.is_a?(FalseClass)
399
+ value = "false"
400
+ elsif value.is_a?(TrueClass)
401
+ value = "true"
402
+ end
403
+
404
+ value &&= @translate[value]
405
+ str = opt.sub(/^--/,'')
406
+
407
+ bool = true
408
+ newstr = str.sub(/^no-/, '')
409
+ if newstr != str
410
+ str = newstr
411
+ bool = false
412
+ end
413
+ str = str.intern
414
+
415
+ if @config[str].is_a?(Puppet::Settings::BooleanSetting)
416
+ if value == "" or value.nil?
417
+ value = bool
418
+ end
419
+ end
420
+
421
+ if s = @config[str]
422
+ @deprecated_settings_that_have_been_configured << s if s.completely_deprecated?
423
+ end
424
+
425
+ @value_sets[:cli].set(str, value)
426
+ unsafe_flush_cache
427
+ end
428
+
429
+ def include?(name)
430
+ name = name.intern if name.is_a? String
431
+ @config.include?(name)
432
+ end
433
+
434
+ # check to see if a short name is already defined
435
+ def shortinclude?(short)
436
+ short = short.intern if name.is_a? String
437
+ @shortnames.include?(short)
438
+ end
439
+
440
+ # Prints the contents of a config file with the available config settings, or it
441
+ # prints a single value of a config setting.
442
+ def print_config_options
443
+ env = value(:environment)
444
+ val = value(:configprint)
445
+ if val == "all"
446
+ hash = {}
447
+ each do |name, obj|
448
+ val = value(name,env)
449
+ val = val.inspect if val == ""
450
+ hash[name] = val
451
+ end
452
+ hash.sort { |a,b| a[0].to_s <=> b[0].to_s }.each do |name, val|
453
+ puts "#{name} = #{val}"
454
+ end
455
+ else
456
+ val.split(/\s*,\s*/).sort.each do |v|
457
+ if include?(v)
458
+ #if there is only one value, just print it for back compatibility
459
+ if v == val
460
+ puts value(val,env)
461
+ break
462
+ end
463
+ puts "#{v} = #{value(v,env)}"
464
+ else
465
+ puts "invalid setting: #{v}"
466
+ return false
467
+ end
468
+ end
469
+ end
470
+ true
471
+ end
472
+
473
+ def generate_config
474
+ puts to_config
475
+ true
476
+ end
477
+
478
+ def generate_manifest
479
+ puts to_manifest
480
+ true
481
+ end
482
+
483
+ def print_configs
484
+ return print_config_options if value(:configprint) != ""
485
+ return generate_config if value(:genconfig)
486
+ generate_manifest if value(:genmanifest)
487
+ end
488
+
489
+ def print_configs?
490
+ (value(:configprint) != "" || value(:genconfig) || value(:genmanifest)) && true
491
+ end
492
+
493
+ # Return a given object's file metadata.
494
+ def metadata(param)
495
+ if obj = @config[param.to_sym] and obj.is_a?(FileSetting)
496
+ {
497
+ :owner => obj.owner,
498
+ :group => obj.group,
499
+ :mode => obj.mode
500
+ }.delete_if { |key, value| value.nil? }
501
+ else
502
+ nil
503
+ end
504
+ end
505
+
506
+ # Make a directory with the appropriate user, group, and mode
507
+ def mkdir(default)
508
+ obj = get_config_file_default(default)
509
+
510
+ Puppet::Util::SUIDManager.asuser(obj.owner, obj.group) do
511
+ mode = obj.mode || 0750
512
+ Dir.mkdir(obj.value, mode)
513
+ end
514
+ end
515
+
516
+ # The currently configured run mode that is preferred for constructing the application configuration.
517
+ def preferred_run_mode
518
+ @preferred_run_mode_name || :user
519
+ end
520
+
521
+ # PRIVATE! This only exists because we need a hook to validate the run mode when it's being set, and
522
+ # it should never, ever, ever, ever be called from outside of this file.
523
+ # This method is also called when --run_mode MODE is used on the command line to set the default
524
+ #
525
+ # @param mode [String|Symbol] the name of the mode to have in effect
526
+ # @api private
527
+ def preferred_run_mode=(mode)
528
+ mode = mode.to_s.downcase.intern
529
+ raise ValidationError, "Invalid run mode '#{mode}'" unless [:master, :agent, :user].include?(mode)
530
+ @preferred_run_mode_name = mode
531
+ # Changing the run mode has far-reaching consequences. Flush any cached
532
+ # settings so they will be re-generated.
533
+ flush_cache
534
+ mode
535
+ end
536
+
537
+ # Return all of the settings associated with a given section.
538
+ def params(section = nil)
539
+ if section
540
+ section = section.intern if section.is_a? String
541
+ @config.find_all { |name, obj|
542
+ obj.section == section
543
+ }.collect { |name, obj|
544
+ name
545
+ }
546
+ else
547
+ @config.keys
548
+ end
549
+ end
550
+
551
+ def parse_config(text, file = "text")
552
+ begin
553
+ data = @config_file_parser.parse_file(file, text)
554
+ rescue => detail
555
+ Puppet.log_exception(detail, "Could not parse #{file}: #{detail}")
556
+ return
557
+ end
558
+
559
+ # If we get here and don't have any data, we just return and don't muck with the current state of the world.
560
+ return if data.nil?
561
+
562
+ # If we get here then we have some data, so we need to clear out any
563
+ # previous settings that may have come from config files.
564
+ unsafe_clear(false, false)
565
+
566
+ record_deprecations_from_puppet_conf(data)
567
+
568
+ # And now we can repopulate with the values from our last parsing of the config files.
569
+ @configuration_file = data
570
+
571
+ # Determine our environment, if we have one.
572
+ if @config[:environment]
573
+ env = self.value(:environment).to_sym
574
+ else
575
+ env = "none"
576
+ end
577
+
578
+ # Call any hooks we should be calling.
579
+ value_sets = value_sets_for(env, preferred_run_mode)
580
+ @config.values.select(&:has_hook?).each do |setting|
581
+ value_sets.each do |source|
582
+ if source.include?(setting.name)
583
+ # We still have to use value to retrieve the value, since
584
+ # we want the fully interpolated value, not $vardir/lib or whatever.
585
+ # This results in extra work, but so few of the settings
586
+ # will have associated hooks that it ends up being less work this
587
+ # way overall.
588
+ if setting.call_hook_on_initialize?
589
+ @hooks_to_call_on_application_initialization << setting
590
+ else
591
+ setting.handle(ChainedValues.new(
592
+ preferred_run_mode,
593
+ env,
594
+ value_sets,
595
+ @config).interpolate(setting.name))
596
+ end
597
+ break
598
+ end
599
+ end
600
+ end
601
+
602
+ call_hooks_deferred_to_application_initialization :ignore_interpolation_dependency_errors => true
603
+ apply_metadata
604
+ end
605
+
606
+ # Parse the configuration file. Just provides thread safety.
607
+ def parse_config_files
608
+ file = which_configuration_file
609
+ if Puppet::FileSystem.exist?(file)
610
+ begin
611
+ text = read_file(file)
612
+ rescue => detail
613
+ Puppet.log_exception(detail, "Could not load #{file}: #{detail}")
614
+ return
615
+ end
616
+ else
617
+ return
618
+ end
619
+
620
+ parse_config(text, file)
621
+ end
622
+ private :parse_config_files
623
+
624
+ def main_config_file
625
+ if explicit_config_file?
626
+ return self[:config]
627
+ else
628
+ return File.join(Puppet::Util::RunMode[:master].conf_dir, config_file_name)
629
+ end
630
+ end
631
+ private :main_config_file
632
+
633
+ def user_config_file
634
+ return File.join(Puppet::Util::RunMode[:user].conf_dir, config_file_name)
635
+ end
636
+ private :user_config_file
637
+
638
+ # This method is here to get around some life-cycle issues. We need to be
639
+ # able to determine the config file name before the settings / defaults are
640
+ # fully loaded. However, we also need to respect any overrides of this value
641
+ # that the user may have specified on the command line.
642
+ #
643
+ # The easiest way to do this is to attempt to read the setting, and if we
644
+ # catch an error (meaning that it hasn't been set yet), we'll fall back to
645
+ # the default value.
646
+ def config_file_name
647
+ begin
648
+ return self[:config_file_name] if self[:config_file_name]
649
+ rescue SettingsError
650
+ # This just means that the setting wasn't explicitly set on the command line, so we will ignore it and
651
+ # fall through to the default name.
652
+ end
653
+ return self.class.default_config_file_name
654
+ end
655
+ private :config_file_name
656
+
657
+ def apply_metadata
658
+ # We have to do it in the reverse of the search path,
659
+ # because multiple sections could set the same value
660
+ # and I'm too lazy to only set the metadata once.
661
+ if @configuration_file
662
+ searchpath.reverse.each do |source|
663
+ source = preferred_run_mode if source == :run_mode
664
+ if section = @configuration_file.sections[source]
665
+ apply_metadata_from_section(section)
666
+ end
667
+ end
668
+ end
669
+ end
670
+ private :apply_metadata
671
+
672
+ def apply_metadata_from_section(section)
673
+ section.settings.each do |setting|
674
+ if setting.has_metadata? && type = @config[setting.name]
675
+ type.set_meta(setting.meta)
676
+ end
677
+ end
678
+ end
679
+
680
+ SETTING_TYPES = {
681
+ :string => StringSetting,
682
+ :file => FileSetting,
683
+ :directory => DirectorySetting,
684
+ :file_or_directory => FileOrDirectorySetting,
685
+ :path => PathSetting,
686
+ :boolean => BooleanSetting,
687
+ :terminus => TerminusSetting,
688
+ :duration => DurationSetting,
689
+ :ttl => TTLSetting,
690
+ :array => ArraySetting,
691
+ :enum => EnumSetting,
692
+ :priority => PrioritySetting,
693
+ :autosign => AutosignSetting,
694
+ }
695
+
696
+ # Create a new setting. The value is passed in because it's used to determine
697
+ # what kind of setting we're creating, but the value itself might be either
698
+ # a default or a value, so we can't actually assign it.
699
+ #
700
+ # See #define_settings for documentation on the legal values for the ":type" option.
701
+ def newsetting(hash)
702
+ klass = nil
703
+ hash[:section] = hash[:section].to_sym if hash[:section]
704
+
705
+ if type = hash[:type]
706
+ unless klass = SETTING_TYPES[type]
707
+ raise ArgumentError, "Invalid setting type '#{type}'"
708
+ end
709
+ hash.delete(:type)
710
+ else
711
+ # The only implicit typing we still do for settings is to fall back to "String" type if they didn't explicitly
712
+ # specify a type. Personally I'd like to get rid of this too, and make the "type" option mandatory... but
713
+ # there was a little resistance to taking things quite that far for now. --cprice 2012-03-19
714
+ klass = StringSetting
715
+ end
716
+ hash[:settings] = self
717
+ setting = klass.new(hash)
718
+
719
+ setting
720
+ end
721
+
722
+ # This has to be private, because it doesn't add the settings to @config
723
+ private :newsetting
724
+
725
+ # Iterate across all of the objects in a given section.
726
+ def persection(section)
727
+ section = section.to_sym
728
+ self.each { |name, obj|
729
+ if obj.section == section
730
+ yield obj
731
+ end
732
+ }
733
+ end
734
+
735
+ # Reparse our config file, if necessary.
736
+ def reparse_config_files
737
+ if files
738
+ if filename = any_files_changed?
739
+ Puppet.notice "Config file #{filename} changed; triggering re-parse of all config files."
740
+ parse_config_files
741
+ reuse
742
+ end
743
+ end
744
+ end
745
+
746
+ def files
747
+ return @files if @files
748
+ @files = []
749
+ [main_config_file, user_config_file].each do |path|
750
+ if Puppet::FileSystem.exist?(path)
751
+ @files << Puppet::Util::WatchedFile.new(path)
752
+ end
753
+ end
754
+ @files
755
+ end
756
+ private :files
757
+
758
+ # Checks to see if any of the config files have been modified
759
+ # @return the filename of the first file that is found to have changed, or
760
+ # nil if no files have changed
761
+ def any_files_changed?
762
+ files.each do |file|
763
+ return file.to_str if file.changed?
764
+ end
765
+ nil
766
+ end
767
+ private :any_files_changed?
768
+
769
+ def reuse
770
+ return unless defined?(@used)
771
+ new = @used
772
+ @used = []
773
+ self.use(*new)
774
+ end
775
+
776
+ # The order in which to search for values.
777
+ def searchpath(environment = nil)
778
+ [:memory, :cli, environment, :run_mode, :main, :application_defaults, :overridden_defaults].compact
779
+ end
780
+
781
+ # Get a list of objects per section
782
+ def sectionlist
783
+ sectionlist = []
784
+ self.each { |name, obj|
785
+ section = obj.section || "puppet"
786
+ sections[section] ||= []
787
+ sectionlist << section unless sectionlist.include?(section)
788
+ sections[section] << obj
789
+ }
790
+
791
+ return sectionlist, sections
792
+ end
793
+
794
+ def service_user_available?
795
+ return @service_user_available if defined?(@service_user_available)
796
+
797
+ if self[:user]
798
+ user = Puppet::Type.type(:user).new :name => self[:user], :audit => :ensure
799
+
800
+ @service_user_available = user.exists?
801
+ else
802
+ @service_user_available = false
803
+ end
804
+ end
805
+
806
+ def service_group_available?
807
+ return @service_group_available if defined?(@service_group_available)
808
+
809
+ if self[:group]
810
+ group = Puppet::Type.type(:group).new :name => self[:group], :audit => :ensure
811
+
812
+ @service_group_available = group.exists?
813
+ else
814
+ @service_group_available = false
815
+ end
816
+ end
817
+
818
+ # Allow later inspection to determine if the setting was set on the
819
+ # command line, or through some other code path. Used for the
820
+ # `dns_alt_names` option during cert generate. --daniel 2011-10-18
821
+ def set_by_cli?(param)
822
+ param = param.to_sym
823
+ !@value_sets[:cli].lookup(param).nil?
824
+ end
825
+
826
+ def set_value(param, value, type, options = {})
827
+ Puppet.deprecation_warning("Puppet.settings.set_value is deprecated. Use Puppet[]= instead.")
828
+ if @value_sets[type]
829
+ @value_sets[type].set(param, value)
830
+ unsafe_flush_cache
831
+ end
832
+ end
833
+
834
+ # Deprecated; use #define_settings instead
835
+ def setdefaults(section, defs)
836
+ Puppet.deprecation_warning("'setdefaults' is deprecated and will be removed; please call 'define_settings' instead")
837
+ define_settings(section, defs)
838
+ end
839
+
840
+ # Define a group of settings.
841
+ #
842
+ # @param [Symbol] section a symbol to use for grouping multiple settings together into a conceptual unit. This value
843
+ # (and the conceptual separation) is not used very often; the main place where it will have a potential impact
844
+ # is when code calls Settings#use method. See docs on that method for further details, but basically that method
845
+ # just attempts to do any preparation that may be necessary before code attempts to leverage the value of a particular
846
+ # setting. This has the most impact for file/directory settings, where #use will attempt to "ensure" those
847
+ # files / directories.
848
+ # @param [Hash[Hash]] defs the settings to be defined. This argument is a hash of hashes; each key should be a symbol,
849
+ # which is basically the name of the setting that you are defining. The value should be another hash that specifies
850
+ # the parameters for the particular setting. Legal values include:
851
+ # [:default] => not required; this is the value for the setting if no other value is specified (via cli, config file, etc.)
852
+ # For string settings this may include "variables", demarcated with $ or ${} which will be interpolated with values of other settings.
853
+ # The default value may also be a Proc that will be called only once to evaluate the default when the setting's value is retrieved.
854
+ # [:desc] => required; a description of the setting, used in documentation / help generation
855
+ # [:type] => not required, but highly encouraged! This specifies the data type that the setting represents. If
856
+ # you do not specify it, it will default to "string". Legal values include:
857
+ # :string - A generic string setting
858
+ # :boolean - A boolean setting; values are expected to be "true" or "false"
859
+ # :file - A (single) file path; puppet may attempt to create this file depending on how the settings are used. This type
860
+ # also supports additional options such as "mode", "owner", "group"
861
+ # :directory - A (single) directory path; puppet may attempt to create this file depending on how the settings are used. This type
862
+ # also supports additional options such as "mode", "owner", "group"
863
+ # :path - This is intended to be used for settings whose value can contain multiple directory paths, respresented
864
+ # as strings separated by the system path separator (e.g. system path, module path, etc.).
865
+ # [:mode] => an (optional) octal value to be used as the permissions/mode for :file and :directory settings
866
+ # [:owner] => optional owner username/uid for :file and :directory settings
867
+ # [:group] => optional group name/gid for :file and :directory settings
868
+ #
869
+ def define_settings(section, defs)
870
+ section = section.to_sym
871
+ call = []
872
+ defs.each do |name, hash|
873
+ raise ArgumentError, "setting definition for '#{name}' is not a hash!" unless hash.is_a? Hash
874
+
875
+ name = name.to_sym
876
+ hash[:name] = name
877
+ hash[:section] = section
878
+ raise ArgumentError, "Setting #{name} is already defined" if @config.include?(name)
879
+ tryconfig = newsetting(hash)
880
+ if short = tryconfig.short
881
+ if other = @shortnames[short]
882
+ raise ArgumentError, "Setting #{other.name} is already using short name '#{short}'"
883
+ end
884
+ @shortnames[short] = tryconfig
885
+ end
886
+ @config[name] = tryconfig
887
+
888
+ # Collect the settings that need to have their hooks called immediately.
889
+ # We have to collect them so that we can be sure we're fully initialized before
890
+ # the hook is called.
891
+ if tryconfig.has_hook?
892
+ if tryconfig.call_hook_on_define?
893
+ call << tryconfig
894
+ elsif tryconfig.call_hook_on_initialize?
895
+ @hooks_to_call_on_application_initialization << tryconfig
896
+ end
897
+ end
898
+
899
+ @deprecated_setting_names << name if tryconfig.deprecated?
900
+ end
901
+
902
+ call.each do |setting|
903
+ setting.handle(self.value(setting.name))
904
+ end
905
+ end
906
+
907
+ # Convert the settings we manage into a catalog full of resources that model those settings.
908
+ def to_catalog(*sections)
909
+ sections = nil if sections.empty?
910
+
911
+ catalog = Puppet::Resource::Catalog.new("Settings", Puppet::Node::Environment::NONE)
912
+ @config.keys.find_all { |key| @config[key].is_a?(FileSetting) }.each do |key|
913
+ next if (key == :manifestdir && should_skip_manifestdir?())
914
+ file = @config[key]
915
+ next unless (sections.nil? or sections.include?(file.section))
916
+ next unless resource = file.to_resource
917
+ next if catalog.resource(resource.ref)
918
+
919
+ Puppet.debug("Using settings: adding file resource '#{key}': '#{resource.inspect}'")
920
+
921
+ catalog.add_resource(resource)
922
+ end
923
+
924
+ add_user_resources(catalog, sections)
925
+ add_environment_resources(catalog, sections)
926
+
927
+ catalog
928
+ end
929
+
930
+ def should_skip_manifestdir?()
931
+ setting = @config[:environmentpath]
932
+ !(setting.nil? || setting.value.nil? || setting.value.empty?)
933
+ end
934
+
935
+ private :should_skip_manifestdir?
936
+
937
+ # Convert our list of config settings into a configuration file.
938
+ def to_config
939
+ str = %{The configuration file for #{Puppet.run_mode.name}. Note that this file
940
+ is likely to have unused settings in it; any setting that's
941
+ valid anywhere in Puppet can be in any config file, even if it's not used.
942
+
943
+ Every section can specify three special parameters: owner, group, and mode.
944
+ These parameters affect the required permissions of any files specified after
945
+ their specification. Puppet will sometimes use these parameters to check its
946
+ own configured state, so they can be used to make Puppet a bit more self-managing.
947
+
948
+ The file format supports octothorpe-commented lines, but not partial-line comments.
949
+
950
+ Generated on #{Time.now}.
951
+
952
+ }.gsub(/^/, "# ")
953
+
954
+ # Add a section heading that matches our name.
955
+ str += "[#{preferred_run_mode}]\n"
956
+ eachsection do |section|
957
+ persection(section) do |obj|
958
+ str += obj.to_config + "\n" unless obj.name == :genconfig
959
+ end
960
+ end
961
+
962
+ return str
963
+ end
964
+
965
+ # Convert to a parseable manifest
966
+ def to_manifest
967
+ catalog = to_catalog
968
+ catalog.resource_refs.collect do |ref|
969
+ catalog.resource(ref).to_manifest
970
+ end.join("\n\n")
971
+ end
972
+
973
+ # Create the necessary objects to use a section. This is idempotent;
974
+ # you can 'use' a section as many times as you want.
975
+ def use(*sections)
976
+ sections = sections.collect { |s| s.to_sym }
977
+ sections = sections.reject { |s| @used.include?(s) }
978
+
979
+ return if sections.empty?
980
+
981
+ begin
982
+ catalog = to_catalog(*sections).to_ral
983
+ rescue => detail
984
+ Puppet.log_and_raise(detail, "Could not create resources for managing Puppet's files and directories in sections #{sections.inspect}: #{detail}")
985
+ end
986
+
987
+ catalog.host_config = false
988
+ catalog.apply do |transaction|
989
+ if transaction.any_failed?
990
+ report = transaction.report
991
+ status_failures = report.resource_statuses.values.select { |r| r.failed? }
992
+ status_fail_msg = status_failures.
993
+ collect(&:events).
994
+ flatten.
995
+ select { |event| event.status == 'failure' }.
996
+ collect { |event| "#{event.resource}: #{event.message}" }.join("; ")
997
+
998
+ raise "Got #{status_failures.length} failure(s) while initializing: #{status_fail_msg}"
999
+ end
1000
+ end
1001
+
1002
+ sections.each { |s| @used << s }
1003
+ @used.uniq!
1004
+ end
1005
+
1006
+ def valid?(param)
1007
+ param = param.to_sym
1008
+ @config.has_key?(param)
1009
+ end
1010
+
1011
+ def uninterpolated_value(param, environment = nil)
1012
+ Puppet.deprecation_warning("Puppet.settings.uninterpolated_value is deprecated. Use Puppet.settings.value instead")
1013
+ param = param.to_sym
1014
+ environment &&= environment.to_sym
1015
+
1016
+ values(environment, self.preferred_run_mode).lookup(param)
1017
+ end
1018
+
1019
+ # Retrieve an object that can be used for looking up values of configuration
1020
+ # settings.
1021
+ #
1022
+ # @param environment [Symbol] The name of the environment in which to lookup
1023
+ # @param section [Symbol] The name of the configuration section in which to lookup
1024
+ # @return [Puppet::Settings::ChainedValues] An object to perform lookups
1025
+ # @api public
1026
+ def values(environment, section)
1027
+ @values[environment][section] ||= ChainedValues.new(
1028
+ section,
1029
+ environment,
1030
+ value_sets_for(environment, section),
1031
+ @config)
1032
+ end
1033
+
1034
+ # Find the correct value using our search path.
1035
+ #
1036
+ # @param param [String, Symbol] The value to look up
1037
+ # @param environment [String, Symbol] The environment to check for the value
1038
+ # @param bypass_interpolation [true, false] Whether to skip interpolation
1039
+ #
1040
+ # @return [Object] The looked up value
1041
+ #
1042
+ # @raise [InterpolationError]
1043
+ def value(param, environment = nil, bypass_interpolation = false)
1044
+ param = param.to_sym
1045
+ environment &&= environment.to_sym
1046
+
1047
+ setting = @config[param]
1048
+
1049
+ # Short circuit to nil for undefined settings.
1050
+ return nil if setting.nil?
1051
+
1052
+ # Check the cache first. It needs to be a per-environment
1053
+ # cache so that we don't spread values from one env
1054
+ # to another.
1055
+ if @cache[environment||"none"].has_key?(param)
1056
+ return @cache[environment||"none"][param]
1057
+ elsif bypass_interpolation
1058
+ val = values(environment, self.preferred_run_mode).lookup(param)
1059
+ else
1060
+ val = values(environment, self.preferred_run_mode).interpolate(param)
1061
+ end
1062
+
1063
+ @cache[environment||"none"][param] = val
1064
+ val
1065
+ end
1066
+
1067
+ ##
1068
+ # (#15337) All of the logic to determine the configuration file to use
1069
+ # should be centralized into this method. The simplified approach is:
1070
+ #
1071
+ # 1. If there is an explicit configuration file, use that. (--confdir or
1072
+ # --config)
1073
+ # 2. If we're running as a root process, use the system puppet.conf
1074
+ # (usually /etc/puppet/puppet.conf)
1075
+ # 3. Otherwise, use the user puppet.conf (usually ~/.puppet/puppet.conf)
1076
+ #
1077
+ # @api private
1078
+ # @todo this code duplicates {Puppet::Util::RunMode#which_dir} as described
1079
+ # in {http://projects.puppetlabs.com/issues/16637 #16637}
1080
+ def which_configuration_file
1081
+ if explicit_config_file? or Puppet.features.root? then
1082
+ return main_config_file
1083
+ else
1084
+ return user_config_file
1085
+ end
1086
+ end
1087
+
1088
+ # This method just turns a file into a new ConfigFile::Conf instance
1089
+ # @param file [String] absolute path to the configuration file
1090
+ # @return [Puppet::Settings::ConfigFile::Conf]
1091
+ # @api private
1092
+ def parse_file(file)
1093
+ @config_file_parser.parse_file(file, read_file(file))
1094
+ end
1095
+
1096
+ private
1097
+
1098
+ DEPRECATION_REFS = {
1099
+ [:manifest, :modulepath, :config_version, :templatedir, :manifestdir] =>
1100
+ "See http://links.puppetlabs.com/env-settings-deprecations"
1101
+ }.freeze
1102
+
1103
+ # Record that we want to issue a deprecation warning later in the application
1104
+ # initialization cycle when we have settings bootstrapped to the point where
1105
+ # we can read the Puppet[:disable_warnings] setting.
1106
+ #
1107
+ # We are only recording warnings applicable to settings set in puppet.conf
1108
+ # itself.
1109
+ def record_deprecations_from_puppet_conf(puppet_conf)
1110
+ conf_sections = puppet_conf.sections.inject([]) do |accum,entry|
1111
+ accum << entry[1] if [:main, :master, :agent, :user].include?(entry[0])
1112
+ accum
1113
+ end
1114
+
1115
+ conf_sections.each do |section|
1116
+ section.settings.each do |conf_setting|
1117
+ if setting = self.setting(conf_setting.name)
1118
+ @deprecated_settings_that_have_been_configured << setting if setting.deprecated?
1119
+ end
1120
+ end
1121
+ end
1122
+ end
1123
+
1124
+ def issue_deprecations
1125
+ @deprecated_settings_that_have_been_configured.each do |setting|
1126
+ issue_deprecation_warning(setting)
1127
+ end
1128
+ end
1129
+
1130
+ def issue_deprecation_warning(setting, msg = nil)
1131
+ name = setting.name
1132
+ ref = DEPRECATION_REFS.find { |params,reference| params.include?(name) }
1133
+ ref = ref[1] if ref
1134
+ case
1135
+ when msg
1136
+ msg << " #{ref}" if ref
1137
+ Puppet.deprecation_warning(msg)
1138
+ when setting.completely_deprecated?
1139
+ Puppet.deprecation_warning("Setting #{name} is deprecated. #{ref}", "setting-#{name}")
1140
+ when setting.allowed_on_commandline?
1141
+ Puppet.deprecation_warning("Setting #{name} is deprecated in puppet.conf. #{ref}", "puppet-conf-setting-#{name}")
1142
+ end
1143
+ end
1144
+
1145
+ def get_config_file_default(default)
1146
+ obj = nil
1147
+ unless obj = @config[default]
1148
+ raise ArgumentError, "Unknown default #{default}"
1149
+ end
1150
+
1151
+ raise ArgumentError, "Default #{default} is not a file" unless obj.is_a? FileSetting
1152
+
1153
+ obj
1154
+ end
1155
+
1156
+ def add_environment_resources(catalog, sections)
1157
+ path = self[:environmentpath]
1158
+ envdir = path.split(File::PATH_SEPARATOR).first if path
1159
+ configured_environment = self[:environment]
1160
+ if configured_environment == "production" && envdir && Puppet::FileSystem.exist?(envdir)
1161
+ configured_environment_path = File.join(envdir, configured_environment)
1162
+ if !Puppet::FileSystem.symlink?(configured_environment_path)
1163
+ catalog.add_resource(
1164
+ Puppet::Resource.new(:file,
1165
+ configured_environment_path,
1166
+ :parameters => { :ensure => 'directory' })
1167
+ )
1168
+ end
1169
+ end
1170
+ end
1171
+
1172
+ def add_user_resources(catalog, sections)
1173
+ return unless Puppet.features.root?
1174
+ return if Puppet.features.microsoft_windows?
1175
+ return unless self[:mkusers]
1176
+
1177
+ @config.each do |name, setting|
1178
+ next unless setting.respond_to?(:owner)
1179
+ next unless sections.nil? or sections.include?(setting.section)
1180
+
1181
+ if user = setting.owner and user != "root" and catalog.resource(:user, user).nil?
1182
+ resource = Puppet::Resource.new(:user, user, :parameters => {:ensure => :present})
1183
+ resource[:gid] = self[:group] if self[:group]
1184
+ catalog.add_resource resource
1185
+ end
1186
+ if group = setting.group and ! %w{root wheel}.include?(group) and catalog.resource(:group, group).nil?
1187
+ catalog.add_resource Puppet::Resource.new(:group, group, :parameters => {:ensure => :present})
1188
+ end
1189
+ end
1190
+ end
1191
+
1192
+ # Yield each search source in turn.
1193
+ def value_sets_for(environment, mode)
1194
+ searchpath(environment).collect do |name|
1195
+ case name
1196
+ when :cli, :memory, :application_defaults, :overridden_defaults
1197
+ @value_sets[name]
1198
+ when :run_mode
1199
+ if @configuration_file
1200
+ section = @configuration_file.sections[mode]
1201
+ if section
1202
+ ValuesFromSection.new(mode, section)
1203
+ end
1204
+ end
1205
+ else
1206
+ values_from_section = nil
1207
+ if @configuration_file
1208
+ if section = @configuration_file.sections[name]
1209
+ values_from_section = ValuesFromSection.new(name, section)
1210
+ end
1211
+ end
1212
+ if values_from_section.nil? && global_defaults_initialized?
1213
+ values_from_section = ValuesFromEnvironmentConf.new(name)
1214
+ end
1215
+ values_from_section
1216
+ end
1217
+ end.compact
1218
+ end
1219
+
1220
+ # Read the file in.
1221
+ # @api private
1222
+ def read_file(file)
1223
+ return Puppet::FileSystem.read(file)
1224
+ end
1225
+
1226
+ # Private method for internal test use only; allows to do a comprehensive clear of all settings between tests.
1227
+ #
1228
+ # @return nil
1229
+ def clear_everything_for_tests()
1230
+ unsafe_clear(true, true)
1231
+ @configuration_file = nil
1232
+ @global_defaults_initialized = false
1233
+ @app_defaults_initialized = false
1234
+ end
1235
+ private :clear_everything_for_tests
1236
+
1237
+ def explicit_config_file?
1238
+ # Figure out if the user has provided an explicit configuration file. If
1239
+ # so, return the path to the file, if not return nil.
1240
+ #
1241
+ # The easiest way to determine whether an explicit one has been specified
1242
+ # is to simply attempt to evaluate the value of ":config". This will
1243
+ # obviously be successful if they've passed an explicit value for :config,
1244
+ # but it will also result in successful interpolation if they've only
1245
+ # passed an explicit value for :confdir.
1246
+ #
1247
+ # If they've specified neither, then the interpolation will fail and we'll
1248
+ # get an exception.
1249
+ #
1250
+ begin
1251
+ return true if self[:config]
1252
+ rescue InterpolationError
1253
+ # This means we failed to interpolate, which means that they didn't
1254
+ # explicitly specify either :config or :confdir... so we'll fall out to
1255
+ # the default value.
1256
+ return false
1257
+ end
1258
+ end
1259
+ private :explicit_config_file?
1260
+
1261
+ # Lookup configuration setting value through a chain of different value sources.
1262
+ #
1263
+ # @api public
1264
+ class ChainedValues
1265
+ ENVIRONMENT_SETTING = "environment".freeze
1266
+ ENVIRONMENT_INTERPOLATION_ALLOWED = ['config_version'].freeze
1267
+
1268
+ # @see Puppet::Settings.values
1269
+ # @api private
1270
+ def initialize(mode, environment, value_sets, defaults)
1271
+ @mode = mode
1272
+ @environment = environment
1273
+ @value_sets = value_sets
1274
+ @defaults = defaults
1275
+ end
1276
+
1277
+ # Lookup the uninterpolated value.
1278
+ #
1279
+ # @param name [Symbol] The configuration setting name to look up
1280
+ # @return [Object] The configuration setting value or nil if the setting is not known
1281
+ # @api public
1282
+ def lookup(name)
1283
+ set = @value_sets.find do |set|
1284
+ set.include?(name)
1285
+ end
1286
+ if set
1287
+ value = set.lookup(name)
1288
+ if !value.nil?
1289
+ return value
1290
+ end
1291
+ end
1292
+
1293
+ @defaults[name].default
1294
+ end
1295
+
1296
+ # Lookup the interpolated value. All instances of `$name` in the value will
1297
+ # be replaced by performing a lookup of `name` and substituting the text
1298
+ # for `$name` in the original value. This interpolation is only performed
1299
+ # if the looked up value is a String.
1300
+ #
1301
+ # @param name [Symbol] The configuration setting name to look up
1302
+ # @return [Object] The configuration setting value or nil if the setting is not known
1303
+ # @api public
1304
+ def interpolate(name)
1305
+ setting = @defaults[name]
1306
+
1307
+ if setting
1308
+ val = lookup(name)
1309
+ # if we interpolate code, all hell breaks loose.
1310
+ if name == :code
1311
+ val
1312
+ else
1313
+ # Convert it if necessary
1314
+ begin
1315
+ val = convert(val, name)
1316
+ rescue InterpolationError => err
1317
+ # This happens because we don't have access to the param name when the
1318
+ # exception is originally raised, but we want it in the message
1319
+ raise InterpolationError, "Error converting value for param '#{name}': #{err}", err.backtrace
1320
+ end
1321
+
1322
+ setting.munge(val)
1323
+ end
1324
+ else
1325
+ nil
1326
+ end
1327
+ end
1328
+
1329
+ private
1330
+
1331
+ def convert(value, setting_name)
1332
+ case value
1333
+ when nil
1334
+ nil
1335
+ when String
1336
+ failed_environment_interpolation = false
1337
+ interpolated_value = value.gsub(/\$(\w+)|\$\{(\w+)\}/) do |expression|
1338
+ varname = $2 || $1
1339
+ interpolated_expression =
1340
+ if varname != ENVIRONMENT_SETTING || ok_to_interpolate_environment(setting_name)
1341
+ if varname == ENVIRONMENT_SETTING && @environment
1342
+ @environment
1343
+ elsif varname == "run_mode"
1344
+ @mode
1345
+ elsif !(pval = interpolate(varname.to_sym)).nil?
1346
+ pval
1347
+ else
1348
+ raise InterpolationError, "Could not find value for #{expression}"
1349
+ end
1350
+ else
1351
+ failed_environment_interpolation = true
1352
+ expression
1353
+ end
1354
+ interpolated_expression
1355
+ end
1356
+ if failed_environment_interpolation
1357
+ Puppet.warning("You cannot interpolate $environment within '#{setting_name}' when using directory environments. Its value will remain #{interpolated_value}.")
1358
+ end
1359
+ interpolated_value
1360
+ else
1361
+ value
1362
+ end
1363
+ end
1364
+
1365
+ def ok_to_interpolate_environment(setting_name)
1366
+ return true if Puppet.settings.value(:environmentpath, nil, true).empty?
1367
+
1368
+ ENVIRONMENT_INTERPOLATION_ALLOWED.include?(setting_name.to_s)
1369
+ end
1370
+ end
1371
+
1372
+ class Values
1373
+ extend Forwardable
1374
+
1375
+ def initialize(name, defaults)
1376
+ @name = name
1377
+ @values = {}
1378
+ @defaults = defaults
1379
+ end
1380
+
1381
+ def_delegator :@values, :include?
1382
+ def_delegator :@values, :[], :lookup
1383
+
1384
+ def set(name, value)
1385
+ default = @defaults[name]
1386
+
1387
+ if !default
1388
+ raise ArgumentError,
1389
+ "Attempt to assign a value to unknown setting #{name.inspect}"
1390
+ end
1391
+
1392
+ if default.has_hook?
1393
+ default.handle(value)
1394
+ end
1395
+
1396
+ @values[name] = value
1397
+ end
1398
+ end
1399
+
1400
+ class ValuesFromSection
1401
+ def initialize(name, section)
1402
+ @name = name
1403
+ @section = section
1404
+ end
1405
+
1406
+ def include?(name)
1407
+ !@section.setting(name).nil?
1408
+ end
1409
+
1410
+ def lookup(name)
1411
+ setting = @section.setting(name)
1412
+ if setting
1413
+ setting.value
1414
+ end
1415
+ end
1416
+ end
1417
+
1418
+ # @api private
1419
+ class ValuesFromEnvironmentConf
1420
+ def initialize(environment_name)
1421
+ @environment_name = environment_name
1422
+ end
1423
+
1424
+ def include?(name)
1425
+ if Puppet::Settings::EnvironmentConf::VALID_SETTINGS.include?(name) && conf
1426
+ return true
1427
+ end
1428
+ false
1429
+ end
1430
+
1431
+ def lookup(name)
1432
+ return nil unless Puppet::Settings::EnvironmentConf::VALID_SETTINGS.include?(name)
1433
+ conf.send(name) if conf
1434
+ end
1435
+
1436
+ def conf
1437
+ @conf ||= if environments = Puppet.lookup(:environments)
1438
+ environments.get_conf(@environment_name)
1439
+ end
1440
+ end
1441
+ end
1442
+ end