bolt 0.20.0 → 0.20.2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of bolt might be problematic. Click here for more details.

Files changed (1242) hide show
  1. checksums.yaml +4 -4
  2. data/lib/bolt/cli.rb +5 -0
  3. data/lib/bolt/puppetdb/client.rb +1 -1
  4. data/lib/bolt/transport/ssh.rb +1 -1
  5. data/lib/bolt/util/on_access.rb +4 -2
  6. data/lib/bolt/version.rb +1 -1
  7. data/vendored/facter/lib/facter.rb +261 -0
  8. data/vendored/facter/lib/facter/Cfkey.rb +42 -0
  9. data/vendored/facter/lib/facter/application.rb +206 -0
  10. data/vendored/facter/lib/facter/architecture.rb +50 -0
  11. data/vendored/facter/lib/facter/augeasversion.rb +28 -0
  12. data/vendored/facter/lib/facter/blockdevices.rb +105 -0
  13. data/vendored/facter/lib/facter/core/aggregate.rb +220 -0
  14. data/vendored/facter/lib/facter/core/directed_graph.rb +46 -0
  15. data/vendored/facter/lib/facter/core/execution.rb +123 -0
  16. data/vendored/facter/lib/facter/core/execution/base.rb +81 -0
  17. data/vendored/facter/lib/facter/core/execution/posix.rb +50 -0
  18. data/vendored/facter/lib/facter/core/execution/windows.rb +57 -0
  19. data/vendored/facter/lib/facter/core/logging.rb +197 -0
  20. data/vendored/facter/lib/facter/core/resolvable.rb +94 -0
  21. data/vendored/facter/lib/facter/core/suitable.rb +113 -0
  22. data/vendored/facter/lib/facter/dhcp_servers.rb +45 -0
  23. data/vendored/facter/lib/facter/domain.rb +99 -0
  24. data/vendored/facter/lib/facter/ec2.rb +68 -0
  25. data/vendored/facter/lib/facter/ec2/rest.rb +137 -0
  26. data/vendored/facter/lib/facter/facterversion.rb +15 -0
  27. data/vendored/facter/lib/facter/filesystems.rb +45 -0
  28. data/vendored/facter/lib/facter/fqdn.rb +24 -0
  29. data/vendored/facter/lib/facter/gce.rb +16 -0
  30. data/vendored/facter/lib/facter/gce/metadata.rb +87 -0
  31. data/vendored/facter/lib/facter/gid.rb +25 -0
  32. data/vendored/facter/lib/facter/hardwareisa.rb +20 -0
  33. data/vendored/facter/lib/facter/hardwaremodel.rb +67 -0
  34. data/vendored/facter/lib/facter/hostname.rb +31 -0
  35. data/vendored/facter/lib/facter/id.rb +21 -0
  36. data/vendored/facter/lib/facter/interfaces.rb +58 -0
  37. data/vendored/facter/lib/facter/ipaddress.rb +169 -0
  38. data/vendored/facter/lib/facter/ipaddress6.rb +82 -0
  39. data/vendored/facter/lib/facter/iphostnumber.rb +29 -0
  40. data/vendored/facter/lib/facter/kernel.rb +22 -0
  41. data/vendored/facter/lib/facter/kernelmajversion.rb +23 -0
  42. data/vendored/facter/lib/facter/kernelrelease.rb +45 -0
  43. data/vendored/facter/lib/facter/kernelversion.rb +22 -0
  44. data/vendored/facter/lib/facter/ldom.rb +51 -0
  45. data/vendored/facter/lib/facter/lsbdistcodename.rb +20 -0
  46. data/vendored/facter/lib/facter/lsbdistdescription.rb +21 -0
  47. data/vendored/facter/lib/facter/lsbdistid.rb +20 -0
  48. data/vendored/facter/lib/facter/lsbdistrelease.rb +20 -0
  49. data/vendored/facter/lib/facter/lsbmajdistrelease.rb +22 -0
  50. data/vendored/facter/lib/facter/lsbminordistrelease.rb +22 -0
  51. data/vendored/facter/lib/facter/lsbrelease.rb +20 -0
  52. data/vendored/facter/lib/facter/macaddress.rb +99 -0
  53. data/vendored/facter/lib/facter/macosx.rb +56 -0
  54. data/vendored/facter/lib/facter/manufacturer.rb +68 -0
  55. data/vendored/facter/lib/facter/memory.rb +168 -0
  56. data/vendored/facter/lib/facter/netmask.rb +43 -0
  57. data/vendored/facter/lib/facter/network.rb +20 -0
  58. data/vendored/facter/lib/facter/operatingsystem.rb +24 -0
  59. data/vendored/facter/lib/facter/operatingsystem/base.rb +61 -0
  60. data/vendored/facter/lib/facter/operatingsystem/cumuluslinux.rb +27 -0
  61. data/vendored/facter/lib/facter/operatingsystem/implementation.rb +33 -0
  62. data/vendored/facter/lib/facter/operatingsystem/linux.rb +484 -0
  63. data/vendored/facter/lib/facter/operatingsystem/osreleaselinux.rb +28 -0
  64. data/vendored/facter/lib/facter/operatingsystem/sunos.rb +54 -0
  65. data/vendored/facter/lib/facter/operatingsystem/vmkernel.rb +11 -0
  66. data/vendored/facter/lib/facter/operatingsystem/windows.rb +43 -0
  67. data/vendored/facter/lib/facter/operatingsystemmajrelease.rb +31 -0
  68. data/vendored/facter/lib/facter/operatingsystemrelease.rb +29 -0
  69. data/vendored/facter/lib/facter/os.rb +98 -0
  70. data/vendored/facter/lib/facter/osfamily.rb +18 -0
  71. data/vendored/facter/lib/facter/partitions.rb +39 -0
  72. data/vendored/facter/lib/facter/path.rb +14 -0
  73. data/vendored/facter/lib/facter/physicalprocessorcount.rb +27 -0
  74. data/vendored/facter/lib/facter/processor.rb +52 -0
  75. data/vendored/facter/lib/facter/processors.rb +66 -0
  76. data/vendored/facter/lib/facter/processors/os.rb +244 -0
  77. data/vendored/facter/lib/facter/ps.rb +31 -0
  78. data/vendored/facter/lib/facter/puppetversion.rb +20 -0
  79. data/vendored/facter/lib/facter/rackspace.rb +37 -0
  80. data/vendored/facter/lib/facter/rubyplatform.rb +12 -0
  81. data/vendored/facter/lib/facter/rubysitedir.rb +15 -0
  82. data/vendored/facter/lib/facter/rubyversion.rb +12 -0
  83. data/vendored/facter/lib/facter/selinux.rb +154 -0
  84. data/vendored/facter/lib/facter/ssh.rb +73 -0
  85. data/vendored/facter/lib/facter/system32.rb +21 -0
  86. data/vendored/facter/lib/facter/system_uptime.rb +44 -0
  87. data/vendored/facter/lib/facter/timezone.rb +14 -0
  88. data/vendored/facter/lib/facter/uniqueid.rb +4 -0
  89. data/vendored/facter/lib/facter/uptime.rb +16 -0
  90. data/vendored/facter/lib/facter/uptime_days.rb +13 -0
  91. data/vendored/facter/lib/facter/uptime_hours.rb +13 -0
  92. data/vendored/facter/lib/facter/uptime_seconds.rb +20 -0
  93. data/vendored/facter/lib/facter/util/architecture.rb +19 -0
  94. data/vendored/facter/lib/facter/util/collection.rb +161 -0
  95. data/vendored/facter/lib/facter/util/composite_loader.rb +12 -0
  96. data/vendored/facter/lib/facter/util/config.rb +88 -0
  97. data/vendored/facter/lib/facter/util/confine.rb +66 -0
  98. data/vendored/facter/lib/facter/util/dhcp_servers.rb +58 -0
  99. data/vendored/facter/lib/facter/util/directory_loader.rb +88 -0
  100. data/vendored/facter/lib/facter/util/ec2.rb +106 -0
  101. data/vendored/facter/lib/facter/util/fact.rb +204 -0
  102. data/vendored/facter/lib/facter/util/file_read.rb +37 -0
  103. data/vendored/facter/lib/facter/util/formatter.rb +39 -0
  104. data/vendored/facter/lib/facter/util/ip.rb +340 -0
  105. data/vendored/facter/lib/facter/util/ip/windows.rb +215 -0
  106. data/vendored/facter/lib/facter/util/loader.rb +155 -0
  107. data/vendored/facter/lib/facter/util/macaddress.rb +43 -0
  108. data/vendored/facter/lib/facter/util/macosx.rb +73 -0
  109. data/vendored/facter/lib/facter/util/manufacturer.rb +99 -0
  110. data/vendored/facter/lib/facter/util/memory.rb +228 -0
  111. data/vendored/facter/lib/facter/util/netmask.rb +40 -0
  112. data/vendored/facter/lib/facter/util/normalization.rb +94 -0
  113. data/vendored/facter/lib/facter/util/nothing_loader.rb +12 -0
  114. data/vendored/facter/lib/facter/util/operatingsystem.rb +21 -0
  115. data/vendored/facter/lib/facter/util/parser.rb +168 -0
  116. data/vendored/facter/lib/facter/util/partitions.rb +47 -0
  117. data/vendored/facter/lib/facter/util/partitions/linux.rb +71 -0
  118. data/vendored/facter/lib/facter/util/partitions/openbsd.rb +40 -0
  119. data/vendored/facter/lib/facter/util/plist.rb +24 -0
  120. data/vendored/facter/lib/facter/util/plist/generator.rb +228 -0
  121. data/vendored/facter/lib/facter/util/plist/parser.rb +226 -0
  122. data/vendored/facter/lib/facter/util/posix.rb +16 -0
  123. data/vendored/facter/lib/facter/util/processor.rb +289 -0
  124. data/vendored/facter/lib/facter/util/registry.rb +11 -0
  125. data/vendored/facter/lib/facter/util/resolution.rb +160 -0
  126. data/vendored/facter/lib/facter/util/solaris_zones.rb +158 -0
  127. data/vendored/facter/lib/facter/util/unix_root.rb +5 -0
  128. data/vendored/facter/lib/facter/util/uptime.rb +83 -0
  129. data/vendored/facter/lib/facter/util/values.rb +109 -0
  130. data/vendored/facter/lib/facter/util/virtual.rb +212 -0
  131. data/vendored/facter/lib/facter/util/vlans.rb +21 -0
  132. data/vendored/facter/lib/facter/util/windows.rb +10 -0
  133. data/vendored/facter/lib/facter/util/windows/api_types.rb +135 -0
  134. data/vendored/facter/lib/facter/util/windows/dir.rb +43 -0
  135. data/vendored/facter/lib/facter/util/windows/error.rb +87 -0
  136. data/vendored/facter/lib/facter/util/windows/process.rb +294 -0
  137. data/vendored/facter/lib/facter/util/windows/user.rb +186 -0
  138. data/vendored/facter/lib/facter/util/windows_root.rb +7 -0
  139. data/vendored/facter/lib/facter/util/wmi.rb +49 -0
  140. data/vendored/facter/lib/facter/util/xendomains.rb +28 -0
  141. data/vendored/facter/lib/facter/version.rb +86 -0
  142. data/vendored/facter/lib/facter/virtual.rb +330 -0
  143. data/vendored/facter/lib/facter/vlans.rb +17 -0
  144. data/vendored/facter/lib/facter/xendomains.rb +20 -0
  145. data/vendored/facter/lib/facter/zfs_version.rb +14 -0
  146. data/vendored/facter/lib/facter/zonename.rb +6 -0
  147. data/vendored/facter/lib/facter/zones.rb +18 -0
  148. data/vendored/facter/lib/facter/zpool_version.rb +10 -0
  149. data/vendored/hiera/lib/hiera.rb +119 -0
  150. data/vendored/hiera/lib/hiera/backend.rb +360 -0
  151. data/vendored/hiera/lib/hiera/backend/json_backend.rb +58 -0
  152. data/vendored/hiera/lib/hiera/backend/yaml_backend.rb +63 -0
  153. data/vendored/hiera/lib/hiera/config.rb +97 -0
  154. data/vendored/hiera/lib/hiera/console_logger.rb +13 -0
  155. data/vendored/hiera/lib/hiera/error.rb +4 -0
  156. data/vendored/hiera/lib/hiera/fallback_logger.rb +41 -0
  157. data/vendored/hiera/lib/hiera/filecache.rb +86 -0
  158. data/vendored/hiera/lib/hiera/interpolate.rb +121 -0
  159. data/vendored/hiera/lib/hiera/noop_logger.rb +8 -0
  160. data/vendored/hiera/lib/hiera/puppet_logger.rb +17 -0
  161. data/vendored/hiera/lib/hiera/recursive_guard.rb +20 -0
  162. data/vendored/hiera/lib/hiera/util.rb +65 -0
  163. data/vendored/hiera/lib/hiera/util/win32.rb +40 -0
  164. data/vendored/hiera/lib/hiera/version.rb +89 -0
  165. data/vendored/puppet/lib/hiera/puppet_function.rb +84 -0
  166. data/vendored/puppet/lib/hiera/scope.rb +61 -0
  167. data/vendored/puppet/lib/hiera_puppet.rb +79 -0
  168. data/vendored/puppet/lib/puppet.rb +307 -0
  169. data/vendored/puppet/lib/puppet/agent.rb +134 -0
  170. data/vendored/puppet/lib/puppet/agent/disabler.rb +53 -0
  171. data/vendored/puppet/lib/puppet/agent/locker.rb +53 -0
  172. data/vendored/puppet/lib/puppet/application.rb +502 -0
  173. data/vendored/puppet/lib/puppet/application/agent.rb +473 -0
  174. data/vendored/puppet/lib/puppet/application/apply.rb +356 -0
  175. data/vendored/puppet/lib/puppet/application/ca.rb +11 -0
  176. data/vendored/puppet/lib/puppet/application/catalog.rb +4 -0
  177. data/vendored/puppet/lib/puppet/application/cert.rb +339 -0
  178. data/vendored/puppet/lib/puppet/application/certificate.rb +17 -0
  179. data/vendored/puppet/lib/puppet/application/certificate_request.rb +7 -0
  180. data/vendored/puppet/lib/puppet/application/certificate_revocation_list.rb +7 -0
  181. data/vendored/puppet/lib/puppet/application/config.rb +5 -0
  182. data/vendored/puppet/lib/puppet/application/describe.rb +257 -0
  183. data/vendored/puppet/lib/puppet/application/device.rb +378 -0
  184. data/vendored/puppet/lib/puppet/application/doc.rb +230 -0
  185. data/vendored/puppet/lib/puppet/application/epp.rb +5 -0
  186. data/vendored/puppet/lib/puppet/application/face_base.rb +268 -0
  187. data/vendored/puppet/lib/puppet/application/facts.rb +9 -0
  188. data/vendored/puppet/lib/puppet/application/filebucket.rb +300 -0
  189. data/vendored/puppet/lib/puppet/application/generate.rb +5 -0
  190. data/vendored/puppet/lib/puppet/application/help.rb +5 -0
  191. data/vendored/puppet/lib/puppet/application/indirection_base.rb +4 -0
  192. data/vendored/puppet/lib/puppet/application/key.rb +4 -0
  193. data/vendored/puppet/lib/puppet/application/lookup.rb +369 -0
  194. data/vendored/puppet/lib/puppet/application/man.rb +4 -0
  195. data/vendored/puppet/lib/puppet/application/master.rb +317 -0
  196. data/vendored/puppet/lib/puppet/application/module.rb +4 -0
  197. data/vendored/puppet/lib/puppet/application/node.rb +4 -0
  198. data/vendored/puppet/lib/puppet/application/parser.rb +5 -0
  199. data/vendored/puppet/lib/puppet/application/plugin.rb +3 -0
  200. data/vendored/puppet/lib/puppet/application/report.rb +4 -0
  201. data/vendored/puppet/lib/puppet/application/resource.rb +231 -0
  202. data/vendored/puppet/lib/puppet/application/script.rb +261 -0
  203. data/vendored/puppet/lib/puppet/application/status.rb +4 -0
  204. data/vendored/puppet/lib/puppet/application_support.rb +62 -0
  205. data/vendored/puppet/lib/puppet/coercion.rb +40 -0
  206. data/vendored/puppet/lib/puppet/compilable_resource_type.rb +15 -0
  207. data/vendored/puppet/lib/puppet/configurer.rb +464 -0
  208. data/vendored/puppet/lib/puppet/configurer/downloader.rb +67 -0
  209. data/vendored/puppet/lib/puppet/configurer/fact_handler.rb +46 -0
  210. data/vendored/puppet/lib/puppet/configurer/plugin_handler.rb +49 -0
  211. data/vendored/puppet/lib/puppet/confine.rb +80 -0
  212. data/vendored/puppet/lib/puppet/confine/any.rb +26 -0
  213. data/vendored/puppet/lib/puppet/confine/exists.rb +19 -0
  214. data/vendored/puppet/lib/puppet/confine/false.rb +19 -0
  215. data/vendored/puppet/lib/puppet/confine/feature.rb +17 -0
  216. data/vendored/puppet/lib/puppet/confine/true.rb +20 -0
  217. data/vendored/puppet/lib/puppet/confine/variable.rb +59 -0
  218. data/vendored/puppet/lib/puppet/confine_collection.rb +50 -0
  219. data/vendored/puppet/lib/puppet/confiner.rb +46 -0
  220. data/vendored/puppet/lib/puppet/context.rb +116 -0
  221. data/vendored/puppet/lib/puppet/context/trusted_information.rb +76 -0
  222. data/vendored/puppet/lib/puppet/daemon.rb +195 -0
  223. data/vendored/puppet/lib/puppet/data_binding.rb +14 -0
  224. data/vendored/puppet/lib/puppet/datatypes.rb +213 -0
  225. data/vendored/puppet/lib/puppet/datatypes/error.rb +21 -0
  226. data/vendored/puppet/lib/puppet/datatypes/impl/error.rb +40 -0
  227. data/vendored/puppet/lib/puppet/defaults.rb +2071 -0
  228. data/vendored/puppet/lib/puppet/environments.rb +511 -0
  229. data/vendored/puppet/lib/puppet/error.rb +110 -0
  230. data/vendored/puppet/lib/puppet/etc.rb +161 -0
  231. data/vendored/puppet/lib/puppet/external/dot.rb +319 -0
  232. data/vendored/puppet/lib/puppet/external/nagios.rb +46 -0
  233. data/vendored/puppet/lib/puppet/external/nagios/base.rb +472 -0
  234. data/vendored/puppet/lib/puppet/external/nagios/parser.rb +400 -0
  235. data/vendored/puppet/lib/puppet/external/pson/common.rb +374 -0
  236. data/vendored/puppet/lib/puppet/external/pson/pure.rb +15 -0
  237. data/vendored/puppet/lib/puppet/external/pson/pure/generator.rb +395 -0
  238. data/vendored/puppet/lib/puppet/external/pson/pure/parser.rb +307 -0
  239. data/vendored/puppet/lib/puppet/external/pson/version.rb +8 -0
  240. data/vendored/puppet/lib/puppet/face.rb +12 -0
  241. data/vendored/puppet/lib/puppet/face/ca.rb +266 -0
  242. data/vendored/puppet/lib/puppet/face/catalog.rb +130 -0
  243. data/vendored/puppet/lib/puppet/face/catalog/select.rb +49 -0
  244. data/vendored/puppet/lib/puppet/face/certificate.rb +165 -0
  245. data/vendored/puppet/lib/puppet/face/certificate_request.rb +56 -0
  246. data/vendored/puppet/lib/puppet/face/certificate_revocation_list.rb +56 -0
  247. data/vendored/puppet/lib/puppet/face/config.rb +210 -0
  248. data/vendored/puppet/lib/puppet/face/epp.rb +554 -0
  249. data/vendored/puppet/lib/puppet/face/facts.rb +87 -0
  250. data/vendored/puppet/lib/puppet/face/generate.rb +64 -0
  251. data/vendored/puppet/lib/puppet/face/help.rb +201 -0
  252. data/vendored/puppet/lib/puppet/face/key.rb +16 -0
  253. data/vendored/puppet/lib/puppet/face/man.rb +145 -0
  254. data/vendored/puppet/lib/puppet/face/module.rb +19 -0
  255. data/vendored/puppet/lib/puppet/face/module/build.rb +64 -0
  256. data/vendored/puppet/lib/puppet/face/module/changes.rb +42 -0
  257. data/vendored/puppet/lib/puppet/face/module/generate.rb +256 -0
  258. data/vendored/puppet/lib/puppet/face/module/install.rb +150 -0
  259. data/vendored/puppet/lib/puppet/face/module/list.rb +268 -0
  260. data/vendored/puppet/lib/puppet/face/module/search.rb +98 -0
  261. data/vendored/puppet/lib/puppet/face/module/uninstall.rb +93 -0
  262. data/vendored/puppet/lib/puppet/face/module/upgrade.rb +91 -0
  263. data/vendored/puppet/lib/puppet/face/node.rb +43 -0
  264. data/vendored/puppet/lib/puppet/face/node/clean.rb +96 -0
  265. data/vendored/puppet/lib/puppet/face/parser.rb +187 -0
  266. data/vendored/puppet/lib/puppet/face/plugin.rb +56 -0
  267. data/vendored/puppet/lib/puppet/face/report.rb +54 -0
  268. data/vendored/puppet/lib/puppet/face/resource.rb +53 -0
  269. data/vendored/puppet/lib/puppet/face/status.rb +51 -0
  270. data/vendored/puppet/lib/puppet/feature/base.rb +95 -0
  271. data/vendored/puppet/lib/puppet/feature/bolt.rb +3 -0
  272. data/vendored/puppet/lib/puppet/feature/cfpropertylist.rb +3 -0
  273. data/vendored/puppet/lib/puppet/feature/eventlog.rb +5 -0
  274. data/vendored/puppet/lib/puppet/feature/hiera_eyaml.rb +3 -0
  275. data/vendored/puppet/lib/puppet/feature/hocon.rb +3 -0
  276. data/vendored/puppet/lib/puppet/feature/libuser.rb +8 -0
  277. data/vendored/puppet/lib/puppet/feature/msgpack.rb +3 -0
  278. data/vendored/puppet/lib/puppet/feature/pe_license.rb +4 -0
  279. data/vendored/puppet/lib/puppet/feature/rack.rb +19 -0
  280. data/vendored/puppet/lib/puppet/feature/selinux.rb +3 -0
  281. data/vendored/puppet/lib/puppet/feature/ssh.rb +3 -0
  282. data/vendored/puppet/lib/puppet/feature/telnet.rb +9 -0
  283. data/vendored/puppet/lib/puppet/feature/zlib.rb +5 -0
  284. data/vendored/puppet/lib/puppet/file_bucket.rb +4 -0
  285. data/vendored/puppet/lib/puppet/file_bucket/dipper.rb +173 -0
  286. data/vendored/puppet/lib/puppet/file_bucket/file.rb +129 -0
  287. data/vendored/puppet/lib/puppet/file_serving.rb +3 -0
  288. data/vendored/puppet/lib/puppet/file_serving/base.rb +86 -0
  289. data/vendored/puppet/lib/puppet/file_serving/configuration.rb +115 -0
  290. data/vendored/puppet/lib/puppet/file_serving/configuration/parser.rb +137 -0
  291. data/vendored/puppet/lib/puppet/file_serving/content.rb +43 -0
  292. data/vendored/puppet/lib/puppet/file_serving/fileset.rb +174 -0
  293. data/vendored/puppet/lib/puppet/file_serving/http_metadata.rb +46 -0
  294. data/vendored/puppet/lib/puppet/file_serving/metadata.rb +163 -0
  295. data/vendored/puppet/lib/puppet/file_serving/mount.rb +39 -0
  296. data/vendored/puppet/lib/puppet/file_serving/mount/file.rb +121 -0
  297. data/vendored/puppet/lib/puppet/file_serving/mount/locales.rb +35 -0
  298. data/vendored/puppet/lib/puppet/file_serving/mount/modules.rb +24 -0
  299. data/vendored/puppet/lib/puppet/file_serving/mount/pluginfacts.rb +35 -0
  300. data/vendored/puppet/lib/puppet/file_serving/mount/plugins.rb +35 -0
  301. data/vendored/puppet/lib/puppet/file_serving/mount/tasks.rb +21 -0
  302. data/vendored/puppet/lib/puppet/file_serving/terminus_helper.rb +31 -0
  303. data/vendored/puppet/lib/puppet/file_serving/terminus_selector.rb +32 -0
  304. data/vendored/puppet/lib/puppet/file_system.rb +404 -0
  305. data/vendored/puppet/lib/puppet/file_system/file_impl.rb +154 -0
  306. data/vendored/puppet/lib/puppet/file_system/memory_file.rb +66 -0
  307. data/vendored/puppet/lib/puppet/file_system/memory_impl.rb +86 -0
  308. data/vendored/puppet/lib/puppet/file_system/path_pattern.rb +98 -0
  309. data/vendored/puppet/lib/puppet/file_system/posix.rb +46 -0
  310. data/vendored/puppet/lib/puppet/file_system/uniquefile.rb +190 -0
  311. data/vendored/puppet/lib/puppet/file_system/windows.rb +130 -0
  312. data/vendored/puppet/lib/puppet/forge.rb +242 -0
  313. data/vendored/puppet/lib/puppet/forge/cache.rb +60 -0
  314. data/vendored/puppet/lib/puppet/forge/errors.rb +114 -0
  315. data/vendored/puppet/lib/puppet/forge/repository.rb +155 -0
  316. data/vendored/puppet/lib/puppet/functions.rb +725 -0
  317. data/vendored/puppet/lib/puppet/functions/alert.rb +14 -0
  318. data/vendored/puppet/lib/puppet/functions/all.rb +104 -0
  319. data/vendored/puppet/lib/puppet/functions/annotate.rb +108 -0
  320. data/vendored/puppet/lib/puppet/functions/any.rb +109 -0
  321. data/vendored/puppet/lib/puppet/functions/assert_type.rb +93 -0
  322. data/vendored/puppet/lib/puppet/functions/binary_file.rb +32 -0
  323. data/vendored/puppet/lib/puppet/functions/break.rb +51 -0
  324. data/vendored/puppet/lib/puppet/functions/call.rb +42 -0
  325. data/vendored/puppet/lib/puppet/functions/contain.rb +55 -0
  326. data/vendored/puppet/lib/puppet/functions/convert_to.rb +33 -0
  327. data/vendored/puppet/lib/puppet/functions/crit.rb +14 -0
  328. data/vendored/puppet/lib/puppet/functions/debug.rb +14 -0
  329. data/vendored/puppet/lib/puppet/functions/defined.rb +159 -0
  330. data/vendored/puppet/lib/puppet/functions/dig.rb +47 -0
  331. data/vendored/puppet/lib/puppet/functions/each.rb +169 -0
  332. data/vendored/puppet/lib/puppet/functions/emerg.rb +14 -0
  333. data/vendored/puppet/lib/puppet/functions/empty.rb +79 -0
  334. data/vendored/puppet/lib/puppet/functions/epp.rb +48 -0
  335. data/vendored/puppet/lib/puppet/functions/err.rb +14 -0
  336. data/vendored/puppet/lib/puppet/functions/eyaml_lookup_key.rb +96 -0
  337. data/vendored/puppet/lib/puppet/functions/filter.rb +143 -0
  338. data/vendored/puppet/lib/puppet/functions/find_file.rb +44 -0
  339. data/vendored/puppet/lib/puppet/functions/flatten.rb +64 -0
  340. data/vendored/puppet/lib/puppet/functions/hiera.rb +88 -0
  341. data/vendored/puppet/lib/puppet/functions/hiera_array.rb +81 -0
  342. data/vendored/puppet/lib/puppet/functions/hiera_hash.rb +92 -0
  343. data/vendored/puppet/lib/puppet/functions/hiera_include.rb +104 -0
  344. data/vendored/puppet/lib/puppet/functions/hocon_data.rb +41 -0
  345. data/vendored/puppet/lib/puppet/functions/import.rb +7 -0
  346. data/vendored/puppet/lib/puppet/functions/include.rb +53 -0
  347. data/vendored/puppet/lib/puppet/functions/info.rb +14 -0
  348. data/vendored/puppet/lib/puppet/functions/inline_epp.rb +59 -0
  349. data/vendored/puppet/lib/puppet/functions/join.rb +56 -0
  350. data/vendored/puppet/lib/puppet/functions/json_data.rb +33 -0
  351. data/vendored/puppet/lib/puppet/functions/keys.rb +25 -0
  352. data/vendored/puppet/lib/puppet/functions/length.rb +44 -0
  353. data/vendored/puppet/lib/puppet/functions/lest.rb +55 -0
  354. data/vendored/puppet/lib/puppet/functions/lookup.rb +223 -0
  355. data/vendored/puppet/lib/puppet/functions/map.rb +136 -0
  356. data/vendored/puppet/lib/puppet/functions/match.rb +120 -0
  357. data/vendored/puppet/lib/puppet/functions/module_directory.rb +41 -0
  358. data/vendored/puppet/lib/puppet/functions/new.rb +1022 -0
  359. data/vendored/puppet/lib/puppet/functions/next.rb +23 -0
  360. data/vendored/puppet/lib/puppet/functions/notice.rb +14 -0
  361. data/vendored/puppet/lib/puppet/functions/reduce.rb +164 -0
  362. data/vendored/puppet/lib/puppet/functions/regsubst.rb +82 -0
  363. data/vendored/puppet/lib/puppet/functions/require.rb +77 -0
  364. data/vendored/puppet/lib/puppet/functions/return.rb +22 -0
  365. data/vendored/puppet/lib/puppet/functions/reverse_each.rb +94 -0
  366. data/vendored/puppet/lib/puppet/functions/scanf.rb +44 -0
  367. data/vendored/puppet/lib/puppet/functions/slice.rb +124 -0
  368. data/vendored/puppet/lib/puppet/functions/split.rb +49 -0
  369. data/vendored/puppet/lib/puppet/functions/step.rb +98 -0
  370. data/vendored/puppet/lib/puppet/functions/strftime.rb +217 -0
  371. data/vendored/puppet/lib/puppet/functions/then.rb +77 -0
  372. data/vendored/puppet/lib/puppet/functions/tree_each.rb +200 -0
  373. data/vendored/puppet/lib/puppet/functions/type.rb +72 -0
  374. data/vendored/puppet/lib/puppet/functions/unique.rb +132 -0
  375. data/vendored/puppet/lib/puppet/functions/unwrap.rb +44 -0
  376. data/vendored/puppet/lib/puppet/functions/values.rb +25 -0
  377. data/vendored/puppet/lib/puppet/functions/versioncmp.rb +36 -0
  378. data/vendored/puppet/lib/puppet/functions/warning.rb +14 -0
  379. data/vendored/puppet/lib/puppet/functions/with.rb +32 -0
  380. data/vendored/puppet/lib/puppet/functions/yaml_data.rb +42 -0
  381. data/vendored/puppet/lib/puppet/generate/models/type/property.rb +70 -0
  382. data/vendored/puppet/lib/puppet/generate/models/type/type.rb +62 -0
  383. data/vendored/puppet/lib/puppet/generate/type.rb +239 -0
  384. data/vendored/puppet/lib/puppet/gettext/config.rb +252 -0
  385. data/vendored/puppet/lib/puppet/gettext/module_translations.rb +42 -0
  386. data/vendored/puppet/lib/puppet/gettext/stubs.rb +11 -0
  387. data/vendored/puppet/lib/puppet/graph.rb +11 -0
  388. data/vendored/puppet/lib/puppet/graph/key.rb +26 -0
  389. data/vendored/puppet/lib/puppet/graph/prioritizer.rb +29 -0
  390. data/vendored/puppet/lib/puppet/graph/random_prioritizer.rb +16 -0
  391. data/vendored/puppet/lib/puppet/graph/rb_tree_map.rb +388 -0
  392. data/vendored/puppet/lib/puppet/graph/relationship_graph.rb +283 -0
  393. data/vendored/puppet/lib/puppet/graph/sequential_prioritizer.rb +31 -0
  394. data/vendored/puppet/lib/puppet/graph/simple_graph.rb +539 -0
  395. data/vendored/puppet/lib/puppet/graph/title_hash_prioritizer.rb +16 -0
  396. data/vendored/puppet/lib/puppet/indirector.rb +61 -0
  397. data/vendored/puppet/lib/puppet/indirector/catalog/compiler.rb +418 -0
  398. data/vendored/puppet/lib/puppet/indirector/catalog/json.rb +24 -0
  399. data/vendored/puppet/lib/puppet/indirector/catalog/msgpack.rb +6 -0
  400. data/vendored/puppet/lib/puppet/indirector/catalog/rest.rb +6 -0
  401. data/vendored/puppet/lib/puppet/indirector/catalog/store_configs.rb +8 -0
  402. data/vendored/puppet/lib/puppet/indirector/catalog/yaml.rb +22 -0
  403. data/vendored/puppet/lib/puppet/indirector/certificate/ca.rb +9 -0
  404. data/vendored/puppet/lib/puppet/indirector/certificate/disabled_ca.rb +22 -0
  405. data/vendored/puppet/lib/puppet/indirector/certificate/file.rb +9 -0
  406. data/vendored/puppet/lib/puppet/indirector/certificate/rest.rb +16 -0
  407. data/vendored/puppet/lib/puppet/indirector/certificate_request/ca.rb +22 -0
  408. data/vendored/puppet/lib/puppet/indirector/certificate_request/disabled_ca.rb +22 -0
  409. data/vendored/puppet/lib/puppet/indirector/certificate_request/file.rb +8 -0
  410. data/vendored/puppet/lib/puppet/indirector/certificate_request/memory.rb +6 -0
  411. data/vendored/puppet/lib/puppet/indirector/certificate_request/rest.rb +10 -0
  412. data/vendored/puppet/lib/puppet/indirector/certificate_revocation_list/ca.rb +8 -0
  413. data/vendored/puppet/lib/puppet/indirector/certificate_revocation_list/disabled_ca.rb +22 -0
  414. data/vendored/puppet/lib/puppet/indirector/certificate_revocation_list/file.rb +8 -0
  415. data/vendored/puppet/lib/puppet/indirector/certificate_revocation_list/rest.rb +22 -0
  416. data/vendored/puppet/lib/puppet/indirector/certificate_status.rb +4 -0
  417. data/vendored/puppet/lib/puppet/indirector/certificate_status/file.rb +91 -0
  418. data/vendored/puppet/lib/puppet/indirector/certificate_status/rest.rb +11 -0
  419. data/vendored/puppet/lib/puppet/indirector/code.rb +6 -0
  420. data/vendored/puppet/lib/puppet/indirector/data_binding/hiera.rb +7 -0
  421. data/vendored/puppet/lib/puppet/indirector/data_binding/none.rb +8 -0
  422. data/vendored/puppet/lib/puppet/indirector/direct_file_server.rb +17 -0
  423. data/vendored/puppet/lib/puppet/indirector/envelope.rb +11 -0
  424. data/vendored/puppet/lib/puppet/indirector/errors.rb +5 -0
  425. data/vendored/puppet/lib/puppet/indirector/exec.rb +38 -0
  426. data/vendored/puppet/lib/puppet/indirector/face.rb +153 -0
  427. data/vendored/puppet/lib/puppet/indirector/facts/facter.rb +88 -0
  428. data/vendored/puppet/lib/puppet/indirector/facts/memory.rb +9 -0
  429. data/vendored/puppet/lib/puppet/indirector/facts/network_device.rb +27 -0
  430. data/vendored/puppet/lib/puppet/indirector/facts/rest.rb +21 -0
  431. data/vendored/puppet/lib/puppet/indirector/facts/store_configs.rb +11 -0
  432. data/vendored/puppet/lib/puppet/indirector/facts/yaml.rb +82 -0
  433. data/vendored/puppet/lib/puppet/indirector/file_bucket_file/file.rb +262 -0
  434. data/vendored/puppet/lib/puppet/indirector/file_bucket_file/rest.rb +8 -0
  435. data/vendored/puppet/lib/puppet/indirector/file_bucket_file/selector.rb +53 -0
  436. data/vendored/puppet/lib/puppet/indirector/file_content.rb +5 -0
  437. data/vendored/puppet/lib/puppet/indirector/file_content/file.rb +7 -0
  438. data/vendored/puppet/lib/puppet/indirector/file_content/file_server.rb +7 -0
  439. data/vendored/puppet/lib/puppet/indirector/file_content/http.rb +17 -0
  440. data/vendored/puppet/lib/puppet/indirector/file_content/rest.rb +9 -0
  441. data/vendored/puppet/lib/puppet/indirector/file_content/selector.rb +30 -0
  442. data/vendored/puppet/lib/puppet/indirector/file_metadata.rb +5 -0
  443. data/vendored/puppet/lib/puppet/indirector/file_metadata/file.rb +7 -0
  444. data/vendored/puppet/lib/puppet/indirector/file_metadata/file_server.rb +7 -0
  445. data/vendored/puppet/lib/puppet/indirector/file_metadata/http.rb +27 -0
  446. data/vendored/puppet/lib/puppet/indirector/file_metadata/rest.rb +9 -0
  447. data/vendored/puppet/lib/puppet/indirector/file_metadata/selector.rb +30 -0
  448. data/vendored/puppet/lib/puppet/indirector/file_server.rb +59 -0
  449. data/vendored/puppet/lib/puppet/indirector/generic_http.rb +16 -0
  450. data/vendored/puppet/lib/puppet/indirector/hiera.rb +94 -0
  451. data/vendored/puppet/lib/puppet/indirector/indirection.rb +344 -0
  452. data/vendored/puppet/lib/puppet/indirector/json.rb +75 -0
  453. data/vendored/puppet/lib/puppet/indirector/key/ca.rb +16 -0
  454. data/vendored/puppet/lib/puppet/indirector/key/disabled_ca.rb +22 -0
  455. data/vendored/puppet/lib/puppet/indirector/key/file.rb +50 -0
  456. data/vendored/puppet/lib/puppet/indirector/key/memory.rb +6 -0
  457. data/vendored/puppet/lib/puppet/indirector/ldap.rb +80 -0
  458. data/vendored/puppet/lib/puppet/indirector/memory.rb +34 -0
  459. data/vendored/puppet/lib/puppet/indirector/msgpack.rb +83 -0
  460. data/vendored/puppet/lib/puppet/indirector/node/exec.rb +71 -0
  461. data/vendored/puppet/lib/puppet/indirector/node/ldap.rb +275 -0
  462. data/vendored/puppet/lib/puppet/indirector/node/memory.rb +10 -0
  463. data/vendored/puppet/lib/puppet/indirector/node/msgpack.rb +7 -0
  464. data/vendored/puppet/lib/puppet/indirector/node/plain.rb +21 -0
  465. data/vendored/puppet/lib/puppet/indirector/node/rest.rb +7 -0
  466. data/vendored/puppet/lib/puppet/indirector/node/store_configs.rb +8 -0
  467. data/vendored/puppet/lib/puppet/indirector/node/write_only_yaml.rb +39 -0
  468. data/vendored/puppet/lib/puppet/indirector/node/yaml.rb +13 -0
  469. data/vendored/puppet/lib/puppet/indirector/none.rb +9 -0
  470. data/vendored/puppet/lib/puppet/indirector/plain.rb +9 -0
  471. data/vendored/puppet/lib/puppet/indirector/report/msgpack.rb +11 -0
  472. data/vendored/puppet/lib/puppet/indirector/report/processor.rb +59 -0
  473. data/vendored/puppet/lib/puppet/indirector/report/rest.rb +28 -0
  474. data/vendored/puppet/lib/puppet/indirector/report/yaml.rb +11 -0
  475. data/vendored/puppet/lib/puppet/indirector/request.rb +278 -0
  476. data/vendored/puppet/lib/puppet/indirector/resource/ral.rb +63 -0
  477. data/vendored/puppet/lib/puppet/indirector/resource/store_configs.rb +12 -0
  478. data/vendored/puppet/lib/puppet/indirector/resource/validator.rb +8 -0
  479. data/vendored/puppet/lib/puppet/indirector/rest.rb +350 -0
  480. data/vendored/puppet/lib/puppet/indirector/ssl_file.rb +201 -0
  481. data/vendored/puppet/lib/puppet/indirector/status.rb +3 -0
  482. data/vendored/puppet/lib/puppet/indirector/status/local.rb +12 -0
  483. data/vendored/puppet/lib/puppet/indirector/status/rest.rb +9 -0
  484. data/vendored/puppet/lib/puppet/indirector/store_configs.rb +30 -0
  485. data/vendored/puppet/lib/puppet/indirector/terminus.rb +169 -0
  486. data/vendored/puppet/lib/puppet/indirector/yaml.rb +63 -0
  487. data/vendored/puppet/lib/puppet/info_service.rb +17 -0
  488. data/vendored/puppet/lib/puppet/info_service/class_information_service.rb +110 -0
  489. data/vendored/puppet/lib/puppet/info_service/task_information_service.rb +32 -0
  490. data/vendored/puppet/lib/puppet/interface.rb +237 -0
  491. data/vendored/puppet/lib/puppet/interface/action.rb +402 -0
  492. data/vendored/puppet/lib/puppet/interface/action_builder.rb +166 -0
  493. data/vendored/puppet/lib/puppet/interface/action_manager.rb +97 -0
  494. data/vendored/puppet/lib/puppet/interface/documentation.rb +353 -0
  495. data/vendored/puppet/lib/puppet/interface/face_collection.rb +132 -0
  496. data/vendored/puppet/lib/puppet/interface/option.rb +171 -0
  497. data/vendored/puppet/lib/puppet/interface/option_builder.rb +105 -0
  498. data/vendored/puppet/lib/puppet/interface/option_manager.rb +104 -0
  499. data/vendored/puppet/lib/puppet/loaders.rb +27 -0
  500. data/vendored/puppet/lib/puppet/metatype/manager.rb +199 -0
  501. data/vendored/puppet/lib/puppet/module.rb +467 -0
  502. data/vendored/puppet/lib/puppet/module/task.rb +90 -0
  503. data/vendored/puppet/lib/puppet/module_tool.rb +196 -0
  504. data/vendored/puppet/lib/puppet/module_tool/applications.rb +14 -0
  505. data/vendored/puppet/lib/puppet/module_tool/applications/application.rb +90 -0
  506. data/vendored/puppet/lib/puppet/module_tool/applications/builder.rb +152 -0
  507. data/vendored/puppet/lib/puppet/module_tool/applications/checksummer.rb +62 -0
  508. data/vendored/puppet/lib/puppet/module_tool/applications/installer.rb +355 -0
  509. data/vendored/puppet/lib/puppet/module_tool/applications/searcher.rb +29 -0
  510. data/vendored/puppet/lib/puppet/module_tool/applications/uninstaller.rb +121 -0
  511. data/vendored/puppet/lib/puppet/module_tool/applications/unpacker.rb +100 -0
  512. data/vendored/puppet/lib/puppet/module_tool/applications/upgrader.rb +281 -0
  513. data/vendored/puppet/lib/puppet/module_tool/checksums.rb +49 -0
  514. data/vendored/puppet/lib/puppet/module_tool/contents_description.rb +88 -0
  515. data/vendored/puppet/lib/puppet/module_tool/dependency.rb +41 -0
  516. data/vendored/puppet/lib/puppet/module_tool/errors.rb +11 -0
  517. data/vendored/puppet/lib/puppet/module_tool/errors/base.rb +15 -0
  518. data/vendored/puppet/lib/puppet/module_tool/errors/installer.rb +93 -0
  519. data/vendored/puppet/lib/puppet/module_tool/errors/shared.rb +195 -0
  520. data/vendored/puppet/lib/puppet/module_tool/errors/uninstaller.rb +50 -0
  521. data/vendored/puppet/lib/puppet/module_tool/errors/upgrader.rb +63 -0
  522. data/vendored/puppet/lib/puppet/module_tool/install_directory.rb +45 -0
  523. data/vendored/puppet/lib/puppet/module_tool/installed_modules.rb +96 -0
  524. data/vendored/puppet/lib/puppet/module_tool/local_tarball.rb +90 -0
  525. data/vendored/puppet/lib/puppet/module_tool/metadata.rb +223 -0
  526. data/vendored/puppet/lib/puppet/module_tool/shared_behaviors.rb +180 -0
  527. data/vendored/puppet/lib/puppet/module_tool/skeleton/templates/generator/spec/spec_helper.rb +1 -0
  528. data/vendored/puppet/lib/puppet/module_tool/tar.rb +18 -0
  529. data/vendored/puppet/lib/puppet/module_tool/tar/gnu.rb +19 -0
  530. data/vendored/puppet/lib/puppet/module_tool/tar/mini.rb +106 -0
  531. data/vendored/puppet/lib/puppet/network.rb +3 -0
  532. data/vendored/puppet/lib/puppet/network/auth_config_parser.rb +90 -0
  533. data/vendored/puppet/lib/puppet/network/authconfig.rb +112 -0
  534. data/vendored/puppet/lib/puppet/network/authorization.rb +41 -0
  535. data/vendored/puppet/lib/puppet/network/authstore.rb +282 -0
  536. data/vendored/puppet/lib/puppet/network/client_request.rb +29 -0
  537. data/vendored/puppet/lib/puppet/network/format.rb +110 -0
  538. data/vendored/puppet/lib/puppet/network/format_handler.rb +108 -0
  539. data/vendored/puppet/lib/puppet/network/format_support.rb +134 -0
  540. data/vendored/puppet/lib/puppet/network/formats.rb +171 -0
  541. data/vendored/puppet/lib/puppet/network/http.rb +30 -0
  542. data/vendored/puppet/lib/puppet/network/http/api.rb +44 -0
  543. data/vendored/puppet/lib/puppet/network/http/api/ca.rb +2 -0
  544. data/vendored/puppet/lib/puppet/network/http/api/ca/v1.rb +11 -0
  545. data/vendored/puppet/lib/puppet/network/http/api/indirected_routes.rb +279 -0
  546. data/vendored/puppet/lib/puppet/network/http/api/indirection_type.rb +32 -0
  547. data/vendored/puppet/lib/puppet/network/http/api/master.rb +2 -0
  548. data/vendored/puppet/lib/puppet/network/http/api/master/v3.rb +28 -0
  549. data/vendored/puppet/lib/puppet/network/http/api/master/v3/authorization.rb +18 -0
  550. data/vendored/puppet/lib/puppet/network/http/api/master/v3/environment.rb +85 -0
  551. data/vendored/puppet/lib/puppet/network/http/api/master/v3/environments.rb +35 -0
  552. data/vendored/puppet/lib/puppet/network/http/compression.rb +120 -0
  553. data/vendored/puppet/lib/puppet/network/http/connection.rb +332 -0
  554. data/vendored/puppet/lib/puppet/network/http/error.rb +73 -0
  555. data/vendored/puppet/lib/puppet/network/http/factory.rb +56 -0
  556. data/vendored/puppet/lib/puppet/network/http/handler.rb +183 -0
  557. data/vendored/puppet/lib/puppet/network/http/issues.rb +12 -0
  558. data/vendored/puppet/lib/puppet/network/http/memory_response.rb +13 -0
  559. data/vendored/puppet/lib/puppet/network/http/nocache_pool.rb +21 -0
  560. data/vendored/puppet/lib/puppet/network/http/pool.rb +129 -0
  561. data/vendored/puppet/lib/puppet/network/http/rack.rb +33 -0
  562. data/vendored/puppet/lib/puppet/network/http/rack/rest.rb +162 -0
  563. data/vendored/puppet/lib/puppet/network/http/request.rb +70 -0
  564. data/vendored/puppet/lib/puppet/network/http/response.rb +23 -0
  565. data/vendored/puppet/lib/puppet/network/http/route.rb +100 -0
  566. data/vendored/puppet/lib/puppet/network/http/session.rb +17 -0
  567. data/vendored/puppet/lib/puppet/network/http/site.rb +39 -0
  568. data/vendored/puppet/lib/puppet/network/http/webrick.rb +124 -0
  569. data/vendored/puppet/lib/puppet/network/http/webrick/rest.rb +114 -0
  570. data/vendored/puppet/lib/puppet/network/http_pool.rb +61 -0
  571. data/vendored/puppet/lib/puppet/network/resolver.rb +85 -0
  572. data/vendored/puppet/lib/puppet/network/rest_controller.rb +2 -0
  573. data/vendored/puppet/lib/puppet/network/rights.rb +209 -0
  574. data/vendored/puppet/lib/puppet/network/server.rb +39 -0
  575. data/vendored/puppet/lib/puppet/node.rb +282 -0
  576. data/vendored/puppet/lib/puppet/node/environment.rb +586 -0
  577. data/vendored/puppet/lib/puppet/node/facts.rb +137 -0
  578. data/vendored/puppet/lib/puppet/parameter.rb +567 -0
  579. data/vendored/puppet/lib/puppet/parameter/boolean.rb +15 -0
  580. data/vendored/puppet/lib/puppet/parameter/package_options.rb +31 -0
  581. data/vendored/puppet/lib/puppet/parameter/path.rb +57 -0
  582. data/vendored/puppet/lib/puppet/parameter/value.rb +91 -0
  583. data/vendored/puppet/lib/puppet/parameter/value_collection.rb +212 -0
  584. data/vendored/puppet/lib/puppet/parser.rb +20 -0
  585. data/vendored/puppet/lib/puppet/parser/abstract_compiler.rb +36 -0
  586. data/vendored/puppet/lib/puppet/parser/ast.rb +65 -0
  587. data/vendored/puppet/lib/puppet/parser/ast/block_expression.rb +15 -0
  588. data/vendored/puppet/lib/puppet/parser/ast/branch.rb +19 -0
  589. data/vendored/puppet/lib/puppet/parser/ast/hostclass.rb +27 -0
  590. data/vendored/puppet/lib/puppet/parser/ast/leaf.rb +75 -0
  591. data/vendored/puppet/lib/puppet/parser/ast/node.rb +17 -0
  592. data/vendored/puppet/lib/puppet/parser/ast/pops_bridge.rb +273 -0
  593. data/vendored/puppet/lib/puppet/parser/ast/resource.rb +66 -0
  594. data/vendored/puppet/lib/puppet/parser/ast/resource_instance.rb +10 -0
  595. data/vendored/puppet/lib/puppet/parser/ast/resourceparam.rb +31 -0
  596. data/vendored/puppet/lib/puppet/parser/ast/top_level_construct.rb +4 -0
  597. data/vendored/puppet/lib/puppet/parser/compiler.rb +797 -0
  598. data/vendored/puppet/lib/puppet/parser/compiler/catalog_validator.rb +33 -0
  599. data/vendored/puppet/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +64 -0
  600. data/vendored/puppet/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +57 -0
  601. data/vendored/puppet/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +20 -0
  602. data/vendored/puppet/lib/puppet/parser/e4_parser_adapter.rb +60 -0
  603. data/vendored/puppet/lib/puppet/parser/environment_compiler.rb +199 -0
  604. data/vendored/puppet/lib/puppet/parser/files.rb +92 -0
  605. data/vendored/puppet/lib/puppet/parser/functions.rb +277 -0
  606. data/vendored/puppet/lib/puppet/parser/functions/assert_type.rb +60 -0
  607. data/vendored/puppet/lib/puppet/parser/functions/binary_file.rb +24 -0
  608. data/vendored/puppet/lib/puppet/parser/functions/break.rb +39 -0
  609. data/vendored/puppet/lib/puppet/parser/functions/contain.rb +30 -0
  610. data/vendored/puppet/lib/puppet/parser/functions/create_resources.rb +112 -0
  611. data/vendored/puppet/lib/puppet/parser/functions/defined.rb +107 -0
  612. data/vendored/puppet/lib/puppet/parser/functions/dig.rb +38 -0
  613. data/vendored/puppet/lib/puppet/parser/functions/digest.rb +5 -0
  614. data/vendored/puppet/lib/puppet/parser/functions/each.rb +104 -0
  615. data/vendored/puppet/lib/puppet/parser/functions/epp.rb +39 -0
  616. data/vendored/puppet/lib/puppet/parser/functions/fail.rb +4 -0
  617. data/vendored/puppet/lib/puppet/parser/functions/file.rb +33 -0
  618. data/vendored/puppet/lib/puppet/parser/functions/filter.rb +78 -0
  619. data/vendored/puppet/lib/puppet/parser/functions/find_file.rb +28 -0
  620. data/vendored/puppet/lib/puppet/parser/functions/fqdn_rand.rb +36 -0
  621. data/vendored/puppet/lib/puppet/parser/functions/generate.rb +36 -0
  622. data/vendored/puppet/lib/puppet/parser/functions/hiera.rb +103 -0
  623. data/vendored/puppet/lib/puppet/parser/functions/hiera_array.rb +92 -0
  624. data/vendored/puppet/lib/puppet/parser/functions/hiera_hash.rb +102 -0
  625. data/vendored/puppet/lib/puppet/parser/functions/hiera_include.rb +102 -0
  626. data/vendored/puppet/lib/puppet/parser/functions/include.rb +34 -0
  627. data/vendored/puppet/lib/puppet/parser/functions/inline_epp.rb +51 -0
  628. data/vendored/puppet/lib/puppet/parser/functions/inline_template.rb +26 -0
  629. data/vendored/puppet/lib/puppet/parser/functions/lest.rb +49 -0
  630. data/vendored/puppet/lib/puppet/parser/functions/lookup.rb +132 -0
  631. data/vendored/puppet/lib/puppet/parser/functions/map.rb +76 -0
  632. data/vendored/puppet/lib/puppet/parser/functions/match.rb +43 -0
  633. data/vendored/puppet/lib/puppet/parser/functions/md5.rb +5 -0
  634. data/vendored/puppet/lib/puppet/parser/functions/new.rb +991 -0
  635. data/vendored/puppet/lib/puppet/parser/functions/next.rb +38 -0
  636. data/vendored/puppet/lib/puppet/parser/functions/realize.rb +20 -0
  637. data/vendored/puppet/lib/puppet/parser/functions/reduce.rb +137 -0
  638. data/vendored/puppet/lib/puppet/parser/functions/regsubst.rb +62 -0
  639. data/vendored/puppet/lib/puppet/parser/functions/require.rb +40 -0
  640. data/vendored/puppet/lib/puppet/parser/functions/return.rb +71 -0
  641. data/vendored/puppet/lib/puppet/parser/functions/reverse_each.rb +83 -0
  642. data/vendored/puppet/lib/puppet/parser/functions/scanf.rb +38 -0
  643. data/vendored/puppet/lib/puppet/parser/functions/sha1.rb +5 -0
  644. data/vendored/puppet/lib/puppet/parser/functions/sha256.rb +5 -0
  645. data/vendored/puppet/lib/puppet/parser/functions/shellquote.rb +61 -0
  646. data/vendored/puppet/lib/puppet/parser/functions/slice.rb +39 -0
  647. data/vendored/puppet/lib/puppet/parser/functions/split.rb +28 -0
  648. data/vendored/puppet/lib/puppet/parser/functions/sprintf.rb +50 -0
  649. data/vendored/puppet/lib/puppet/parser/functions/step.rb +84 -0
  650. data/vendored/puppet/lib/puppet/parser/functions/strftime.rb +185 -0
  651. data/vendored/puppet/lib/puppet/parser/functions/tag.rb +12 -0
  652. data/vendored/puppet/lib/puppet/parser/functions/tagged.rb +24 -0
  653. data/vendored/puppet/lib/puppet/parser/functions/template.rb +39 -0
  654. data/vendored/puppet/lib/puppet/parser/functions/then.rb +73 -0
  655. data/vendored/puppet/lib/puppet/parser/functions/type.rb +53 -0
  656. data/vendored/puppet/lib/puppet/parser/functions/versioncmp.rb +30 -0
  657. data/vendored/puppet/lib/puppet/parser/functions/with.rb +28 -0
  658. data/vendored/puppet/lib/puppet/parser/parser_factory.rb +30 -0
  659. data/vendored/puppet/lib/puppet/parser/relationship.rb +83 -0
  660. data/vendored/puppet/lib/puppet/parser/resource.rb +417 -0
  661. data/vendored/puppet/lib/puppet/parser/resource/param.rb +22 -0
  662. data/vendored/puppet/lib/puppet/parser/scope.rb +1125 -0
  663. data/vendored/puppet/lib/puppet/parser/script_compiler.rb +118 -0
  664. data/vendored/puppet/lib/puppet/parser/templatewrapper.rb +102 -0
  665. data/vendored/puppet/lib/puppet/parser/type_loader.rb +149 -0
  666. data/vendored/puppet/lib/puppet/plugins.rb +9 -0
  667. data/vendored/puppet/lib/puppet/plugins/configuration.rb +25 -0
  668. data/vendored/puppet/lib/puppet/plugins/syntax_checkers.rb +98 -0
  669. data/vendored/puppet/lib/puppet/pops.rb +120 -0
  670. data/vendored/puppet/lib/puppet/pops/adaptable.rb +206 -0
  671. data/vendored/puppet/lib/puppet/pops/adapters.rb +138 -0
  672. data/vendored/puppet/lib/puppet/pops/evaluator/access_operator.rb +719 -0
  673. data/vendored/puppet/lib/puppet/pops/evaluator/callable_signature.rb +107 -0
  674. data/vendored/puppet/lib/puppet/pops/evaluator/closure.rb +373 -0
  675. data/vendored/puppet/lib/puppet/pops/evaluator/collector_transformer.rb +234 -0
  676. data/vendored/puppet/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +86 -0
  677. data/vendored/puppet/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +29 -0
  678. data/vendored/puppet/lib/puppet/pops/evaluator/collectors/exported_collector.rb +69 -0
  679. data/vendored/puppet/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +37 -0
  680. data/vendored/puppet/lib/puppet/pops/evaluator/compare_operator.rb +252 -0
  681. data/vendored/puppet/lib/puppet/pops/evaluator/epp_evaluator.rb +120 -0
  682. data/vendored/puppet/lib/puppet/pops/evaluator/evaluator_impl.rb +1284 -0
  683. data/vendored/puppet/lib/puppet/pops/evaluator/external_syntax_support.rb +45 -0
  684. data/vendored/puppet/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +82 -0
  685. data/vendored/puppet/lib/puppet/pops/evaluator/literal_evaluator.rb +87 -0
  686. data/vendored/puppet/lib/puppet/pops/evaluator/puppet_proc.rb +69 -0
  687. data/vendored/puppet/lib/puppet/pops/evaluator/relationship_operator.rb +185 -0
  688. data/vendored/puppet/lib/puppet/pops/evaluator/runtime3_converter.rb +202 -0
  689. data/vendored/puppet/lib/puppet/pops/evaluator/runtime3_resource_support.rb +117 -0
  690. data/vendored/puppet/lib/puppet/pops/evaluator/runtime3_support.rb +540 -0
  691. data/vendored/puppet/lib/puppet/pops/functions/dispatch.rb +101 -0
  692. data/vendored/puppet/lib/puppet/pops/functions/dispatcher.rb +71 -0
  693. data/vendored/puppet/lib/puppet/pops/functions/function.rb +141 -0
  694. data/vendored/puppet/lib/puppet/pops/issue_reporter.rb +137 -0
  695. data/vendored/puppet/lib/puppet/pops/issues.rb +901 -0
  696. data/vendored/puppet/lib/puppet/pops/label_provider.rb +90 -0
  697. data/vendored/puppet/lib/puppet/pops/loader/base_loader.rb +166 -0
  698. data/vendored/puppet/lib/puppet/pops/loader/dependency_loader.rb +92 -0
  699. data/vendored/puppet/lib/puppet/pops/loader/gem_support.rb +49 -0
  700. data/vendored/puppet/lib/puppet/pops/loader/loader.rb +209 -0
  701. data/vendored/puppet/lib/puppet/pops/loader/loader_paths.rb +375 -0
  702. data/vendored/puppet/lib/puppet/pops/loader/module_loaders.rb +523 -0
  703. data/vendored/puppet/lib/puppet/pops/loader/null_loader.rb +60 -0
  704. data/vendored/puppet/lib/puppet/pops/loader/predefined_loader.rb +24 -0
  705. data/vendored/puppet/lib/puppet/pops/loader/puppet_function_instantiator.rb +84 -0
  706. data/vendored/puppet/lib/puppet/pops/loader/puppet_plan_instantiator.rb +84 -0
  707. data/vendored/puppet/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +79 -0
  708. data/vendored/puppet/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +39 -0
  709. data/vendored/puppet/lib/puppet/pops/loader/ruby_function_instantiator.rb +45 -0
  710. data/vendored/puppet/lib/puppet/pops/loader/runtime3_type_loader.rb +101 -0
  711. data/vendored/puppet/lib/puppet/pops/loader/simple_environment_loader.rb +20 -0
  712. data/vendored/puppet/lib/puppet/pops/loader/static_loader.rb +163 -0
  713. data/vendored/puppet/lib/puppet/pops/loader/task_instantiator.rb +69 -0
  714. data/vendored/puppet/lib/puppet/pops/loader/type_definition_instantiator.rb +100 -0
  715. data/vendored/puppet/lib/puppet/pops/loader/typed_name.rb +54 -0
  716. data/vendored/puppet/lib/puppet/pops/loader/uri_helper.rb +22 -0
  717. data/vendored/puppet/lib/puppet/pops/loaders.rb +545 -0
  718. data/vendored/puppet/lib/puppet/pops/lookup.rb +96 -0
  719. data/vendored/puppet/lib/puppet/pops/lookup/configured_data_provider.rb +93 -0
  720. data/vendored/puppet/lib/puppet/pops/lookup/context.rb +200 -0
  721. data/vendored/puppet/lib/puppet/pops/lookup/data_adapter.rb +27 -0
  722. data/vendored/puppet/lib/puppet/pops/lookup/data_dig_function_provider.rb +145 -0
  723. data/vendored/puppet/lib/puppet/pops/lookup/data_hash_function_provider.rb +126 -0
  724. data/vendored/puppet/lib/puppet/pops/lookup/data_provider.rb +92 -0
  725. data/vendored/puppet/lib/puppet/pops/lookup/environment_data_provider.rb +35 -0
  726. data/vendored/puppet/lib/puppet/pops/lookup/explainer.rb +595 -0
  727. data/vendored/puppet/lib/puppet/pops/lookup/function_provider.rb +110 -0
  728. data/vendored/puppet/lib/puppet/pops/lookup/global_data_provider.rb +75 -0
  729. data/vendored/puppet/lib/puppet/pops/lookup/hiera_config.rb +761 -0
  730. data/vendored/puppet/lib/puppet/pops/lookup/interpolation.rb +154 -0
  731. data/vendored/puppet/lib/puppet/pops/lookup/invocation.rb +261 -0
  732. data/vendored/puppet/lib/puppet/pops/lookup/location_resolver.rb +99 -0
  733. data/vendored/puppet/lib/puppet/pops/lookup/lookup_adapter.rb +471 -0
  734. data/vendored/puppet/lib/puppet/pops/lookup/lookup_key.rb +99 -0
  735. data/vendored/puppet/lib/puppet/pops/lookup/lookup_key_function_provider.rb +92 -0
  736. data/vendored/puppet/lib/puppet/pops/lookup/module_data_provider.rb +89 -0
  737. data/vendored/puppet/lib/puppet/pops/lookup/sub_lookup.rb +92 -0
  738. data/vendored/puppet/lib/puppet/pops/merge_strategy.rb +437 -0
  739. data/vendored/puppet/lib/puppet/pops/migration/migration_checker.rb +58 -0
  740. data/vendored/puppet/lib/puppet/pops/model/ast.rb +4870 -0
  741. data/vendored/puppet/lib/puppet/pops/model/ast_transformer.rb +131 -0
  742. data/vendored/puppet/lib/puppet/pops/model/factory.rb +1150 -0
  743. data/vendored/puppet/lib/puppet/pops/model/model_label_provider.rb +132 -0
  744. data/vendored/puppet/lib/puppet/pops/model/model_tree_dumper.rb +467 -0
  745. data/vendored/puppet/lib/puppet/pops/model/pn_transformer.rb +400 -0
  746. data/vendored/puppet/lib/puppet/pops/model/tree_dumper.rb +59 -0
  747. data/vendored/puppet/lib/puppet/pops/parser/code_merger.rb +29 -0
  748. data/vendored/puppet/lib/puppet/pops/parser/eparser.rb +3315 -0
  749. data/vendored/puppet/lib/puppet/pops/parser/epp_parser.rb +51 -0
  750. data/vendored/puppet/lib/puppet/pops/parser/epp_support.rb +260 -0
  751. data/vendored/puppet/lib/puppet/pops/parser/evaluating_parser.rb +165 -0
  752. data/vendored/puppet/lib/puppet/pops/parser/heredoc_support.rb +143 -0
  753. data/vendored/puppet/lib/puppet/pops/parser/interpolation_support.rb +244 -0
  754. data/vendored/puppet/lib/puppet/pops/parser/lexer2.rb +772 -0
  755. data/vendored/puppet/lib/puppet/pops/parser/lexer_support.rb +221 -0
  756. data/vendored/puppet/lib/puppet/pops/parser/locatable.rb +23 -0
  757. data/vendored/puppet/lib/puppet/pops/parser/locator.rb +336 -0
  758. data/vendored/puppet/lib/puppet/pops/parser/parser_support.rb +247 -0
  759. data/vendored/puppet/lib/puppet/pops/parser/pn_parser.rb +316 -0
  760. data/vendored/puppet/lib/puppet/pops/parser/slurp_support.rb +117 -0
  761. data/vendored/puppet/lib/puppet/pops/patterns.rb +60 -0
  762. data/vendored/puppet/lib/puppet/pops/pcore.rb +147 -0
  763. data/vendored/puppet/lib/puppet/pops/pn.rb +236 -0
  764. data/vendored/puppet/lib/puppet/pops/puppet_stack.rb +43 -0
  765. data/vendored/puppet/lib/puppet/pops/resource/param.rb +55 -0
  766. data/vendored/puppet/lib/puppet/pops/resource/resource_type_impl.rb +314 -0
  767. data/vendored/puppet/lib/puppet/pops/semantic_error.rb +29 -0
  768. data/vendored/puppet/lib/puppet/pops/serialization.rb +41 -0
  769. data/vendored/puppet/lib/puppet/pops/serialization/abstract_reader.rb +180 -0
  770. data/vendored/puppet/lib/puppet/pops/serialization/abstract_writer.rb +222 -0
  771. data/vendored/puppet/lib/puppet/pops/serialization/deserializer.rb +80 -0
  772. data/vendored/puppet/lib/puppet/pops/serialization/extension.rb +158 -0
  773. data/vendored/puppet/lib/puppet/pops/serialization/from_data_converter.rb +223 -0
  774. data/vendored/puppet/lib/puppet/pops/serialization/instance_reader.rb +19 -0
  775. data/vendored/puppet/lib/puppet/pops/serialization/instance_writer.rb +14 -0
  776. data/vendored/puppet/lib/puppet/pops/serialization/json.rb +297 -0
  777. data/vendored/puppet/lib/puppet/pops/serialization/json_path.rb +127 -0
  778. data/vendored/puppet/lib/puppet/pops/serialization/object.rb +70 -0
  779. data/vendored/puppet/lib/puppet/pops/serialization/serializer.rb +140 -0
  780. data/vendored/puppet/lib/puppet/pops/serialization/time_factory.rb +67 -0
  781. data/vendored/puppet/lib/puppet/pops/serialization/to_data_converter.rb +305 -0
  782. data/vendored/puppet/lib/puppet/pops/time/timespan.rb +718 -0
  783. data/vendored/puppet/lib/puppet/pops/time/timestamp.rb +160 -0
  784. data/vendored/puppet/lib/puppet/pops/types/annotatable.rb +36 -0
  785. data/vendored/puppet/lib/puppet/pops/types/annotation.rb +71 -0
  786. data/vendored/puppet/lib/puppet/pops/types/class_loader.rb +132 -0
  787. data/vendored/puppet/lib/puppet/pops/types/enumeration.rb +16 -0
  788. data/vendored/puppet/lib/puppet/pops/types/implementation_registry.rb +134 -0
  789. data/vendored/puppet/lib/puppet/pops/types/iterable.rb +339 -0
  790. data/vendored/puppet/lib/puppet/pops/types/p_binary_type.rb +233 -0
  791. data/vendored/puppet/lib/puppet/pops/types/p_init_type.rb +238 -0
  792. data/vendored/puppet/lib/puppet/pops/types/p_meta_type.rb +94 -0
  793. data/vendored/puppet/lib/puppet/pops/types/p_object_type.rb +1114 -0
  794. data/vendored/puppet/lib/puppet/pops/types/p_object_type_extension.rb +218 -0
  795. data/vendored/puppet/lib/puppet/pops/types/p_runtime_type.rb +115 -0
  796. data/vendored/puppet/lib/puppet/pops/types/p_sem_ver_range_type.rb +190 -0
  797. data/vendored/puppet/lib/puppet/pops/types/p_sem_ver_type.rb +149 -0
  798. data/vendored/puppet/lib/puppet/pops/types/p_sensitive_type.rb +73 -0
  799. data/vendored/puppet/lib/puppet/pops/types/p_timespan_type.rb +192 -0
  800. data/vendored/puppet/lib/puppet/pops/types/p_timestamp_type.rb +73 -0
  801. data/vendored/puppet/lib/puppet/pops/types/p_type_set_type.rb +383 -0
  802. data/vendored/puppet/lib/puppet/pops/types/p_uri_type.rb +190 -0
  803. data/vendored/puppet/lib/puppet/pops/types/puppet_object.rb +40 -0
  804. data/vendored/puppet/lib/puppet/pops/types/recursion_guard.rb +136 -0
  805. data/vendored/puppet/lib/puppet/pops/types/ruby_generator.rb +472 -0
  806. data/vendored/puppet/lib/puppet/pops/types/ruby_method.rb +31 -0
  807. data/vendored/puppet/lib/puppet/pops/types/string_converter.rb +1123 -0
  808. data/vendored/puppet/lib/puppet/pops/types/tree_iterators.rb +254 -0
  809. data/vendored/puppet/lib/puppet/pops/types/type_acceptor.rb +25 -0
  810. data/vendored/puppet/lib/puppet/pops/types/type_asserter.rb +47 -0
  811. data/vendored/puppet/lib/puppet/pops/types/type_assertion_error.rb +27 -0
  812. data/vendored/puppet/lib/puppet/pops/types/type_calculator.rb +809 -0
  813. data/vendored/puppet/lib/puppet/pops/types/type_conversion_error.rb +15 -0
  814. data/vendored/puppet/lib/puppet/pops/types/type_factory.rb +614 -0
  815. data/vendored/puppet/lib/puppet/pops/types/type_formatter.rb +802 -0
  816. data/vendored/puppet/lib/puppet/pops/types/type_mismatch_describer.rb +1075 -0
  817. data/vendored/puppet/lib/puppet/pops/types/type_parser.rb +685 -0
  818. data/vendored/puppet/lib/puppet/pops/types/type_set_reference.rb +59 -0
  819. data/vendored/puppet/lib/puppet/pops/types/type_with_members.rb +43 -0
  820. data/vendored/puppet/lib/puppet/pops/types/types.rb +3650 -0
  821. data/vendored/puppet/lib/puppet/pops/utils.rb +119 -0
  822. data/vendored/puppet/lib/puppet/pops/validation.rb +466 -0
  823. data/vendored/puppet/lib/puppet/pops/validation/checker4_0.rb +998 -0
  824. data/vendored/puppet/lib/puppet/pops/validation/tasks_checker.rb +60 -0
  825. data/vendored/puppet/lib/puppet/pops/validation/validator_factory_4_0.rb +43 -0
  826. data/vendored/puppet/lib/puppet/pops/visitable.rb +6 -0
  827. data/vendored/puppet/lib/puppet/pops/visitor.rb +116 -0
  828. data/vendored/puppet/lib/puppet/property.rb +608 -0
  829. data/vendored/puppet/lib/puppet/property/boolean.rb +7 -0
  830. data/vendored/puppet/lib/puppet/property/ensure.rb +105 -0
  831. data/vendored/puppet/lib/puppet/property/keyvalue.rb +95 -0
  832. data/vendored/puppet/lib/puppet/property/list.rb +69 -0
  833. data/vendored/puppet/lib/puppet/property/ordered_list.rb +29 -0
  834. data/vendored/puppet/lib/puppet/provider.rb +613 -0
  835. data/vendored/puppet/lib/puppet/provider/aixobject.rb +392 -0
  836. data/vendored/puppet/lib/puppet/provider/augeas/augeas.rb +566 -0
  837. data/vendored/puppet/lib/puppet/provider/cisco.rb +9 -0
  838. data/vendored/puppet/lib/puppet/provider/command.rb +25 -0
  839. data/vendored/puppet/lib/puppet/provider/computer/computer.rb +20 -0
  840. data/vendored/puppet/lib/puppet/provider/confine.rb +6 -0
  841. data/vendored/puppet/lib/puppet/provider/cron/crontab.rb +297 -0
  842. data/vendored/puppet/lib/puppet/provider/exec.rb +96 -0
  843. data/vendored/puppet/lib/puppet/provider/exec/posix.rb +48 -0
  844. data/vendored/puppet/lib/puppet/provider/exec/shell.rb +25 -0
  845. data/vendored/puppet/lib/puppet/provider/exec/windows.rb +55 -0
  846. data/vendored/puppet/lib/puppet/provider/file/posix.rb +136 -0
  847. data/vendored/puppet/lib/puppet/provider/file/windows.rb +104 -0
  848. data/vendored/puppet/lib/puppet/provider/group/aix.rb +143 -0
  849. data/vendored/puppet/lib/puppet/provider/group/directoryservice.rb +22 -0
  850. data/vendored/puppet/lib/puppet/provider/group/groupadd.rb +111 -0
  851. data/vendored/puppet/lib/puppet/provider/group/ldap.rb +45 -0
  852. data/vendored/puppet/lib/puppet/provider/group/pw.rb +49 -0
  853. data/vendored/puppet/lib/puppet/provider/group/windows_adsi.rb +106 -0
  854. data/vendored/puppet/lib/puppet/provider/host/parsed.rb +46 -0
  855. data/vendored/puppet/lib/puppet/provider/interface/cisco.rb +27 -0
  856. data/vendored/puppet/lib/puppet/provider/ldap.rb +137 -0
  857. data/vendored/puppet/lib/puppet/provider/macauthorization/macauthorization.rb +298 -0
  858. data/vendored/puppet/lib/puppet/provider/mailalias/aliases.rb +50 -0
  859. data/vendored/puppet/lib/puppet/provider/maillist/mailman.rb +108 -0
  860. data/vendored/puppet/lib/puppet/provider/mcx/mcxcontent.rb +173 -0
  861. data/vendored/puppet/lib/puppet/provider/mount.rb +76 -0
  862. data/vendored/puppet/lib/puppet/provider/mount/parsed.rb +282 -0
  863. data/vendored/puppet/lib/puppet/provider/naginator.rb +63 -0
  864. data/vendored/puppet/lib/puppet/provider/nameservice.rb +325 -0
  865. data/vendored/puppet/lib/puppet/provider/nameservice/directoryservice.rb +508 -0
  866. data/vendored/puppet/lib/puppet/provider/nameservice/objectadd.rb +22 -0
  867. data/vendored/puppet/lib/puppet/provider/nameservice/pw.rb +21 -0
  868. data/vendored/puppet/lib/puppet/provider/network_device.rb +72 -0
  869. data/vendored/puppet/lib/puppet/provider/package.rb +56 -0
  870. data/vendored/puppet/lib/puppet/provider/package/aix.rb +152 -0
  871. data/vendored/puppet/lib/puppet/provider/package/appdmg.rb +109 -0
  872. data/vendored/puppet/lib/puppet/provider/package/apple.rb +46 -0
  873. data/vendored/puppet/lib/puppet/provider/package/apt.rb +116 -0
  874. data/vendored/puppet/lib/puppet/provider/package/aptitude.rb +29 -0
  875. data/vendored/puppet/lib/puppet/provider/package/aptrpm.rb +83 -0
  876. data/vendored/puppet/lib/puppet/provider/package/blastwave.rb +111 -0
  877. data/vendored/puppet/lib/puppet/provider/package/dnf.rb +46 -0
  878. data/vendored/puppet/lib/puppet/provider/package/dpkg.rb +165 -0
  879. data/vendored/puppet/lib/puppet/provider/package/fink.rb +79 -0
  880. data/vendored/puppet/lib/puppet/provider/package/freebsd.rb +47 -0
  881. data/vendored/puppet/lib/puppet/provider/package/gem.rb +175 -0
  882. data/vendored/puppet/lib/puppet/provider/package/hpux.rb +44 -0
  883. data/vendored/puppet/lib/puppet/provider/package/macports.rb +107 -0
  884. data/vendored/puppet/lib/puppet/provider/package/nim.rb +282 -0
  885. data/vendored/puppet/lib/puppet/provider/package/openbsd.rb +242 -0
  886. data/vendored/puppet/lib/puppet/provider/package/opkg.rb +81 -0
  887. data/vendored/puppet/lib/puppet/provider/package/pacman.rb +267 -0
  888. data/vendored/puppet/lib/puppet/provider/package/pip.rb +188 -0
  889. data/vendored/puppet/lib/puppet/provider/package/pip3.rb +20 -0
  890. data/vendored/puppet/lib/puppet/provider/package/pkg.rb +255 -0
  891. data/vendored/puppet/lib/puppet/provider/package/pkgdmg.rb +151 -0
  892. data/vendored/puppet/lib/puppet/provider/package/pkgin.rb +87 -0
  893. data/vendored/puppet/lib/puppet/provider/package/pkgng.rb +143 -0
  894. data/vendored/puppet/lib/puppet/provider/package/pkgutil.rb +186 -0
  895. data/vendored/puppet/lib/puppet/provider/package/portage.rb +300 -0
  896. data/vendored/puppet/lib/puppet/provider/package/ports.rb +91 -0
  897. data/vendored/puppet/lib/puppet/provider/package/portupgrade.rb +239 -0
  898. data/vendored/puppet/lib/puppet/provider/package/puppet_gem.rb +17 -0
  899. data/vendored/puppet/lib/puppet/provider/package/rpm.rb +405 -0
  900. data/vendored/puppet/lib/puppet/provider/package/rug.rb +51 -0
  901. data/vendored/puppet/lib/puppet/provider/package/sun.rb +133 -0
  902. data/vendored/puppet/lib/puppet/provider/package/sunfreeware.rb +9 -0
  903. data/vendored/puppet/lib/puppet/provider/package/tdnf.rb +28 -0
  904. data/vendored/puppet/lib/puppet/provider/package/up2date.rb +40 -0
  905. data/vendored/puppet/lib/puppet/provider/package/urpmi.rb +55 -0
  906. data/vendored/puppet/lib/puppet/provider/package/windows.rb +113 -0
  907. data/vendored/puppet/lib/puppet/provider/package/windows/exe_package.rb +71 -0
  908. data/vendored/puppet/lib/puppet/provider/package/windows/msi_package.rb +62 -0
  909. data/vendored/puppet/lib/puppet/provider/package/windows/package.rb +100 -0
  910. data/vendored/puppet/lib/puppet/provider/package/yum.rb +293 -0
  911. data/vendored/puppet/lib/puppet/provider/package/zypper.rb +145 -0
  912. data/vendored/puppet/lib/puppet/provider/parsedfile.rb +459 -0
  913. data/vendored/puppet/lib/puppet/provider/scheduled_task/win32_taskscheduler.rb +590 -0
  914. data/vendored/puppet/lib/puppet/provider/selboolean/getsetsebool.rb +47 -0
  915. data/vendored/puppet/lib/puppet/provider/selmodule/semodule.rb +140 -0
  916. data/vendored/puppet/lib/puppet/provider/service/base.rb +134 -0
  917. data/vendored/puppet/lib/puppet/provider/service/bsd.rb +51 -0
  918. data/vendored/puppet/lib/puppet/provider/service/daemontools.rb +194 -0
  919. data/vendored/puppet/lib/puppet/provider/service/debian.rb +74 -0
  920. data/vendored/puppet/lib/puppet/provider/service/freebsd.rb +143 -0
  921. data/vendored/puppet/lib/puppet/provider/service/gentoo.rb +45 -0
  922. data/vendored/puppet/lib/puppet/provider/service/init.rb +194 -0
  923. data/vendored/puppet/lib/puppet/provider/service/launchd.rb +345 -0
  924. data/vendored/puppet/lib/puppet/provider/service/openbsd.rb +100 -0
  925. data/vendored/puppet/lib/puppet/provider/service/openrc.rb +71 -0
  926. data/vendored/puppet/lib/puppet/provider/service/openwrt.rb +36 -0
  927. data/vendored/puppet/lib/puppet/provider/service/rcng.rb +51 -0
  928. data/vendored/puppet/lib/puppet/provider/service/redhat.rb +72 -0
  929. data/vendored/puppet/lib/puppet/provider/service/runit.rb +112 -0
  930. data/vendored/puppet/lib/puppet/provider/service/service.rb +42 -0
  931. data/vendored/puppet/lib/puppet/provider/service/smf.rb +170 -0
  932. data/vendored/puppet/lib/puppet/provider/service/src.rb +147 -0
  933. data/vendored/puppet/lib/puppet/provider/service/systemd.rb +187 -0
  934. data/vendored/puppet/lib/puppet/provider/service/upstart.rb +359 -0
  935. data/vendored/puppet/lib/puppet/provider/service/windows.rb +106 -0
  936. data/vendored/puppet/lib/puppet/provider/ssh_authorized_key/parsed.rb +105 -0
  937. data/vendored/puppet/lib/puppet/provider/sshkey/parsed.rb +50 -0
  938. data/vendored/puppet/lib/puppet/provider/user/aix.rb +383 -0
  939. data/vendored/puppet/lib/puppet/provider/user/directoryservice.rb +632 -0
  940. data/vendored/puppet/lib/puppet/provider/user/hpux.rb +95 -0
  941. data/vendored/puppet/lib/puppet/provider/user/ldap.rb +128 -0
  942. data/vendored/puppet/lib/puppet/provider/user/openbsd.rb +76 -0
  943. data/vendored/puppet/lib/puppet/provider/user/pw.rb +98 -0
  944. data/vendored/puppet/lib/puppet/provider/user/user_role_add.rb +233 -0
  945. data/vendored/puppet/lib/puppet/provider/user/useradd.rb +265 -0
  946. data/vendored/puppet/lib/puppet/provider/user/windows_adsi.rb +148 -0
  947. data/vendored/puppet/lib/puppet/provider/vlan/cisco.rb +28 -0
  948. data/vendored/puppet/lib/puppet/provider/yumrepo/inifile.rb +303 -0
  949. data/vendored/puppet/lib/puppet/provider/zfs/zfs.rb +108 -0
  950. data/vendored/puppet/lib/puppet/provider/zone/solaris.rb +364 -0
  951. data/vendored/puppet/lib/puppet/provider/zpool/zpool.rb +125 -0
  952. data/vendored/puppet/lib/puppet/reference/configuration.rb +86 -0
  953. data/vendored/puppet/lib/puppet/reference/function.rb +17 -0
  954. data/vendored/puppet/lib/puppet/reference/indirection.rb +71 -0
  955. data/vendored/puppet/lib/puppet/reference/metaparameter.rb +35 -0
  956. data/vendored/puppet/lib/puppet/reference/providers.rb +118 -0
  957. data/vendored/puppet/lib/puppet/reference/report.rb +20 -0
  958. data/vendored/puppet/lib/puppet/reference/type.rb +113 -0
  959. data/vendored/puppet/lib/puppet/relationship.rb +89 -0
  960. data/vendored/puppet/lib/puppet/reports.rb +93 -0
  961. data/vendored/puppet/lib/puppet/reports/http.rb +37 -0
  962. data/vendored/puppet/lib/puppet/reports/log.rb +14 -0
  963. data/vendored/puppet/lib/puppet/reports/store.rb +68 -0
  964. data/vendored/puppet/lib/puppet/resource.rb +670 -0
  965. data/vendored/puppet/lib/puppet/resource/capability_finder.rb +150 -0
  966. data/vendored/puppet/lib/puppet/resource/catalog.rb +682 -0
  967. data/vendored/puppet/lib/puppet/resource/status.rb +227 -0
  968. data/vendored/puppet/lib/puppet/resource/type.rb +524 -0
  969. data/vendored/puppet/lib/puppet/resource/type_collection.rb +263 -0
  970. data/vendored/puppet/lib/puppet/scheduler.rb +16 -0
  971. data/vendored/puppet/lib/puppet/scheduler/job.rb +53 -0
  972. data/vendored/puppet/lib/puppet/scheduler/scheduler.rb +44 -0
  973. data/vendored/puppet/lib/puppet/scheduler/splay_job.rb +32 -0
  974. data/vendored/puppet/lib/puppet/scheduler/timer.rb +13 -0
  975. data/vendored/puppet/lib/puppet/settings.rb +1475 -0
  976. data/vendored/puppet/lib/puppet/settings/array_setting.rb +17 -0
  977. data/vendored/puppet/lib/puppet/settings/autosign_setting.rb +22 -0
  978. data/vendored/puppet/lib/puppet/settings/base_setting.rb +197 -0
  979. data/vendored/puppet/lib/puppet/settings/boolean_setting.rb +32 -0
  980. data/vendored/puppet/lib/puppet/settings/certificate_revocation_setting.rb +21 -0
  981. data/vendored/puppet/lib/puppet/settings/config_file.rb +153 -0
  982. data/vendored/puppet/lib/puppet/settings/directory_setting.rb +18 -0
  983. data/vendored/puppet/lib/puppet/settings/duration_setting.rb +32 -0
  984. data/vendored/puppet/lib/puppet/settings/enum_setting.rb +16 -0
  985. data/vendored/puppet/lib/puppet/settings/environment_conf.rb +213 -0
  986. data/vendored/puppet/lib/puppet/settings/errors.rb +11 -0
  987. data/vendored/puppet/lib/puppet/settings/file_or_directory_setting.rb +40 -0
  988. data/vendored/puppet/lib/puppet/settings/file_setting.rb +245 -0
  989. data/vendored/puppet/lib/puppet/settings/ini_file.rb +225 -0
  990. data/vendored/puppet/lib/puppet/settings/path_setting.rb +8 -0
  991. data/vendored/puppet/lib/puppet/settings/priority_setting.rb +42 -0
  992. data/vendored/puppet/lib/puppet/settings/server_list_setting.rb +20 -0
  993. data/vendored/puppet/lib/puppet/settings/string_setting.rb +9 -0
  994. data/vendored/puppet/lib/puppet/settings/symbolic_enum_setting.rb +17 -0
  995. data/vendored/puppet/lib/puppet/settings/terminus_setting.rb +14 -0
  996. data/vendored/puppet/lib/puppet/settings/ttl_setting.rb +51 -0
  997. data/vendored/puppet/lib/puppet/settings/value_translator.rb +15 -0
  998. data/vendored/puppet/lib/puppet/ssl.rb +13 -0
  999. data/vendored/puppet/lib/puppet/ssl/base.rb +158 -0
  1000. data/vendored/puppet/lib/puppet/ssl/certificate.rb +95 -0
  1001. data/vendored/puppet/lib/puppet/ssl/certificate_authority.rb +553 -0
  1002. data/vendored/puppet/lib/puppet/ssl/certificate_authority/autosign_command.rb +45 -0
  1003. data/vendored/puppet/lib/puppet/ssl/certificate_authority/interface.rb +324 -0
  1004. data/vendored/puppet/lib/puppet/ssl/certificate_factory.rb +219 -0
  1005. data/vendored/puppet/lib/puppet/ssl/certificate_request.rb +325 -0
  1006. data/vendored/puppet/lib/puppet/ssl/certificate_request_attributes.rb +37 -0
  1007. data/vendored/puppet/lib/puppet/ssl/certificate_revocation_list.rb +111 -0
  1008. data/vendored/puppet/lib/puppet/ssl/certificate_signer.rb +33 -0
  1009. data/vendored/puppet/lib/puppet/ssl/configuration.rb +61 -0
  1010. data/vendored/puppet/lib/puppet/ssl/digest.rb +20 -0
  1011. data/vendored/puppet/lib/puppet/ssl/host.rb +400 -0
  1012. data/vendored/puppet/lib/puppet/ssl/inventory.rb +55 -0
  1013. data/vendored/puppet/lib/puppet/ssl/key.rb +63 -0
  1014. data/vendored/puppet/lib/puppet/ssl/oids.rb +193 -0
  1015. data/vendored/puppet/lib/puppet/ssl/validator.rb +60 -0
  1016. data/vendored/puppet/lib/puppet/ssl/validator/default_validator.rb +173 -0
  1017. data/vendored/puppet/lib/puppet/ssl/validator/no_validator.rb +20 -0
  1018. data/vendored/puppet/lib/puppet/status.rb +40 -0
  1019. data/vendored/puppet/lib/puppet/syntax_checkers.rb +3 -0
  1020. data/vendored/puppet/lib/puppet/syntax_checkers/base64.rb +40 -0
  1021. data/vendored/puppet/lib/puppet/syntax_checkers/json.rb +35 -0
  1022. data/vendored/puppet/lib/puppet/test/test_helper.rb +252 -0
  1023. data/vendored/puppet/lib/puppet/transaction.rb +444 -0
  1024. data/vendored/puppet/lib/puppet/transaction/additional_resource_generator.rb +220 -0
  1025. data/vendored/puppet/lib/puppet/transaction/event.rb +144 -0
  1026. data/vendored/puppet/lib/puppet/transaction/event_manager.rb +167 -0
  1027. data/vendored/puppet/lib/puppet/transaction/persistence.rb +99 -0
  1028. data/vendored/puppet/lib/puppet/transaction/report.rb +468 -0
  1029. data/vendored/puppet/lib/puppet/transaction/resource_harness.rb +318 -0
  1030. data/vendored/puppet/lib/puppet/type.rb +2665 -0
  1031. data/vendored/puppet/lib/puppet/type/augeas.rb +211 -0
  1032. data/vendored/puppet/lib/puppet/type/component.rb +88 -0
  1033. data/vendored/puppet/lib/puppet/type/computer.rb +66 -0
  1034. data/vendored/puppet/lib/puppet/type/cron.rb +480 -0
  1035. data/vendored/puppet/lib/puppet/type/exec.rb +623 -0
  1036. data/vendored/puppet/lib/puppet/type/file.rb +1039 -0
  1037. data/vendored/puppet/lib/puppet/type/file/checksum.rb +50 -0
  1038. data/vendored/puppet/lib/puppet/type/file/checksum_value.rb +54 -0
  1039. data/vendored/puppet/lib/puppet/type/file/content.rb +160 -0
  1040. data/vendored/puppet/lib/puppet/type/file/ctime.rb +20 -0
  1041. data/vendored/puppet/lib/puppet/type/file/data_sync.rb +93 -0
  1042. data/vendored/puppet/lib/puppet/type/file/ensure.rb +192 -0
  1043. data/vendored/puppet/lib/puppet/type/file/group.rb +41 -0
  1044. data/vendored/puppet/lib/puppet/type/file/mode.rb +177 -0
  1045. data/vendored/puppet/lib/puppet/type/file/mtime.rb +18 -0
  1046. data/vendored/puppet/lib/puppet/type/file/owner.rb +44 -0
  1047. data/vendored/puppet/lib/puppet/type/file/selcontext.rb +141 -0
  1048. data/vendored/puppet/lib/puppet/type/file/source.rb +356 -0
  1049. data/vendored/puppet/lib/puppet/type/file/target.rb +87 -0
  1050. data/vendored/puppet/lib/puppet/type/file/type.rb +19 -0
  1051. data/vendored/puppet/lib/puppet/type/filebucket.rb +117 -0
  1052. data/vendored/puppet/lib/puppet/type/group.rb +209 -0
  1053. data/vendored/puppet/lib/puppet/type/host.rb +95 -0
  1054. data/vendored/puppet/lib/puppet/type/interface.rb +121 -0
  1055. data/vendored/puppet/lib/puppet/type/k5login.rb +165 -0
  1056. data/vendored/puppet/lib/puppet/type/macauthorization.rb +167 -0
  1057. data/vendored/puppet/lib/puppet/type/mailalias.rb +46 -0
  1058. data/vendored/puppet/lib/puppet/type/maillist.rb +62 -0
  1059. data/vendored/puppet/lib/puppet/type/mcx.rb +98 -0
  1060. data/vendored/puppet/lib/puppet/type/mount.rb +314 -0
  1061. data/vendored/puppet/lib/puppet/type/nagios_command.rb +3 -0
  1062. data/vendored/puppet/lib/puppet/type/nagios_contact.rb +3 -0
  1063. data/vendored/puppet/lib/puppet/type/nagios_contactgroup.rb +3 -0
  1064. data/vendored/puppet/lib/puppet/type/nagios_host.rb +3 -0
  1065. data/vendored/puppet/lib/puppet/type/nagios_hostdependency.rb +3 -0
  1066. data/vendored/puppet/lib/puppet/type/nagios_hostescalation.rb +3 -0
  1067. data/vendored/puppet/lib/puppet/type/nagios_hostextinfo.rb +3 -0
  1068. data/vendored/puppet/lib/puppet/type/nagios_hostgroup.rb +3 -0
  1069. data/vendored/puppet/lib/puppet/type/nagios_service.rb +3 -0
  1070. data/vendored/puppet/lib/puppet/type/nagios_servicedependency.rb +3 -0
  1071. data/vendored/puppet/lib/puppet/type/nagios_serviceescalation.rb +3 -0
  1072. data/vendored/puppet/lib/puppet/type/nagios_serviceextinfo.rb +3 -0
  1073. data/vendored/puppet/lib/puppet/type/nagios_servicegroup.rb +3 -0
  1074. data/vendored/puppet/lib/puppet/type/nagios_timeperiod.rb +3 -0
  1075. data/vendored/puppet/lib/puppet/type/notify.rb +46 -0
  1076. data/vendored/puppet/lib/puppet/type/package.rb +571 -0
  1077. data/vendored/puppet/lib/puppet/type/resources.rb +180 -0
  1078. data/vendored/puppet/lib/puppet/type/router.rb +17 -0
  1079. data/vendored/puppet/lib/puppet/type/schedule.rb +481 -0
  1080. data/vendored/puppet/lib/puppet/type/scheduled_task.rb +183 -0
  1081. data/vendored/puppet/lib/puppet/type/selboolean.rb +26 -0
  1082. data/vendored/puppet/lib/puppet/type/selmodule.rb +59 -0
  1083. data/vendored/puppet/lib/puppet/type/service.rb +258 -0
  1084. data/vendored/puppet/lib/puppet/type/ssh_authorized_key.rb +143 -0
  1085. data/vendored/puppet/lib/puppet/type/sshkey.rb +83 -0
  1086. data/vendored/puppet/lib/puppet/type/stage.rb +27 -0
  1087. data/vendored/puppet/lib/puppet/type/tidy.rb +345 -0
  1088. data/vendored/puppet/lib/puppet/type/user.rb +794 -0
  1089. data/vendored/puppet/lib/puppet/type/vlan.rb +26 -0
  1090. data/vendored/puppet/lib/puppet/type/whit.rb +34 -0
  1091. data/vendored/puppet/lib/puppet/type/yumrepo.rb +439 -0
  1092. data/vendored/puppet/lib/puppet/type/zfs.rb +154 -0
  1093. data/vendored/puppet/lib/puppet/type/zone.rb +382 -0
  1094. data/vendored/puppet/lib/puppet/type/zpool.rb +91 -0
  1095. data/vendored/puppet/lib/puppet/util.rb +700 -0
  1096. data/vendored/puppet/lib/puppet/util/at_fork.rb +35 -0
  1097. data/vendored/puppet/lib/puppet/util/at_fork/noop.rb +18 -0
  1098. data/vendored/puppet/lib/puppet/util/at_fork/solaris.rb +160 -0
  1099. data/vendored/puppet/lib/puppet/util/autoload.rb +226 -0
  1100. data/vendored/puppet/lib/puppet/util/backups.rb +86 -0
  1101. data/vendored/puppet/lib/puppet/util/character_encoding.rb +98 -0
  1102. data/vendored/puppet/lib/puppet/util/checksums.rb +363 -0
  1103. data/vendored/puppet/lib/puppet/util/classgen.rb +228 -0
  1104. data/vendored/puppet/lib/puppet/util/colors.rb +100 -0
  1105. data/vendored/puppet/lib/puppet/util/command_line.rb +190 -0
  1106. data/vendored/puppet/lib/puppet/util/command_line/puppet_option_parser.rb +87 -0
  1107. data/vendored/puppet/lib/puppet/util/command_line/trollop.rb +825 -0
  1108. data/vendored/puppet/lib/puppet/util/constant_inflector.rb +24 -0
  1109. data/vendored/puppet/lib/puppet/util/diff.rb +79 -0
  1110. data/vendored/puppet/lib/puppet/util/docs.rb +128 -0
  1111. data/vendored/puppet/lib/puppet/util/errors.rb +159 -0
  1112. data/vendored/puppet/lib/puppet/util/execution.rb +412 -0
  1113. data/vendored/puppet/lib/puppet/util/execution_stub.rb +26 -0
  1114. data/vendored/puppet/lib/puppet/util/feature.rb +95 -0
  1115. data/vendored/puppet/lib/puppet/util/file_watcher.rb +28 -0
  1116. data/vendored/puppet/lib/puppet/util/fileparsing.rb +375 -0
  1117. data/vendored/puppet/lib/puppet/util/filetype.rb +309 -0
  1118. data/vendored/puppet/lib/puppet/util/http_proxy.rb +207 -0
  1119. data/vendored/puppet/lib/puppet/util/inifile.rb +340 -0
  1120. data/vendored/puppet/lib/puppet/util/instance_loader.rb +79 -0
  1121. data/vendored/puppet/lib/puppet/util/json_lockfile.rb +44 -0
  1122. data/vendored/puppet/lib/puppet/util/ldap.rb +2 -0
  1123. data/vendored/puppet/lib/puppet/util/ldap/connection.rb +71 -0
  1124. data/vendored/puppet/lib/puppet/util/ldap/generator.rb +42 -0
  1125. data/vendored/puppet/lib/puppet/util/ldap/manager.rb +281 -0
  1126. data/vendored/puppet/lib/puppet/util/libuser.rb +12 -0
  1127. data/vendored/puppet/lib/puppet/util/limits.rb +12 -0
  1128. data/vendored/puppet/lib/puppet/util/lockfile.rb +66 -0
  1129. data/vendored/puppet/lib/puppet/util/log.rb +415 -0
  1130. data/vendored/puppet/lib/puppet/util/log/destination.rb +49 -0
  1131. data/vendored/puppet/lib/puppet/util/log/destinations.rb +258 -0
  1132. data/vendored/puppet/lib/puppet/util/logging.rb +311 -0
  1133. data/vendored/puppet/lib/puppet/util/metaid.rb +21 -0
  1134. data/vendored/puppet/lib/puppet/util/methodhelper.rb +32 -0
  1135. data/vendored/puppet/lib/puppet/util/metric.rb +64 -0
  1136. data/vendored/puppet/lib/puppet/util/monkey_patches.rb +108 -0
  1137. data/vendored/puppet/lib/puppet/util/multi_match.rb +51 -0
  1138. data/vendored/puppet/lib/puppet/util/nagios_maker.rb +85 -0
  1139. data/vendored/puppet/lib/puppet/util/network_device.rb +17 -0
  1140. data/vendored/puppet/lib/puppet/util/network_device/base.rb +23 -0
  1141. data/vendored/puppet/lib/puppet/util/network_device/cisco.rb +4 -0
  1142. data/vendored/puppet/lib/puppet/util/network_device/cisco/device.rb +285 -0
  1143. data/vendored/puppet/lib/puppet/util/network_device/cisco/facts.rb +72 -0
  1144. data/vendored/puppet/lib/puppet/util/network_device/cisco/interface.rb +94 -0
  1145. data/vendored/puppet/lib/puppet/util/network_device/config.rb +105 -0
  1146. data/vendored/puppet/lib/puppet/util/network_device/ipcalc.rb +68 -0
  1147. data/vendored/puppet/lib/puppet/util/network_device/transport.rb +5 -0
  1148. data/vendored/puppet/lib/puppet/util/network_device/transport/base.rb +26 -0
  1149. data/vendored/puppet/lib/puppet/util/network_device/transport/ssh.rb +126 -0
  1150. data/vendored/puppet/lib/puppet/util/network_device/transport/telnet.rb +47 -0
  1151. data/vendored/puppet/lib/puppet/util/package.rb +31 -0
  1152. data/vendored/puppet/lib/puppet/util/pidlock.rb +62 -0
  1153. data/vendored/puppet/lib/puppet/util/platform.rb +35 -0
  1154. data/vendored/puppet/lib/puppet/util/plist.rb +155 -0
  1155. data/vendored/puppet/lib/puppet/util/posix.rb +137 -0
  1156. data/vendored/puppet/lib/puppet/util/profiler.rb +53 -0
  1157. data/vendored/puppet/lib/puppet/util/profiler/aggregate.rb +85 -0
  1158. data/vendored/puppet/lib/puppet/util/profiler/around_profiler.rb +67 -0
  1159. data/vendored/puppet/lib/puppet/util/profiler/logging.rb +48 -0
  1160. data/vendored/puppet/lib/puppet/util/profiler/object_counts.rb +17 -0
  1161. data/vendored/puppet/lib/puppet/util/profiler/wall_clock.rb +35 -0
  1162. data/vendored/puppet/lib/puppet/util/provider_features.rb +184 -0
  1163. data/vendored/puppet/lib/puppet/util/psych_support.rb +30 -0
  1164. data/vendored/puppet/lib/puppet/util/rdoc.rb +60 -0
  1165. data/vendored/puppet/lib/puppet/util/rdoc/code_objects.rb +294 -0
  1166. data/vendored/puppet/lib/puppet/util/rdoc/generators/puppet_generator.rb +910 -0
  1167. data/vendored/puppet/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +1085 -0
  1168. data/vendored/puppet/lib/puppet/util/rdoc/parser.rb +12 -0
  1169. data/vendored/puppet/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +259 -0
  1170. data/vendored/puppet/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +14 -0
  1171. data/vendored/puppet/lib/puppet/util/reference.rb +118 -0
  1172. data/vendored/puppet/lib/puppet/util/resource_template.rb +61 -0
  1173. data/vendored/puppet/lib/puppet/util/retry_action.rb +46 -0
  1174. data/vendored/puppet/lib/puppet/util/rubygems.rb +75 -0
  1175. data/vendored/puppet/lib/puppet/util/run_mode.rb +110 -0
  1176. data/vendored/puppet/lib/puppet/util/selinux.rb +264 -0
  1177. data/vendored/puppet/lib/puppet/util/skip_tags.rb +9 -0
  1178. data/vendored/puppet/lib/puppet/util/splayer.rb +18 -0
  1179. data/vendored/puppet/lib/puppet/util/ssl.rb +53 -0
  1180. data/vendored/puppet/lib/puppet/util/storage.rb +89 -0
  1181. data/vendored/puppet/lib/puppet/util/suidmanager.rb +165 -0
  1182. data/vendored/puppet/lib/puppet/util/symbolic_file_mode.rb +144 -0
  1183. data/vendored/puppet/lib/puppet/util/tag_set.rb +27 -0
  1184. data/vendored/puppet/lib/puppet/util/tagging.rb +118 -0
  1185. data/vendored/puppet/lib/puppet/util/terminal.rb +16 -0
  1186. data/vendored/puppet/lib/puppet/util/user_attr.rb +21 -0
  1187. data/vendored/puppet/lib/puppet/util/warnings.rb +31 -0
  1188. data/vendored/puppet/lib/puppet/util/watched_file.rb +37 -0
  1189. data/vendored/puppet/lib/puppet/util/watcher.rb +17 -0
  1190. data/vendored/puppet/lib/puppet/util/watcher/change_watcher.rb +33 -0
  1191. data/vendored/puppet/lib/puppet/util/watcher/periodic_watcher.rb +37 -0
  1192. data/vendored/puppet/lib/puppet/util/watcher/timer.rb +19 -0
  1193. data/vendored/puppet/lib/puppet/util/windows.rb +35 -0
  1194. data/vendored/puppet/lib/puppet/util/windows/access_control_entry.rb +84 -0
  1195. data/vendored/puppet/lib/puppet/util/windows/access_control_list.rb +113 -0
  1196. data/vendored/puppet/lib/puppet/util/windows/adsi.rb +545 -0
  1197. data/vendored/puppet/lib/puppet/util/windows/api_types.rb +282 -0
  1198. data/vendored/puppet/lib/puppet/util/windows/com.rb +225 -0
  1199. data/vendored/puppet/lib/puppet/util/windows/error.rb +83 -0
  1200. data/vendored/puppet/lib/puppet/util/windows/eventlog.rb +197 -0
  1201. data/vendored/puppet/lib/puppet/util/windows/file.rb +571 -0
  1202. data/vendored/puppet/lib/puppet/util/windows/principal.rb +192 -0
  1203. data/vendored/puppet/lib/puppet/util/windows/process.rb +497 -0
  1204. data/vendored/puppet/lib/puppet/util/windows/registry.rb +374 -0
  1205. data/vendored/puppet/lib/puppet/util/windows/root_certs.rb +108 -0
  1206. data/vendored/puppet/lib/puppet/util/windows/security.rb +857 -0
  1207. data/vendored/puppet/lib/puppet/util/windows/security_descriptor.rb +62 -0
  1208. data/vendored/puppet/lib/puppet/util/windows/sid.rb +282 -0
  1209. data/vendored/puppet/lib/puppet/util/windows/string.rb +16 -0
  1210. data/vendored/puppet/lib/puppet/util/windows/taskscheduler.rb +1267 -0
  1211. data/vendored/puppet/lib/puppet/util/windows/user.rb +309 -0
  1212. data/vendored/puppet/lib/puppet/util/yaml.rb +36 -0
  1213. data/vendored/puppet/lib/puppet/vendor.rb +57 -0
  1214. data/vendored/puppet/lib/puppet/vendor/deep_merge/lib/deep_merge.rb +2 -0
  1215. data/vendored/puppet/lib/puppet/vendor/deep_merge/lib/deep_merge/core.rb +210 -0
  1216. data/vendored/puppet/lib/puppet/vendor/deep_merge/lib/deep_merge/deep_merge_hash.rb +28 -0
  1217. data/vendored/puppet/lib/puppet/vendor/deep_merge/lib/deep_merge/rails_compat.rb +27 -0
  1218. data/vendored/puppet/lib/puppet/vendor/deep_merge/test/test_deep_merge.rb +608 -0
  1219. data/vendored/puppet/lib/puppet/vendor/load_deep_merge.rb +1 -0
  1220. data/vendored/puppet/lib/puppet/vendor/load_pathspec.rb +1 -0
  1221. data/vendored/puppet/lib/puppet/vendor/load_semantic.rb +1 -0
  1222. data/vendored/puppet/lib/puppet/vendor/load_semantic_puppet.rb +1 -0
  1223. data/vendored/puppet/lib/puppet/vendor/pathspec/lib/pathspec.rb +122 -0
  1224. data/vendored/puppet/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +275 -0
  1225. data/vendored/puppet/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +17 -0
  1226. data/vendored/puppet/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +14 -0
  1227. data/vendored/puppet/lib/puppet/vendor/require_vendored.rb +6 -0
  1228. data/vendored/puppet/lib/puppet/vendor/semantic/lib/semantic.rb +5 -0
  1229. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet.rb +11 -0
  1230. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency.rb +181 -0
  1231. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/graph.rb +60 -0
  1232. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/graph_node.rb +117 -0
  1233. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/module_release.rb +58 -0
  1234. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/source.rb +25 -0
  1235. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/unsatisfiable_graph.rb +31 -0
  1236. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/gem_version.rb +3 -0
  1237. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/version.rb +203 -0
  1238. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/version_range.rb +758 -0
  1239. data/vendored/puppet/lib/puppet/version.rb +93 -0
  1240. data/vendored/puppet/lib/puppet_pal.rb +879 -0
  1241. data/vendored/puppet/lib/puppet_x.rb +14 -0
  1242. metadata +1237 -2
