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,25 @@
1
+ require 'puppet/parser/yaml_trimmer'
2
+
3
+ # The parameters we stick in Resources.
4
+ class Puppet::Parser::Resource::Param
5
+ include Puppet::Util
6
+ include Puppet::Util::Errors
7
+ include Puppet::Util::MethodHelper
8
+ include Puppet::Parser::YamlTrimmer
9
+
10
+ attr_accessor :name, :value, :source, :add, :file, :line
11
+
12
+ def initialize(hash)
13
+ set_options(hash)
14
+ requiredopts(:name)
15
+ @name = @name.intern
16
+ end
17
+
18
+ def line_to_i
19
+ line ? Integer(line) : nil
20
+ end
21
+
22
+ def to_s
23
+ "#{self.name} => #{self.value}"
24
+ end
25
+ end
@@ -0,0 +1,906 @@
1
+ # The scope class, which handles storing and retrieving variables and types and
2
+ # such.
3
+ require 'forwardable'
4
+
5
+ require 'puppet/parser'
6
+ require 'puppet/parser/templatewrapper'
7
+
8
+ require 'puppet/resource/type_collection_helper'
9
+ require 'puppet/util/methodhelper'
10
+
11
+ # This class is part of the internal parser/evaluator/compiler functionality of Puppet.
12
+ # It is passed between the various classes that participate in evaluation.
13
+ # None of its methods are API except those that are clearly marked as such.
14
+ #
15
+ # @api public
16
+ class Puppet::Parser::Scope
17
+ extend Forwardable
18
+ include Puppet::Util::MethodHelper
19
+
20
+ include Puppet::Resource::TypeCollectionHelper
21
+ require 'puppet/parser/resource'
22
+
23
+ AST = Puppet::Parser::AST
24
+
25
+ Puppet::Util.logmethods(self)
26
+
27
+ include Puppet::Util::Errors
28
+ attr_accessor :source, :resource
29
+ attr_accessor :compiler
30
+ attr_accessor :parent
31
+ attr_reader :namespaces
32
+
33
+ # Hash of hashes of default values per type name
34
+ attr_reader :defaults
35
+
36
+ # Add some alias methods that forward to the compiler, since we reference
37
+ # them frequently enough to justify the extra method call.
38
+ def_delegators :compiler, :catalog, :environment
39
+
40
+
41
+ # Abstract base class for LocalScope and MatchScope
42
+ #
43
+ class Ephemeral
44
+
45
+ attr_reader :parent
46
+
47
+ def initialize(parent = nil)
48
+ @parent = parent
49
+ end
50
+
51
+ def is_local_scope?
52
+ false
53
+ end
54
+
55
+ def [](name)
56
+ if @parent
57
+ @parent[name]
58
+ end
59
+ end
60
+
61
+ def include?(name)
62
+ (@parent and @parent.include?(name))
63
+ end
64
+
65
+ def bound?(name)
66
+ false
67
+ end
68
+
69
+ def add_entries_to(target = {})
70
+ @parent.add_entries_to(target) unless @parent.nil?
71
+ # do not include match data ($0-$n)
72
+ target
73
+ end
74
+ end
75
+
76
+ class LocalScope < Ephemeral
77
+
78
+ def initialize(parent=nil)
79
+ super parent
80
+ @symbols = {}
81
+ end
82
+
83
+ def [](name)
84
+ if @symbols.include?(name)
85
+ @symbols[name]
86
+ else
87
+ super
88
+ end
89
+ end
90
+
91
+ def is_local_scope?
92
+ true
93
+ end
94
+
95
+ def []=(name, value)
96
+ @symbols[name] = value
97
+ end
98
+
99
+ def include?(name)
100
+ bound?(name) || super
101
+ end
102
+
103
+ def delete(name)
104
+ @symbols.delete(name)
105
+ end
106
+
107
+ def bound?(name)
108
+ @symbols.include?(name)
109
+ end
110
+
111
+ def add_entries_to(target = {})
112
+ super
113
+ @symbols.each do |k, v|
114
+ if v == :undef || v.nil?
115
+ target.delete(k)
116
+ else
117
+ target[ k ] = v
118
+ end
119
+ end
120
+ target
121
+ end
122
+ end
123
+
124
+ class MatchScope < Ephemeral
125
+
126
+ attr_accessor :match_data
127
+
128
+ def initialize(parent = nil, match_data = nil)
129
+ super parent
130
+ @match_data = match_data
131
+ end
132
+
133
+ def is_local_scope?
134
+ false
135
+ end
136
+
137
+ def [](name)
138
+ if bound?(name)
139
+ @match_data[name.to_i]
140
+ else
141
+ super
142
+ end
143
+ end
144
+
145
+ def include?(name)
146
+ bound?(name) or super
147
+ end
148
+
149
+ def bound?(name)
150
+ # A "match variables" scope reports all numeric variables to be bound if the scope has
151
+ # match_data. Without match data the scope is transparent.
152
+ #
153
+ @match_data && name =~ /^\d+$/
154
+ end
155
+
156
+ def []=(name, value)
157
+ # TODO: Bad choice of exception
158
+ raise Puppet::ParseError, "Numerical variables cannot be changed. Attempt to set $#{name}"
159
+ end
160
+
161
+ def delete(name)
162
+ # TODO: Bad choice of exception
163
+ raise Puppet::ParseError, "Numerical variables cannot be deleted: Attempt to delete: $#{name}"
164
+ end
165
+
166
+ def add_entries_to(target = {})
167
+ # do not include match data ($0-$n)
168
+ super
169
+ end
170
+
171
+ end
172
+
173
+ # Returns true if the variable of the given name has a non nil value.
174
+ # TODO: This has vague semantics - does the variable exist or not?
175
+ # use ['name'] to get nil or value, and if nil check with exist?('name')
176
+ # this include? is only useful because of checking against the boolean value false.
177
+ #
178
+ def include?(name)
179
+ ! self[name].nil?
180
+ end
181
+
182
+ # Returns true if the variable of the given name is set to any value (including nil)
183
+ #
184
+ def exist?(name)
185
+ next_scope = inherited_scope || enclosing_scope
186
+ effective_symtable(true).include?(name) || next_scope && next_scope.exist?(name)
187
+ end
188
+
189
+ # Returns true if the given name is bound in the current (most nested) scope for assignments.
190
+ #
191
+ def bound?(name)
192
+ # Do not look in ephemeral (match scope), the semantics is to answer if an assignable variable is bound
193
+ effective_symtable(false).bound?(name)
194
+ end
195
+
196
+ # Is the value true? This allows us to control the definition of truth
197
+ # in one place.
198
+ def self.true?(value)
199
+ case value
200
+ when ''
201
+ false
202
+ when :undef
203
+ false
204
+ else
205
+ !!value
206
+ end
207
+ end
208
+
209
+ # Coerce value to a number, or return `nil` if it isn't one.
210
+ def self.number?(value)
211
+ case value
212
+ when Numeric
213
+ value
214
+ when /^-?\d+(:?\.\d+|(:?\.\d+)?e\d+)$/
215
+ value.to_f
216
+ when /^0x[0-9a-f]+$/i
217
+ value.to_i(16)
218
+ when /^0[0-7]+$/
219
+ value.to_i(8)
220
+ when /^-?\d+$/
221
+ value.to_i
222
+ else
223
+ nil
224
+ end
225
+ end
226
+
227
+ # Add to our list of namespaces.
228
+ def add_namespace(ns)
229
+ return false if @namespaces.include?(ns)
230
+ if @namespaces == [""]
231
+ @namespaces = [ns]
232
+ else
233
+ @namespaces << ns
234
+ end
235
+ end
236
+
237
+ def find_hostclass(name, options = {})
238
+ known_resource_types.find_hostclass(namespaces, name, options)
239
+ end
240
+
241
+ def find_definition(name)
242
+ known_resource_types.find_definition(namespaces, name)
243
+ end
244
+
245
+ def find_global_scope()
246
+ # walk upwards until first found node_scope or top_scope
247
+ if is_nodescope? || is_topscope?
248
+ self
249
+ else
250
+ next_scope = inherited_scope || enclosing_scope
251
+ if next_scope.nil?
252
+ # this happens when testing, and there is only a single test scope and no link to any
253
+ # other scopes
254
+ self
255
+ else
256
+ next_scope.find_global_scope()
257
+ end
258
+ end
259
+ end
260
+
261
+ # This just delegates directly.
262
+ def_delegator :compiler, :findresource
263
+
264
+ # Initialize our new scope. Defaults to having no parent.
265
+ def initialize(compiler, options = {})
266
+ if compiler.is_a? Puppet::Parser::Compiler
267
+ self.compiler = compiler
268
+ else
269
+ raise Puppet::DevError, "you must pass a compiler instance to a new scope object"
270
+ end
271
+
272
+ if n = options.delete(:namespace)
273
+ @namespaces = [n]
274
+ else
275
+ @namespaces = [""]
276
+ end
277
+
278
+ raise Puppet::DevError, "compiler passed in options" if options.include? :compiler
279
+ set_options(options)
280
+
281
+ extend_with_functions_module
282
+
283
+ # The symbol table for this scope. This is where we store variables.
284
+ # @symtable = Ephemeral.new(nil, true)
285
+ @symtable = LocalScope.new(nil)
286
+
287
+ @ephemeral = [ MatchScope.new(@symtable, nil) ]
288
+
289
+ # All of the defaults set for types. It's a hash of hashes,
290
+ # with the first key being the type, then the second key being
291
+ # the parameter.
292
+ @defaults = Hash.new { |dhash,type|
293
+ dhash[type] = {}
294
+ }
295
+
296
+ # The table for storing class singletons. This will only actually
297
+ # be used by top scopes and node scopes.
298
+ @class_scopes = {}
299
+
300
+ @enable_immutable_data = Puppet[:immutable_node_data]
301
+ end
302
+
303
+ # Store the fact that we've evaluated a class, and store a reference to
304
+ # the scope in which it was evaluated, so that we can look it up later.
305
+ def class_set(name, scope)
306
+ if parent
307
+ parent.class_set(name, scope)
308
+ else
309
+ @class_scopes[name] = scope
310
+ end
311
+ end
312
+
313
+ # Return the scope associated with a class. This is just here so
314
+ # that subclasses can set their parent scopes to be the scope of
315
+ # their parent class, and it's also used when looking up qualified
316
+ # variables.
317
+ def class_scope(klass)
318
+ # They might pass in either the class or class name
319
+ k = klass.respond_to?(:name) ? klass.name : klass
320
+ @class_scopes[k] || (parent && parent.class_scope(k))
321
+ end
322
+
323
+ # Collect all of the defaults set at any higher scopes.
324
+ # This is a different type of lookup because it's
325
+ # additive -- it collects all of the defaults, with defaults
326
+ # in closer scopes overriding those in later scopes.
327
+ #
328
+ # The lookupdefaults searches in the the order:
329
+ #
330
+ # * inherited
331
+ # * contained (recursive)
332
+ # * self
333
+ #
334
+ def lookupdefaults(type)
335
+ values = {}
336
+
337
+ # first collect the values from the parents
338
+ if parent
339
+ parent.lookupdefaults(type).each { |var,value|
340
+ values[var] = value
341
+ }
342
+ end
343
+
344
+ # then override them with any current values
345
+ # this should probably be done differently
346
+ if @defaults.include?(type)
347
+ @defaults[type].each { |var,value|
348
+ values[var] = value
349
+ }
350
+ end
351
+
352
+ values
353
+ end
354
+
355
+ # Look up a defined type.
356
+ def lookuptype(name)
357
+ find_definition(name) || find_hostclass(name)
358
+ end
359
+
360
+ def undef_as(x,v)
361
+ if v.nil? or v == :undef
362
+ x
363
+ else
364
+ v
365
+ end
366
+ end
367
+
368
+ # Lookup a variable within this scope using the Puppet language's
369
+ # scoping rules. Variables can be qualified using just as in a
370
+ # manifest.
371
+ #
372
+ # @param [String] name the variable name to lookup
373
+ #
374
+ # @return Object the value of the variable, or nil if it's not found
375
+ #
376
+ # @api public
377
+ def lookupvar(name, options = {})
378
+ unless name.is_a? String
379
+ raise Puppet::ParseError, "Scope variable name #{name.inspect} is a #{name.class}, not a string"
380
+ end
381
+
382
+ table = @ephemeral.last
383
+
384
+ if name =~ /^(.*)::(.+)$/
385
+ class_name = $1
386
+ variable_name = $2
387
+ lookup_qualified_variable(class_name, variable_name, options)
388
+
389
+ # TODO: optimize with an assoc instead, this searches through scopes twice for a hit
390
+ elsif table.include?(name)
391
+ table[name]
392
+ else
393
+ next_scope = inherited_scope || enclosing_scope
394
+ if next_scope
395
+ next_scope.lookupvar(name, options)
396
+ else
397
+ variable_not_found(name)
398
+ end
399
+ end
400
+ end
401
+
402
+ def variable_not_found(name, reason=nil)
403
+ if Puppet[:strict_variables]
404
+ if Puppet[:parser] == 'future'
405
+ throw :undefined_variable
406
+ else
407
+ reason_msg = reason.nil? ? '' : "; #{reason}"
408
+ raise Puppet::ParseError, "Undefined variable #{name.inspect}#{reason_msg}"
409
+ end
410
+ else
411
+ nil
412
+ end
413
+ end
414
+
415
+ # Retrieves the variable value assigned to the name given as an argument. The name must be a String,
416
+ # and namespace can be qualified with '::'. The value is looked up in this scope, its parent scopes,
417
+ # or in a specific visible named scope.
418
+ #
419
+ # @param varname [String] the name of the variable (may be a qualified name using `(ns'::')*varname`
420
+ # @param options [Hash] Additional options, not part of api.
421
+ # @return [Object] the value assigned to the given varname
422
+ # @see #[]=
423
+ # @api public
424
+ #
425
+ def [](varname, options={})
426
+ lookupvar(varname, options)
427
+ end
428
+
429
+ # The scope of the inherited thing of this scope's resource. This could
430
+ # either be a node that was inherited or the class.
431
+ #
432
+ # @return [Puppet::Parser::Scope] The scope or nil if there is not an inherited scope
433
+ def inherited_scope
434
+ if has_inherited_class?
435
+ qualified_scope(resource.resource_type.parent)
436
+ else
437
+ nil
438
+ end
439
+ end
440
+
441
+ # The enclosing scope (topscope or nodescope) of this scope.
442
+ # The enclosing scopes are produced when a class or define is included at
443
+ # some point. The parent scope of the included class or define becomes the
444
+ # scope in which it was included. The chain of parent scopes is followed
445
+ # until a node scope or the topscope is found
446
+ #
447
+ # @return [Puppet::Parser::Scope] The scope or nil if there is no enclosing scope
448
+ def enclosing_scope
449
+ if has_enclosing_scope?
450
+ if parent.is_topscope? or parent.is_nodescope?
451
+ parent
452
+ else
453
+ parent.enclosing_scope
454
+ end
455
+ else
456
+ nil
457
+ end
458
+ end
459
+
460
+ def is_classscope?
461
+ resource and resource.type == "Class"
462
+ end
463
+
464
+ def is_nodescope?
465
+ resource and resource.type == "Node"
466
+ end
467
+
468
+ def is_topscope?
469
+ compiler and self == compiler.topscope
470
+ end
471
+
472
+ def lookup_qualified_variable(class_name, variable_name, position)
473
+ begin
474
+ if lookup_as_local_name?(class_name, variable_name)
475
+ self[variable_name]
476
+ else
477
+ qualified_scope(class_name).lookupvar(variable_name, position)
478
+ end
479
+ rescue RuntimeError => e
480
+ unless Puppet[:strict_variables]
481
+ # Do not issue warning if strict variables are on, as an error will be raised by variable_not_found
482
+ location = if position[:lineproc]
483
+ " at #{position[:lineproc].call}"
484
+ elsif position[:file] && position[:line]
485
+ " at #{position[:file]}:#{position[:line]}"
486
+ else
487
+ ""
488
+ end
489
+ warning "Could not look up qualified variable '#{class_name}::#{variable_name}'; #{e.message}#{location}"
490
+ end
491
+ variable_not_found("#{class_name}::#{variable_name}", e.message)
492
+ end
493
+ end
494
+
495
+ # Handles the special case of looking up fully qualified variable in not yet evaluated top scope
496
+ # This is ok if the lookup request originated in topscope (this happens when evaluating
497
+ # bindings; using the top scope to provide the values for facts.
498
+ # @param class_name [String] the classname part of a variable name, may be special ""
499
+ # @param variable_name [String] the variable name without the absolute leading '::'
500
+ # @return [Boolean] true if the given variable name should be looked up directly in this scope
501
+ #
502
+ def lookup_as_local_name?(class_name, variable_name)
503
+ # not a local if name has more than one segment
504
+ return nil if variable_name =~ /::/
505
+ # partial only if the class for "" cannot be found
506
+ return nil unless class_name == "" && klass = find_hostclass(class_name) && class_scope(klass).nil?
507
+ is_topscope?
508
+ end
509
+
510
+ def has_inherited_class?
511
+ is_classscope? and resource.resource_type.parent
512
+ end
513
+ private :has_inherited_class?
514
+
515
+ def has_enclosing_scope?
516
+ not parent.nil?
517
+ end
518
+ private :has_enclosing_scope?
519
+
520
+ def qualified_scope(classname)
521
+ raise "class #{classname} could not be found" unless klass = find_hostclass(classname)
522
+ raise "class #{classname} has not been evaluated" unless kscope = class_scope(klass)
523
+ kscope
524
+ end
525
+ private :qualified_scope
526
+
527
+ # Returns a Hash containing all variables and their values, optionally (and
528
+ # by default) including the values defined in parent. Local values
529
+ # shadow parent values. Ephemeral scopes for match results ($0 - $n) are not included.
530
+ #
531
+ # This is currently a wrapper for to_hash_legacy or to_hash_future.
532
+ #
533
+ # @see to_hash_future
534
+ #
535
+ # @see to_hash_legacy
536
+ def to_hash(recursive = true)
537
+ @parser ||= Puppet[:parser]
538
+ if @parser == 'future'
539
+ to_hash_future(recursive)
540
+ else
541
+ to_hash_legacy(recursive)
542
+ end
543
+ end
544
+
545
+ # Fixed version of to_hash that implements scoping correctly (i.e., with
546
+ # dynamic scoping disabled #28200 / PUP-1220
547
+ #
548
+ # @see to_hash
549
+ def to_hash_future(recursive)
550
+ if recursive and has_enclosing_scope?
551
+ target = enclosing_scope.to_hash_future(recursive)
552
+ if !(inherited = inherited_scope).nil?
553
+ target.merge!(inherited.to_hash_future(recursive))
554
+ end
555
+ else
556
+ target = Hash.new
557
+ end
558
+
559
+ # add all local scopes
560
+ @ephemeral.last.add_entries_to(target)
561
+ target
562
+ end
563
+
564
+ # The old broken implementation of to_hash that retains the dynamic scoping
565
+ # semantics
566
+ #
567
+ # @see to_hash
568
+ def to_hash_legacy(recursive = true)
569
+ if recursive and parent
570
+ target = parent.to_hash_legacy(recursive)
571
+ else
572
+ target = Hash.new
573
+ end
574
+
575
+ # add all local scopes
576
+ @ephemeral.last.add_entries_to(target)
577
+ target
578
+ end
579
+
580
+ def namespaces
581
+ @namespaces.dup
582
+ end
583
+
584
+ # Create a new scope and set these options.
585
+ def newscope(options = {})
586
+ compiler.newscope(self, options)
587
+ end
588
+
589
+ def parent_module_name
590
+ return nil unless @parent
591
+ return nil unless @parent.source
592
+ @parent.source.module_name
593
+ end
594
+
595
+ # Set defaults for a type. The typename should already be downcased,
596
+ # so that the syntax is isolated. We don't do any kind of type-checking
597
+ # here; instead we let the resource do it when the defaults are used.
598
+ def define_settings(type, params)
599
+ table = @defaults[type]
600
+
601
+ # if we got a single param, it'll be in its own array
602
+ params = [params] unless params.is_a?(Array)
603
+
604
+ params.each { |param|
605
+ if table.include?(param.name)
606
+ raise Puppet::ParseError.new("Default already defined for #{type} { #{param.name} }; cannot redefine", param.line, param.file)
607
+ end
608
+ table[param.name] = param
609
+ }
610
+ end
611
+
612
+ RESERVED_VARIABLE_NAMES = ['trusted', 'facts'].freeze
613
+
614
+ # Set a variable in the current scope. This will override settings
615
+ # in scopes above, but will not allow variables in the current scope
616
+ # to be reassigned.
617
+ # It's preferred that you use self[]= instead of this; only use this
618
+ # when you need to set options.
619
+ def setvar(name, value, options = {})
620
+ if name =~ /^[0-9]+$/
621
+ raise Puppet::ParseError.new("Cannot assign to a numeric match result variable '$#{name}'") # unless options[:ephemeral]
622
+ end
623
+ unless name.is_a? String
624
+ raise Puppet::ParseError, "Scope variable name #{name.inspect} is a #{name.class}, not a string"
625
+ end
626
+
627
+ # Check for reserved variable names
628
+ if @enable_immutable_data && !options[:privileged] && RESERVED_VARIABLE_NAMES.include?(name)
629
+ raise Puppet::ParseError, "Attempt to assign to a reserved variable name: '#{name}'"
630
+ end
631
+
632
+ table = effective_symtable(options[:ephemeral])
633
+ if table.bound?(name)
634
+ if options[:append]
635
+ error = Puppet::ParseError.new("Cannot append, variable #{name} is defined in this scope")
636
+ else
637
+ error = Puppet::ParseError.new("Cannot reassign variable #{name}")
638
+ end
639
+ error.file = options[:file] if options[:file]
640
+ error.line = options[:line] if options[:line]
641
+ raise error
642
+ end
643
+
644
+ if options[:append]
645
+ # produced result (value) is the resulting appended value, note: the table[]= does not return the value
646
+ table[name] = (value = append_value(undef_as('', self[name]), value))
647
+ else
648
+ table[name] = value
649
+ end
650
+ value
651
+ end
652
+
653
+ def set_trusted(hash)
654
+ setvar('trusted', deep_freeze(hash), :privileged => true)
655
+ end
656
+
657
+ def set_facts(hash)
658
+ # Remove _timestamp (it has an illegal datatype). It is not allowed to mutate the given hash
659
+ # since it contains the facts.
660
+ hash = hash.dup
661
+ hash.delete('_timestamp')
662
+ setvar('facts', deep_freeze(hash), :privileged => true)
663
+ end
664
+
665
+ # Deeply freezes the given object. The object and its content must be of the types:
666
+ # Array, Hash, Numeric, Boolean, Symbol, Regexp, NilClass, or String. All other types raises an Error.
667
+ # (i.e. if they are assignable to Puppet::Pops::Types::Data type).
668
+ #
669
+ def deep_freeze(object)
670
+ case object
671
+ when Array
672
+ object.each {|v| deep_freeze(v) }
673
+ object.freeze
674
+ when Hash
675
+ object.each {|k, v| deep_freeze(k); deep_freeze(v) }
676
+ object.freeze
677
+ when NilClass, Numeric, TrueClass, FalseClass
678
+ # do nothing
679
+ when String
680
+ object.freeze
681
+ else
682
+ raise Puppet::Error, "Unsupported data type: '#{object.class}'"
683
+ end
684
+ object
685
+ end
686
+ private :deep_freeze
687
+
688
+ # Return the effective "table" for setting variables.
689
+ # This method returns the first ephemeral "table" that acts as a local scope, or this
690
+ # scope's symtable. If the parameter `use_ephemeral` is true, the "top most" ephemeral "table"
691
+ # will be returned (irrespective of it being a match scope or a local scope).
692
+ #
693
+ # @param use_ephemeral [Boolean] whether the top most ephemeral (of any kind) should be used or not
694
+ def effective_symtable(use_ephemeral)
695
+ s = @ephemeral.last
696
+ if use_ephemeral
697
+ return s || @symtable
698
+ else
699
+ while s && !s.is_local_scope?()
700
+ s = s.parent
701
+ end
702
+ s || @symtable
703
+ end
704
+ end
705
+
706
+ # Sets the variable value of the name given as an argument to the given value. The value is
707
+ # set in the current scope and may shadow a variable with the same name in a visible outer scope.
708
+ # It is illegal to re-assign a variable in the same scope. It is illegal to set a variable in some other
709
+ # scope/namespace than the scope passed to a method.
710
+ #
711
+ # @param varname [String] The variable name to which the value is assigned. Must not contain `::`
712
+ # @param value [String] The value to assign to the given variable name.
713
+ # @param options [Hash] Additional options, not part of api.
714
+ #
715
+ # @api public
716
+ #
717
+ def []=(varname, value, options = {})
718
+ setvar(varname, value, options = {})
719
+ end
720
+
721
+ def append_value(bound_value, new_value)
722
+ case new_value
723
+ when Array
724
+ bound_value + new_value
725
+ when Hash
726
+ bound_value.merge(new_value)
727
+ else
728
+ if bound_value.is_a?(Hash)
729
+ raise ArgumentError, "Trying to append to a hash with something which is not a hash is unsupported"
730
+ end
731
+ bound_value + new_value
732
+ end
733
+ end
734
+ private :append_value
735
+
736
+ # Return the tags associated with this scope.
737
+ def_delegator :resource, :tags
738
+
739
+ # Used mainly for logging
740
+ def to_s
741
+ "Scope(#{@resource})"
742
+ end
743
+
744
+ # remove ephemeral scope up to level
745
+ # TODO: Who uses :all ? Remove ??
746
+ #
747
+ def unset_ephemeral_var(level=:all)
748
+ if level == :all
749
+ @ephemeral = [ MatchScope.new(@symtable, nil)]
750
+ else
751
+ @ephemeral.pop(@ephemeral.size - level)
752
+ end
753
+ end
754
+
755
+ def ephemeral_level
756
+ @ephemeral.size
757
+ end
758
+
759
+ # TODO: Who calls this?
760
+ def new_ephemeral(local_scope = false)
761
+ if local_scope
762
+ @ephemeral.push(LocalScope.new(@ephemeral.last))
763
+ else
764
+ @ephemeral.push(MatchScope.new(@ephemeral.last, nil))
765
+ end
766
+ end
767
+
768
+ # Sets match data in the most nested scope (which always is a MatchScope), it clobbers match data already set there
769
+ #
770
+ def set_match_data(match_data)
771
+ @ephemeral.last.match_data = match_data
772
+ end
773
+
774
+ # Nests a match data scope
775
+ def new_match_scope(match_data)
776
+ @ephemeral.push(MatchScope.new(@ephemeral.last, match_data))
777
+ end
778
+
779
+ def ephemeral_from(match, file = nil, line = nil)
780
+ case match
781
+ when Hash
782
+ # Create local scope ephemeral and set all values from hash
783
+ new_ephemeral(true)
784
+ match.each {|k,v| setvar(k, v, :file => file, :line => line, :ephemeral => true) }
785
+ # Must always have an inner match data scope (that starts out as transparent)
786
+ # In 3x slightly wasteful, since a new nested scope is created for a match
787
+ # (TODO: Fix that problem)
788
+ new_ephemeral(false)
789
+ else
790
+ raise(ArgumentError,"Invalid regex match data. Got a #{match.class}") unless match.is_a?(MatchData)
791
+ # Create a match ephemeral and set values from match data
792
+ new_match_scope(match)
793
+ end
794
+ end
795
+
796
+ def find_resource_type(type)
797
+ # It still works fine without the type == 'class' short-cut, but it is a lot slower.
798
+ return nil if ["class", "node"].include? type.to_s.downcase
799
+ find_builtin_resource_type(type) || find_defined_resource_type(type)
800
+ end
801
+
802
+ def find_builtin_resource_type(type)
803
+ Puppet::Type.type(type.to_s.downcase.to_sym)
804
+ end
805
+
806
+ def find_defined_resource_type(type)
807
+ known_resource_types.find_definition(namespaces, type.to_s.downcase)
808
+ end
809
+
810
+
811
+ def method_missing(method, *args, &block)
812
+ method.to_s =~ /^function_(.*)$/
813
+ name = $1
814
+ super unless name
815
+ super unless Puppet::Parser::Functions.function(name)
816
+ # In odd circumstances, this might not end up defined by the previous
817
+ # method, so we might as well be certain.
818
+ if respond_to? method
819
+ send(method, *args)
820
+ else
821
+ raise Puppet::DevError, "Function #{name} not defined despite being loaded!"
822
+ end
823
+ end
824
+
825
+ def resolve_type_and_titles(type, titles)
826
+ raise ArgumentError, "titles must be an array" unless titles.is_a?(Array)
827
+
828
+ case type.downcase
829
+ when "class"
830
+ # resolve the titles
831
+ titles = titles.collect do |a_title|
832
+ hostclass = find_hostclass(a_title)
833
+ hostclass ? hostclass.name : a_title
834
+ end
835
+ when "node"
836
+ # no-op
837
+ else
838
+ # resolve the type
839
+ resource_type = find_resource_type(type)
840
+ type = resource_type.name if resource_type
841
+ end
842
+
843
+ return [type, titles]
844
+ end
845
+
846
+ # Transforms references to classes to the form suitable for
847
+ # lookup in the compiler.
848
+ #
849
+ # Makes names passed in the names array absolute if they are relative
850
+ # Names are now made absolute if Puppet[:parser] == 'future', this will
851
+ # be the default behavior in Puppet 4.0
852
+ #
853
+ # Transforms Class[] and Resource[] type referenes to class name
854
+ # or raises an error if a Class[] is unspecific, if a Resource is not
855
+ # a 'class' resource, or if unspecific (no title).
856
+ #
857
+ # TODO: Change this for 4.0 to always make names absolute
858
+ #
859
+ # @param names [Array<String>] names to (optionally) make absolute
860
+ # @return [Array<String>] names after transformation
861
+ #
862
+ def transform_and_assert_classnames(names)
863
+ if Puppet[:parser] == 'future'
864
+ names.map do |name|
865
+ case name
866
+ when String
867
+ name.sub(/^([^:]{1,2})/, '::\1')
868
+
869
+ when Puppet::Resource
870
+ assert_class_and_title(name.type, name.title)
871
+ name.title.sub(/^([^:]{1,2})/, '::\1')
872
+
873
+ when Puppet::Pops::Types::PHostClassType
874
+ raise ArgumentError, "Cannot use an unspecific Class[] Type" unless name.class_name
875
+ name.class_name.sub(/^([^:]{1,2})/, '::\1')
876
+
877
+ when Puppet::Pops::Types::PResourceType
878
+ assert_class_and_title(name.type_name, name.title)
879
+ name.title.sub(/^([^:]{1,2})/, '::\1')
880
+ end
881
+ end
882
+ else
883
+ names
884
+ end
885
+ end
886
+
887
+ private
888
+
889
+ def assert_class_and_title(type_name, title)
890
+ if type_name.nil? || type_name == ''
891
+ raise ArgumentError, "Cannot use an unspecific Resource[] where a Resource['class', name] is expected"
892
+ end
893
+ unless type_name =~ /^[Cc]lass$/
894
+ raise ArgumentError, "Cannot use a Resource[#{type_name}] where a Resource['class', name] is expected"
895
+ end
896
+ if title.nil?
897
+ raise ArgumentError, "Cannot use an unspecific Resource['class'] where a Resource['class', name] is expected"
898
+ end
899
+ end
900
+
901
+ def extend_with_functions_module
902
+ root = Puppet.lookup(:root_environment)
903
+ extend Puppet::Parser::Functions.environment_module(root)
904
+ extend Puppet::Parser::Functions.environment_module(environment) if environment != root
905
+ end
906
+ end