bolt 0.0.1 → 0.5.0

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 (1291) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +33 -0
  3. data/.gitmodules +12 -0
  4. data/.rspec +2 -0
  5. data/.rubocop.yml +61 -0
  6. data/.travis.yml +18 -0
  7. data/Gemfile +9 -0
  8. data/INSTALL.md +70 -0
  9. data/LICENSE +201 -0
  10. data/README.md +372 -0
  11. data/Rakefile +27 -0
  12. data/Vagrantfile +13 -0
  13. data/appveyor.yml +29 -0
  14. data/bolt.gemspec +50 -0
  15. data/docs/writing_tasks_and_plans.pdf +0 -0
  16. data/exe/bolt +15 -0
  17. data/lib/bolt.rb +13 -0
  18. data/lib/bolt/cli.rb +409 -0
  19. data/lib/bolt/executor.rb +71 -0
  20. data/lib/bolt/node.rb +79 -0
  21. data/lib/bolt/node/formatter.rb +15 -0
  22. data/lib/bolt/node/orch.rb +118 -0
  23. data/lib/bolt/node/result.rb +110 -0
  24. data/lib/bolt/node/ssh.rb +145 -0
  25. data/lib/bolt/node/winrm.rb +237 -0
  26. data/lib/bolt/node_uri.rb +42 -0
  27. data/lib/bolt/result.rb +139 -0
  28. data/lib/bolt/version.rb +3 -0
  29. data/metadata.json +13 -0
  30. data/tasks/init.json +3 -0
  31. data/tasks/init.rb +44 -0
  32. data/ux/bolt-CLI-spec.md +186 -0
  33. data/vendored/facter/lib/facter.rb +261 -0
  34. data/vendored/facter/lib/facter/Cfkey.rb +42 -0
  35. data/vendored/facter/lib/facter/application.rb +206 -0
  36. data/vendored/facter/lib/facter/architecture.rb +50 -0
  37. data/vendored/facter/lib/facter/augeasversion.rb +28 -0
  38. data/vendored/facter/lib/facter/blockdevices.rb +105 -0
  39. data/vendored/facter/lib/facter/core/aggregate.rb +220 -0
  40. data/vendored/facter/lib/facter/core/directed_graph.rb +46 -0
  41. data/vendored/facter/lib/facter/core/execution.rb +123 -0
  42. data/vendored/facter/lib/facter/core/execution/base.rb +81 -0
  43. data/vendored/facter/lib/facter/core/execution/posix.rb +50 -0
  44. data/vendored/facter/lib/facter/core/execution/windows.rb +57 -0
  45. data/vendored/facter/lib/facter/core/logging.rb +197 -0
  46. data/vendored/facter/lib/facter/core/resolvable.rb +94 -0
  47. data/vendored/facter/lib/facter/core/suitable.rb +113 -0
  48. data/vendored/facter/lib/facter/dhcp_servers.rb +45 -0
  49. data/vendored/facter/lib/facter/domain.rb +99 -0
  50. data/vendored/facter/lib/facter/ec2.rb +68 -0
  51. data/vendored/facter/lib/facter/ec2/rest.rb +137 -0
  52. data/vendored/facter/lib/facter/facterversion.rb +15 -0
  53. data/vendored/facter/lib/facter/filesystems.rb +45 -0
  54. data/vendored/facter/lib/facter/fqdn.rb +24 -0
  55. data/vendored/facter/lib/facter/gce.rb +16 -0
  56. data/vendored/facter/lib/facter/gce/metadata.rb +87 -0
  57. data/vendored/facter/lib/facter/gid.rb +25 -0
  58. data/vendored/facter/lib/facter/hardwareisa.rb +20 -0
  59. data/vendored/facter/lib/facter/hardwaremodel.rb +67 -0
  60. data/vendored/facter/lib/facter/hostname.rb +31 -0
  61. data/vendored/facter/lib/facter/id.rb +21 -0
  62. data/vendored/facter/lib/facter/interfaces.rb +58 -0
  63. data/vendored/facter/lib/facter/ipaddress.rb +169 -0
  64. data/vendored/facter/lib/facter/ipaddress6.rb +82 -0
  65. data/vendored/facter/lib/facter/iphostnumber.rb +29 -0
  66. data/vendored/facter/lib/facter/kernel.rb +22 -0
  67. data/vendored/facter/lib/facter/kernelmajversion.rb +23 -0
  68. data/vendored/facter/lib/facter/kernelrelease.rb +45 -0
  69. data/vendored/facter/lib/facter/kernelversion.rb +22 -0
  70. data/vendored/facter/lib/facter/ldom.rb +51 -0
  71. data/vendored/facter/lib/facter/lsbdistcodename.rb +20 -0
  72. data/vendored/facter/lib/facter/lsbdistdescription.rb +21 -0
  73. data/vendored/facter/lib/facter/lsbdistid.rb +20 -0
  74. data/vendored/facter/lib/facter/lsbdistrelease.rb +20 -0
  75. data/vendored/facter/lib/facter/lsbmajdistrelease.rb +22 -0
  76. data/vendored/facter/lib/facter/lsbminordistrelease.rb +22 -0
  77. data/vendored/facter/lib/facter/lsbrelease.rb +20 -0
  78. data/vendored/facter/lib/facter/macaddress.rb +99 -0
  79. data/vendored/facter/lib/facter/macosx.rb +56 -0
  80. data/vendored/facter/lib/facter/manufacturer.rb +68 -0
  81. data/vendored/facter/lib/facter/memory.rb +168 -0
  82. data/vendored/facter/lib/facter/netmask.rb +43 -0
  83. data/vendored/facter/lib/facter/network.rb +20 -0
  84. data/vendored/facter/lib/facter/operatingsystem.rb +24 -0
  85. data/vendored/facter/lib/facter/operatingsystem/base.rb +61 -0
  86. data/vendored/facter/lib/facter/operatingsystem/cumuluslinux.rb +27 -0
  87. data/vendored/facter/lib/facter/operatingsystem/implementation.rb +33 -0
  88. data/vendored/facter/lib/facter/operatingsystem/linux.rb +484 -0
  89. data/vendored/facter/lib/facter/operatingsystem/osreleaselinux.rb +28 -0
  90. data/vendored/facter/lib/facter/operatingsystem/sunos.rb +54 -0
  91. data/vendored/facter/lib/facter/operatingsystem/vmkernel.rb +11 -0
  92. data/vendored/facter/lib/facter/operatingsystem/windows.rb +43 -0
  93. data/vendored/facter/lib/facter/operatingsystemmajrelease.rb +31 -0
  94. data/vendored/facter/lib/facter/operatingsystemrelease.rb +29 -0
  95. data/vendored/facter/lib/facter/os.rb +98 -0
  96. data/vendored/facter/lib/facter/osfamily.rb +18 -0
  97. data/vendored/facter/lib/facter/partitions.rb +39 -0
  98. data/vendored/facter/lib/facter/path.rb +14 -0
  99. data/vendored/facter/lib/facter/physicalprocessorcount.rb +27 -0
  100. data/vendored/facter/lib/facter/processor.rb +52 -0
  101. data/vendored/facter/lib/facter/processors.rb +66 -0
  102. data/vendored/facter/lib/facter/processors/os.rb +244 -0
  103. data/vendored/facter/lib/facter/ps.rb +31 -0
  104. data/vendored/facter/lib/facter/puppetversion.rb +20 -0
  105. data/vendored/facter/lib/facter/rackspace.rb +37 -0
  106. data/vendored/facter/lib/facter/rubyplatform.rb +12 -0
  107. data/vendored/facter/lib/facter/rubysitedir.rb +15 -0
  108. data/vendored/facter/lib/facter/rubyversion.rb +12 -0
  109. data/vendored/facter/lib/facter/selinux.rb +154 -0
  110. data/vendored/facter/lib/facter/ssh.rb +73 -0
  111. data/vendored/facter/lib/facter/system32.rb +21 -0
  112. data/vendored/facter/lib/facter/system_uptime.rb +44 -0
  113. data/vendored/facter/lib/facter/timezone.rb +14 -0
  114. data/vendored/facter/lib/facter/uniqueid.rb +4 -0
  115. data/vendored/facter/lib/facter/uptime.rb +16 -0
  116. data/vendored/facter/lib/facter/uptime_days.rb +13 -0
  117. data/vendored/facter/lib/facter/uptime_hours.rb +13 -0
  118. data/vendored/facter/lib/facter/uptime_seconds.rb +20 -0
  119. data/vendored/facter/lib/facter/util/architecture.rb +19 -0
  120. data/vendored/facter/lib/facter/util/collection.rb +161 -0
  121. data/vendored/facter/lib/facter/util/composite_loader.rb +12 -0
  122. data/vendored/facter/lib/facter/util/config.rb +88 -0
  123. data/vendored/facter/lib/facter/util/confine.rb +66 -0
  124. data/vendored/facter/lib/facter/util/dhcp_servers.rb +58 -0
  125. data/vendored/facter/lib/facter/util/directory_loader.rb +88 -0
  126. data/vendored/facter/lib/facter/util/ec2.rb +106 -0
  127. data/vendored/facter/lib/facter/util/fact.rb +204 -0
  128. data/vendored/facter/lib/facter/util/file_read.rb +37 -0
  129. data/vendored/facter/lib/facter/util/formatter.rb +39 -0
  130. data/vendored/facter/lib/facter/util/ip.rb +340 -0
  131. data/vendored/facter/lib/facter/util/ip/windows.rb +215 -0
  132. data/vendored/facter/lib/facter/util/loader.rb +155 -0
  133. data/vendored/facter/lib/facter/util/macaddress.rb +43 -0
  134. data/vendored/facter/lib/facter/util/macosx.rb +73 -0
  135. data/vendored/facter/lib/facter/util/manufacturer.rb +99 -0
  136. data/vendored/facter/lib/facter/util/memory.rb +228 -0
  137. data/vendored/facter/lib/facter/util/netmask.rb +40 -0
  138. data/vendored/facter/lib/facter/util/normalization.rb +94 -0
  139. data/vendored/facter/lib/facter/util/nothing_loader.rb +12 -0
  140. data/vendored/facter/lib/facter/util/operatingsystem.rb +21 -0
  141. data/vendored/facter/lib/facter/util/parser.rb +168 -0
  142. data/vendored/facter/lib/facter/util/partitions.rb +47 -0
  143. data/vendored/facter/lib/facter/util/partitions/linux.rb +71 -0
  144. data/vendored/facter/lib/facter/util/partitions/openbsd.rb +40 -0
  145. data/vendored/facter/lib/facter/util/plist.rb +24 -0
  146. data/vendored/facter/lib/facter/util/plist/generator.rb +228 -0
  147. data/vendored/facter/lib/facter/util/plist/parser.rb +226 -0
  148. data/vendored/facter/lib/facter/util/posix.rb +16 -0
  149. data/vendored/facter/lib/facter/util/processor.rb +289 -0
  150. data/vendored/facter/lib/facter/util/registry.rb +11 -0
  151. data/vendored/facter/lib/facter/util/resolution.rb +160 -0
  152. data/vendored/facter/lib/facter/util/solaris_zones.rb +158 -0
  153. data/vendored/facter/lib/facter/util/unix_root.rb +5 -0
  154. data/vendored/facter/lib/facter/util/uptime.rb +83 -0
  155. data/vendored/facter/lib/facter/util/values.rb +109 -0
  156. data/vendored/facter/lib/facter/util/virtual.rb +212 -0
  157. data/vendored/facter/lib/facter/util/vlans.rb +21 -0
  158. data/vendored/facter/lib/facter/util/windows.rb +10 -0
  159. data/vendored/facter/lib/facter/util/windows/api_types.rb +135 -0
  160. data/vendored/facter/lib/facter/util/windows/dir.rb +43 -0
  161. data/vendored/facter/lib/facter/util/windows/error.rb +87 -0
  162. data/vendored/facter/lib/facter/util/windows/process.rb +294 -0
  163. data/vendored/facter/lib/facter/util/windows/user.rb +186 -0
  164. data/vendored/facter/lib/facter/util/windows_root.rb +7 -0
  165. data/vendored/facter/lib/facter/util/wmi.rb +49 -0
  166. data/vendored/facter/lib/facter/util/xendomains.rb +28 -0
  167. data/vendored/facter/lib/facter/version.rb +86 -0
  168. data/vendored/facter/lib/facter/virtual.rb +328 -0
  169. data/vendored/facter/lib/facter/vlans.rb +17 -0
  170. data/vendored/facter/lib/facter/xendomains.rb +20 -0
  171. data/vendored/facter/lib/facter/zfs_version.rb +14 -0
  172. data/vendored/facter/lib/facter/zonename.rb +6 -0
  173. data/vendored/facter/lib/facter/zones.rb +18 -0
  174. data/vendored/facter/lib/facter/zpool_version.rb +10 -0
  175. data/vendored/hiera/lib/hiera.rb +119 -0
  176. data/vendored/hiera/lib/hiera/backend.rb +360 -0
  177. data/vendored/hiera/lib/hiera/backend/json_backend.rb +58 -0
  178. data/vendored/hiera/lib/hiera/backend/yaml_backend.rb +63 -0
  179. data/vendored/hiera/lib/hiera/config.rb +97 -0
  180. data/vendored/hiera/lib/hiera/console_logger.rb +13 -0
  181. data/vendored/hiera/lib/hiera/error.rb +4 -0
  182. data/vendored/hiera/lib/hiera/fallback_logger.rb +41 -0
  183. data/vendored/hiera/lib/hiera/filecache.rb +86 -0
  184. data/vendored/hiera/lib/hiera/interpolate.rb +121 -0
  185. data/vendored/hiera/lib/hiera/noop_logger.rb +8 -0
  186. data/vendored/hiera/lib/hiera/puppet_logger.rb +17 -0
  187. data/vendored/hiera/lib/hiera/recursive_guard.rb +20 -0
  188. data/vendored/hiera/lib/hiera/util.rb +65 -0
  189. data/vendored/hiera/lib/hiera/util/win32.rb +40 -0
  190. data/vendored/hiera/lib/hiera/version.rb +89 -0
  191. data/vendored/puppet/lib/hiera/puppet_function.rb +81 -0
  192. data/vendored/puppet/lib/hiera/scope.rb +61 -0
  193. data/vendored/puppet/lib/hiera_puppet.rb +79 -0
  194. data/vendored/puppet/lib/puppet.rb +311 -0
  195. data/vendored/puppet/lib/puppet/agent.rb +114 -0
  196. data/vendored/puppet/lib/puppet/agent/disabler.rb +53 -0
  197. data/vendored/puppet/lib/puppet/agent/locker.rb +52 -0
  198. data/vendored/puppet/lib/puppet/application.rb +485 -0
  199. data/vendored/puppet/lib/puppet/application/agent.rb +468 -0
  200. data/vendored/puppet/lib/puppet/application/apply.rb +358 -0
  201. data/vendored/puppet/lib/puppet/application/ca.rb +11 -0
  202. data/vendored/puppet/lib/puppet/application/catalog.rb +4 -0
  203. data/vendored/puppet/lib/puppet/application/cert.rb +334 -0
  204. data/vendored/puppet/lib/puppet/application/certificate.rb +17 -0
  205. data/vendored/puppet/lib/puppet/application/certificate_request.rb +7 -0
  206. data/vendored/puppet/lib/puppet/application/certificate_revocation_list.rb +7 -0
  207. data/vendored/puppet/lib/puppet/application/config.rb +4 -0
  208. data/vendored/puppet/lib/puppet/application/describe.rb +258 -0
  209. data/vendored/puppet/lib/puppet/application/device.rb +292 -0
  210. data/vendored/puppet/lib/puppet/application/doc.rb +230 -0
  211. data/vendored/puppet/lib/puppet/application/epp.rb +5 -0
  212. data/vendored/puppet/lib/puppet/application/face_base.rb +268 -0
  213. data/vendored/puppet/lib/puppet/application/facts.rb +4 -0
  214. data/vendored/puppet/lib/puppet/application/filebucket.rb +262 -0
  215. data/vendored/puppet/lib/puppet/application/generate.rb +5 -0
  216. data/vendored/puppet/lib/puppet/application/help.rb +4 -0
  217. data/vendored/puppet/lib/puppet/application/indirection_base.rb +4 -0
  218. data/vendored/puppet/lib/puppet/application/key.rb +4 -0
  219. data/vendored/puppet/lib/puppet/application/lookup.rb +361 -0
  220. data/vendored/puppet/lib/puppet/application/man.rb +4 -0
  221. data/vendored/puppet/lib/puppet/application/master.rb +317 -0
  222. data/vendored/puppet/lib/puppet/application/module.rb +4 -0
  223. data/vendored/puppet/lib/puppet/application/node.rb +4 -0
  224. data/vendored/puppet/lib/puppet/application/parser.rb +5 -0
  225. data/vendored/puppet/lib/puppet/application/plugin.rb +3 -0
  226. data/vendored/puppet/lib/puppet/application/report.rb +4 -0
  227. data/vendored/puppet/lib/puppet/application/resource.rb +231 -0
  228. data/vendored/puppet/lib/puppet/application/script.rb +255 -0
  229. data/vendored/puppet/lib/puppet/application/status.rb +4 -0
  230. data/vendored/puppet/lib/puppet/application_support.rb +57 -0
  231. data/vendored/puppet/lib/puppet/bindings.rb +147 -0
  232. data/vendored/puppet/lib/puppet/coercion.rb +40 -0
  233. data/vendored/puppet/lib/puppet/compilable_resource_type.rb +15 -0
  234. data/vendored/puppet/lib/puppet/configurer.rb +447 -0
  235. data/vendored/puppet/lib/puppet/configurer/downloader.rb +67 -0
  236. data/vendored/puppet/lib/puppet/configurer/downloader_factory.rb +34 -0
  237. data/vendored/puppet/lib/puppet/configurer/fact_handler.rb +46 -0
  238. data/vendored/puppet/lib/puppet/configurer/plugin_handler.rb +25 -0
  239. data/vendored/puppet/lib/puppet/confine.rb +80 -0
  240. data/vendored/puppet/lib/puppet/confine/any.rb +26 -0
  241. data/vendored/puppet/lib/puppet/confine/exists.rb +19 -0
  242. data/vendored/puppet/lib/puppet/confine/false.rb +19 -0
  243. data/vendored/puppet/lib/puppet/confine/feature.rb +17 -0
  244. data/vendored/puppet/lib/puppet/confine/true.rb +20 -0
  245. data/vendored/puppet/lib/puppet/confine/variable.rb +59 -0
  246. data/vendored/puppet/lib/puppet/confine_collection.rb +50 -0
  247. data/vendored/puppet/lib/puppet/confiner.rb +46 -0
  248. data/vendored/puppet/lib/puppet/context.rb +116 -0
  249. data/vendored/puppet/lib/puppet/context/trusted_information.rb +76 -0
  250. data/vendored/puppet/lib/puppet/daemon.rb +195 -0
  251. data/vendored/puppet/lib/puppet/data_binding.rb +14 -0
  252. data/vendored/puppet/lib/puppet/defaults.rb +1957 -0
  253. data/vendored/puppet/lib/puppet/environments.rb +509 -0
  254. data/vendored/puppet/lib/puppet/error.rb +117 -0
  255. data/vendored/puppet/lib/puppet/etc.rb +161 -0
  256. data/vendored/puppet/lib/puppet/external/dot.rb +326 -0
  257. data/vendored/puppet/lib/puppet/external/nagios.rb +46 -0
  258. data/vendored/puppet/lib/puppet/external/nagios/base.rb +472 -0
  259. data/vendored/puppet/lib/puppet/external/nagios/grammar.ry +248 -0
  260. data/vendored/puppet/lib/puppet/external/nagios/makefile +9 -0
  261. data/vendored/puppet/lib/puppet/external/nagios/parser.rb +400 -0
  262. data/vendored/puppet/lib/puppet/external/pson/common.rb +374 -0
  263. data/vendored/puppet/lib/puppet/external/pson/pure.rb +15 -0
  264. data/vendored/puppet/lib/puppet/external/pson/pure/generator.rb +395 -0
  265. data/vendored/puppet/lib/puppet/external/pson/pure/parser.rb +307 -0
  266. data/vendored/puppet/lib/puppet/external/pson/version.rb +8 -0
  267. data/vendored/puppet/lib/puppet/face.rb +12 -0
  268. data/vendored/puppet/lib/puppet/face/ca.rb +266 -0
  269. data/vendored/puppet/lib/puppet/face/catalog.rb +130 -0
  270. data/vendored/puppet/lib/puppet/face/catalog/select.rb +49 -0
  271. data/vendored/puppet/lib/puppet/face/certificate.rb +165 -0
  272. data/vendored/puppet/lib/puppet/face/certificate_request.rb +56 -0
  273. data/vendored/puppet/lib/puppet/face/certificate_revocation_list.rb +56 -0
  274. data/vendored/puppet/lib/puppet/face/config.rb +119 -0
  275. data/vendored/puppet/lib/puppet/face/epp.rb +527 -0
  276. data/vendored/puppet/lib/puppet/face/facts.rb +38 -0
  277. data/vendored/puppet/lib/puppet/face/generate.rb +64 -0
  278. data/vendored/puppet/lib/puppet/face/help.rb +205 -0
  279. data/vendored/puppet/lib/puppet/face/help/action.erb +86 -0
  280. data/vendored/puppet/lib/puppet/face/help/face.erb +114 -0
  281. data/vendored/puppet/lib/puppet/face/help/global.erb +16 -0
  282. data/vendored/puppet/lib/puppet/face/help/man.erb +152 -0
  283. data/vendored/puppet/lib/puppet/face/key.rb +16 -0
  284. data/vendored/puppet/lib/puppet/face/man.rb +101 -0
  285. data/vendored/puppet/lib/puppet/face/module.rb +19 -0
  286. data/vendored/puppet/lib/puppet/face/module/build.rb +63 -0
  287. data/vendored/puppet/lib/puppet/face/module/changes.rb +42 -0
  288. data/vendored/puppet/lib/puppet/face/module/generate.rb +251 -0
  289. data/vendored/puppet/lib/puppet/face/module/install.rb +149 -0
  290. data/vendored/puppet/lib/puppet/face/module/list.rb +279 -0
  291. data/vendored/puppet/lib/puppet/face/module/search.rb +94 -0
  292. data/vendored/puppet/lib/puppet/face/module/uninstall.rb +81 -0
  293. data/vendored/puppet/lib/puppet/face/module/upgrade.rb +90 -0
  294. data/vendored/puppet/lib/puppet/face/node.rb +42 -0
  295. data/vendored/puppet/lib/puppet/face/node/clean.rb +96 -0
  296. data/vendored/puppet/lib/puppet/face/parser.rb +161 -0
  297. data/vendored/puppet/lib/puppet/face/plugin.rb +58 -0
  298. data/vendored/puppet/lib/puppet/face/report.rb +54 -0
  299. data/vendored/puppet/lib/puppet/face/resource.rb +53 -0
  300. data/vendored/puppet/lib/puppet/face/status.rb +50 -0
  301. data/vendored/puppet/lib/puppet/feature/base.rb +95 -0
  302. data/vendored/puppet/lib/puppet/feature/bolt.rb +3 -0
  303. data/vendored/puppet/lib/puppet/feature/cfpropertylist.rb +3 -0
  304. data/vendored/puppet/lib/puppet/feature/eventlog.rb +5 -0
  305. data/vendored/puppet/lib/puppet/feature/hiera_eyaml.rb +3 -0
  306. data/vendored/puppet/lib/puppet/feature/hocon.rb +3 -0
  307. data/vendored/puppet/lib/puppet/feature/libuser.rb +8 -0
  308. data/vendored/puppet/lib/puppet/feature/msgpack.rb +3 -0
  309. data/vendored/puppet/lib/puppet/feature/pe_license.rb +4 -0
  310. data/vendored/puppet/lib/puppet/feature/rack.rb +19 -0
  311. data/vendored/puppet/lib/puppet/feature/selinux.rb +3 -0
  312. data/vendored/puppet/lib/puppet/feature/ssh.rb +3 -0
  313. data/vendored/puppet/lib/puppet/feature/telnet.rb +9 -0
  314. data/vendored/puppet/lib/puppet/feature/zlib.rb +5 -0
  315. data/vendored/puppet/lib/puppet/file_bucket.rb +4 -0
  316. data/vendored/puppet/lib/puppet/file_bucket/dipper.rb +174 -0
  317. data/vendored/puppet/lib/puppet/file_bucket/file.rb +131 -0
  318. data/vendored/puppet/lib/puppet/file_serving.rb +3 -0
  319. data/vendored/puppet/lib/puppet/file_serving/base.rb +85 -0
  320. data/vendored/puppet/lib/puppet/file_serving/configuration.rb +112 -0
  321. data/vendored/puppet/lib/puppet/file_serving/configuration/parser.rb +123 -0
  322. data/vendored/puppet/lib/puppet/file_serving/content.rb +43 -0
  323. data/vendored/puppet/lib/puppet/file_serving/fileset.rb +174 -0
  324. data/vendored/puppet/lib/puppet/file_serving/http_metadata.rb +46 -0
  325. data/vendored/puppet/lib/puppet/file_serving/metadata.rb +163 -0
  326. data/vendored/puppet/lib/puppet/file_serving/mount.rb +39 -0
  327. data/vendored/puppet/lib/puppet/file_serving/mount/file.rb +121 -0
  328. data/vendored/puppet/lib/puppet/file_serving/mount/modules.rb +24 -0
  329. data/vendored/puppet/lib/puppet/file_serving/mount/pluginfacts.rb +35 -0
  330. data/vendored/puppet/lib/puppet/file_serving/mount/plugins.rb +35 -0
  331. data/vendored/puppet/lib/puppet/file_serving/mount/tasks.rb +21 -0
  332. data/vendored/puppet/lib/puppet/file_serving/terminus_helper.rb +31 -0
  333. data/vendored/puppet/lib/puppet/file_serving/terminus_selector.rb +32 -0
  334. data/vendored/puppet/lib/puppet/file_system.rb +404 -0
  335. data/vendored/puppet/lib/puppet/file_system/file_impl.rb +154 -0
  336. data/vendored/puppet/lib/puppet/file_system/memory_file.rb +66 -0
  337. data/vendored/puppet/lib/puppet/file_system/memory_impl.rb +86 -0
  338. data/vendored/puppet/lib/puppet/file_system/path_pattern.rb +98 -0
  339. data/vendored/puppet/lib/puppet/file_system/posix.rb +46 -0
  340. data/vendored/puppet/lib/puppet/file_system/uniquefile.rb +190 -0
  341. data/vendored/puppet/lib/puppet/file_system/windows.rb +130 -0
  342. data/vendored/puppet/lib/puppet/forge.rb +229 -0
  343. data/vendored/puppet/lib/puppet/forge/cache.rb +60 -0
  344. data/vendored/puppet/lib/puppet/forge/errors.rb +112 -0
  345. data/vendored/puppet/lib/puppet/forge/repository.rb +155 -0
  346. data/vendored/puppet/lib/puppet/functions.rb +745 -0
  347. data/vendored/puppet/lib/puppet/functions/alert.rb +14 -0
  348. data/vendored/puppet/lib/puppet/functions/all.rb +104 -0
  349. data/vendored/puppet/lib/puppet/functions/annotate.rb +108 -0
  350. data/vendored/puppet/lib/puppet/functions/any.rb +109 -0
  351. data/vendored/puppet/lib/puppet/functions/assert_type.rb +93 -0
  352. data/vendored/puppet/lib/puppet/functions/binary_file.rb +19 -0
  353. data/vendored/puppet/lib/puppet/functions/break.rb +22 -0
  354. data/vendored/puppet/lib/puppet/functions/call.rb +42 -0
  355. data/vendored/puppet/lib/puppet/functions/contain.rb +39 -0
  356. data/vendored/puppet/lib/puppet/functions/crit.rb +14 -0
  357. data/vendored/puppet/lib/puppet/functions/debug.rb +14 -0
  358. data/vendored/puppet/lib/puppet/functions/defined.rb +160 -0
  359. data/vendored/puppet/lib/puppet/functions/dig.rb +23 -0
  360. data/vendored/puppet/lib/puppet/functions/each.rb +163 -0
  361. data/vendored/puppet/lib/puppet/functions/emerg.rb +14 -0
  362. data/vendored/puppet/lib/puppet/functions/epp.rb +48 -0
  363. data/vendored/puppet/lib/puppet/functions/err.rb +14 -0
  364. data/vendored/puppet/lib/puppet/functions/eyaml_lookup_key.rb +94 -0
  365. data/vendored/puppet/lib/puppet/functions/file_upload.rb +48 -0
  366. data/vendored/puppet/lib/puppet/functions/filter.rb +143 -0
  367. data/vendored/puppet/lib/puppet/functions/find_file.rb +31 -0
  368. data/vendored/puppet/lib/puppet/functions/hiera.rb +88 -0
  369. data/vendored/puppet/lib/puppet/functions/hiera_array.rb +81 -0
  370. data/vendored/puppet/lib/puppet/functions/hiera_hash.rb +92 -0
  371. data/vendored/puppet/lib/puppet/functions/hiera_include.rb +104 -0
  372. data/vendored/puppet/lib/puppet/functions/hocon_data.rb +41 -0
  373. data/vendored/puppet/lib/puppet/functions/import.rb +7 -0
  374. data/vendored/puppet/lib/puppet/functions/include.rb +27 -0
  375. data/vendored/puppet/lib/puppet/functions/info.rb +14 -0
  376. data/vendored/puppet/lib/puppet/functions/inline_epp.rb +59 -0
  377. data/vendored/puppet/lib/puppet/functions/json_data.rb +33 -0
  378. data/vendored/puppet/lib/puppet/functions/lest.rb +17 -0
  379. data/vendored/puppet/lib/puppet/functions/lookup.rb +223 -0
  380. data/vendored/puppet/lib/puppet/functions/map.rb +126 -0
  381. data/vendored/puppet/lib/puppet/functions/match.rb +120 -0
  382. data/vendored/puppet/lib/puppet/functions/new.rb +32 -0
  383. data/vendored/puppet/lib/puppet/functions/next.rb +23 -0
  384. data/vendored/puppet/lib/puppet/functions/notice.rb +14 -0
  385. data/vendored/puppet/lib/puppet/functions/reduce.rb +164 -0
  386. data/vendored/puppet/lib/puppet/functions/regsubst.rb +76 -0
  387. data/vendored/puppet/lib/puppet/functions/require.rb +43 -0
  388. data/vendored/puppet/lib/puppet/functions/return.rb +22 -0
  389. data/vendored/puppet/lib/puppet/functions/reverse_each.rb +25 -0
  390. data/vendored/puppet/lib/puppet/functions/run_command.rb +41 -0
  391. data/vendored/puppet/lib/puppet/functions/run_plan.rb +40 -0
  392. data/vendored/puppet/lib/puppet/functions/run_script.rb +50 -0
  393. data/vendored/puppet/lib/puppet/functions/run_task.rb +73 -0
  394. data/vendored/puppet/lib/puppet/functions/scanf.rb +44 -0
  395. data/vendored/puppet/lib/puppet/functions/slice.rb +111 -0
  396. data/vendored/puppet/lib/puppet/functions/split.rb +47 -0
  397. data/vendored/puppet/lib/puppet/functions/step.rb +26 -0
  398. data/vendored/puppet/lib/puppet/functions/strftime.rb +43 -0
  399. data/vendored/puppet/lib/puppet/functions/then.rb +14 -0
  400. data/vendored/puppet/lib/puppet/functions/tree_each.rb +200 -0
  401. data/vendored/puppet/lib/puppet/functions/type.rb +31 -0
  402. data/vendored/puppet/lib/puppet/functions/unique.rb +132 -0
  403. data/vendored/puppet/lib/puppet/functions/unwrap.rb +40 -0
  404. data/vendored/puppet/lib/puppet/functions/versioncmp.rb +36 -0
  405. data/vendored/puppet/lib/puppet/functions/warning.rb +14 -0
  406. data/vendored/puppet/lib/puppet/functions/with.rb +30 -0
  407. data/vendored/puppet/lib/puppet/functions/yaml_data.rb +42 -0
  408. data/vendored/puppet/lib/puppet/generate/models/type/property.rb +70 -0
  409. data/vendored/puppet/lib/puppet/generate/models/type/type.rb +62 -0
  410. data/vendored/puppet/lib/puppet/generate/templates/type/pcore.erb +42 -0
  411. data/vendored/puppet/lib/puppet/generate/type.rb +239 -0
  412. data/vendored/puppet/lib/puppet/gettext/config.rb +70 -0
  413. data/vendored/puppet/lib/puppet/gettext/stubs.rb +11 -0
  414. data/vendored/puppet/lib/puppet/graph.rb +11 -0
  415. data/vendored/puppet/lib/puppet/graph/key.rb +26 -0
  416. data/vendored/puppet/lib/puppet/graph/prioritizer.rb +29 -0
  417. data/vendored/puppet/lib/puppet/graph/random_prioritizer.rb +16 -0
  418. data/vendored/puppet/lib/puppet/graph/rb_tree_map.rb +388 -0
  419. data/vendored/puppet/lib/puppet/graph/relationship_graph.rb +277 -0
  420. data/vendored/puppet/lib/puppet/graph/sequential_prioritizer.rb +31 -0
  421. data/vendored/puppet/lib/puppet/graph/simple_graph.rb +539 -0
  422. data/vendored/puppet/lib/puppet/graph/title_hash_prioritizer.rb +16 -0
  423. data/vendored/puppet/lib/puppet/indirector.rb +61 -0
  424. data/vendored/puppet/lib/puppet/indirector/catalog/compiler.rb +384 -0
  425. data/vendored/puppet/lib/puppet/indirector/catalog/json.rb +24 -0
  426. data/vendored/puppet/lib/puppet/indirector/catalog/msgpack.rb +6 -0
  427. data/vendored/puppet/lib/puppet/indirector/catalog/rest.rb +6 -0
  428. data/vendored/puppet/lib/puppet/indirector/catalog/store_configs.rb +8 -0
  429. data/vendored/puppet/lib/puppet/indirector/catalog/yaml.rb +22 -0
  430. data/vendored/puppet/lib/puppet/indirector/certificate/ca.rb +9 -0
  431. data/vendored/puppet/lib/puppet/indirector/certificate/disabled_ca.rb +22 -0
  432. data/vendored/puppet/lib/puppet/indirector/certificate/file.rb +9 -0
  433. data/vendored/puppet/lib/puppet/indirector/certificate/rest.rb +16 -0
  434. data/vendored/puppet/lib/puppet/indirector/certificate_request/ca.rb +22 -0
  435. data/vendored/puppet/lib/puppet/indirector/certificate_request/disabled_ca.rb +22 -0
  436. data/vendored/puppet/lib/puppet/indirector/certificate_request/file.rb +8 -0
  437. data/vendored/puppet/lib/puppet/indirector/certificate_request/memory.rb +6 -0
  438. data/vendored/puppet/lib/puppet/indirector/certificate_request/rest.rb +10 -0
  439. data/vendored/puppet/lib/puppet/indirector/certificate_revocation_list/ca.rb +8 -0
  440. data/vendored/puppet/lib/puppet/indirector/certificate_revocation_list/disabled_ca.rb +22 -0
  441. data/vendored/puppet/lib/puppet/indirector/certificate_revocation_list/file.rb +8 -0
  442. data/vendored/puppet/lib/puppet/indirector/certificate_revocation_list/rest.rb +22 -0
  443. data/vendored/puppet/lib/puppet/indirector/certificate_status.rb +4 -0
  444. data/vendored/puppet/lib/puppet/indirector/certificate_status/file.rb +91 -0
  445. data/vendored/puppet/lib/puppet/indirector/certificate_status/rest.rb +11 -0
  446. data/vendored/puppet/lib/puppet/indirector/code.rb +6 -0
  447. data/vendored/puppet/lib/puppet/indirector/data_binding/hiera.rb +7 -0
  448. data/vendored/puppet/lib/puppet/indirector/data_binding/none.rb +8 -0
  449. data/vendored/puppet/lib/puppet/indirector/direct_file_server.rb +17 -0
  450. data/vendored/puppet/lib/puppet/indirector/envelope.rb +11 -0
  451. data/vendored/puppet/lib/puppet/indirector/errors.rb +5 -0
  452. data/vendored/puppet/lib/puppet/indirector/exec.rb +38 -0
  453. data/vendored/puppet/lib/puppet/indirector/face.rb +153 -0
  454. data/vendored/puppet/lib/puppet/indirector/facts/facter.rb +90 -0
  455. data/vendored/puppet/lib/puppet/indirector/facts/memory.rb +9 -0
  456. data/vendored/puppet/lib/puppet/indirector/facts/network_device.rb +27 -0
  457. data/vendored/puppet/lib/puppet/indirector/facts/store_configs.rb +11 -0
  458. data/vendored/puppet/lib/puppet/indirector/facts/yaml.rb +86 -0
  459. data/vendored/puppet/lib/puppet/indirector/file_bucket_file/file.rb +255 -0
  460. data/vendored/puppet/lib/puppet/indirector/file_bucket_file/rest.rb +8 -0
  461. data/vendored/puppet/lib/puppet/indirector/file_bucket_file/selector.rb +53 -0
  462. data/vendored/puppet/lib/puppet/indirector/file_content.rb +5 -0
  463. data/vendored/puppet/lib/puppet/indirector/file_content/file.rb +7 -0
  464. data/vendored/puppet/lib/puppet/indirector/file_content/file_server.rb +7 -0
  465. data/vendored/puppet/lib/puppet/indirector/file_content/http.rb +15 -0
  466. data/vendored/puppet/lib/puppet/indirector/file_content/rest.rb +9 -0
  467. data/vendored/puppet/lib/puppet/indirector/file_content/selector.rb +30 -0
  468. data/vendored/puppet/lib/puppet/indirector/file_metadata.rb +5 -0
  469. data/vendored/puppet/lib/puppet/indirector/file_metadata/file.rb +7 -0
  470. data/vendored/puppet/lib/puppet/indirector/file_metadata/file_server.rb +7 -0
  471. data/vendored/puppet/lib/puppet/indirector/file_metadata/http.rb +27 -0
  472. data/vendored/puppet/lib/puppet/indirector/file_metadata/rest.rb +9 -0
  473. data/vendored/puppet/lib/puppet/indirector/file_metadata/selector.rb +30 -0
  474. data/vendored/puppet/lib/puppet/indirector/file_server.rb +59 -0
  475. data/vendored/puppet/lib/puppet/indirector/generic_http.rb +16 -0
  476. data/vendored/puppet/lib/puppet/indirector/hiera.rb +94 -0
  477. data/vendored/puppet/lib/puppet/indirector/indirection.rb +336 -0
  478. data/vendored/puppet/lib/puppet/indirector/json.rb +75 -0
  479. data/vendored/puppet/lib/puppet/indirector/key/ca.rb +16 -0
  480. data/vendored/puppet/lib/puppet/indirector/key/disabled_ca.rb +22 -0
  481. data/vendored/puppet/lib/puppet/indirector/key/file.rb +50 -0
  482. data/vendored/puppet/lib/puppet/indirector/key/memory.rb +6 -0
  483. data/vendored/puppet/lib/puppet/indirector/ldap.rb +80 -0
  484. data/vendored/puppet/lib/puppet/indirector/memory.rb +34 -0
  485. data/vendored/puppet/lib/puppet/indirector/msgpack.rb +83 -0
  486. data/vendored/puppet/lib/puppet/indirector/node/exec.rb +71 -0
  487. data/vendored/puppet/lib/puppet/indirector/node/ldap.rb +259 -0
  488. data/vendored/puppet/lib/puppet/indirector/node/memory.rb +10 -0
  489. data/vendored/puppet/lib/puppet/indirector/node/msgpack.rb +7 -0
  490. data/vendored/puppet/lib/puppet/indirector/node/plain.rb +21 -0
  491. data/vendored/puppet/lib/puppet/indirector/node/rest.rb +7 -0
  492. data/vendored/puppet/lib/puppet/indirector/node/store_configs.rb +8 -0
  493. data/vendored/puppet/lib/puppet/indirector/node/write_only_yaml.rb +37 -0
  494. data/vendored/puppet/lib/puppet/indirector/node/yaml.rb +13 -0
  495. data/vendored/puppet/lib/puppet/indirector/none.rb +9 -0
  496. data/vendored/puppet/lib/puppet/indirector/plain.rb +9 -0
  497. data/vendored/puppet/lib/puppet/indirector/report/msgpack.rb +11 -0
  498. data/vendored/puppet/lib/puppet/indirector/report/processor.rb +59 -0
  499. data/vendored/puppet/lib/puppet/indirector/report/rest.rb +28 -0
  500. data/vendored/puppet/lib/puppet/indirector/report/yaml.rb +11 -0
  501. data/vendored/puppet/lib/puppet/indirector/request.rb +274 -0
  502. data/vendored/puppet/lib/puppet/indirector/resource/ral.rb +63 -0
  503. data/vendored/puppet/lib/puppet/indirector/resource/store_configs.rb +12 -0
  504. data/vendored/puppet/lib/puppet/indirector/resource/validator.rb +8 -0
  505. data/vendored/puppet/lib/puppet/indirector/rest.rb +348 -0
  506. data/vendored/puppet/lib/puppet/indirector/ssl_file.rb +201 -0
  507. data/vendored/puppet/lib/puppet/indirector/status.rb +3 -0
  508. data/vendored/puppet/lib/puppet/indirector/status/local.rb +12 -0
  509. data/vendored/puppet/lib/puppet/indirector/status/rest.rb +9 -0
  510. data/vendored/puppet/lib/puppet/indirector/store_configs.rb +30 -0
  511. data/vendored/puppet/lib/puppet/indirector/terminus.rb +169 -0
  512. data/vendored/puppet/lib/puppet/indirector/yaml.rb +63 -0
  513. data/vendored/puppet/lib/puppet/info_service.rb +17 -0
  514. data/vendored/puppet/lib/puppet/info_service/class_information_service.rb +110 -0
  515. data/vendored/puppet/lib/puppet/info_service/task_information_service.rb +32 -0
  516. data/vendored/puppet/lib/puppet/interface.rb +236 -0
  517. data/vendored/puppet/lib/puppet/interface/action.rb +374 -0
  518. data/vendored/puppet/lib/puppet/interface/action_builder.rb +149 -0
  519. data/vendored/puppet/lib/puppet/interface/action_manager.rb +97 -0
  520. data/vendored/puppet/lib/puppet/interface/documentation.rb +342 -0
  521. data/vendored/puppet/lib/puppet/interface/face_collection.rb +130 -0
  522. data/vendored/puppet/lib/puppet/interface/option.rb +150 -0
  523. data/vendored/puppet/lib/puppet/interface/option_builder.rb +91 -0
  524. data/vendored/puppet/lib/puppet/interface/option_manager.rb +99 -0
  525. data/vendored/puppet/lib/puppet/loaders.rb +26 -0
  526. data/vendored/puppet/lib/puppet/metatype/manager.rb +195 -0
  527. data/vendored/puppet/lib/puppet/module.rb +473 -0
  528. data/vendored/puppet/lib/puppet/module/task.rb +90 -0
  529. data/vendored/puppet/lib/puppet/module_tool.rb +196 -0
  530. data/vendored/puppet/lib/puppet/module_tool/applications.rb +14 -0
  531. data/vendored/puppet/lib/puppet/module_tool/applications/application.rb +90 -0
  532. data/vendored/puppet/lib/puppet/module_tool/applications/builder.rb +148 -0
  533. data/vendored/puppet/lib/puppet/module_tool/applications/checksummer.rb +62 -0
  534. data/vendored/puppet/lib/puppet/module_tool/applications/installer.rb +352 -0
  535. data/vendored/puppet/lib/puppet/module_tool/applications/searcher.rb +29 -0
  536. data/vendored/puppet/lib/puppet/module_tool/applications/uninstaller.rb +118 -0
  537. data/vendored/puppet/lib/puppet/module_tool/applications/unpacker.rb +100 -0
  538. data/vendored/puppet/lib/puppet/module_tool/applications/upgrader.rb +278 -0
  539. data/vendored/puppet/lib/puppet/module_tool/checksums.rb +49 -0
  540. data/vendored/puppet/lib/puppet/module_tool/contents_description.rb +88 -0
  541. data/vendored/puppet/lib/puppet/module_tool/dependency.rb +41 -0
  542. data/vendored/puppet/lib/puppet/module_tool/errors.rb +11 -0
  543. data/vendored/puppet/lib/puppet/module_tool/errors/base.rb +15 -0
  544. data/vendored/puppet/lib/puppet/module_tool/errors/installer.rb +95 -0
  545. data/vendored/puppet/lib/puppet/module_tool/errors/shared.rb +190 -0
  546. data/vendored/puppet/lib/puppet/module_tool/errors/uninstaller.rb +49 -0
  547. data/vendored/puppet/lib/puppet/module_tool/errors/upgrader.rb +63 -0
  548. data/vendored/puppet/lib/puppet/module_tool/install_directory.rb +45 -0
  549. data/vendored/puppet/lib/puppet/module_tool/installed_modules.rb +96 -0
  550. data/vendored/puppet/lib/puppet/module_tool/local_tarball.rb +90 -0
  551. data/vendored/puppet/lib/puppet/module_tool/metadata.rb +224 -0
  552. data/vendored/puppet/lib/puppet/module_tool/shared_behaviors.rb +180 -0
  553. data/vendored/puppet/lib/puppet/module_tool/skeleton/templates/generator/.fixtures.yml.erb +7 -0
  554. data/vendored/puppet/lib/puppet/module_tool/skeleton/templates/generator/.gitignore +18 -0
  555. data/vendored/puppet/lib/puppet/module_tool/skeleton/templates/generator/.rubocop.yml +42 -0
  556. data/vendored/puppet/lib/puppet/module_tool/skeleton/templates/generator/.yardopts +1 -0
  557. data/vendored/puppet/lib/puppet/module_tool/skeleton/templates/generator/Gemfile +18 -0
  558. data/vendored/puppet/lib/puppet/module_tool/skeleton/templates/generator/README.md.erb +89 -0
  559. data/vendored/puppet/lib/puppet/module_tool/skeleton/templates/generator/Rakefile +32 -0
  560. data/vendored/puppet/lib/puppet/module_tool/skeleton/templates/generator/examples/init.pp.erb +12 -0
  561. data/vendored/puppet/lib/puppet/module_tool/skeleton/templates/generator/manifests/init.pp.erb +48 -0
  562. data/vendored/puppet/lib/puppet/module_tool/skeleton/templates/generator/metadata.json.erb +1 -0
  563. data/vendored/puppet/lib/puppet/module_tool/skeleton/templates/generator/spec/classes/init_spec.rb.erb +6 -0
  564. data/vendored/puppet/lib/puppet/module_tool/skeleton/templates/generator/spec/spec_helper.rb +1 -0
  565. data/vendored/puppet/lib/puppet/module_tool/tar.rb +18 -0
  566. data/vendored/puppet/lib/puppet/module_tool/tar/gnu.rb +19 -0
  567. data/vendored/puppet/lib/puppet/module_tool/tar/mini.rb +53 -0
  568. data/vendored/puppet/lib/puppet/network.rb +3 -0
  569. data/vendored/puppet/lib/puppet/network/auth_config_parser.rb +85 -0
  570. data/vendored/puppet/lib/puppet/network/authconfig.rb +112 -0
  571. data/vendored/puppet/lib/puppet/network/authorization.rb +41 -0
  572. data/vendored/puppet/lib/puppet/network/authstore.rb +282 -0
  573. data/vendored/puppet/lib/puppet/network/client_request.rb +29 -0
  574. data/vendored/puppet/lib/puppet/network/format.rb +110 -0
  575. data/vendored/puppet/lib/puppet/network/format_handler.rb +108 -0
  576. data/vendored/puppet/lib/puppet/network/format_support.rb +134 -0
  577. data/vendored/puppet/lib/puppet/network/formats.rb +171 -0
  578. data/vendored/puppet/lib/puppet/network/http.rb +30 -0
  579. data/vendored/puppet/lib/puppet/network/http/api.rb +44 -0
  580. data/vendored/puppet/lib/puppet/network/http/api/ca.rb +2 -0
  581. data/vendored/puppet/lib/puppet/network/http/api/ca/v1.rb +11 -0
  582. data/vendored/puppet/lib/puppet/network/http/api/indirected_routes.rb +278 -0
  583. data/vendored/puppet/lib/puppet/network/http/api/indirection_type.rb +32 -0
  584. data/vendored/puppet/lib/puppet/network/http/api/master.rb +2 -0
  585. data/vendored/puppet/lib/puppet/network/http/api/master/v3.rb +28 -0
  586. data/vendored/puppet/lib/puppet/network/http/api/master/v3/authorization.rb +18 -0
  587. data/vendored/puppet/lib/puppet/network/http/api/master/v3/environment.rb +82 -0
  588. data/vendored/puppet/lib/puppet/network/http/api/master/v3/environments.rb +35 -0
  589. data/vendored/puppet/lib/puppet/network/http/compression.rb +120 -0
  590. data/vendored/puppet/lib/puppet/network/http/connection.rb +332 -0
  591. data/vendored/puppet/lib/puppet/network/http/error.rb +73 -0
  592. data/vendored/puppet/lib/puppet/network/http/factory.rb +47 -0
  593. data/vendored/puppet/lib/puppet/network/http/handler.rb +183 -0
  594. data/vendored/puppet/lib/puppet/network/http/issues.rb +12 -0
  595. data/vendored/puppet/lib/puppet/network/http/memory_response.rb +13 -0
  596. data/vendored/puppet/lib/puppet/network/http/nocache_pool.rb +21 -0
  597. data/vendored/puppet/lib/puppet/network/http/pool.rb +129 -0
  598. data/vendored/puppet/lib/puppet/network/http/rack.rb +33 -0
  599. data/vendored/puppet/lib/puppet/network/http/rack/rest.rb +162 -0
  600. data/vendored/puppet/lib/puppet/network/http/request.rb +70 -0
  601. data/vendored/puppet/lib/puppet/network/http/response.rb +23 -0
  602. data/vendored/puppet/lib/puppet/network/http/route.rb +100 -0
  603. data/vendored/puppet/lib/puppet/network/http/session.rb +17 -0
  604. data/vendored/puppet/lib/puppet/network/http/site.rb +39 -0
  605. data/vendored/puppet/lib/puppet/network/http/webrick.rb +125 -0
  606. data/vendored/puppet/lib/puppet/network/http/webrick/rest.rb +114 -0
  607. data/vendored/puppet/lib/puppet/network/http_pool.rb +61 -0
  608. data/vendored/puppet/lib/puppet/network/resolver.rb +86 -0
  609. data/vendored/puppet/lib/puppet/network/rest_controller.rb +2 -0
  610. data/vendored/puppet/lib/puppet/network/rights.rb +209 -0
  611. data/vendored/puppet/lib/puppet/network/server.rb +39 -0
  612. data/vendored/puppet/lib/puppet/node.rb +262 -0
  613. data/vendored/puppet/lib/puppet/node/environment.rb +572 -0
  614. data/vendored/puppet/lib/puppet/node/facts.rb +128 -0
  615. data/vendored/puppet/lib/puppet/parameter.rb +567 -0
  616. data/vendored/puppet/lib/puppet/parameter/boolean.rb +15 -0
  617. data/vendored/puppet/lib/puppet/parameter/package_options.rb +31 -0
  618. data/vendored/puppet/lib/puppet/parameter/path.rb +57 -0
  619. data/vendored/puppet/lib/puppet/parameter/value.rb +91 -0
  620. data/vendored/puppet/lib/puppet/parameter/value_collection.rb +212 -0
  621. data/vendored/puppet/lib/puppet/parser.rb +20 -0
  622. data/vendored/puppet/lib/puppet/parser/abstract_compiler.rb +36 -0
  623. data/vendored/puppet/lib/puppet/parser/ast.rb +65 -0
  624. data/vendored/puppet/lib/puppet/parser/ast/block_expression.rb +15 -0
  625. data/vendored/puppet/lib/puppet/parser/ast/branch.rb +19 -0
  626. data/vendored/puppet/lib/puppet/parser/ast/hostclass.rb +27 -0
  627. data/vendored/puppet/lib/puppet/parser/ast/leaf.rb +75 -0
  628. data/vendored/puppet/lib/puppet/parser/ast/node.rb +17 -0
  629. data/vendored/puppet/lib/puppet/parser/ast/pops_bridge.rb +273 -0
  630. data/vendored/puppet/lib/puppet/parser/ast/resource.rb +66 -0
  631. data/vendored/puppet/lib/puppet/parser/ast/resource_instance.rb +10 -0
  632. data/vendored/puppet/lib/puppet/parser/ast/resourceparam.rb +31 -0
  633. data/vendored/puppet/lib/puppet/parser/ast/top_level_construct.rb +4 -0
  634. data/vendored/puppet/lib/puppet/parser/compiler.rb +788 -0
  635. data/vendored/puppet/lib/puppet/parser/compiler/catalog_validator.rb +33 -0
  636. data/vendored/puppet/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +64 -0
  637. data/vendored/puppet/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +57 -0
  638. data/vendored/puppet/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +20 -0
  639. data/vendored/puppet/lib/puppet/parser/e4_parser_adapter.rb +60 -0
  640. data/vendored/puppet/lib/puppet/parser/environment_compiler.rb +199 -0
  641. data/vendored/puppet/lib/puppet/parser/files.rb +92 -0
  642. data/vendored/puppet/lib/puppet/parser/functions.rb +278 -0
  643. data/vendored/puppet/lib/puppet/parser/functions/assert_type.rb +60 -0
  644. data/vendored/puppet/lib/puppet/parser/functions/binary_file.rb +24 -0
  645. data/vendored/puppet/lib/puppet/parser/functions/break.rb +39 -0
  646. data/vendored/puppet/lib/puppet/parser/functions/contain.rb +30 -0
  647. data/vendored/puppet/lib/puppet/parser/functions/create_resources.rb +112 -0
  648. data/vendored/puppet/lib/puppet/parser/functions/defined.rb +107 -0
  649. data/vendored/puppet/lib/puppet/parser/functions/dig.rb +38 -0
  650. data/vendored/puppet/lib/puppet/parser/functions/digest.rb +5 -0
  651. data/vendored/puppet/lib/puppet/parser/functions/each.rb +104 -0
  652. data/vendored/puppet/lib/puppet/parser/functions/epp.rb +39 -0
  653. data/vendored/puppet/lib/puppet/parser/functions/fail.rb +4 -0
  654. data/vendored/puppet/lib/puppet/parser/functions/file.rb +33 -0
  655. data/vendored/puppet/lib/puppet/parser/functions/filter.rb +78 -0
  656. data/vendored/puppet/lib/puppet/parser/functions/find_file.rb +28 -0
  657. data/vendored/puppet/lib/puppet/parser/functions/fqdn_rand.rb +21 -0
  658. data/vendored/puppet/lib/puppet/parser/functions/generate.rb +38 -0
  659. data/vendored/puppet/lib/puppet/parser/functions/hiera.rb +103 -0
  660. data/vendored/puppet/lib/puppet/parser/functions/hiera_array.rb +92 -0
  661. data/vendored/puppet/lib/puppet/parser/functions/hiera_hash.rb +102 -0
  662. data/vendored/puppet/lib/puppet/parser/functions/hiera_include.rb +102 -0
  663. data/vendored/puppet/lib/puppet/parser/functions/include.rb +34 -0
  664. data/vendored/puppet/lib/puppet/parser/functions/inline_epp.rb +51 -0
  665. data/vendored/puppet/lib/puppet/parser/functions/inline_template.rb +27 -0
  666. data/vendored/puppet/lib/puppet/parser/functions/lest.rb +49 -0
  667. data/vendored/puppet/lib/puppet/parser/functions/lookup.rb +132 -0
  668. data/vendored/puppet/lib/puppet/parser/functions/map.rb +76 -0
  669. data/vendored/puppet/lib/puppet/parser/functions/match.rb +43 -0
  670. data/vendored/puppet/lib/puppet/parser/functions/md5.rb +5 -0
  671. data/vendored/puppet/lib/puppet/parser/functions/new.rb +1006 -0
  672. data/vendored/puppet/lib/puppet/parser/functions/next.rb +38 -0
  673. data/vendored/puppet/lib/puppet/parser/functions/realize.rb +20 -0
  674. data/vendored/puppet/lib/puppet/parser/functions/reduce.rb +137 -0
  675. data/vendored/puppet/lib/puppet/parser/functions/regsubst.rb +62 -0
  676. data/vendored/puppet/lib/puppet/parser/functions/require.rb +40 -0
  677. data/vendored/puppet/lib/puppet/parser/functions/return.rb +71 -0
  678. data/vendored/puppet/lib/puppet/parser/functions/reverse_each.rb +83 -0
  679. data/vendored/puppet/lib/puppet/parser/functions/scanf.rb +38 -0
  680. data/vendored/puppet/lib/puppet/parser/functions/sha1.rb +5 -0
  681. data/vendored/puppet/lib/puppet/parser/functions/shellquote.rb +61 -0
  682. data/vendored/puppet/lib/puppet/parser/functions/slice.rb +39 -0
  683. data/vendored/puppet/lib/puppet/parser/functions/split.rb +28 -0
  684. data/vendored/puppet/lib/puppet/parser/functions/sprintf.rb +36 -0
  685. data/vendored/puppet/lib/puppet/parser/functions/step.rb +84 -0
  686. data/vendored/puppet/lib/puppet/parser/functions/strftime.rb +185 -0
  687. data/vendored/puppet/lib/puppet/parser/functions/tag.rb +12 -0
  688. data/vendored/puppet/lib/puppet/parser/functions/tagged.rb +24 -0
  689. data/vendored/puppet/lib/puppet/parser/functions/template.rb +35 -0
  690. data/vendored/puppet/lib/puppet/parser/functions/then.rb +73 -0
  691. data/vendored/puppet/lib/puppet/parser/functions/type.rb +53 -0
  692. data/vendored/puppet/lib/puppet/parser/functions/versioncmp.rb +30 -0
  693. data/vendored/puppet/lib/puppet/parser/functions/with.rb +28 -0
  694. data/vendored/puppet/lib/puppet/parser/parser_factory.rb +30 -0
  695. data/vendored/puppet/lib/puppet/parser/relationship.rb +83 -0
  696. data/vendored/puppet/lib/puppet/parser/resource.rb +418 -0
  697. data/vendored/puppet/lib/puppet/parser/resource/param.rb +22 -0
  698. data/vendored/puppet/lib/puppet/parser/scope.rb +1112 -0
  699. data/vendored/puppet/lib/puppet/parser/script_compiler.rb +117 -0
  700. data/vendored/puppet/lib/puppet/parser/templatewrapper.rb +101 -0
  701. data/vendored/puppet/lib/puppet/parser/type_loader.rb +149 -0
  702. data/vendored/puppet/lib/puppet/plugins.rb +9 -0
  703. data/vendored/puppet/lib/puppet/plugins/configuration.rb +25 -0
  704. data/vendored/puppet/lib/puppet/plugins/syntax_checkers.rb +98 -0
  705. data/vendored/puppet/lib/puppet/pops.rb +120 -0
  706. data/vendored/puppet/lib/puppet/pops/adaptable.rb +206 -0
  707. data/vendored/puppet/lib/puppet/pops/adapters.rb +138 -0
  708. data/vendored/puppet/lib/puppet/pops/evaluator/access_operator.rb +706 -0
  709. data/vendored/puppet/lib/puppet/pops/evaluator/callable_signature.rb +107 -0
  710. data/vendored/puppet/lib/puppet/pops/evaluator/closure.rb +373 -0
  711. data/vendored/puppet/lib/puppet/pops/evaluator/collector_transformer.rb +233 -0
  712. data/vendored/puppet/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +86 -0
  713. data/vendored/puppet/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +29 -0
  714. data/vendored/puppet/lib/puppet/pops/evaluator/collectors/exported_collector.rb +69 -0
  715. data/vendored/puppet/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +37 -0
  716. data/vendored/puppet/lib/puppet/pops/evaluator/compare_operator.rb +252 -0
  717. data/vendored/puppet/lib/puppet/pops/evaluator/epp_evaluator.rb +94 -0
  718. data/vendored/puppet/lib/puppet/pops/evaluator/evaluator_impl.rb +1258 -0
  719. data/vendored/puppet/lib/puppet/pops/evaluator/external_syntax_support.rb +45 -0
  720. data/vendored/puppet/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +82 -0
  721. data/vendored/puppet/lib/puppet/pops/evaluator/literal_evaluator.rb +87 -0
  722. data/vendored/puppet/lib/puppet/pops/evaluator/puppet_proc.rb +69 -0
  723. data/vendored/puppet/lib/puppet/pops/evaluator/relationship_operator.rb +185 -0
  724. data/vendored/puppet/lib/puppet/pops/evaluator/runtime3_converter.rb +200 -0
  725. data/vendored/puppet/lib/puppet/pops/evaluator/runtime3_resource_support.rb +117 -0
  726. data/vendored/puppet/lib/puppet/pops/evaluator/runtime3_support.rb +538 -0
  727. data/vendored/puppet/lib/puppet/pops/functions/dispatch.rb +100 -0
  728. data/vendored/puppet/lib/puppet/pops/functions/dispatcher.rb +71 -0
  729. data/vendored/puppet/lib/puppet/pops/functions/function.rb +135 -0
  730. data/vendored/puppet/lib/puppet/pops/issue_reporter.rb +115 -0
  731. data/vendored/puppet/lib/puppet/pops/issues.rb +888 -0
  732. data/vendored/puppet/lib/puppet/pops/label_provider.rb +90 -0
  733. data/vendored/puppet/lib/puppet/pops/loader/base_loader.rb +166 -0
  734. data/vendored/puppet/lib/puppet/pops/loader/dependency_loader.rb +92 -0
  735. data/vendored/puppet/lib/puppet/pops/loader/gem_support.rb +49 -0
  736. data/vendored/puppet/lib/puppet/pops/loader/loader.rb +204 -0
  737. data/vendored/puppet/lib/puppet/pops/loader/loader_paths.rb +296 -0
  738. data/vendored/puppet/lib/puppet/pops/loader/module_loaders.rb +452 -0
  739. data/vendored/puppet/lib/puppet/pops/loader/null_loader.rb +60 -0
  740. data/vendored/puppet/lib/puppet/pops/loader/predefined_loader.rb +24 -0
  741. data/vendored/puppet/lib/puppet/pops/loader/puppet_function_instantiator.rb +84 -0
  742. data/vendored/puppet/lib/puppet/pops/loader/puppet_plan_instantiator.rb +84 -0
  743. data/vendored/puppet/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +79 -0
  744. data/vendored/puppet/lib/puppet/pops/loader/ruby_function_instantiator.rb +46 -0
  745. data/vendored/puppet/lib/puppet/pops/loader/runtime3_type_loader.rb +101 -0
  746. data/vendored/puppet/lib/puppet/pops/loader/simple_environment_loader.rb +20 -0
  747. data/vendored/puppet/lib/puppet/pops/loader/static_loader.rb +164 -0
  748. data/vendored/puppet/lib/puppet/pops/loader/task_instantiator.rb +117 -0
  749. data/vendored/puppet/lib/puppet/pops/loader/type_definition_instantiator.rb +97 -0
  750. data/vendored/puppet/lib/puppet/pops/loader/typed_name.rb +54 -0
  751. data/vendored/puppet/lib/puppet/pops/loader/uri_helper.rb +22 -0
  752. data/vendored/puppet/lib/puppet/pops/loaders.rb +517 -0
  753. data/vendored/puppet/lib/puppet/pops/lookup.rb +96 -0
  754. data/vendored/puppet/lib/puppet/pops/lookup/configured_data_provider.rb +93 -0
  755. data/vendored/puppet/lib/puppet/pops/lookup/context.rb +200 -0
  756. data/vendored/puppet/lib/puppet/pops/lookup/data_adapter.rb +27 -0
  757. data/vendored/puppet/lib/puppet/pops/lookup/data_dig_function_provider.rb +145 -0
  758. data/vendored/puppet/lib/puppet/pops/lookup/data_hash_function_provider.rb +126 -0
  759. data/vendored/puppet/lib/puppet/pops/lookup/data_provider.rb +92 -0
  760. data/vendored/puppet/lib/puppet/pops/lookup/environment_data_provider.rb +35 -0
  761. data/vendored/puppet/lib/puppet/pops/lookup/explainer.rb +594 -0
  762. data/vendored/puppet/lib/puppet/pops/lookup/function_provider.rb +110 -0
  763. data/vendored/puppet/lib/puppet/pops/lookup/global_data_provider.rb +75 -0
  764. data/vendored/puppet/lib/puppet/pops/lookup/hiera_config.rb +761 -0
  765. data/vendored/puppet/lib/puppet/pops/lookup/interpolation.rb +154 -0
  766. data/vendored/puppet/lib/puppet/pops/lookup/invocation.rb +261 -0
  767. data/vendored/puppet/lib/puppet/pops/lookup/location_resolver.rb +99 -0
  768. data/vendored/puppet/lib/puppet/pops/lookup/lookup_adapter.rb +472 -0
  769. data/vendored/puppet/lib/puppet/pops/lookup/lookup_key.rb +99 -0
  770. data/vendored/puppet/lib/puppet/pops/lookup/lookup_key_function_provider.rb +92 -0
  771. data/vendored/puppet/lib/puppet/pops/lookup/module_data_provider.rb +89 -0
  772. data/vendored/puppet/lib/puppet/pops/lookup/sub_lookup.rb +92 -0
  773. data/vendored/puppet/lib/puppet/pops/merge_strategy.rb +434 -0
  774. data/vendored/puppet/lib/puppet/pops/migration/migration_checker.rb +58 -0
  775. data/vendored/puppet/lib/puppet/pops/model/ast.pp +695 -0
  776. data/vendored/puppet/lib/puppet/pops/model/ast.rb +4870 -0
  777. data/vendored/puppet/lib/puppet/pops/model/ast_transformer.rb +131 -0
  778. data/vendored/puppet/lib/puppet/pops/model/factory.rb +1145 -0
  779. data/vendored/puppet/lib/puppet/pops/model/model_label_provider.rb +132 -0
  780. data/vendored/puppet/lib/puppet/pops/model/model_tree_dumper.rb +463 -0
  781. data/vendored/puppet/lib/puppet/pops/model/tree_dumper.rb +59 -0
  782. data/vendored/puppet/lib/puppet/pops/parser/code_merger.rb +29 -0
  783. data/vendored/puppet/lib/puppet/pops/parser/egrammar.ra +937 -0
  784. data/vendored/puppet/lib/puppet/pops/parser/eparser.rb +3347 -0
  785. data/vendored/puppet/lib/puppet/pops/parser/epp_parser.rb +51 -0
  786. data/vendored/puppet/lib/puppet/pops/parser/epp_support.rb +262 -0
  787. data/vendored/puppet/lib/puppet/pops/parser/evaluating_parser.rb +165 -0
  788. data/vendored/puppet/lib/puppet/pops/parser/heredoc_support.rb +143 -0
  789. data/vendored/puppet/lib/puppet/pops/parser/interpolation_support.rb +244 -0
  790. data/vendored/puppet/lib/puppet/pops/parser/lexer2.rb +796 -0
  791. data/vendored/puppet/lib/puppet/pops/parser/lexer_support.rb +220 -0
  792. data/vendored/puppet/lib/puppet/pops/parser/locatable.rb +23 -0
  793. data/vendored/puppet/lib/puppet/pops/parser/locator.rb +344 -0
  794. data/vendored/puppet/lib/puppet/pops/parser/parser_support.rb +247 -0
  795. data/vendored/puppet/lib/puppet/pops/parser/slurp_support.rb +120 -0
  796. data/vendored/puppet/lib/puppet/pops/patterns.rb +60 -0
  797. data/vendored/puppet/lib/puppet/pops/pcore.rb +107 -0
  798. data/vendored/puppet/lib/puppet/pops/puppet_stack.rb +43 -0
  799. data/vendored/puppet/lib/puppet/pops/resource/param.rb +55 -0
  800. data/vendored/puppet/lib/puppet/pops/resource/resource_type_impl.rb +314 -0
  801. data/vendored/puppet/lib/puppet/pops/resource/resource_type_set.pcore +22 -0
  802. data/vendored/puppet/lib/puppet/pops/semantic_error.rb +29 -0
  803. data/vendored/puppet/lib/puppet/pops/serialization.rb +41 -0
  804. data/vendored/puppet/lib/puppet/pops/serialization/abstract_reader.rb +176 -0
  805. data/vendored/puppet/lib/puppet/pops/serialization/abstract_writer.rb +215 -0
  806. data/vendored/puppet/lib/puppet/pops/serialization/deserializer.rb +80 -0
  807. data/vendored/puppet/lib/puppet/pops/serialization/extension.rb +157 -0
  808. data/vendored/puppet/lib/puppet/pops/serialization/from_data_converter.rb +169 -0
  809. data/vendored/puppet/lib/puppet/pops/serialization/instance_reader.rb +19 -0
  810. data/vendored/puppet/lib/puppet/pops/serialization/instance_writer.rb +14 -0
  811. data/vendored/puppet/lib/puppet/pops/serialization/json.rb +297 -0
  812. data/vendored/puppet/lib/puppet/pops/serialization/json_path.rb +126 -0
  813. data/vendored/puppet/lib/puppet/pops/serialization/object.rb +71 -0
  814. data/vendored/puppet/lib/puppet/pops/serialization/serializer.rb +139 -0
  815. data/vendored/puppet/lib/puppet/pops/serialization/time_factory.rb +67 -0
  816. data/vendored/puppet/lib/puppet/pops/serialization/to_data_converter.rb +301 -0
  817. data/vendored/puppet/lib/puppet/pops/time/timespan.rb +718 -0
  818. data/vendored/puppet/lib/puppet/pops/time/timestamp.rb +160 -0
  819. data/vendored/puppet/lib/puppet/pops/types/annotatable.rb +36 -0
  820. data/vendored/puppet/lib/puppet/pops/types/annotation.rb +71 -0
  821. data/vendored/puppet/lib/puppet/pops/types/class_loader.rb +129 -0
  822. data/vendored/puppet/lib/puppet/pops/types/enumeration.rb +16 -0
  823. data/vendored/puppet/lib/puppet/pops/types/execution_result.rb +126 -0
  824. data/vendored/puppet/lib/puppet/pops/types/implementation_registry.rb +141 -0
  825. data/vendored/puppet/lib/puppet/pops/types/iterable.rb +330 -0
  826. data/vendored/puppet/lib/puppet/pops/types/p_binary_type.rb +226 -0
  827. data/vendored/puppet/lib/puppet/pops/types/p_error_type.rb +146 -0
  828. data/vendored/puppet/lib/puppet/pops/types/p_init_type.rb +238 -0
  829. data/vendored/puppet/lib/puppet/pops/types/p_meta_type.rb +90 -0
  830. data/vendored/puppet/lib/puppet/pops/types/p_object_type.rb +976 -0
  831. data/vendored/puppet/lib/puppet/pops/types/p_runtime_type.rb +115 -0
  832. data/vendored/puppet/lib/puppet/pops/types/p_sem_ver_range_type.rb +191 -0
  833. data/vendored/puppet/lib/puppet/pops/types/p_sem_ver_type.rb +141 -0
  834. data/vendored/puppet/lib/puppet/pops/types/p_sensitive_type.rb +73 -0
  835. data/vendored/puppet/lib/puppet/pops/types/p_timespan_type.rb +192 -0
  836. data/vendored/puppet/lib/puppet/pops/types/p_timestamp_type.rb +73 -0
  837. data/vendored/puppet/lib/puppet/pops/types/p_type_set_type.rb +361 -0
  838. data/vendored/puppet/lib/puppet/pops/types/puppet_object.rb +30 -0
  839. data/vendored/puppet/lib/puppet/pops/types/recursion_guard.rb +136 -0
  840. data/vendored/puppet/lib/puppet/pops/types/ruby_generator.rb +432 -0
  841. data/vendored/puppet/lib/puppet/pops/types/ruby_method.rb +31 -0
  842. data/vendored/puppet/lib/puppet/pops/types/string_converter.rb +1102 -0
  843. data/vendored/puppet/lib/puppet/pops/types/task.rb +116 -0
  844. data/vendored/puppet/lib/puppet/pops/types/tree_iterators.rb +250 -0
  845. data/vendored/puppet/lib/puppet/pops/types/type_acceptor.rb +25 -0
  846. data/vendored/puppet/lib/puppet/pops/types/type_asserter.rb +47 -0
  847. data/vendored/puppet/lib/puppet/pops/types/type_assertion_error.rb +27 -0
  848. data/vendored/puppet/lib/puppet/pops/types/type_calculator.rb +799 -0
  849. data/vendored/puppet/lib/puppet/pops/types/type_conversion_error.rb +15 -0
  850. data/vendored/puppet/lib/puppet/pops/types/type_factory.rb +599 -0
  851. data/vendored/puppet/lib/puppet/pops/types/type_formatter.rb +769 -0
  852. data/vendored/puppet/lib/puppet/pops/types/type_mismatch_describer.rb +1062 -0
  853. data/vendored/puppet/lib/puppet/pops/types/type_parser.rb +602 -0
  854. data/vendored/puppet/lib/puppet/pops/types/type_set_reference.rb +59 -0
  855. data/vendored/puppet/lib/puppet/pops/types/types.rb +3519 -0
  856. data/vendored/puppet/lib/puppet/pops/utils.rb +119 -0
  857. data/vendored/puppet/lib/puppet/pops/validation.rb +464 -0
  858. data/vendored/puppet/lib/puppet/pops/validation/checker4_0.rb +996 -0
  859. data/vendored/puppet/lib/puppet/pops/validation/tasks_checker.rb +60 -0
  860. data/vendored/puppet/lib/puppet/pops/validation/validator_factory_4_0.rb +43 -0
  861. data/vendored/puppet/lib/puppet/pops/visitable.rb +6 -0
  862. data/vendored/puppet/lib/puppet/pops/visitor.rb +116 -0
  863. data/vendored/puppet/lib/puppet/property.rb +600 -0
  864. data/vendored/puppet/lib/puppet/property/boolean.rb +7 -0
  865. data/vendored/puppet/lib/puppet/property/ensure.rb +105 -0
  866. data/vendored/puppet/lib/puppet/property/keyvalue.rb +95 -0
  867. data/vendored/puppet/lib/puppet/property/list.rb +69 -0
  868. data/vendored/puppet/lib/puppet/property/ordered_list.rb +29 -0
  869. data/vendored/puppet/lib/puppet/provider.rb +603 -0
  870. data/vendored/puppet/lib/puppet/provider/aixobject.rb +392 -0
  871. data/vendored/puppet/lib/puppet/provider/augeas/augeas.rb +567 -0
  872. data/vendored/puppet/lib/puppet/provider/cisco.rb +9 -0
  873. data/vendored/puppet/lib/puppet/provider/command.rb +25 -0
  874. data/vendored/puppet/lib/puppet/provider/computer/computer.rb +20 -0
  875. data/vendored/puppet/lib/puppet/provider/confine.rb +6 -0
  876. data/vendored/puppet/lib/puppet/provider/cron/crontab.rb +297 -0
  877. data/vendored/puppet/lib/puppet/provider/exec.rb +98 -0
  878. data/vendored/puppet/lib/puppet/provider/exec/posix.rb +48 -0
  879. data/vendored/puppet/lib/puppet/provider/exec/shell.rb +25 -0
  880. data/vendored/puppet/lib/puppet/provider/exec/windows.rb +55 -0
  881. data/vendored/puppet/lib/puppet/provider/file/posix.rb +136 -0
  882. data/vendored/puppet/lib/puppet/provider/file/windows.rb +104 -0
  883. data/vendored/puppet/lib/puppet/provider/group/aix.rb +141 -0
  884. data/vendored/puppet/lib/puppet/provider/group/directoryservice.rb +22 -0
  885. data/vendored/puppet/lib/puppet/provider/group/groupadd.rb +85 -0
  886. data/vendored/puppet/lib/puppet/provider/group/ldap.rb +45 -0
  887. data/vendored/puppet/lib/puppet/provider/group/pw.rb +49 -0
  888. data/vendored/puppet/lib/puppet/provider/group/windows_adsi.rb +109 -0
  889. data/vendored/puppet/lib/puppet/provider/host/parsed.rb +46 -0
  890. data/vendored/puppet/lib/puppet/provider/interface/cisco.rb +27 -0
  891. data/vendored/puppet/lib/puppet/provider/ldap.rb +137 -0
  892. data/vendored/puppet/lib/puppet/provider/macauthorization/macauthorization.rb +298 -0
  893. data/vendored/puppet/lib/puppet/provider/mailalias/aliases.rb +50 -0
  894. data/vendored/puppet/lib/puppet/provider/maillist/mailman.rb +108 -0
  895. data/vendored/puppet/lib/puppet/provider/mcx/mcxcontent.rb +173 -0
  896. data/vendored/puppet/lib/puppet/provider/mount.rb +59 -0
  897. data/vendored/puppet/lib/puppet/provider/mount/parsed.rb +282 -0
  898. data/vendored/puppet/lib/puppet/provider/naginator.rb +63 -0
  899. data/vendored/puppet/lib/puppet/provider/nameservice.rb +317 -0
  900. data/vendored/puppet/lib/puppet/provider/nameservice/directoryservice.rb +507 -0
  901. data/vendored/puppet/lib/puppet/provider/nameservice/objectadd.rb +33 -0
  902. data/vendored/puppet/lib/puppet/provider/nameservice/pw.rb +21 -0
  903. data/vendored/puppet/lib/puppet/provider/network_device.rb +72 -0
  904. data/vendored/puppet/lib/puppet/provider/package.rb +56 -0
  905. data/vendored/puppet/lib/puppet/provider/package/aix.rb +152 -0
  906. data/vendored/puppet/lib/puppet/provider/package/appdmg.rb +110 -0
  907. data/vendored/puppet/lib/puppet/provider/package/apple.rb +47 -0
  908. data/vendored/puppet/lib/puppet/provider/package/apt.rb +116 -0
  909. data/vendored/puppet/lib/puppet/provider/package/aptitude.rb +29 -0
  910. data/vendored/puppet/lib/puppet/provider/package/aptrpm.rb +83 -0
  911. data/vendored/puppet/lib/puppet/provider/package/blastwave.rb +111 -0
  912. data/vendored/puppet/lib/puppet/provider/package/dnf.rb +46 -0
  913. data/vendored/puppet/lib/puppet/provider/package/dpkg.rb +165 -0
  914. data/vendored/puppet/lib/puppet/provider/package/fink.rb +79 -0
  915. data/vendored/puppet/lib/puppet/provider/package/freebsd.rb +47 -0
  916. data/vendored/puppet/lib/puppet/provider/package/gem.rb +175 -0
  917. data/vendored/puppet/lib/puppet/provider/package/hpux.rb +44 -0
  918. data/vendored/puppet/lib/puppet/provider/package/macports.rb +107 -0
  919. data/vendored/puppet/lib/puppet/provider/package/nim.rb +283 -0
  920. data/vendored/puppet/lib/puppet/provider/package/openbsd.rb +242 -0
  921. data/vendored/puppet/lib/puppet/provider/package/opkg.rb +81 -0
  922. data/vendored/puppet/lib/puppet/provider/package/pacman.rb +267 -0
  923. data/vendored/puppet/lib/puppet/provider/package/pip.rb +188 -0
  924. data/vendored/puppet/lib/puppet/provider/package/pip3.rb +20 -0
  925. data/vendored/puppet/lib/puppet/provider/package/pkg.rb +249 -0
  926. data/vendored/puppet/lib/puppet/provider/package/pkgdmg.rb +152 -0
  927. data/vendored/puppet/lib/puppet/provider/package/pkgin.rb +87 -0
  928. data/vendored/puppet/lib/puppet/provider/package/pkgng.rb +143 -0
  929. data/vendored/puppet/lib/puppet/provider/package/pkgutil.rb +186 -0
  930. data/vendored/puppet/lib/puppet/provider/package/portage.rb +301 -0
  931. data/vendored/puppet/lib/puppet/provider/package/ports.rb +91 -0
  932. data/vendored/puppet/lib/puppet/provider/package/portupgrade.rb +239 -0
  933. data/vendored/puppet/lib/puppet/provider/package/puppet_gem.rb +17 -0
  934. data/vendored/puppet/lib/puppet/provider/package/rpm.rb +405 -0
  935. data/vendored/puppet/lib/puppet/provider/package/rug.rb +51 -0
  936. data/vendored/puppet/lib/puppet/provider/package/sun.rb +133 -0
  937. data/vendored/puppet/lib/puppet/provider/package/sunfreeware.rb +9 -0
  938. data/vendored/puppet/lib/puppet/provider/package/tdnf.rb +28 -0
  939. data/vendored/puppet/lib/puppet/provider/package/up2date.rb +40 -0
  940. data/vendored/puppet/lib/puppet/provider/package/urpmi.rb +55 -0
  941. data/vendored/puppet/lib/puppet/provider/package/windows.rb +113 -0
  942. data/vendored/puppet/lib/puppet/provider/package/windows/exe_package.rb +71 -0
  943. data/vendored/puppet/lib/puppet/provider/package/windows/msi_package.rb +62 -0
  944. data/vendored/puppet/lib/puppet/provider/package/windows/package.rb +100 -0
  945. data/vendored/puppet/lib/puppet/provider/package/yum.rb +278 -0
  946. data/vendored/puppet/lib/puppet/provider/package/zypper.rb +145 -0
  947. data/vendored/puppet/lib/puppet/provider/parsedfile.rb +459 -0
  948. data/vendored/puppet/lib/puppet/provider/scheduled_task/win32_taskscheduler.rb +590 -0
  949. data/vendored/puppet/lib/puppet/provider/selboolean/getsetsebool.rb +47 -0
  950. data/vendored/puppet/lib/puppet/provider/selmodule/semodule.rb +138 -0
  951. data/vendored/puppet/lib/puppet/provider/service/base.rb +121 -0
  952. data/vendored/puppet/lib/puppet/provider/service/bsd.rb +51 -0
  953. data/vendored/puppet/lib/puppet/provider/service/daemontools.rb +194 -0
  954. data/vendored/puppet/lib/puppet/provider/service/debian.rb +74 -0
  955. data/vendored/puppet/lib/puppet/provider/service/freebsd.rb +143 -0
  956. data/vendored/puppet/lib/puppet/provider/service/gentoo.rb +45 -0
  957. data/vendored/puppet/lib/puppet/provider/service/init.rb +193 -0
  958. data/vendored/puppet/lib/puppet/provider/service/launchd.rb +346 -0
  959. data/vendored/puppet/lib/puppet/provider/service/openbsd.rb +100 -0
  960. data/vendored/puppet/lib/puppet/provider/service/openrc.rb +71 -0
  961. data/vendored/puppet/lib/puppet/provider/service/openwrt.rb +36 -0
  962. data/vendored/puppet/lib/puppet/provider/service/rcng.rb +51 -0
  963. data/vendored/puppet/lib/puppet/provider/service/redhat.rb +71 -0
  964. data/vendored/puppet/lib/puppet/provider/service/runit.rb +111 -0
  965. data/vendored/puppet/lib/puppet/provider/service/service.rb +42 -0
  966. data/vendored/puppet/lib/puppet/provider/service/smf.rb +167 -0
  967. data/vendored/puppet/lib/puppet/provider/service/src.rb +147 -0
  968. data/vendored/puppet/lib/puppet/provider/service/systemd.rb +186 -0
  969. data/vendored/puppet/lib/puppet/provider/service/upstart.rb +359 -0
  970. data/vendored/puppet/lib/puppet/provider/service/windows.rb +106 -0
  971. data/vendored/puppet/lib/puppet/provider/ssh_authorized_key/parsed.rb +105 -0
  972. data/vendored/puppet/lib/puppet/provider/sshkey/parsed.rb +50 -0
  973. data/vendored/puppet/lib/puppet/provider/user/aix.rb +375 -0
  974. data/vendored/puppet/lib/puppet/provider/user/directoryservice.rb +632 -0
  975. data/vendored/puppet/lib/puppet/provider/user/hpux.rb +95 -0
  976. data/vendored/puppet/lib/puppet/provider/user/ldap.rb +128 -0
  977. data/vendored/puppet/lib/puppet/provider/user/openbsd.rb +75 -0
  978. data/vendored/puppet/lib/puppet/provider/user/pw.rb +98 -0
  979. data/vendored/puppet/lib/puppet/provider/user/user_role_add.rb +227 -0
  980. data/vendored/puppet/lib/puppet/provider/user/useradd.rb +231 -0
  981. data/vendored/puppet/lib/puppet/provider/user/windows_adsi.rb +148 -0
  982. data/vendored/puppet/lib/puppet/provider/vlan/cisco.rb +28 -0
  983. data/vendored/puppet/lib/puppet/provider/yumrepo/inifile.rb +304 -0
  984. data/vendored/puppet/lib/puppet/provider/zfs/zfs.rb +84 -0
  985. data/vendored/puppet/lib/puppet/provider/zone/solaris.rb +364 -0
  986. data/vendored/puppet/lib/puppet/provider/zpool/zpool.rb +125 -0
  987. data/vendored/puppet/lib/puppet/reference/configuration.rb +82 -0
  988. data/vendored/puppet/lib/puppet/reference/function.rb +17 -0
  989. data/vendored/puppet/lib/puppet/reference/indirection.rb +71 -0
  990. data/vendored/puppet/lib/puppet/reference/metaparameter.rb +35 -0
  991. data/vendored/puppet/lib/puppet/reference/providers.rb +118 -0
  992. data/vendored/puppet/lib/puppet/reference/report.rb +20 -0
  993. data/vendored/puppet/lib/puppet/reference/type.rb +114 -0
  994. data/vendored/puppet/lib/puppet/relationship.rb +88 -0
  995. data/vendored/puppet/lib/puppet/reports.rb +93 -0
  996. data/vendored/puppet/lib/puppet/reports/http.rb +37 -0
  997. data/vendored/puppet/lib/puppet/reports/log.rb +14 -0
  998. data/vendored/puppet/lib/puppet/reports/store.rb +68 -0
  999. data/vendored/puppet/lib/puppet/resource.rb +669 -0
  1000. data/vendored/puppet/lib/puppet/resource/capability_finder.rb +147 -0
  1001. data/vendored/puppet/lib/puppet/resource/catalog.rb +667 -0
  1002. data/vendored/puppet/lib/puppet/resource/status.rb +221 -0
  1003. data/vendored/puppet/lib/puppet/resource/type.rb +524 -0
  1004. data/vendored/puppet/lib/puppet/resource/type_collection.rb +263 -0
  1005. data/vendored/puppet/lib/puppet/scheduler.rb +16 -0
  1006. data/vendored/puppet/lib/puppet/scheduler/job.rb +53 -0
  1007. data/vendored/puppet/lib/puppet/scheduler/scheduler.rb +44 -0
  1008. data/vendored/puppet/lib/puppet/scheduler/splay_job.rb +32 -0
  1009. data/vendored/puppet/lib/puppet/scheduler/timer.rb +13 -0
  1010. data/vendored/puppet/lib/puppet/settings.rb +1457 -0
  1011. data/vendored/puppet/lib/puppet/settings/array_setting.rb +17 -0
  1012. data/vendored/puppet/lib/puppet/settings/autosign_setting.rb +22 -0
  1013. data/vendored/puppet/lib/puppet/settings/base_setting.rb +177 -0
  1014. data/vendored/puppet/lib/puppet/settings/boolean_setting.rb +32 -0
  1015. data/vendored/puppet/lib/puppet/settings/certificate_revocation_setting.rb +21 -0
  1016. data/vendored/puppet/lib/puppet/settings/config_file.rb +143 -0
  1017. data/vendored/puppet/lib/puppet/settings/directory_setting.rb +18 -0
  1018. data/vendored/puppet/lib/puppet/settings/duration_setting.rb +32 -0
  1019. data/vendored/puppet/lib/puppet/settings/enum_setting.rb +16 -0
  1020. data/vendored/puppet/lib/puppet/settings/environment_conf.rb +204 -0
  1021. data/vendored/puppet/lib/puppet/settings/errors.rb +11 -0
  1022. data/vendored/puppet/lib/puppet/settings/file_or_directory_setting.rb +40 -0
  1023. data/vendored/puppet/lib/puppet/settings/file_setting.rb +245 -0
  1024. data/vendored/puppet/lib/puppet/settings/ini_file.rb +200 -0
  1025. data/vendored/puppet/lib/puppet/settings/path_setting.rb +8 -0
  1026. data/vendored/puppet/lib/puppet/settings/priority_setting.rb +42 -0
  1027. data/vendored/puppet/lib/puppet/settings/server_list_setting.rb +20 -0
  1028. data/vendored/puppet/lib/puppet/settings/string_setting.rb +9 -0
  1029. data/vendored/puppet/lib/puppet/settings/symbolic_enum_setting.rb +17 -0
  1030. data/vendored/puppet/lib/puppet/settings/terminus_setting.rb +14 -0
  1031. data/vendored/puppet/lib/puppet/settings/ttl_setting.rb +46 -0
  1032. data/vendored/puppet/lib/puppet/settings/value_translator.rb +15 -0
  1033. data/vendored/puppet/lib/puppet/ssl.rb +13 -0
  1034. data/vendored/puppet/lib/puppet/ssl/base.rb +153 -0
  1035. data/vendored/puppet/lib/puppet/ssl/certificate.rb +95 -0
  1036. data/vendored/puppet/lib/puppet/ssl/certificate_authority.rb +553 -0
  1037. data/vendored/puppet/lib/puppet/ssl/certificate_authority/autosign_command.rb +45 -0
  1038. data/vendored/puppet/lib/puppet/ssl/certificate_authority/interface.rb +324 -0
  1039. data/vendored/puppet/lib/puppet/ssl/certificate_factory.rb +219 -0
  1040. data/vendored/puppet/lib/puppet/ssl/certificate_request.rb +327 -0
  1041. data/vendored/puppet/lib/puppet/ssl/certificate_request_attributes.rb +37 -0
  1042. data/vendored/puppet/lib/puppet/ssl/certificate_revocation_list.rb +111 -0
  1043. data/vendored/puppet/lib/puppet/ssl/certificate_signer.rb +27 -0
  1044. data/vendored/puppet/lib/puppet/ssl/configuration.rb +61 -0
  1045. data/vendored/puppet/lib/puppet/ssl/digest.rb +20 -0
  1046. data/vendored/puppet/lib/puppet/ssl/host.rb +400 -0
  1047. data/vendored/puppet/lib/puppet/ssl/inventory.rb +55 -0
  1048. data/vendored/puppet/lib/puppet/ssl/key.rb +63 -0
  1049. data/vendored/puppet/lib/puppet/ssl/oids.rb +187 -0
  1050. data/vendored/puppet/lib/puppet/ssl/validator.rb +60 -0
  1051. data/vendored/puppet/lib/puppet/ssl/validator/default_validator.rb +173 -0
  1052. data/vendored/puppet/lib/puppet/ssl/validator/no_validator.rb +20 -0
  1053. data/vendored/puppet/lib/puppet/status.rb +40 -0
  1054. data/vendored/puppet/lib/puppet/syntax_checkers.rb +3 -0
  1055. data/vendored/puppet/lib/puppet/syntax_checkers/base64.rb +41 -0
  1056. data/vendored/puppet/lib/puppet/syntax_checkers/json.rb +35 -0
  1057. data/vendored/puppet/lib/puppet/test/test_helper.rb +252 -0
  1058. data/vendored/puppet/lib/puppet/transaction.rb +417 -0
  1059. data/vendored/puppet/lib/puppet/transaction/additional_resource_generator.rb +220 -0
  1060. data/vendored/puppet/lib/puppet/transaction/event.rb +144 -0
  1061. data/vendored/puppet/lib/puppet/transaction/event_manager.rb +167 -0
  1062. data/vendored/puppet/lib/puppet/transaction/persistence.rb +84 -0
  1063. data/vendored/puppet/lib/puppet/transaction/report.rb +460 -0
  1064. data/vendored/puppet/lib/puppet/transaction/resource_harness.rb +318 -0
  1065. data/vendored/puppet/lib/puppet/type.rb +2664 -0
  1066. data/vendored/puppet/lib/puppet/type/augeas.rb +211 -0
  1067. data/vendored/puppet/lib/puppet/type/component.rb +88 -0
  1068. data/vendored/puppet/lib/puppet/type/computer.rb +66 -0
  1069. data/vendored/puppet/lib/puppet/type/cron.rb +475 -0
  1070. data/vendored/puppet/lib/puppet/type/exec.rb +622 -0
  1071. data/vendored/puppet/lib/puppet/type/file.rb +1039 -0
  1072. data/vendored/puppet/lib/puppet/type/file/checksum.rb +44 -0
  1073. data/vendored/puppet/lib/puppet/type/file/checksum_value.rb +53 -0
  1074. data/vendored/puppet/lib/puppet/type/file/content.rb +160 -0
  1075. data/vendored/puppet/lib/puppet/type/file/ctime.rb +20 -0
  1076. data/vendored/puppet/lib/puppet/type/file/data_sync.rb +92 -0
  1077. data/vendored/puppet/lib/puppet/type/file/ensure.rb +192 -0
  1078. data/vendored/puppet/lib/puppet/type/file/group.rb +41 -0
  1079. data/vendored/puppet/lib/puppet/type/file/mode.rb +177 -0
  1080. data/vendored/puppet/lib/puppet/type/file/mtime.rb +18 -0
  1081. data/vendored/puppet/lib/puppet/type/file/owner.rb +44 -0
  1082. data/vendored/puppet/lib/puppet/type/file/selcontext.rb +141 -0
  1083. data/vendored/puppet/lib/puppet/type/file/source.rb +356 -0
  1084. data/vendored/puppet/lib/puppet/type/file/target.rb +87 -0
  1085. data/vendored/puppet/lib/puppet/type/file/type.rb +19 -0
  1086. data/vendored/puppet/lib/puppet/type/filebucket.rb +117 -0
  1087. data/vendored/puppet/lib/puppet/type/group.rb +206 -0
  1088. data/vendored/puppet/lib/puppet/type/host.rb +95 -0
  1089. data/vendored/puppet/lib/puppet/type/interface.rb +121 -0
  1090. data/vendored/puppet/lib/puppet/type/k5login.rb +88 -0
  1091. data/vendored/puppet/lib/puppet/type/macauthorization.rb +167 -0
  1092. data/vendored/puppet/lib/puppet/type/mailalias.rb +46 -0
  1093. data/vendored/puppet/lib/puppet/type/maillist.rb +62 -0
  1094. data/vendored/puppet/lib/puppet/type/mcx.rb +98 -0
  1095. data/vendored/puppet/lib/puppet/type/mount.rb +310 -0
  1096. data/vendored/puppet/lib/puppet/type/nagios_command.rb +3 -0
  1097. data/vendored/puppet/lib/puppet/type/nagios_contact.rb +3 -0
  1098. data/vendored/puppet/lib/puppet/type/nagios_contactgroup.rb +3 -0
  1099. data/vendored/puppet/lib/puppet/type/nagios_host.rb +3 -0
  1100. data/vendored/puppet/lib/puppet/type/nagios_hostdependency.rb +3 -0
  1101. data/vendored/puppet/lib/puppet/type/nagios_hostescalation.rb +3 -0
  1102. data/vendored/puppet/lib/puppet/type/nagios_hostextinfo.rb +3 -0
  1103. data/vendored/puppet/lib/puppet/type/nagios_hostgroup.rb +3 -0
  1104. data/vendored/puppet/lib/puppet/type/nagios_service.rb +3 -0
  1105. data/vendored/puppet/lib/puppet/type/nagios_servicedependency.rb +3 -0
  1106. data/vendored/puppet/lib/puppet/type/nagios_serviceescalation.rb +3 -0
  1107. data/vendored/puppet/lib/puppet/type/nagios_serviceextinfo.rb +3 -0
  1108. data/vendored/puppet/lib/puppet/type/nagios_servicegroup.rb +3 -0
  1109. data/vendored/puppet/lib/puppet/type/nagios_timeperiod.rb +3 -0
  1110. data/vendored/puppet/lib/puppet/type/notify.rb +46 -0
  1111. data/vendored/puppet/lib/puppet/type/package.rb +571 -0
  1112. data/vendored/puppet/lib/puppet/type/resources.rb +180 -0
  1113. data/vendored/puppet/lib/puppet/type/router.rb +17 -0
  1114. data/vendored/puppet/lib/puppet/type/schedule.rb +469 -0
  1115. data/vendored/puppet/lib/puppet/type/scheduled_task.rb +183 -0
  1116. data/vendored/puppet/lib/puppet/type/selboolean.rb +26 -0
  1117. data/vendored/puppet/lib/puppet/type/selmodule.rb +59 -0
  1118. data/vendored/puppet/lib/puppet/type/service.rb +258 -0
  1119. data/vendored/puppet/lib/puppet/type/ssh_authorized_key.rb +143 -0
  1120. data/vendored/puppet/lib/puppet/type/sshkey.rb +83 -0
  1121. data/vendored/puppet/lib/puppet/type/stage.rb +27 -0
  1122. data/vendored/puppet/lib/puppet/type/tidy.rb +336 -0
  1123. data/vendored/puppet/lib/puppet/type/user.rb +770 -0
  1124. data/vendored/puppet/lib/puppet/type/vlan.rb +26 -0
  1125. data/vendored/puppet/lib/puppet/type/whit.rb +34 -0
  1126. data/vendored/puppet/lib/puppet/type/yumrepo.rb +409 -0
  1127. data/vendored/puppet/lib/puppet/type/zfs.rb +150 -0
  1128. data/vendored/puppet/lib/puppet/type/zone.rb +382 -0
  1129. data/vendored/puppet/lib/puppet/type/zpool.rb +91 -0
  1130. data/vendored/puppet/lib/puppet/util.rb +705 -0
  1131. data/vendored/puppet/lib/puppet/util/at_fork.rb +35 -0
  1132. data/vendored/puppet/lib/puppet/util/at_fork/noop.rb +18 -0
  1133. data/vendored/puppet/lib/puppet/util/at_fork/solaris.rb +158 -0
  1134. data/vendored/puppet/lib/puppet/util/autoload.rb +226 -0
  1135. data/vendored/puppet/lib/puppet/util/backups.rb +86 -0
  1136. data/vendored/puppet/lib/puppet/util/character_encoding.rb +98 -0
  1137. data/vendored/puppet/lib/puppet/util/checksums.rb +282 -0
  1138. data/vendored/puppet/lib/puppet/util/classgen.rb +228 -0
  1139. data/vendored/puppet/lib/puppet/util/colors.rb +100 -0
  1140. data/vendored/puppet/lib/puppet/util/command_line.rb +185 -0
  1141. data/vendored/puppet/lib/puppet/util/command_line/puppet_option_parser.rb +87 -0
  1142. data/vendored/puppet/lib/puppet/util/command_line/trollop.rb +824 -0
  1143. data/vendored/puppet/lib/puppet/util/constant_inflector.rb +24 -0
  1144. data/vendored/puppet/lib/puppet/util/diff.rb +79 -0
  1145. data/vendored/puppet/lib/puppet/util/docs.rb +128 -0
  1146. data/vendored/puppet/lib/puppet/util/errors.rb +108 -0
  1147. data/vendored/puppet/lib/puppet/util/execution.rb +412 -0
  1148. data/vendored/puppet/lib/puppet/util/execution_stub.rb +26 -0
  1149. data/vendored/puppet/lib/puppet/util/feature.rb +95 -0
  1150. data/vendored/puppet/lib/puppet/util/file_watcher.rb +28 -0
  1151. data/vendored/puppet/lib/puppet/util/fileparsing.rb +377 -0
  1152. data/vendored/puppet/lib/puppet/util/filetype.rb +309 -0
  1153. data/vendored/puppet/lib/puppet/util/http_proxy.rb +197 -0
  1154. data/vendored/puppet/lib/puppet/util/inifile.rb +341 -0
  1155. data/vendored/puppet/lib/puppet/util/instance_loader.rb +81 -0
  1156. data/vendored/puppet/lib/puppet/util/json_lockfile.rb +44 -0
  1157. data/vendored/puppet/lib/puppet/util/ldap.rb +2 -0
  1158. data/vendored/puppet/lib/puppet/util/ldap/connection.rb +71 -0
  1159. data/vendored/puppet/lib/puppet/util/ldap/generator.rb +42 -0
  1160. data/vendored/puppet/lib/puppet/util/ldap/manager.rb +278 -0
  1161. data/vendored/puppet/lib/puppet/util/libuser.conf +15 -0
  1162. data/vendored/puppet/lib/puppet/util/libuser.rb +12 -0
  1163. data/vendored/puppet/lib/puppet/util/limits.rb +12 -0
  1164. data/vendored/puppet/lib/puppet/util/lockfile.rb +66 -0
  1165. data/vendored/puppet/lib/puppet/util/log.rb +423 -0
  1166. data/vendored/puppet/lib/puppet/util/log/destination.rb +49 -0
  1167. data/vendored/puppet/lib/puppet/util/log/destinations.rb +249 -0
  1168. data/vendored/puppet/lib/puppet/util/logging.rb +318 -0
  1169. data/vendored/puppet/lib/puppet/util/metaid.rb +21 -0
  1170. data/vendored/puppet/lib/puppet/util/methodhelper.rb +32 -0
  1171. data/vendored/puppet/lib/puppet/util/metric.rb +64 -0
  1172. data/vendored/puppet/lib/puppet/util/monkey_patches.rb +108 -0
  1173. data/vendored/puppet/lib/puppet/util/multi_match.rb +51 -0
  1174. data/vendored/puppet/lib/puppet/util/nagios_maker.rb +85 -0
  1175. data/vendored/puppet/lib/puppet/util/network_device.rb +17 -0
  1176. data/vendored/puppet/lib/puppet/util/network_device/base.rb +23 -0
  1177. data/vendored/puppet/lib/puppet/util/network_device/cisco.rb +4 -0
  1178. data/vendored/puppet/lib/puppet/util/network_device/cisco/device.rb +285 -0
  1179. data/vendored/puppet/lib/puppet/util/network_device/cisco/facts.rb +72 -0
  1180. data/vendored/puppet/lib/puppet/util/network_device/cisco/interface.rb +94 -0
  1181. data/vendored/puppet/lib/puppet/util/network_device/config.rb +98 -0
  1182. data/vendored/puppet/lib/puppet/util/network_device/ipcalc.rb +68 -0
  1183. data/vendored/puppet/lib/puppet/util/network_device/transport.rb +5 -0
  1184. data/vendored/puppet/lib/puppet/util/network_device/transport/base.rb +26 -0
  1185. data/vendored/puppet/lib/puppet/util/network_device/transport/ssh.rb +126 -0
  1186. data/vendored/puppet/lib/puppet/util/network_device/transport/telnet.rb +47 -0
  1187. data/vendored/puppet/lib/puppet/util/package.rb +31 -0
  1188. data/vendored/puppet/lib/puppet/util/pidlock.rb +62 -0
  1189. data/vendored/puppet/lib/puppet/util/platform.rb +22 -0
  1190. data/vendored/puppet/lib/puppet/util/plist.rb +153 -0
  1191. data/vendored/puppet/lib/puppet/util/posix.rb +137 -0
  1192. data/vendored/puppet/lib/puppet/util/profiler.rb +53 -0
  1193. data/vendored/puppet/lib/puppet/util/profiler/aggregate.rb +85 -0
  1194. data/vendored/puppet/lib/puppet/util/profiler/around_profiler.rb +67 -0
  1195. data/vendored/puppet/lib/puppet/util/profiler/logging.rb +48 -0
  1196. data/vendored/puppet/lib/puppet/util/profiler/object_counts.rb +17 -0
  1197. data/vendored/puppet/lib/puppet/util/profiler/wall_clock.rb +35 -0
  1198. data/vendored/puppet/lib/puppet/util/provider_features.rb +184 -0
  1199. data/vendored/puppet/lib/puppet/util/psych_support.rb +30 -0
  1200. data/vendored/puppet/lib/puppet/util/rdoc.rb +60 -0
  1201. data/vendored/puppet/lib/puppet/util/rdoc/code_objects.rb +294 -0
  1202. data/vendored/puppet/lib/puppet/util/rdoc/generators/puppet_generator.rb +910 -0
  1203. data/vendored/puppet/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +1085 -0
  1204. data/vendored/puppet/lib/puppet/util/rdoc/parser.rb +12 -0
  1205. data/vendored/puppet/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +259 -0
  1206. data/vendored/puppet/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +14 -0
  1207. data/vendored/puppet/lib/puppet/util/reference.rb +126 -0
  1208. data/vendored/puppet/lib/puppet/util/resource_template.rb +61 -0
  1209. data/vendored/puppet/lib/puppet/util/retry_action.rb +46 -0
  1210. data/vendored/puppet/lib/puppet/util/rubygems.rb +75 -0
  1211. data/vendored/puppet/lib/puppet/util/run_mode.rb +110 -0
  1212. data/vendored/puppet/lib/puppet/util/selinux.rb +264 -0
  1213. data/vendored/puppet/lib/puppet/util/skip_tags.rb +9 -0
  1214. data/vendored/puppet/lib/puppet/util/splayer.rb +18 -0
  1215. data/vendored/puppet/lib/puppet/util/ssl.rb +53 -0
  1216. data/vendored/puppet/lib/puppet/util/storage.rb +89 -0
  1217. data/vendored/puppet/lib/puppet/util/suidmanager.rb +165 -0
  1218. data/vendored/puppet/lib/puppet/util/symbolic_file_mode.rb +144 -0
  1219. data/vendored/puppet/lib/puppet/util/tag_set.rb +27 -0
  1220. data/vendored/puppet/lib/puppet/util/tagging.rb +118 -0
  1221. data/vendored/puppet/lib/puppet/util/terminal.rb +16 -0
  1222. data/vendored/puppet/lib/puppet/util/user_attr.rb +21 -0
  1223. data/vendored/puppet/lib/puppet/util/warnings.rb +33 -0
  1224. data/vendored/puppet/lib/puppet/util/watched_file.rb +37 -0
  1225. data/vendored/puppet/lib/puppet/util/watcher.rb +17 -0
  1226. data/vendored/puppet/lib/puppet/util/watcher/change_watcher.rb +33 -0
  1227. data/vendored/puppet/lib/puppet/util/watcher/periodic_watcher.rb +37 -0
  1228. data/vendored/puppet/lib/puppet/util/watcher/timer.rb +19 -0
  1229. data/vendored/puppet/lib/puppet/util/windows.rb +35 -0
  1230. data/vendored/puppet/lib/puppet/util/windows/access_control_entry.rb +84 -0
  1231. data/vendored/puppet/lib/puppet/util/windows/access_control_list.rb +113 -0
  1232. data/vendored/puppet/lib/puppet/util/windows/adsi.rb +548 -0
  1233. data/vendored/puppet/lib/puppet/util/windows/api_types.rb +282 -0
  1234. data/vendored/puppet/lib/puppet/util/windows/com.rb +224 -0
  1235. data/vendored/puppet/lib/puppet/util/windows/error.rb +83 -0
  1236. data/vendored/puppet/lib/puppet/util/windows/eventlog.rb +192 -0
  1237. data/vendored/puppet/lib/puppet/util/windows/file.rb +488 -0
  1238. data/vendored/puppet/lib/puppet/util/windows/principal.rb +191 -0
  1239. data/vendored/puppet/lib/puppet/util/windows/process.rb +497 -0
  1240. data/vendored/puppet/lib/puppet/util/windows/registry.rb +374 -0
  1241. data/vendored/puppet/lib/puppet/util/windows/root_certs.rb +108 -0
  1242. data/vendored/puppet/lib/puppet/util/windows/security.rb +857 -0
  1243. data/vendored/puppet/lib/puppet/util/windows/security_descriptor.rb +62 -0
  1244. data/vendored/puppet/lib/puppet/util/windows/sid.rb +231 -0
  1245. data/vendored/puppet/lib/puppet/util/windows/string.rb +16 -0
  1246. data/vendored/puppet/lib/puppet/util/windows/taskscheduler.rb +1276 -0
  1247. data/vendored/puppet/lib/puppet/util/windows/user.rb +309 -0
  1248. data/vendored/puppet/lib/puppet/util/yaml.rb +36 -0
  1249. data/vendored/puppet/lib/puppet/vendor.rb +57 -0
  1250. data/vendored/puppet/lib/puppet/vendor/deep_merge/CHANGELOG +45 -0
  1251. data/vendored/puppet/lib/puppet/vendor/deep_merge/Gemfile +3 -0
  1252. data/vendored/puppet/lib/puppet/vendor/deep_merge/LICENSE +21 -0
  1253. data/vendored/puppet/lib/puppet/vendor/deep_merge/PUPPET_README.md +6 -0
  1254. data/vendored/puppet/lib/puppet/vendor/deep_merge/README.md +113 -0
  1255. data/vendored/puppet/lib/puppet/vendor/deep_merge/Rakefile +19 -0
  1256. data/vendored/puppet/lib/puppet/vendor/deep_merge/deep_merge.gemspec +35 -0
  1257. data/vendored/puppet/lib/puppet/vendor/deep_merge/lib/deep_merge.rb +2 -0
  1258. data/vendored/puppet/lib/puppet/vendor/deep_merge/lib/deep_merge/core.rb +210 -0
  1259. data/vendored/puppet/lib/puppet/vendor/deep_merge/lib/deep_merge/deep_merge_hash.rb +28 -0
  1260. data/vendored/puppet/lib/puppet/vendor/deep_merge/lib/deep_merge/rails_compat.rb +27 -0
  1261. data/vendored/puppet/lib/puppet/vendor/deep_merge/test/test_deep_merge.rb +608 -0
  1262. data/vendored/puppet/lib/puppet/vendor/load_deep_merge.rb +1 -0
  1263. data/vendored/puppet/lib/puppet/vendor/load_pathspec.rb +1 -0
  1264. data/vendored/puppet/lib/puppet/vendor/load_semantic.rb +1 -0
  1265. data/vendored/puppet/lib/puppet/vendor/load_semantic_puppet.rb +1 -0
  1266. data/vendored/puppet/lib/puppet/vendor/pathspec/CHANGELOG.md +2 -0
  1267. data/vendored/puppet/lib/puppet/vendor/pathspec/LICENSE +201 -0
  1268. data/vendored/puppet/lib/puppet/vendor/pathspec/PUPPET_README.md +6 -0
  1269. data/vendored/puppet/lib/puppet/vendor/pathspec/README.md +53 -0
  1270. data/vendored/puppet/lib/puppet/vendor/pathspec/lib/pathspec.rb +122 -0
  1271. data/vendored/puppet/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +275 -0
  1272. data/vendored/puppet/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +17 -0
  1273. data/vendored/puppet/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +14 -0
  1274. data/vendored/puppet/lib/puppet/vendor/require_vendored.rb +6 -0
  1275. data/vendored/puppet/lib/puppet/vendor/semantic/lib/semantic.rb +5 -0
  1276. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet.rb +7 -0
  1277. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency.rb +181 -0
  1278. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/graph.rb +60 -0
  1279. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/graph_node.rb +117 -0
  1280. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/module_release.rb +58 -0
  1281. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/source.rb +25 -0
  1282. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/unsatisfiable_graph.rb +31 -0
  1283. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/gem_version.rb +3 -0
  1284. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/version.rb +203 -0
  1285. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/version_range.rb +758 -0
  1286. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/locales/config.yaml +21 -0
  1287. data/vendored/puppet/lib/puppet/version.rb +93 -0
  1288. data/vendored/puppet/lib/puppet_pal.rb +290 -0
  1289. data/vendored/puppet/lib/puppet_x.rb +14 -0
  1290. data/vendored/require_vendored.rb +11 -0
  1291. metadata +1501 -9