@@ -0,0 +1,60 @@
1
+ # The null loader is empty and delegates everything to its parent if it has one.
2
+ #
3
+ class Puppet::Pops::Loader::NullLoader < Puppet::Pops::Loader::Loader
4
+ attr_reader :loader_name
5
+
6
+ # Construct a NullLoader, optionally with a parent loader
7
+ #
8
+ def initialize(parent_loader=nil, loader_name = "null-loader")
9
+ super(loader_name)
10
+ @parent = parent_loader
11
+ end
12
+
13
+ # Has parent if one was set when constructed
14
+ def parent
15
+ @parent
16
+ end
17
+
18
+ def find(typed_name)
19
+ if @parent.nil?
20
+ nil
21
+ else
22
+ @parent.find(typed_name)
23
+ end
24
+ end
25
+
26
+ def load_typed(typed_name)
27
+ if @parent.nil?
28
+ nil
29
+ else
30
+ @parent.load_typed(typed_name)
31
+ end
32
+ end
33
+
34
+ def loaded_entry(typed_name, check_dependencies = false)
35
+ if @parent.nil?
36
+ nil
37
+ else
38
+ @parent.loaded_entry(typed_name, check_dependencies)
39
+ end
40
+ end
41
+
42
+ # Has no entries on its own - always nil
43
+ def get_entry(typed_name)
44
+ nil
45
+ end
46
+
47
+ # Finds nothing, there are no entries
48
+ def find(name)
49
+ nil
50
+ end
51
+
52
+ # Cannot store anything
53
+ def set_entry(typed_name, value, origin = nil)
54
+ nil
55
+ end
56
+
57
+ def to_s()
58
+ "(NullLoader '#{loader_name}')"
59
+ end
60
+ end
@@ -0,0 +1,24 @@
1
+ module Puppet::Pops::Loader
2
+
3
+ # A PredefinedLoader is a loader that is manually populated with loaded elements
4
+ # before being used. It never loads anything on its own.
5
+ #
6
+ class PredefinedLoader < BaseLoader
7
+ def find(typed_name)
8
+ nil
9
+ end
10
+
11
+ def to_s()
12
+ "(PredefinedLoader '#{loader_name}')"
13
+ end
14
+
15
+ # Allows shadowing since this loader is used internally for things like function local types
16
+ # And they should win as there is otherwise a risk that the local types clash with built in types
17
+ # that were added after the function was written, or by resource types loaded by the 3x auto loader.
18
+ #
19
+ def allow_shadowing?
20
+ true
21
+ end
22
+ end
23
+
24
+ end
@@ -0,0 +1,84 @@
1
+ module Puppet::Pops
2
+ module Loader
3
+ # The PuppetFunctionInstantiator instantiates a Puppet::Functions::PuppetFunction given a Puppet Programming language
4
+ # source that when called evaluates the Puppet logic it contains.
5
+ #
6
+ class PuppetFunctionInstantiator
7
+ # Produces an instance of the Function class with the given typed_name, or fails with an error if the
8
+ # given puppet source does not produce this instance when evaluated.
9
+ #
10
+ # @param loader [Loader] The loader the function is associated with
11
+ # @param typed_name [TypedName] the type / name of the function to load
12
+ # @param source_ref [URI, String] a reference to the source / origin of the puppet code to evaluate
13
+ # @param pp_code_string [String] puppet code in a string
14
+ #
15
+ # @return [Functions::Function] - an instantiated function with global scope closure associated with the given loader
16
+ #
17
+ def self.create(loader, typed_name, source_ref, pp_code_string)
18
+ parser = Parser::EvaluatingParser.new()
19
+
20
+ # parse and validate
21
+ result = parser.parse_string(pp_code_string, source_ref)
22
+ # Only one function is allowed (and no other definitions)
23
+ case result.definitions.size
24
+ when 0
25
+ raise ArgumentError, _("The code loaded from %{source_ref} does not define the function '%{func_name}' - it is empty.") % { source_ref: source_ref, func_name: typed_name.name }
26
+ when 1
27
+ # ok
28
+ else
29
+ raise ArgumentError, _("The code loaded from %{source_ref} must contain only the function '%{type_name}' - it has additional definitions.") % { source_ref: source_ref, type_name: typed_name.name }
30
+ end
31
+ the_function_definition = result.definitions[0]
32
+
33
+ unless the_function_definition.is_a?(Model::FunctionDefinition)
34
+ raise ArgumentError, _("The code loaded from %{source_ref} does not define the function '%{type_name}' - no function found.") % { source_ref: source_ref, type_name: typed_name.name }
35
+ end
36
+ unless the_function_definition.name == typed_name.name
37
+ expected = typed_name.name
38
+ actual = the_function_definition.name
39
+ raise ArgumentError, _("The code loaded from %{source_ref} produced function with the wrong name, expected %{expected}, actual %{actual}") % { source_ref: source_ref, expected: expected, actual: actual }
40
+ end
41
+ unless result.body == the_function_definition
42
+ raise ArgumentError, _("The code loaded from %{source} contains additional logic - can only contain the function %{name}") % { source: source_ref, name: typed_name.name }
43
+ end
44
+
45
+ # Adapt the function definition with loader - this is used from logic contained in it body to find the
46
+ # loader to use when making calls to the new function API. Such logic have a hard time finding the closure (where
47
+ # the loader is known - hence this mechanism
48
+ private_loader = loader.private_loader
49
+ Adapters::LoaderAdapter.adapt(the_function_definition).loader_name = private_loader.loader_name
50
+
51
+ # Cannot bind loaded functions to global scope, that must be done without binding that scope as
52
+ # loaders survive a compilation.
53
+ closure_scope = nil # Puppet.lookup(:global_scope) { {} }
54
+
55
+ created = create_function_class(the_function_definition)
56
+ # create the function instance - it needs closure (scope), and loader (i.e. where it should start searching for things
57
+ # when calling functions etc.
58
+ # It should be bound to global scope
59
+
60
+ created.new(closure_scope, private_loader)
61
+ end
62
+
63
+ # Creates Function class and instantiates it based on a FunctionDefinition model
64
+ # @return [Array<TypedName, Functions.Function>] - array of
65
+ # typed name, and an instantiated function with global scope closure associated with the given loader
66
+ #
67
+ def self.create_from_model(function_definition, loader)
68
+ created = create_function_class(function_definition)
69
+ typed_name = TypedName.new(:function, function_definition.name)
70
+ [typed_name, created.new(nil, loader)]
71
+ end
72
+
73
+ def self.create_function_class(function_definition)
74
+ # Create a 4x function wrapper around a named closure
75
+ Puppet::Functions.create_function(function_definition.name, Puppet::Functions::PuppetFunction) do
76
+ # TODO: should not create a new evaluator per function
77
+ init_dispatch(Evaluator::Closure::Named.new(
78
+ function_definition.name,
79
+ Evaluator::EvaluatorImpl.new(), function_definition))
80
+ end
81
+ end
82
+ end
83
+ end
84
+ end
@@ -0,0 +1,84 @@
1
+ module Puppet::Pops
2
+ module Loader
3
+ # The PuppetPlanInstantiator instantiates a Puppet::Functions::PuppetFunction given a Puppet Programming language
4
+ # source that when called evaluates the Puppet logic it contains.
5
+ #
6
+ class PuppetPlanInstantiator
7
+ # Produces an instance of the Function class with the given typed_name, or fails with an error if the
8
+ # given puppet source does not produce this instance when evaluated.
9
+ #
10
+ # @param loader [Loader] The loader the function is associated with
11
+ # @param typed_name [TypedName] the type / name of the function to load
12
+ # @param source_ref [URI, String] a reference to the source / origin of the puppet code to evaluate
13
+ # @param pp_code_string [String] puppet code in a string
14
+ #
15
+ # @return [Functions::Function] - an instantiated function with global scope closure associated with the given loader
16
+ #
17
+ def self.create(loader, typed_name, source_ref, pp_code_string)
18
+ parser = Parser::EvaluatingParser.new()
19
+
20
+ # parse and validate
21
+ result = parser.parse_string(pp_code_string, source_ref)
22
+ # Only one function is allowed (and no other definitions)
23
+ case result.definitions.size
24
+ when 0
25
+ raise ArgumentError, _("The code loaded from %{source_ref} does not define the plan '%{plan_name}' - it is empty.") % { source_ref: source_ref, plan_name: typed_name.name }
26
+ when 1
27
+ # ok
28
+ else
29
+ raise ArgumentError, _("The code loaded from %{source_ref} must contain only the plan '%{plan_name}' - it has additional definitions.") % { source_ref: source_ref, plan_name: typed_name.name }
30
+ end
31
+ the_plan_definition = result.definitions[0]
32
+
33
+ unless the_plan_definition.is_a?(Model::PlanDefinition)
34
+ raise ArgumentError, _("The code loaded from %{source_ref} does not define the plan '%{plan_name}' - no plan found.") % { source_ref: source_ref, plan_name: typed_name.name }
35
+ end
36
+ unless the_plan_definition.name == typed_name.name
37
+ expected = typed_name.name
38
+ actual = the_plan_definition.name
39
+ raise ArgumentError, _("The code loaded from %{source_ref} produced plan with the wrong name, expected %{expected}, actual %{actual}") % { source_ref: source_ref, expected: expected, actual: actual }
40
+ end
41
+ unless result.body == the_plan_definition
42
+ raise ArgumentError, _("The code loaded from %{source} contains additional logic - can only contain the plan %{plan_name}") % { source: source_ref, plan_name: typed_name.name }
43
+ end
44
+
45
+ # Adapt the function definition with loader - this is used from logic contained in it body to find the
46
+ # loader to use when making calls to the new function API. Such logic have a hard time finding the closure (where
47
+ # the loader is known - hence this mechanism
48
+ private_loader = loader.private_loader
49
+ Adapters::LoaderAdapter.adapt(the_plan_definition).loader_name = private_loader.loader_name
50
+
51
+ # Cannot bind loaded functions to global scope, that must be done without binding that scope as
52
+ # loaders survive a compilation.
53
+ closure_scope = nil
54
+
55
+ created = create_function_class(the_plan_definition)
56
+ # create the function instance - it needs closure (scope), and loader (i.e. where it should start searching for things
57
+ # when calling functions etc.
58
+ # It should be bound to global scope
59
+
60
+ created.new(closure_scope, private_loader)
61
+ end
62
+
63
+ # Creates Function class and instantiates it based on a FunctionDefinition model
64
+ # @return [Array<TypedName, Functions.Function>] - array of
65
+ # typed name, and an instantiated function with global scope closure associated with the given loader
66
+ #
67
+ def self.create_from_model(plan_definition, loader)
68
+ created = create_function_class(plan_definition)
69
+ typed_name = TypedName.new(:plan, plan_definition.name)
70
+ [typed_name, created.new(nil, loader)]
71
+ end
72
+
73
+ def self.create_function_class(plan_definition)
74
+ # Create a 4x function wrapper around a named closure
75
+ Puppet::Functions.create_function(plan_definition.name, Puppet::Functions::PuppetFunction) do
76
+ # TODO: should not create a new evaluator per function
77
+ init_dispatch(Evaluator::Closure::Named.new(
78
+ plan_definition.name,
79
+ Evaluator::EvaluatorImpl.new(), plan_definition))
80
+ end
81
+ end
82
+ end
83
+ end
84
+ end
@@ -0,0 +1,79 @@
1
+ module Puppet::Pops
2
+ module Loader
3
+ # The PuppetResourceTypeImplInstantiator instantiates a Puppet::Pops::ResourceTypeImpl object.
4
+ # given a Puppet Programming language source that when called evaluates the Puppet logic it contains.
5
+ #
6
+ class PuppetResourceTypeImplInstantiator
7
+ # Produces an instance of Puppet::Pops::ResourceTypeImpl, or fails with an error if the
8
+ # given puppet source does not produce such an instance when evaluated.
9
+ #
10
+ # @param loader [Loader] The loader the function is associated with
11
+ # @param typed_name [TypedName] the type / name of the resource type impl to load
12
+ # @param source_ref [URI, String] a reference to the source / origin of the puppet code to evaluate
13
+ # @param pp_code_string [String] puppet code in a string
14
+ #
15
+ # @return [Puppet::Pops::ResourceTypeImpl] - an instantiated ResourceTypeImpl
16
+ #
17
+ def self.create(loader, typed_name, source_ref, pp_code_string)
18
+ parser = Parser::EvaluatingParser.new()
19
+
20
+ # parse and validate
21
+ model = parser.parse_string(pp_code_string, source_ref)
22
+ statements = if model.is_a?(Model::Program)
23
+ if model.body.is_a?(Model::BlockExpression)
24
+ model.body.statements
25
+ else
26
+ [model.body]
27
+ end
28
+ else
29
+ EMPTY_ARRAY
30
+ end
31
+ statements = statements.reject { |s| s.is_a?(Model::Nop) }
32
+ if statements.empty?
33
+ raise ArgumentError, _("The code loaded from %{source_ref} does not create the resource type '%{type_name}' - it is empty") % { source_ref: source_ref, type_name: typed_name.name }
34
+ end
35
+
36
+ rname = Resource::ResourceTypeImpl._pcore_type.name
37
+ unless statements.find do |s|
38
+ if s.is_a?(Model::CallMethodExpression)
39
+ functor_expr = s.functor_expr
40
+ functor_expr.is_a?(Model::NamedAccessExpression) &&
41
+ functor_expr.left_expr.is_a?(Model::QualifiedReference) &&
42
+ functor_expr.left_expr.cased_value == rname &&
43
+ functor_expr.right_expr.is_a?(Model::QualifiedName) &&
44
+ functor_expr.right_expr.value == 'new'
45
+ else
46
+ false
47
+ end
48
+ end
49
+ raise ArgumentError, _("The code loaded from %{source_ref} does not create the resource type '%{type_name}' - no call to %{rname}.new found.") % { source_ref: source_ref, type_name: typed_name.name, rname: rname }
50
+ end
51
+
52
+ unless statements.size == 1
53
+ raise ArgumentError, _("The code loaded from %{source_ref} must contain only the creation of resource type '%{type_name}' - it has additional logic.") % { source_ref: source_ref, type_name: typed_name.name }
54
+ end
55
+
56
+ closure_scope = Puppet.lookup(:global_scope) { {} }
57
+ resource_type_impl = parser.evaluate(closure_scope, model)
58
+
59
+ unless resource_type_impl.is_a?(Puppet::Pops::Resource::ResourceTypeImpl)
60
+ got = resource_type.class
61
+ raise ArgumentError, _("The code loaded from %{source_ref} does not define the resource type '%{type_name}' - got '%{got}'.") % { source_ref: source_ref, type_name: typed_name.name, got: got }
62
+ end
63
+
64
+ unless resource_type_impl.name == typed_name.name
65
+ expected = typed_name.name
66
+ actual = resource_type_impl.name
67
+ raise ArgumentError, _("The code loaded from %{source_ref} produced resource type with the wrong name, expected '%{expected}', actual '%{actual}'") % { source_ref: source_ref, expected: expected, actual: actual }
68
+ end
69
+
70
+ # Adapt the resource type definition with loader - this is used from logic contained in it body to find the
71
+ # loader to use when making calls to the new function API. Such logic have a hard time finding the closure (where
72
+ # the loader is known - hence this mechanism
73
+ Adapters::LoaderAdapter.adapt(resource_type_impl).loader_name = loader.loader_name
74
+ resource_type_impl
75
+ end
76
+
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,39 @@
1
+ # The RubyTypeInstantiator instantiates a data type from the ruby source
2
+ # that calls Puppet::DataTypes.create_type.
3
+ #
4
+ class Puppet::Pops::Loader::RubyDataTypeInstantiator
5
+ # Produces an instance of class derived from PAnyType class with the given typed_name, or fails with an error if the
6
+ # given ruby source does not produce this instance when evaluated.
7
+ #
8
+ # @param loader [Puppet::Pops::Loader::Loader] The loader the type is associated with
9
+ # @param typed_name [Puppet::Pops::Loader::TypedName] the type / name of the type to load
10
+ # @param source_ref [URI, String] a reference to the source / origin of the ruby code to evaluate
11
+ # @param ruby_code_string [String] ruby code in a string
12
+ #
13
+ # @return [Puppet::Pops::Types::PAnyType] - an instantiated data type associated with the given loader
14
+ #
15
+ def self.create(loader, typed_name, source_ref, ruby_code_string)
16
+ unless ruby_code_string.is_a?(String) && ruby_code_string =~ /Puppet\:\:DataTypes\.create_type/
17
+ raise ArgumentError, _("The code loaded from %{source_ref} does not seem to be a Puppet 5x API data type - no create_type call.") % { source_ref: source_ref }
18
+ end
19
+ # make the private loader available in a binding to allow it to be passed on
20
+ loader_for_type = loader.private_loader
21
+ here = get_binding(loader_for_type)
22
+ created = eval(ruby_code_string, here, source_ref, 1)
23
+ unless created.is_a?(Puppet::Pops::Types::PAnyType)
24
+ raise ArgumentError, _("The code loaded from %{source_ref} did not produce a data type when evaluated. Got '%{klass}'") % { source_ref: source_ref, klass: created.class }
25
+ end
26
+ unless created.name.casecmp(typed_name.name) == 0
27
+ raise ArgumentError, _("The code loaded from %{source_ref} produced mis-matched name, expected '%{type_name}', got %{created_name}") % { source_ref: source_ref, type_name: typed_name.name, created_name: created.name }
28
+ end
29
+ created
30
+ end
31
+
32
+ # Produces a binding where the given loader is bound as a local variable (loader_injected_arg). This variable can be used in loaded
33
+ # ruby code - e.g. to call Puppet::Function.create_loaded_function(:name, loader,...)
34
+ #
35
+ def self.get_binding(loader_injected_arg)
36
+ binding
37
+ end
38
+ private_class_method :get_binding
39
+ end
@@ -0,0 +1,45 @@
1
+ # The RubyFunctionInstantiator instantiates a Puppet::Functions::Function given the ruby source
2
+ # that calls Puppet::Functions.create_function.
3
+ #
4
+ class Puppet::Pops::Loader::RubyFunctionInstantiator
5
+ # Produces an instance of the Function class with the given typed_name, or fails with an error if the
6
+ # given ruby source does not produce this instance when evaluated.
7
+ #
8
+ # @param loader [Puppet::Pops::Loader::Loader] The loader the function is associated with
9
+ # @param typed_name [Puppet::Pops::Loader::TypedName] the type / name of the function to load
10
+ # @param source_ref [URI, String] a reference to the source / origin of the ruby code to evaluate
11
+ # @param ruby_code_string [String] ruby code in a string
12
+ #
13
+ # @return [Puppet::Pops::Functions.Function] - an instantiated function with global scope closure associated with the given loader
14
+ #
15
+ def self.create(loader, typed_name, source_ref, ruby_code_string)
16
+ unless ruby_code_string.is_a?(String) && ruby_code_string =~ /Puppet\:\:Functions\.create_function/
17
+ raise ArgumentError, _("The code loaded from %{source_ref} does not seem to be a Puppet 4x API function - no create_function call.") % { source_ref: source_ref }
18
+ end
19
+ # make the private loader available in a binding to allow it to be passed on
20
+ loader_for_function = loader.private_loader
21
+ here = get_binding(loader_for_function)
22
+ created = eval(ruby_code_string, here, source_ref, 1)
23
+ unless created.is_a?(Class)
24
+ raise ArgumentError, _("The code loaded from %{source_ref} did not produce a Function class when evaluated. Got '%{klass}'") % { source_ref: source_ref, klass: created.class }
25
+ end
26
+ unless created.name.to_s == typed_name.name()
27
+ raise ArgumentError, _("The code loaded from %{source_ref} produced mis-matched name, expected '%{type_name}', got %{created_name}") % { source_ref: source_ref, type_name: typed_name.name, created_name: created.name }
28
+ end
29
+ # create the function instance - it needs closure (scope), and loader (i.e. where it should start searching for things
30
+ # when calling functions etc.
31
+ # It should be bound to global scope
32
+
33
+ # Sets closure scope to nil, to let it be picked up at runtime from Puppet.lookup(:global_scope)
34
+ # If function definition used the loader from the binding to create a new loader, that loader wins
35
+ created.new(nil, loader_for_function)
36
+ end
37
+
38
+ # Produces a binding where the given loader is bound as a local variable (loader_injected_arg). This variable can be used in loaded
39
+ # ruby code - e.g. to call Puppet::Function.create_loaded_function(:name, loader,...)
40
+ #
41
+ def self.get_binding(loader_injected_arg)
42
+ binding
43
+ end
44
+ private_class_method :get_binding
45
+ end
@@ -0,0 +1,101 @@
1
+ module Puppet::Pops
2
+ module Loader
3
+
4
+ # Runtime3TypeLoader
5
+ # ===
6
+ # Loads a resource type using the 3.x type loader
7
+ #
8
+ # @api private
9
+ class Runtime3TypeLoader < BaseLoader
10
+ def initialize(parent_loader, loaders, environment, env_path)
11
+ super(parent_loader, environment.name)
12
+ @environment = environment
13
+ @resource_3x_loader = env_path.nil? ? nil : ModuleLoaders.pcore_resource_type_loader_from(parent_loader, loaders, env_path)
14
+ end
15
+
16
+ def discover(type, error_collector = nil, name_authority = Pcore::RUNTIME_NAME_AUTHORITY, &block)
17
+ # TODO: Use generated index of all known types (requires separate utility).
18
+ parent.discover(type, error_collector, name_authority, &block)
19
+ end
20
+
21
+ def to_s()
22
+ "(Runtime3TypeLoader '#{loader_name()}')"
23
+ end
24
+
25
+ # Finds typed/named entity in this module
26
+ # @param typed_name [TypedName] the type/name to find
27
+ # @return [Loader::NamedEntry, nil found/created entry, or nil if not found
28
+ #
29
+ def find(typed_name)
30
+ return nil unless typed_name.name_authority == Pcore::RUNTIME_NAME_AUTHORITY
31
+ case typed_name.type
32
+ when :type
33
+ value = nil
34
+ name = typed_name.name
35
+ if @resource_3x_loader.nil?
36
+ value = Puppet::Type.type(name) unless typed_name.qualified?
37
+ if value.nil?
38
+ # Look for a user defined type
39
+ value = @environment.known_resource_types.find_definition(name)
40
+ end
41
+ else
42
+ impl_te = find_impl(TypedName.new(:resource_type_pp, name, typed_name.name_authority))
43
+ value = impl_te.value unless impl_te.nil?
44
+ end
45
+
46
+ if value.nil?
47
+ # Cache the fact that it wasn't found
48
+ set_entry(typed_name, nil)
49
+ return nil
50
+ end
51
+
52
+ # Loaded types doesn't have the same life cycle as this loader, so we must start by
53
+ # checking if the type was created. If it was, an entry will already be stored in
54
+ # this loader. If not, then it was created before this loader was instantiated and
55
+ # we must therefore add it.
56
+ te = get_entry(typed_name)
57
+ te = set_entry(typed_name, Types::TypeFactory.resource(value.name.to_s)) if te.nil? || te.value.nil?
58
+ te
59
+ when :resource_type_pp
60
+ @resource_3x_loader.nil? ? nil : find_impl(typed_name)
61
+ else
62
+ nil
63
+ end
64
+ end
65
+
66
+ # Find the implementation for the resource type by first consulting the internal loader for pp defined 'Puppet::Resource::ResourceType3'
67
+ # instances, then check for a Puppet::Type and lastly check for a defined type.
68
+ #
69
+ def find_impl(typed_name)
70
+ name = typed_name.name
71
+ te = StaticLoader::BUILTIN_TYPE_NAMES_LC.include?(name) ? nil : @resource_3x_loader.load_typed(typed_name)
72
+ if te.nil? || te.value.nil?
73
+ # Look for Puppet::Type
74
+ value = Puppet::Type.type(name) unless typed_name.qualified?
75
+ if value.nil?
76
+ # Look for a user defined type
77
+ value = @environment.known_resource_types.find_definition(name)
78
+ if value.nil?
79
+ # Cache the fact that it wasn't found
80
+ @resource_3x_loader.set_entry(typed_name, nil)
81
+ return nil
82
+ end
83
+ end
84
+ te = @resource_3x_loader.get_entry(typed_name)
85
+ te = @resource_3x_loader.set_entry(typed_name, value) if te.nil? || te.value.nil?
86
+ end
87
+ te
88
+ end
89
+ private :find_impl
90
+
91
+ # Allows shadowing since this loader is populated with all loaded resource types at time
92
+ # of loading. This loading will, for built in types override the aliases configured in the static
93
+ # loader.
94
+ #
95
+ def allow_shadowing?
96
+ true
97
+ end
98
+
99
+ end
100
+ end
101
+ end