@@ -0,0 +1,106 @@
1
+ # Windows Service Control Manager (SCM) provider
2
+
3
+ Puppet::Type.type(:service).provide :windows, :parent => :service do
4
+
5
+ desc <<-EOT
6
+ Support for Windows Service Control Manager (SCM). This provider can
7
+ start, stop, enable, and disable services, and the SCM provides working
8
+ status methods for all services.
9
+
10
+ Control of service groups (dependencies) is not yet supported, nor is running
11
+ services as a specific user.
12
+ EOT
13
+
14
+ defaultfor :operatingsystem => :windows
15
+ confine :operatingsystem => :windows
16
+
17
+ has_feature :refreshable
18
+
19
+ commands :net => 'net.exe'
20
+
21
+ def enable
22
+ w32ss = Win32::Service.configure( 'service_name' => @resource[:name], 'start_type' => Win32::Service::SERVICE_AUTO_START )
23
+ raise Puppet::Error.new("Win32 service enable of #{@resource[:name]} failed" ) if( w32ss.nil? )
24
+ rescue => detail
25
+ raise Puppet::Error.new("Cannot enable #{@resource[:name]}, error was: #{detail}", detail )
26
+ end
27
+
28
+ def disable
29
+ w32ss = Win32::Service.configure( 'service_name' => @resource[:name], 'start_type' => Win32::Service::SERVICE_DISABLED )
30
+ raise Puppet::Error.new("Win32 service disable of #{@resource[:name]} failed" ) if( w32ss.nil? )
31
+ rescue => detail
32
+ raise Puppet::Error.new("Cannot disable #{@resource[:name]}, error was: #{detail}", detail )
33
+ end
34
+
35
+ def manual_start
36
+ w32ss = Win32::Service.configure( 'service_name' => @resource[:name], 'start_type' => Win32::Service::SERVICE_DEMAND_START )
37
+ raise Puppet::Error.new("Win32 service manual enable of #{@resource[:name]} failed" ) if( w32ss.nil? )
38
+ rescue => detail
39
+ raise Puppet::Error.new("Cannot enable #{@resource[:name]} for manual start, error was: #{detail}", detail )
40
+ end
41
+
42
+ def enabled?
43
+ w32ss = Win32::Service.config_info( @resource[:name] )
44
+ raise Puppet::Error.new("Win32 service query of #{@resource[:name]} failed" ) unless( !w32ss.nil? && w32ss.instance_of?( Struct::ServiceConfigInfo ) )
45
+ debug("Service #{@resource[:name]} start type is #{w32ss.start_type}")
46
+ case w32ss.start_type
47
+ when Win32::Service.get_start_type(Win32::Service::SERVICE_AUTO_START),
48
+ Win32::Service.get_start_type(Win32::Service::SERVICE_BOOT_START),
49
+ Win32::Service.get_start_type(Win32::Service::SERVICE_SYSTEM_START)
50
+ :true
51
+ when Win32::Service.get_start_type(Win32::Service::SERVICE_DEMAND_START)
52
+ :manual
53
+ when Win32::Service.get_start_type(Win32::Service::SERVICE_DISABLED)
54
+ :false
55
+ else
56
+ raise Puppet::Error.new("Unknown start type: #{w32ss.start_type}")
57
+ end
58
+ rescue => detail
59
+ raise Puppet::Error.new("Cannot get start type for #{@resource[:name]}, error was: #{detail}", detail )
60
+ end
61
+
62
+ def start
63
+ if enabled? == :false
64
+ # If disabled and not managing enable, respect disabled and fail.
65
+ if @resource[:enable].nil?
66
+ raise Puppet::Error, "Will not start disabled service #{@resource[:name]} without managing enable. Specify 'enable => false' to override."
67
+ # Otherwise start. If enable => false, we will later sync enable and
68
+ # disable the service again.
69
+ elsif @resource[:enable] == :true
70
+ enable
71
+ else
72
+ manual_start
73
+ end
74
+ end
75
+
76
+ net(:start, @resource[:name])
77
+ rescue Puppet::ExecutionFailure => detail
78
+ raise Puppet::Error.new("Cannot start #{@resource[:name]}, error was: #{detail}", detail )
79
+ end
80
+
81
+ def stop
82
+ net(:stop, @resource[:name])
83
+ rescue Puppet::ExecutionFailure => detail
84
+ raise Puppet::Error.new("Cannot stop #{@resource[:name]}, error was: #{detail}", detail )
85
+ end
86
+
87
+ def status
88
+ w32ss = Win32::Service.status( @resource[:name] )
89
+ raise Puppet::Error.new("Win32 service query of #{@resource[:name]} failed" ) unless( !w32ss.nil? && w32ss.instance_of?( Struct::ServiceStatus ) )
90
+ state = case w32ss.current_state
91
+ when "stopped", "pause pending", "stop pending", "paused" then :stopped
92
+ when "running", "continue pending", "start pending" then :running
93
+ else
94
+ raise Puppet::Error.new("Unknown service state '#{w32ss.current_state}' for service '#{@resource[:name]}'")
95
+ end
96
+ debug("Service #{@resource[:name]} is #{w32ss.current_state}")
97
+ return state
98
+ rescue => detail
99
+ raise Puppet::Error.new("Cannot get status of #{@resource[:name]}, error was: #{detail}", detail )
100
+ end
101
+
102
+ # returns all providers for all existing services and startup state
103
+ def self.instances
104
+ Win32::Service.services.collect { |s| new(:name => s.service_name) }
105
+ end
106
+ end
@@ -0,0 +1,105 @@
1
+ require 'puppet/provider/parsedfile'
2
+
3
+ Puppet::Type.type(:ssh_authorized_key).provide(
4
+ :parsed,
5
+ :parent => Puppet::Provider::ParsedFile,
6
+ :filetype => :flat,
7
+ :default_target => ''
8
+ ) do
9
+ desc "Parse and generate authorized_keys files for SSH."
10
+
11
+ text_line :comment, :match => /^\s*#/
12
+ text_line :blank, :match => /^\s*$/
13
+
14
+ record_line :parsed,
15
+ :fields => %w{options type key name},
16
+ :optional => %w{options},
17
+ :rts => /^\s+/,
18
+ :match => Puppet::Type.type(:ssh_authorized_key).keyline_regex,
19
+ :post_parse => proc { |h|
20
+ h[:name] = "" if h[:name] == :absent
21
+ h[:options] ||= [:absent]
22
+ h[:options] = Puppet::Type::Ssh_authorized_key::ProviderParsed.parse_options(h[:options]) if h[:options].is_a? String
23
+ },
24
+ :pre_gen => proc { |h|
25
+ # if this name was generated, don't write it back to disk
26
+ h[:name] = "" if h[:unnamed]
27
+ h[:options] = [] if h[:options].include?(:absent)
28
+ h[:options] = h[:options].join(',')
29
+ }
30
+
31
+ record_line :key_v1,
32
+ :fields => %w{options bits exponent modulus name},
33
+ :optional => %w{options},
34
+ :rts => /^\s+/,
35
+ :match => /^(?:(.+) )?(\d+) (\d+) (\d+)(?: (.+))?$/
36
+
37
+ def dir_perm
38
+ 0700
39
+ end
40
+
41
+ def file_perm
42
+ 0600
43
+ end
44
+
45
+ def user
46
+ uid = Puppet::FileSystem.stat(target).uid
47
+ Etc.getpwuid(uid).name
48
+ end
49
+
50
+ def flush
51
+ raise Puppet::Error, "Cannot write SSH authorized keys without user" unless @resource.should(:user)
52
+ raise Puppet::Error, "User '#{@resource.should(:user)}' does not exist" unless Puppet::Util.uid(@resource.should(:user))
53
+ # ParsedFile usually calls backup_target much later in the flush process,
54
+ # but our SUID makes that fail to open filebucket files for writing.
55
+ # Fortunately, there's already logic to make sure it only ever happens once,
56
+ # so calling it here suppresses the later attempt by our superclass's flush method.
57
+ self.class.backup_target(target)
58
+
59
+ Puppet::Util::SUIDManager.asuser(@resource.should(:user)) do
60
+ unless Puppet::FileSystem.exist?(dir = File.dirname(target))
61
+ Puppet.debug "Creating #{dir}"
62
+ Dir.mkdir(dir, dir_perm)
63
+ end
64
+
65
+ super
66
+
67
+ File.chmod(file_perm, target)
68
+ end
69
+ end
70
+
71
+ # Parse sshv2 option strings, which is a comma-separated list of
72
+ # either key="values" elements or bare-word elements
73
+ def self.parse_options(options)
74
+ result = []
75
+ scanner = StringScanner.new(options)
76
+ while !scanner.eos?
77
+ scanner.skip(/[ \t]*/)
78
+ # scan a long option
79
+ if out = scanner.scan(/[-a-z0-9A-Z_]+=\".*?[^\\]\"/) or out = scanner.scan(/[-a-z0-9A-Z_]+/)
80
+ result << out
81
+ else
82
+ # found an unscannable token, let's abort
83
+ break
84
+ end
85
+ # eat a comma
86
+ scanner.skip(/[ \t]*,[ \t]*/)
87
+ end
88
+ result
89
+ end
90
+
91
+ def self.prefetch_hook(records)
92
+ name_index = 0
93
+ records.each do |record|
94
+ if record[:record_type] == :parsed && record[:name].empty?
95
+ record[:unnamed] = true
96
+ # Generate a unique ID for unnamed keys, in case they need purging.
97
+ # If you change this, you have to keep
98
+ # Puppet::Type::User#unknown_keys_in_file in sync! (PUP-3357)
99
+ record[:name] = "#{record[:target]}:unnamed-#{ name_index += 1 }"
100
+ Puppet.debug("generating name for on-disk ssh_authorized_key #{record[:key]}: #{record[:name]}")
101
+ end
102
+ end
103
+ end
104
+ end
105
+
@@ -0,0 +1,50 @@
1
+ require 'puppet/provider/parsedfile'
2
+
3
+ Puppet::Type.type(:sshkey).provide(
4
+ :parsed,
5
+ :parent => Puppet::Provider::ParsedFile,
6
+ :filetype => :flat
7
+ ) do
8
+ desc "Parse and generate host-wide known hosts files for SSH."
9
+
10
+ text_line :comment, :match => /^#/
11
+ text_line :blank, :match => /^\s*$/
12
+
13
+ record_line :parsed, :fields => %w{name type key},
14
+ :post_parse => proc { |hash|
15
+ names = hash[:name].split(",", -1)
16
+ hash[:name] = names.shift
17
+ hash[:host_aliases] = names
18
+ },
19
+ :pre_gen => proc { |hash|
20
+ if hash[:host_aliases]
21
+ hash[:name] = [hash[:name], hash[:host_aliases]].flatten.join(",")
22
+ hash.delete(:host_aliases)
23
+ end
24
+ }
25
+
26
+ # Make sure to use mode 644 if ssh_known_hosts is newly created
27
+ def self.default_mode
28
+ 0644
29
+ end
30
+
31
+ def self.default_target
32
+ case Facter.value(:operatingsystem)
33
+ when "Darwin"
34
+ # Versions 10.11 and up use /etc/ssh/ssh_known_hosts
35
+ version = Facter.value(:macosx_productversion_major)
36
+ if version
37
+ if Puppet::Util::Package.versioncmp(version, '10.11') >= 0
38
+ "/etc/ssh/ssh_known_hosts"
39
+ else
40
+ "/etc/ssh_known_hosts"
41
+ end
42
+ else
43
+ "/etc/ssh_known_hosts"
44
+ end
45
+ else
46
+ "/etc/ssh/ssh_known_hosts"
47
+ end
48
+ end
49
+ end
50
+
@@ -0,0 +1,375 @@
1
+ #
2
+ # User Puppet provider for AIX. It uses standard commands to manage users:
3
+ # mkuser, rmuser, lsuser, chuser
4
+ #
5
+ # Notes:
6
+ # - AIX users can have expiry date defined with minute granularity,
7
+ # but puppet does not allow it. There is a ticket open for that (#5431)
8
+ # - AIX maximum password age is in WEEKs, not days
9
+ #
10
+ # See https://docs.puppetlabs.com/guides/provider_development.html
11
+ # for more information
12
+ #
13
+ # Author:: Hector Rivas Gandara <keymon@gmail.com>
14
+ #
15
+ require 'puppet/provider/aixobject'
16
+ require 'tempfile'
17
+ require 'date'
18
+
19
+ Puppet::Type.type(:user).provide :aix, :parent => Puppet::Provider::AixObject do
20
+ desc "User management for AIX."
21
+
22
+ # This will the default provider for this platform
23
+ defaultfor :operatingsystem => :aix
24
+ confine :operatingsystem => :aix
25
+
26
+ # Commands that manage the element
27
+ commands :list => "/usr/sbin/lsuser"
28
+ commands :add => "/usr/bin/mkuser"
29
+ commands :delete => "/usr/sbin/rmuser"
30
+ commands :modify => "/usr/bin/chuser"
31
+
32
+ commands :lsgroup => "/usr/sbin/lsgroup"
33
+ commands :chpasswd => "/bin/chpasswd"
34
+
35
+ # Provider features
36
+ has_features :manages_aix_lam
37
+ has_features :manages_homedir, :manages_passwords, :manages_shell
38
+ has_features :manages_expiry, :manages_password_age
39
+
40
+ # Attribute verification (TODO)
41
+ #verify :gid, "GID must be a string or int of a valid group" do |value|
42
+ # value.is_a? String || value.is_a? Integer
43
+ #end
44
+ #
45
+ #verify :groups, "Groups must be comma-separated" do |value|
46
+ # value !~ /\s/
47
+ #end
48
+
49
+ # User attributes to ignore from AIX output.
50
+ def self.attribute_ignore
51
+ ["name"]
52
+ end
53
+
54
+ # AIX attributes to properties mapping.
55
+ #
56
+ # Valid attributes to be managed by this provider.
57
+ # It is a list with of hash
58
+ # :aix_attr AIX command attribute name
59
+ # :puppet_prop Puppet property name
60
+ # :to Method to adapt puppet property to aix command value. Optional.
61
+ # :from Method to adapt aix command value to puppet property. Optional
62
+ self.attribute_mapping = [
63
+ {:aix_attr => :pgrp, :puppet_prop => :gid,
64
+ :to => :gid_to_attr,
65
+ :from => :gid_from_attr },
66
+ {:aix_attr => :id, :puppet_prop => :uid},
67
+ {:aix_attr => :groups, :puppet_prop => :groups},
68
+ {:aix_attr => :home, :puppet_prop => :home},
69
+ {:aix_attr => :shell, :puppet_prop => :shell},
70
+ {:aix_attr => :expires, :puppet_prop => :expiry,
71
+ :to => :expiry_to_attr,
72
+ :from => :expiry_from_attr },
73
+ {:aix_attr => :maxage, :puppet_prop => :password_max_age},
74
+ {:aix_attr => :minage, :puppet_prop => :password_min_age},
75
+ {:aix_attr => :attributes, :puppet_prop => :attributes},
76
+ { :aix_attr => :gecos, :puppet_prop => :comment },
77
+ ]
78
+
79
+ #--------------
80
+ # Command definition
81
+
82
+ # Return the IA module arguments based on the resource param ia_load_module
83
+ def get_ia_module_args
84
+ if @resource[:ia_load_module]
85
+ ["-R", @resource[:ia_load_module].to_s]
86
+ else
87
+ []
88
+ end
89
+ end
90
+
91
+ # List groups and Ids
92
+ def lsgroupscmd(value=@resource[:name])
93
+ [command(:lsgroup)] +
94
+ self.get_ia_module_args +
95
+ ["-a", "id", value]
96
+ end
97
+
98
+ def lscmd(value=@resource[:name])
99
+ [self.class.command(:list), "-c"] + self.get_ia_module_args + [ value]
100
+ end
101
+
102
+ def lsallcmd()
103
+ lscmd("ALL")
104
+ end
105
+
106
+ def addcmd(extra_attrs = [])
107
+ # Here we use the @resource.to_hash to get the list of provided parameters
108
+ # Puppet does not call to self.<parameter>= method if it does not exists.
109
+ #
110
+ # It gets an extra list of arguments to add to the user.
111
+ [self.class.command(:add)] + self.get_ia_module_args +
112
+ self.hash2args(@resource.to_hash) +
113
+ extra_attrs + [@resource[:name]]
114
+ end
115
+
116
+ # Get modify command. Set translate=false if no mapping must be used.
117
+ # Needed for special properties like "attributes"
118
+ def modifycmd(hash = property_hash)
119
+ args = self.hash2args(hash)
120
+ return nil if args.empty?
121
+
122
+ [self.class.command(:modify)] + self.get_ia_module_args +
123
+ args + [@resource[:name]]
124
+ end
125
+
126
+ def deletecmd
127
+ [self.class.command(:delete)] + self.get_ia_module_args + [@resource[:name]]
128
+ end
129
+
130
+ #--------------
131
+ # We overwrite the create function to change the password after creation.
132
+ def create
133
+ super
134
+ # Reset the password if needed
135
+ self.password = @resource[:password] if @resource[:password]
136
+ end
137
+
138
+
139
+ def get_arguments(key, value, mapping, objectinfo)
140
+ # In the case of attributes, return a list of key=vlaue
141
+ if key == :attributes
142
+ raise Puppet::Error, "Attributes must be a list of pairs key=value on #{@resource.class.name}[#{@resource.name}]" \
143
+ unless value and value.is_a? Hash
144
+ return value.map { |k,v| k.to_s.strip + "=" + v.to_s.strip}
145
+ end
146
+
147
+ super(key, value, mapping, objectinfo)
148
+ end
149
+
150
+ # Get the groupname from its id
151
+ def groupname_by_id(gid)
152
+ groupname=nil
153
+ execute(lsgroupscmd("ALL")).each_line { |entry|
154
+ attrs = self.parse_attr_list(entry, nil)
155
+ if attrs and attrs.include? :id and gid == attrs[:id].to_i
156
+ groupname = entry.split(" ")[0]
157
+ end
158
+ }
159
+ groupname
160
+ end
161
+
162
+ # Get the groupname from its id
163
+ def groupid_by_name(groupname)
164
+ attrs = self.parse_attr_list(execute(lsgroupscmd(groupname)).split("\n")[0], nil)
165
+ attrs ? attrs[:id].to_i : nil
166
+ end
167
+
168
+ # Check that a group exists and is valid
169
+ def verify_group(value)
170
+ if value.is_a? Integer
171
+ groupname = groupname_by_id(value)
172
+ raise ArgumentError, "AIX group must be a valid existing group" unless groupname
173
+ else
174
+ raise ArgumentError, "AIX group must be a valid existing group" unless groupid_by_name(value)
175
+ groupname = value
176
+ end
177
+ groupname
178
+ end
179
+
180
+ # The user's primary group. Can be specified numerically or by name.
181
+ def gid_to_attr(value)
182
+ verify_group(value)
183
+ end
184
+
185
+ # Get the group gid from its name
186
+ def gid_from_attr(value)
187
+ groupid_by_name(value)
188
+ end
189
+
190
+ # The expiry date for this user. Must be provided in
191
+ # a zero padded YYYY-MM-DD HH:MM format
192
+ def expiry_to_attr(value)
193
+ # For chuser the expires parameter is a 10-character string in the MMDDhhmmyy format
194
+ # that is,"%m%d%H%M%y"
195
+ newdate = '0'
196
+ if value.is_a? String and value!="0000-00-00"
197
+ d = DateTime.parse(value, "%Y-%m-%d %H:%M")
198
+ newdate = d.strftime("%m%d%H%M%y")
199
+ end
200
+ newdate
201
+ end
202
+
203
+ def expiry_from_attr(value)
204
+ if value =~ /(..)(..)(..)(..)(..)/
205
+ #d= DateTime.parse("20#{$5}-#{$1}-#{$2} #{$3}:#{$4}")
206
+ #expiry_date = d.strftime("%Y-%m-%d %H:%M")
207
+ #expiry_date = d.strftime("%Y-%m-%d")
208
+ expiry_date = "20#{$5}-#{$1}-#{$2}"
209
+ else
210
+ Puppet.warn("Could not convert AIX expires date '#{value}' on #{@resource.class.name}[#{@resource.name}]") \
211
+ unless value == '0'
212
+ expiry_date = :absent
213
+ end
214
+ expiry_date
215
+ end
216
+
217
+ def open_security_passwd
218
+ # helper method for tests
219
+ # AIX reference indicates this file is ASCII
220
+ # https://www.ibm.com/support/knowledgecenter/en/ssw_aix_72/com.ibm.aix.files/passwd_security.htm
221
+ Puppet::FileSystem.open("/etc/security/passwd", nil, "r:ASCII")
222
+ end
223
+
224
+ #--------------------------------
225
+ # Getter and Setter
226
+ # When the provider is initialized, create getter/setter methods for each
227
+ # property our resource type supports.
228
+ # If setter or getter already defined it will not be overwritten
229
+
230
+ #- **password**
231
+ # The user's password, in whatever encrypted format the local machine
232
+ # requires. Be sure to enclose any value that includes a dollar sign ($)
233
+ # in single quotes ('). Requires features manages_passwords.
234
+ #
235
+ # Retrieve the password parsing directly the /etc/security/passwd
236
+ def password
237
+ password = :absent
238
+ user = @resource[:name]
239
+ f = open_security_passwd
240
+ # Skip to the user
241
+ f.each_line { |l| break if l =~ /^#{user}:\s*$/ }
242
+ if ! f.eof?
243
+ f.each_line { |l|
244
+ # If there is a new user stanza, stop
245
+ break if l =~ /^\S*:\s*$/
246
+ # If the password= entry is found, return it, stripping trailing space
247
+ if l =~ /^\s*password\s*=\s*(\S*)\s*$/
248
+ password = $1; break;
249
+ end
250
+ }
251
+ end
252
+ f.close()
253
+ return password
254
+ end
255
+
256
+ def password=(value)
257
+ user = @resource[:name]
258
+
259
+ # Puppet execute does not support strings as input, only files.
260
+ # The password is expected to be in an encrypted format given -e is specified:
261
+ # https://www.ibm.com/support/knowledgecenter/ssw_aix_71/com.ibm.aix.cmds1/chpasswd.htm
262
+ # /etc/security/passwd is specified as an ASCII file per the AIX documentation
263
+ tmpfile = Tempfile.new("puppet_#{user}_pw", :encoding => Encoding::ASCII)
264
+ tmpfile << "#{user}:#{value}\n"
265
+ tmpfile.close()
266
+
267
+ # Options '-e', '-c', use encrypted password and clear flags
268
+ # Must receive "user:enc_password" as input
269
+ # command, arguments = {:failonfail => true, :combine => true}
270
+ # Fix for bugs #11200 and #10915
271
+ cmd = [self.class.command(:chpasswd), get_ia_module_args, '-e', '-c', user].flatten
272
+ begin
273
+ output = execute(cmd, {:failonfail => false, :combine => true, :stdinfile => tmpfile.path })
274
+ # chpasswd can return 1, even on success (at least on AIX 6.1); empty output indicates success
275
+ if output != ""
276
+ raise Puppet::ExecutionFailure, "chpasswd said #{output}"
277
+ end
278
+ rescue Puppet::ExecutionFailure => detail
279
+ raise Puppet::Error, "Could not set #{param} on #{@resource.class.name}[#{@resource.name}]: #{detail}", detail.backtrace
280
+ ensure
281
+ tmpfile.delete()
282
+ end
283
+ end
284
+
285
+ def managed_attribute_keys(hash)
286
+ managed_attributes ||= @resource.original_parameters[:attributes] || hash.keys.map{|k| k.to_s}
287
+ managed_attributes = [managed_attributes] unless managed_attributes.is_a?(Array)
288
+ managed_attributes.map {|attr| key, value = attr.split("="); key.strip.to_sym}
289
+ end
290
+
291
+ def should_include?(key, managed_keys)
292
+ !self.class.attribute_mapping_from.include?(key) and
293
+ !self.class.attribute_ignore.include?(key) and
294
+ managed_keys.include?(key)
295
+ end
296
+
297
+ def filter_attributes(hash)
298
+ # Return only managed attributes.
299
+ managed_keys = managed_attribute_keys(hash)
300
+ results = hash.select {
301
+ |k,v| should_include?(k, managed_keys)
302
+ }.inject({}) {
303
+ |h, array| h[array[0]] = array[1]; h
304
+ }
305
+ results
306
+ end
307
+
308
+ def attributes
309
+ filter_attributes(getosinfo(false))
310
+ end
311
+
312
+ def attributes=(attr_hash)
313
+ #self.class.validate(param, value)
314
+ param = :attributes
315
+ cmd = modifycmd({param => filter_attributes(attr_hash)})
316
+ if cmd
317
+ begin
318
+ execute(cmd)
319
+ rescue Puppet::ExecutionFailure => detail
320
+ raise Puppet::Error, "Could not set #{param} on #{@resource.class.name}[#{@resource.name}]: #{detail}", detail.backtrace
321
+ end
322
+ end
323
+ end
324
+
325
+ # UNSUPPORTED
326
+ #- **profile_membership**
327
+ # Whether specified roles should be treated as the only roles
328
+ # of which the user is a member or whether they should merely
329
+ # be treated as the minimum membership list. Valid values are
330
+ # `inclusive`, `minimum`.
331
+ # UNSUPPORTED
332
+ #- **profiles**
333
+ # The profiles the user has. Multiple profiles should be
334
+ # specified as an array. Requires features manages_solaris_rbac.
335
+ # UNSUPPORTED
336
+ #- **project**
337
+ # The name of the project associated with a user Requires features
338
+ # manages_solaris_rbac.
339
+ # UNSUPPORTED
340
+ #- **role_membership**
341
+ # Whether specified roles should be treated as the only roles
342
+ # of which the user is a member or whether they should merely
343
+ # be treated as the minimum membership list. Valid values are
344
+ # `inclusive`, `minimum`.
345
+ # UNSUPPORTED
346
+ #- **roles**
347
+ # The roles the user has. Multiple roles should be
348
+ # specified as an array. Requires features manages_solaris_rbac.
349
+ # UNSUPPORTED
350
+ #- **key_membership**
351
+ # Whether specified key value pairs should be treated as the only
352
+ # attributes
353
+ # of the user or whether they should merely
354
+ # be treated as the minimum list. Valid values are `inclusive`,
355
+ # `minimum`.
356
+ # UNSUPPORTED
357
+ #- **keys**
358
+ # Specify user attributes in an array of keyvalue pairs Requires features
359
+ # manages_solaris_rbac.
360
+ # UNSUPPORTED
361
+ #- **allowdupe**
362
+ # Whether to allow duplicate UIDs. Valid values are `true`, `false`.
363
+ # UNSUPPORTED
364
+ #- **auths**
365
+ # The auths the user has. Multiple auths should be
366
+ # specified as an array. Requires features manages_solaris_rbac.
367
+ # UNSUPPORTED
368
+ #- **auth_membership**
369
+ # Whether specified auths should be treated as the only auths
370
+ # of which the user is a member or whether they should merely
371
+ # be treated as the minimum membership list. Valid values are
372
+ # `inclusive`, `minimum`.
373
+ # UNSUPPORTED
374
+
375
+ end