openvox 9.0.0.pre.rc1-universal-darwin

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1105) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +468 -0
  3. data/CODE_OF_CONDUCT.md +70 -0
  4. data/Gemfile +106 -0
  5. data/Gemfile.lock +666 -0
  6. data/Guardfile.example +76 -0
  7. data/LICENSE +202 -0
  8. data/README.md +63 -0
  9. data/Rakefile +173 -0
  10. data/bin/puppet +10 -0
  11. data/conf/environment.conf +18 -0
  12. data/conf/fileserver.conf +32 -0
  13. data/conf/hiera.yaml +11 -0
  14. data/conf/puppet.conf +6 -0
  15. data/examples/enc/regexp_nodes/classes/databases +2 -0
  16. data/examples/enc/regexp_nodes/classes/webservers +2 -0
  17. data/examples/enc/regexp_nodes/environment/development +2 -0
  18. data/examples/enc/regexp_nodes/parameters/service/prod +1 -0
  19. data/examples/enc/regexp_nodes/parameters/service/qa +3 -0
  20. data/examples/enc/regexp_nodes/parameters/service/sandbox +1 -0
  21. data/examples/enc/regexp_nodes/regexp_nodes.rb +270 -0
  22. data/examples/hiera/README.md +102 -0
  23. data/examples/hiera/data/common.yaml +12 -0
  24. data/examples/hiera/data/dc1.yaml +6 -0
  25. data/examples/hiera/hiera.yaml +15 -0
  26. data/examples/hiera/modules/ntp/data/common.yaml +4 -0
  27. data/examples/hiera/modules/ntp/hiera.yaml +9 -0
  28. data/examples/hiera/modules/ntp/manifests/config.pp +18 -0
  29. data/examples/hiera/modules/ntp/templates/ntp.conf.epp +3 -0
  30. data/examples/hiera/modules/users/manifests/common.pp +9 -0
  31. data/examples/hiera/modules/users/manifests/dc1.pp +9 -0
  32. data/examples/hiera/site.pp +3 -0
  33. data/examples/nagios/check_puppet.rb +123 -0
  34. data/ext/README.md +13 -0
  35. data/ext/build_defaults.yaml +18 -0
  36. data/ext/debian/puppet.default +4 -0
  37. data/ext/debian/puppet.init +113 -0
  38. data/ext/hiera/hiera.yaml +15 -0
  39. data/ext/osx/puppet.plist +32 -0
  40. data/ext/project_data.yaml +20 -0
  41. data/ext/redhat/client.init +169 -0
  42. data/ext/redhat/client.sysconfig +3 -0
  43. data/ext/solaris/smf/puppet +44 -0
  44. data/ext/solaris/smf/puppet.xml +46 -0
  45. data/ext/suse/client.init +141 -0
  46. data/ext/systemd/puppet.service +26 -0
  47. data/ext/windows/puppet_interactive.bat +6 -0
  48. data/ext/windows/puppet_shell.bat +9 -0
  49. data/ext/windows/run_puppet_interactive.bat +9 -0
  50. data/ext/windows/service/daemon.bat +6 -0
  51. data/ext/windows/service/daemon.rb +218 -0
  52. data/install.rb +392 -0
  53. data/lib/hiera/puppet_function.rb +85 -0
  54. data/lib/hiera/scope.rb +90 -0
  55. data/lib/hiera_puppet.rb +78 -0
  56. data/lib/puppet/agent/disabler.rb +55 -0
  57. data/lib/puppet/agent/locker.rb +46 -0
  58. data/lib/puppet/agent.rb +178 -0
  59. data/lib/puppet/application/agent.rb +525 -0
  60. data/lib/puppet/application/apply.rb +435 -0
  61. data/lib/puppet/application/catalog.rb +6 -0
  62. data/lib/puppet/application/config.rb +7 -0
  63. data/lib/puppet/application/describe.rb +255 -0
  64. data/lib/puppet/application/device.rb +440 -0
  65. data/lib/puppet/application/doc.rb +230 -0
  66. data/lib/puppet/application/epp.rb +7 -0
  67. data/lib/puppet/application/face_base.rb +277 -0
  68. data/lib/puppet/application/facts.rb +11 -0
  69. data/lib/puppet/application/filebucket.rb +324 -0
  70. data/lib/puppet/application/generate.rb +7 -0
  71. data/lib/puppet/application/help.rb +7 -0
  72. data/lib/puppet/application/indirection_base.rb +6 -0
  73. data/lib/puppet/application/lookup.rb +433 -0
  74. data/lib/puppet/application/module.rb +6 -0
  75. data/lib/puppet/application/node.rb +6 -0
  76. data/lib/puppet/application/parser.rb +7 -0
  77. data/lib/puppet/application/plugin.rb +6 -0
  78. data/lib/puppet/application/report.rb +6 -0
  79. data/lib/puppet/application/resource.rb +264 -0
  80. data/lib/puppet/application/script.rb +266 -0
  81. data/lib/puppet/application/ssl.rb +397 -0
  82. data/lib/puppet/application.rb +595 -0
  83. data/lib/puppet/application_support.rb +69 -0
  84. data/lib/puppet/coercion.rb +42 -0
  85. data/lib/puppet/compilable_resource_type.rb +17 -0
  86. data/lib/puppet/concurrent/lock.rb +15 -0
  87. data/lib/puppet/concurrent/synchronized.rb +15 -0
  88. data/lib/puppet/concurrent/thread_local_singleton.rb +18 -0
  89. data/lib/puppet/concurrent.rb +4 -0
  90. data/lib/puppet/configurer/downloader.rb +91 -0
  91. data/lib/puppet/configurer/fact_handler.rb +51 -0
  92. data/lib/puppet/configurer/plugin_handler.rb +61 -0
  93. data/lib/puppet/configurer.rb +766 -0
  94. data/lib/puppet/confine/any.rb +28 -0
  95. data/lib/puppet/confine/boolean.rb +47 -0
  96. data/lib/puppet/confine/exists.rb +21 -0
  97. data/lib/puppet/confine/false.rb +27 -0
  98. data/lib/puppet/confine/feature.rb +18 -0
  99. data/lib/puppet/confine/true.rb +28 -0
  100. data/lib/puppet/confine/variable.rb +61 -0
  101. data/lib/puppet/confine.rb +85 -0
  102. data/lib/puppet/confine_collection.rb +54 -0
  103. data/lib/puppet/confiner.rb +48 -0
  104. data/lib/puppet/context/trusted_information.rb +122 -0
  105. data/lib/puppet/context.rb +190 -0
  106. data/lib/puppet/daemon.rb +198 -0
  107. data/lib/puppet/data_binding.rb +16 -0
  108. data/lib/puppet/datatypes/error.rb +23 -0
  109. data/lib/puppet/datatypes/impl/error.rb +42 -0
  110. data/lib/puppet/datatypes.rb +218 -0
  111. data/lib/puppet/defaults.rb +2250 -0
  112. data/lib/puppet/environments.rb +590 -0
  113. data/lib/puppet/error.rb +142 -0
  114. data/lib/puppet/etc.rb +185 -0
  115. data/lib/puppet/external/dot.rb +315 -0
  116. data/lib/puppet/face/catalog/select.rb +51 -0
  117. data/lib/puppet/face/catalog.rb +167 -0
  118. data/lib/puppet/face/config.rb +267 -0
  119. data/lib/puppet/face/epp.rb +563 -0
  120. data/lib/puppet/face/facts.rb +184 -0
  121. data/lib/puppet/face/generate.rb +69 -0
  122. data/lib/puppet/face/help/action.erb +89 -0
  123. data/lib/puppet/face/help/face.erb +114 -0
  124. data/lib/puppet/face/help/global.erb +16 -0
  125. data/lib/puppet/face/help/man.erb +152 -0
  126. data/lib/puppet/face/help.rb +278 -0
  127. data/lib/puppet/face/module/changes.rb +44 -0
  128. data/lib/puppet/face/module/install.rb +149 -0
  129. data/lib/puppet/face/module/list.rb +271 -0
  130. data/lib/puppet/face/module/uninstall.rb +91 -0
  131. data/lib/puppet/face/module/upgrade.rb +89 -0
  132. data/lib/puppet/face/module.rb +21 -0
  133. data/lib/puppet/face/node/clean.rb +109 -0
  134. data/lib/puppet/face/node.rb +45 -0
  135. data/lib/puppet/face/parser.rb +226 -0
  136. data/lib/puppet/face/plugin.rb +62 -0
  137. data/lib/puppet/face/report.rb +54 -0
  138. data/lib/puppet/face/resource.rb +55 -0
  139. data/lib/puppet/face.rb +14 -0
  140. data/lib/puppet/facter_impl.rb +96 -0
  141. data/lib/puppet/feature/base.rb +76 -0
  142. data/lib/puppet/feature/bolt.rb +5 -0
  143. data/lib/puppet/feature/cfpropertylist.rb +5 -0
  144. data/lib/puppet/feature/dbus.rb +5 -0
  145. data/lib/puppet/feature/eventlog.rb +7 -0
  146. data/lib/puppet/feature/hiera_eyaml.rb +5 -0
  147. data/lib/puppet/feature/hocon.rb +5 -0
  148. data/lib/puppet/feature/libuser.rb +10 -0
  149. data/lib/puppet/feature/msgpack.rb +5 -0
  150. data/lib/puppet/feature/pe_license.rb +6 -0
  151. data/lib/puppet/feature/pson.rb +6 -0
  152. data/lib/puppet/feature/selinux.rb +5 -0
  153. data/lib/puppet/feature/ssh.rb +5 -0
  154. data/lib/puppet/feature/telnet.rb +5 -0
  155. data/lib/puppet/feature/zlib.rb +7 -0
  156. data/lib/puppet/ffi/posix/constants.rb +16 -0
  157. data/lib/puppet/ffi/posix/functions.rb +25 -0
  158. data/lib/puppet/ffi/posix.rb +12 -0
  159. data/lib/puppet/ffi/windows/api_types.rb +313 -0
  160. data/lib/puppet/ffi/windows/constants.rb +406 -0
  161. data/lib/puppet/ffi/windows/functions.rb +629 -0
  162. data/lib/puppet/ffi/windows/structs.rb +339 -0
  163. data/lib/puppet/ffi/windows.rb +14 -0
  164. data/lib/puppet/file_bucket/dipper.rb +181 -0
  165. data/lib/puppet/file_bucket/file.rb +131 -0
  166. data/lib/puppet/file_bucket.rb +6 -0
  167. data/lib/puppet/file_serving/base.rb +94 -0
  168. data/lib/puppet/file_serving/configuration/parser.rb +116 -0
  169. data/lib/puppet/file_serving/configuration.rb +116 -0
  170. data/lib/puppet/file_serving/content.rb +44 -0
  171. data/lib/puppet/file_serving/fileset.rb +190 -0
  172. data/lib/puppet/file_serving/http_metadata.rb +86 -0
  173. data/lib/puppet/file_serving/metadata.rb +174 -0
  174. data/lib/puppet/file_serving/mount/file.rb +126 -0
  175. data/lib/puppet/file_serving/mount/locales.rb +35 -0
  176. data/lib/puppet/file_serving/mount/modules.rb +29 -0
  177. data/lib/puppet/file_serving/mount/pluginfacts.rb +35 -0
  178. data/lib/puppet/file_serving/mount/plugins.rb +35 -0
  179. data/lib/puppet/file_serving/mount/scripts.rb +27 -0
  180. data/lib/puppet/file_serving/mount/tasks.rb +26 -0
  181. data/lib/puppet/file_serving/mount.rb +40 -0
  182. data/lib/puppet/file_serving/terminus_helper.rb +33 -0
  183. data/lib/puppet/file_serving/terminus_selector.rb +33 -0
  184. data/lib/puppet/file_serving.rb +5 -0
  185. data/lib/puppet/file_system/file_impl.rb +189 -0
  186. data/lib/puppet/file_system/jruby.rb +25 -0
  187. data/lib/puppet/file_system/memory_file.rb +82 -0
  188. data/lib/puppet/file_system/memory_impl.rb +103 -0
  189. data/lib/puppet/file_system/path_pattern.rb +95 -0
  190. data/lib/puppet/file_system/posix.rb +52 -0
  191. data/lib/puppet/file_system/uniquefile.rb +187 -0
  192. data/lib/puppet/file_system/windows.rb +224 -0
  193. data/lib/puppet/file_system.rb +421 -0
  194. data/lib/puppet/forge/cache.rb +61 -0
  195. data/lib/puppet/forge/errors.rb +113 -0
  196. data/lib/puppet/forge/repository.rb +98 -0
  197. data/lib/puppet/forge.rb +257 -0
  198. data/lib/puppet/functions/abs.rb +64 -0
  199. data/lib/puppet/functions/alert.rb +16 -0
  200. data/lib/puppet/functions/all.rb +106 -0
  201. data/lib/puppet/functions/annotate.rb +110 -0
  202. data/lib/puppet/functions/any.rb +111 -0
  203. data/lib/puppet/functions/assert_type.rb +96 -0
  204. data/lib/puppet/functions/binary_file.rb +35 -0
  205. data/lib/puppet/functions/break.rb +49 -0
  206. data/lib/puppet/functions/call.rb +81 -0
  207. data/lib/puppet/functions/camelcase.rb +63 -0
  208. data/lib/puppet/functions/capitalize.rb +62 -0
  209. data/lib/puppet/functions/ceiling.rb +38 -0
  210. data/lib/puppet/functions/chomp.rb +58 -0
  211. data/lib/puppet/functions/chop.rb +68 -0
  212. data/lib/puppet/functions/compare.rb +127 -0
  213. data/lib/puppet/functions/contain.rb +58 -0
  214. data/lib/puppet/functions/convert_to.rb +36 -0
  215. data/lib/puppet/functions/crit.rb +16 -0
  216. data/lib/puppet/functions/debug.rb +16 -0
  217. data/lib/puppet/functions/defined.rb +163 -0
  218. data/lib/puppet/functions/dig.rb +70 -0
  219. data/lib/puppet/functions/downcase.rb +91 -0
  220. data/lib/puppet/functions/each.rb +169 -0
  221. data/lib/puppet/functions/emerg.rb +16 -0
  222. data/lib/puppet/functions/empty.rb +87 -0
  223. data/lib/puppet/functions/epp.rb +50 -0
  224. data/lib/puppet/functions/err.rb +16 -0
  225. data/lib/puppet/functions/eyaml_lookup_key.rb +103 -0
  226. data/lib/puppet/functions/filter.rb +138 -0
  227. data/lib/puppet/functions/find_file.rb +50 -0
  228. data/lib/puppet/functions/find_template.rb +65 -0
  229. data/lib/puppet/functions/flatten.rb +66 -0
  230. data/lib/puppet/functions/floor.rb +38 -0
  231. data/lib/puppet/functions/get.rb +152 -0
  232. data/lib/puppet/functions/getvar.rb +89 -0
  233. data/lib/puppet/functions/group_by.rb +62 -0
  234. data/lib/puppet/functions/hiera.rb +91 -0
  235. data/lib/puppet/functions/hiera_array.rb +83 -0
  236. data/lib/puppet/functions/hiera_hash.rb +94 -0
  237. data/lib/puppet/functions/hiera_include.rb +107 -0
  238. data/lib/puppet/functions/hocon_data.rb +41 -0
  239. data/lib/puppet/functions/import.rb +9 -0
  240. data/lib/puppet/functions/include.rb +56 -0
  241. data/lib/puppet/functions/index.rb +168 -0
  242. data/lib/puppet/functions/info.rb +16 -0
  243. data/lib/puppet/functions/inline_epp.rb +61 -0
  244. data/lib/puppet/functions/join.rb +58 -0
  245. data/lib/puppet/functions/json_data.rb +33 -0
  246. data/lib/puppet/functions/keys.rb +27 -0
  247. data/lib/puppet/functions/length.rb +45 -0
  248. data/lib/puppet/functions/lest.rb +57 -0
  249. data/lib/puppet/functions/lookup.rb +224 -0
  250. data/lib/puppet/functions/lstrip.rb +59 -0
  251. data/lib/puppet/functions/map.rb +137 -0
  252. data/lib/puppet/functions/match.rb +133 -0
  253. data/lib/puppet/functions/max.rb +250 -0
  254. data/lib/puppet/functions/min.rb +249 -0
  255. data/lib/puppet/functions/module_directory.rb +43 -0
  256. data/lib/puppet/functions/new.rb +1013 -0
  257. data/lib/puppet/functions/next.rb +35 -0
  258. data/lib/puppet/functions/notice.rb +16 -0
  259. data/lib/puppet/functions/partition.rb +62 -0
  260. data/lib/puppet/functions/reduce.rb +159 -0
  261. data/lib/puppet/functions/regsubst.rb +107 -0
  262. data/lib/puppet/functions/require.rb +81 -0
  263. data/lib/puppet/functions/return.rb +17 -0
  264. data/lib/puppet/functions/reverse_each.rb +96 -0
  265. data/lib/puppet/functions/round.rb +26 -0
  266. data/lib/puppet/functions/rstrip.rb +59 -0
  267. data/lib/puppet/functions/scanf.rb +46 -0
  268. data/lib/puppet/functions/size.rb +15 -0
  269. data/lib/puppet/functions/slice.rb +127 -0
  270. data/lib/puppet/functions/sort.rb +76 -0
  271. data/lib/puppet/functions/split.rb +78 -0
  272. data/lib/puppet/functions/step.rb +100 -0
  273. data/lib/puppet/functions/strftime.rb +214 -0
  274. data/lib/puppet/functions/strip.rb +59 -0
  275. data/lib/puppet/functions/then.rb +80 -0
  276. data/lib/puppet/functions/tree_each.rb +198 -0
  277. data/lib/puppet/functions/type.rb +74 -0
  278. data/lib/puppet/functions/unique.rb +135 -0
  279. data/lib/puppet/functions/unwrap.rb +61 -0
  280. data/lib/puppet/functions/upcase.rb +91 -0
  281. data/lib/puppet/functions/values.rb +27 -0
  282. data/lib/puppet/functions/versioncmp.rb +41 -0
  283. data/lib/puppet/functions/warning.rb +16 -0
  284. data/lib/puppet/functions/with.rb +34 -0
  285. data/lib/puppet/functions/yaml_data.rb +45 -0
  286. data/lib/puppet/functions.rb +858 -0
  287. data/lib/puppet/generate/models/type/property.rb +73 -0
  288. data/lib/puppet/generate/models/type/type.rb +68 -0
  289. data/lib/puppet/generate/templates/type/pcore.erb +42 -0
  290. data/lib/puppet/generate/type.rb +259 -0
  291. data/lib/puppet/gettext/config.rb +280 -0
  292. data/lib/puppet/gettext/module_translations.rb +43 -0
  293. data/lib/puppet/gettext/stubs.rb +13 -0
  294. data/lib/puppet/graph/key.rb +28 -0
  295. data/lib/puppet/graph/prioritizer.rb +31 -0
  296. data/lib/puppet/graph/rb_tree_map.rb +407 -0
  297. data/lib/puppet/graph/relationship_graph.rb +286 -0
  298. data/lib/puppet/graph/sequential_prioritizer.rb +33 -0
  299. data/lib/puppet/graph/simple_graph.rb +549 -0
  300. data/lib/puppet/graph.rb +11 -0
  301. data/lib/puppet/http/client.rb +529 -0
  302. data/lib/puppet/http/dns.rb +159 -0
  303. data/lib/puppet/http/errors.rb +50 -0
  304. data/lib/puppet/http/external_client.rb +89 -0
  305. data/lib/puppet/http/factory.rb +53 -0
  306. data/lib/puppet/http/pool.rb +174 -0
  307. data/lib/puppet/http/pool_entry.rb +19 -0
  308. data/lib/puppet/http/proxy.rb +139 -0
  309. data/lib/puppet/http/redirector.rb +87 -0
  310. data/lib/puppet/http/resolver/server_list.rb +88 -0
  311. data/lib/puppet/http/resolver/settings.rb +24 -0
  312. data/lib/puppet/http/resolver/srv.rb +42 -0
  313. data/lib/puppet/http/resolver.rb +50 -0
  314. data/lib/puppet/http/response.rb +104 -0
  315. data/lib/puppet/http/response_converter.rb +25 -0
  316. data/lib/puppet/http/response_net_http.rb +43 -0
  317. data/lib/puppet/http/retry_after_handler.rb +78 -0
  318. data/lib/puppet/http/service/ca.rb +133 -0
  319. data/lib/puppet/http/service/compiler.rb +356 -0
  320. data/lib/puppet/http/service/file_server.rb +200 -0
  321. data/lib/puppet/http/service/puppetserver.rb +54 -0
  322. data/lib/puppet/http/service/report.rb +62 -0
  323. data/lib/puppet/http/service.rb +201 -0
  324. data/lib/puppet/http/session.rb +124 -0
  325. data/lib/puppet/http/site.rb +44 -0
  326. data/lib/puppet/http.rb +48 -0
  327. data/lib/puppet/indirector/catalog/compiler.rb +432 -0
  328. data/lib/puppet/indirector/catalog/json.rb +42 -0
  329. data/lib/puppet/indirector/catalog/msgpack.rb +8 -0
  330. data/lib/puppet/indirector/catalog/rest.rb +51 -0
  331. data/lib/puppet/indirector/catalog/store_configs.rb +8 -0
  332. data/lib/puppet/indirector/catalog/yaml.rb +8 -0
  333. data/lib/puppet/indirector/code.rb +8 -0
  334. data/lib/puppet/indirector/data_binding/hiera.rb +99 -0
  335. data/lib/puppet/indirector/data_binding/none.rb +10 -0
  336. data/lib/puppet/indirector/direct_file_server.rb +20 -0
  337. data/lib/puppet/indirector/envelope.rb +13 -0
  338. data/lib/puppet/indirector/errors.rb +7 -0
  339. data/lib/puppet/indirector/exec.rb +40 -0
  340. data/lib/puppet/indirector/face.rb +142 -0
  341. data/lib/puppet/indirector/fact_search.rb +62 -0
  342. data/lib/puppet/indirector/facts/facter.rb +120 -0
  343. data/lib/puppet/indirector/facts/json.rb +29 -0
  344. data/lib/puppet/indirector/facts/memory.rb +11 -0
  345. data/lib/puppet/indirector/facts/network_device.rb +29 -0
  346. data/lib/puppet/indirector/facts/rest.rb +46 -0
  347. data/lib/puppet/indirector/facts/store_configs.rb +12 -0
  348. data/lib/puppet/indirector/facts/yaml.rb +31 -0
  349. data/lib/puppet/indirector/file_bucket_file/file.rb +266 -0
  350. data/lib/puppet/indirector/file_bucket_file/rest.rb +57 -0
  351. data/lib/puppet/indirector/file_bucket_file/selector.rb +54 -0
  352. data/lib/puppet/indirector/file_content/file.rb +9 -0
  353. data/lib/puppet/indirector/file_content/file_server.rb +9 -0
  354. data/lib/puppet/indirector/file_content/rest.rb +37 -0
  355. data/lib/puppet/indirector/file_content/selector.rb +32 -0
  356. data/lib/puppet/indirector/file_content.rb +7 -0
  357. data/lib/puppet/indirector/file_metadata/file.rb +9 -0
  358. data/lib/puppet/indirector/file_metadata/file_server.rb +9 -0
  359. data/lib/puppet/indirector/file_metadata/http.rb +49 -0
  360. data/lib/puppet/indirector/file_metadata/rest.rb +58 -0
  361. data/lib/puppet/indirector/file_metadata/selector.rb +32 -0
  362. data/lib/puppet/indirector/file_metadata.rb +7 -0
  363. data/lib/puppet/indirector/file_server.rb +57 -0
  364. data/lib/puppet/indirector/generic_http.rb +7 -0
  365. data/lib/puppet/indirector/indirection.rb +381 -0
  366. data/lib/puppet/indirector/json.rb +82 -0
  367. data/lib/puppet/indirector/memory.rb +37 -0
  368. data/lib/puppet/indirector/msgpack.rb +87 -0
  369. data/lib/puppet/indirector/node/exec.rb +70 -0
  370. data/lib/puppet/indirector/node/json.rb +9 -0
  371. data/lib/puppet/indirector/node/memory.rb +12 -0
  372. data/lib/puppet/indirector/node/msgpack.rb +9 -0
  373. data/lib/puppet/indirector/node/plain.rb +23 -0
  374. data/lib/puppet/indirector/node/rest.rb +31 -0
  375. data/lib/puppet/indirector/node/store_configs.rb +8 -0
  376. data/lib/puppet/indirector/node/yaml.rb +9 -0
  377. data/lib/puppet/indirector/none.rb +10 -0
  378. data/lib/puppet/indirector/plain.rb +11 -0
  379. data/lib/puppet/indirector/report/json.rb +36 -0
  380. data/lib/puppet/indirector/report/msgpack.rb +13 -0
  381. data/lib/puppet/indirector/report/processor.rb +63 -0
  382. data/lib/puppet/indirector/report/rest.rb +31 -0
  383. data/lib/puppet/indirector/report/yaml.rb +36 -0
  384. data/lib/puppet/indirector/request.rb +197 -0
  385. data/lib/puppet/indirector/resource/ral.rb +66 -0
  386. data/lib/puppet/indirector/resource/store_configs.rb +14 -0
  387. data/lib/puppet/indirector/resource/validator.rb +10 -0
  388. data/lib/puppet/indirector/rest.rb +66 -0
  389. data/lib/puppet/indirector/store_configs.rb +32 -0
  390. data/lib/puppet/indirector/terminus.rb +180 -0
  391. data/lib/puppet/indirector/yaml.rb +65 -0
  392. data/lib/puppet/indirector.rb +64 -0
  393. data/lib/puppet/info_service/class_information_service.rb +108 -0
  394. data/lib/puppet/info_service/plan_information_service.rb +38 -0
  395. data/lib/puppet/info_service/task_information_service.rb +45 -0
  396. data/lib/puppet/info_service.rb +27 -0
  397. data/lib/puppet/interface/action.rb +410 -0
  398. data/lib/puppet/interface/action_builder.rb +167 -0
  399. data/lib/puppet/interface/action_manager.rb +101 -0
  400. data/lib/puppet/interface/documentation.rb +363 -0
  401. data/lib/puppet/interface/face_collection.rb +141 -0
  402. data/lib/puppet/interface/option.rb +184 -0
  403. data/lib/puppet/interface/option_builder.rb +110 -0
  404. data/lib/puppet/interface/option_manager.rb +108 -0
  405. data/lib/puppet/interface.rb +240 -0
  406. data/lib/puppet/loaders.rb +31 -0
  407. data/lib/puppet/metatype/manager.rb +198 -0
  408. data/lib/puppet/module/plan.rb +166 -0
  409. data/lib/puppet/module/task.rb +288 -0
  410. data/lib/puppet/module.rb +482 -0
  411. data/lib/puppet/module_tool/applications/application.rb +96 -0
  412. data/lib/puppet/module_tool/applications/checksummer.rb +62 -0
  413. data/lib/puppet/module_tool/applications/installer.rb +402 -0
  414. data/lib/puppet/module_tool/applications/uninstaller.rb +121 -0
  415. data/lib/puppet/module_tool/applications/unpacker.rb +104 -0
  416. data/lib/puppet/module_tool/applications/upgrader.rb +288 -0
  417. data/lib/puppet/module_tool/applications.rb +14 -0
  418. data/lib/puppet/module_tool/checksums.rb +50 -0
  419. data/lib/puppet/module_tool/dependency.rb +42 -0
  420. data/lib/puppet/module_tool/errors/base.rb +17 -0
  421. data/lib/puppet/module_tool/errors/installer.rb +94 -0
  422. data/lib/puppet/module_tool/errors/shared.rb +228 -0
  423. data/lib/puppet/module_tool/errors/uninstaller.rb +51 -0
  424. data/lib/puppet/module_tool/errors/upgrader.rb +64 -0
  425. data/lib/puppet/module_tool/errors.rb +13 -0
  426. data/lib/puppet/module_tool/install_directory.rb +48 -0
  427. data/lib/puppet/module_tool/installed_modules.rb +99 -0
  428. data/lib/puppet/module_tool/local_tarball.rb +92 -0
  429. data/lib/puppet/module_tool/metadata.rb +226 -0
  430. data/lib/puppet/module_tool/shared_behaviors.rb +199 -0
  431. data/lib/puppet/module_tool/tar/gnu.rb +23 -0
  432. data/lib/puppet/module_tool/tar/mini.rb +112 -0
  433. data/lib/puppet/module_tool/tar.rb +20 -0
  434. data/lib/puppet/module_tool.rb +194 -0
  435. data/lib/puppet/network/authconfig.rb +9 -0
  436. data/lib/puppet/network/authorization.rb +21 -0
  437. data/lib/puppet/network/client_request.rb +32 -0
  438. data/lib/puppet/network/format.rb +116 -0
  439. data/lib/puppet/network/format_handler.rb +110 -0
  440. data/lib/puppet/network/format_support.rb +140 -0
  441. data/lib/puppet/network/formats.rb +338 -0
  442. data/lib/puppet/network/http/api/indirected_routes.rb +270 -0
  443. data/lib/puppet/network/http/api/indirection_type.rb +33 -0
  444. data/lib/puppet/network/http/api/master/v3/environments.rb +4 -0
  445. data/lib/puppet/network/http/api/master/v3.rb +4 -0
  446. data/lib/puppet/network/http/api/master.rb +5 -0
  447. data/lib/puppet/network/http/api/server/v3/environments.rb +54 -0
  448. data/lib/puppet/network/http/api/server/v3.rb +40 -0
  449. data/lib/puppet/network/http/api/server.rb +12 -0
  450. data/lib/puppet/network/http/api.rb +41 -0
  451. data/lib/puppet/network/http/connection.rb +288 -0
  452. data/lib/puppet/network/http/error.rb +75 -0
  453. data/lib/puppet/network/http/handler.rb +213 -0
  454. data/lib/puppet/network/http/issues.rb +14 -0
  455. data/lib/puppet/network/http/memory_response.rb +15 -0
  456. data/lib/puppet/network/http/request.rb +83 -0
  457. data/lib/puppet/network/http/response.rb +25 -0
  458. data/lib/puppet/network/http/route.rb +104 -0
  459. data/lib/puppet/network/http.rb +30 -0
  460. data/lib/puppet/network/http_pool.rb +78 -0
  461. data/lib/puppet/network/uri.rb +20 -0
  462. data/lib/puppet/network.rb +5 -0
  463. data/lib/puppet/node/environment.rb +638 -0
  464. data/lib/puppet/node/facts.rb +166 -0
  465. data/lib/puppet/node/server_facts.rb +40 -0
  466. data/lib/puppet/node.rb +260 -0
  467. data/lib/puppet/pal/catalog_compiler.rb +107 -0
  468. data/lib/puppet/pal/compiler.rb +227 -0
  469. data/lib/puppet/pal/function_signature.rb +54 -0
  470. data/lib/puppet/pal/json_catalog_encoder.rb +76 -0
  471. data/lib/puppet/pal/pal_api.rb +17 -0
  472. data/lib/puppet/pal/pal_impl.rb +561 -0
  473. data/lib/puppet/pal/plan_signature.rb +73 -0
  474. data/lib/puppet/pal/script_compiler.rb +75 -0
  475. data/lib/puppet/pal/task_signature.rb +64 -0
  476. data/lib/puppet/parameter/boolean.rb +17 -0
  477. data/lib/puppet/parameter/package_options.rb +33 -0
  478. data/lib/puppet/parameter/path.rb +61 -0
  479. data/lib/puppet/parameter/value.rb +93 -0
  480. data/lib/puppet/parameter/value_collection.rb +213 -0
  481. data/lib/puppet/parameter.rb +590 -0
  482. data/lib/puppet/parser/abstract_compiler.rb +35 -0
  483. data/lib/puppet/parser/ast/block_expression.rb +17 -0
  484. data/lib/puppet/parser/ast/branch.rb +21 -0
  485. data/lib/puppet/parser/ast/hostclass.rb +29 -0
  486. data/lib/puppet/parser/ast/leaf.rb +84 -0
  487. data/lib/puppet/parser/ast/node.rb +19 -0
  488. data/lib/puppet/parser/ast/pops_bridge.rb +245 -0
  489. data/lib/puppet/parser/ast/resource.rb +66 -0
  490. data/lib/puppet/parser/ast/resource_instance.rb +13 -0
  491. data/lib/puppet/parser/ast/resourceparam.rb +33 -0
  492. data/lib/puppet/parser/ast/top_level_construct.rb +6 -0
  493. data/lib/puppet/parser/ast.rb +61 -0
  494. data/lib/puppet/parser/catalog_compiler.rb +56 -0
  495. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +41 -0
  496. data/lib/puppet/parser/compiler/catalog_validator.rb +34 -0
  497. data/lib/puppet/parser/compiler.rb +616 -0
  498. data/lib/puppet/parser/e4_parser_adapter.rb +61 -0
  499. data/lib/puppet/parser/files.rb +93 -0
  500. data/lib/puppet/parser/functions/assert_type.rb +62 -0
  501. data/lib/puppet/parser/functions/binary_file.rb +26 -0
  502. data/lib/puppet/parser/functions/break.rb +41 -0
  503. data/lib/puppet/parser/functions/contain.rb +32 -0
  504. data/lib/puppet/parser/functions/create_resources.rb +114 -0
  505. data/lib/puppet/parser/functions/defined.rb +109 -0
  506. data/lib/puppet/parser/functions/dig.rb +40 -0
  507. data/lib/puppet/parser/functions/digest.rb +7 -0
  508. data/lib/puppet/parser/functions/each.rb +106 -0
  509. data/lib/puppet/parser/functions/epp.rb +40 -0
  510. data/lib/puppet/parser/functions/fail.rb +13 -0
  511. data/lib/puppet/parser/functions/file.rb +35 -0
  512. data/lib/puppet/parser/functions/filter.rb +81 -0
  513. data/lib/puppet/parser/functions/find_file.rb +29 -0
  514. data/lib/puppet/parser/functions/fqdn_rand.rb +46 -0
  515. data/lib/puppet/parser/functions/generate.rb +39 -0
  516. data/lib/puppet/parser/functions/hiera.rb +105 -0
  517. data/lib/puppet/parser/functions/hiera_array.rb +93 -0
  518. data/lib/puppet/parser/functions/hiera_hash.rb +103 -0
  519. data/lib/puppet/parser/functions/hiera_include.rb +102 -0
  520. data/lib/puppet/parser/functions/include.rb +36 -0
  521. data/lib/puppet/parser/functions/inline_epp.rb +52 -0
  522. data/lib/puppet/parser/functions/inline_template.rb +28 -0
  523. data/lib/puppet/parser/functions/lest.rb +51 -0
  524. data/lib/puppet/parser/functions/lookup.rb +134 -0
  525. data/lib/puppet/parser/functions/map.rb +78 -0
  526. data/lib/puppet/parser/functions/match.rb +45 -0
  527. data/lib/puppet/parser/functions/md5.rb +7 -0
  528. data/lib/puppet/parser/functions/new.rb +992 -0
  529. data/lib/puppet/parser/functions/next.rb +40 -0
  530. data/lib/puppet/parser/functions/realize.rb +22 -0
  531. data/lib/puppet/parser/functions/reduce.rb +139 -0
  532. data/lib/puppet/parser/functions/regsubst.rb +65 -0
  533. data/lib/puppet/parser/functions/require.rb +43 -0
  534. data/lib/puppet/parser/functions/return.rb +94 -0
  535. data/lib/puppet/parser/functions/reverse_each.rb +85 -0
  536. data/lib/puppet/parser/functions/scanf.rb +40 -0
  537. data/lib/puppet/parser/functions/sha1.rb +7 -0
  538. data/lib/puppet/parser/functions/sha256.rb +7 -0
  539. data/lib/puppet/parser/functions/shellquote.rb +63 -0
  540. data/lib/puppet/parser/functions/slice.rb +41 -0
  541. data/lib/puppet/parser/functions/split.rb +29 -0
  542. data/lib/puppet/parser/functions/sprintf.rb +62 -0
  543. data/lib/puppet/parser/functions/step.rb +86 -0
  544. data/lib/puppet/parser/functions/strftime.rb +187 -0
  545. data/lib/puppet/parser/functions/tag.rb +15 -0
  546. data/lib/puppet/parser/functions/tagged.rb +24 -0
  547. data/lib/puppet/parser/functions/template.rb +42 -0
  548. data/lib/puppet/parser/functions/then.rb +75 -0
  549. data/lib/puppet/parser/functions/type.rb +55 -0
  550. data/lib/puppet/parser/functions/versioncmp.rb +31 -0
  551. data/lib/puppet/parser/functions/with.rb +30 -0
  552. data/lib/puppet/parser/functions.rb +324 -0
  553. data/lib/puppet/parser/parser_factory.rb +32 -0
  554. data/lib/puppet/parser/relationship.rb +90 -0
  555. data/lib/puppet/parser/resource/param.rb +37 -0
  556. data/lib/puppet/parser/resource.rb +349 -0
  557. data/lib/puppet/parser/scope.rb +1137 -0
  558. data/lib/puppet/parser/script_compiler.rb +123 -0
  559. data/lib/puppet/parser/templatewrapper.rb +105 -0
  560. data/lib/puppet/parser/type_loader.rb +151 -0
  561. data/lib/puppet/parser.rb +22 -0
  562. data/lib/puppet/plugins/configuration.rb +31 -0
  563. data/lib/puppet/plugins/syntax_checkers.rb +99 -0
  564. data/lib/puppet/plugins.rb +11 -0
  565. data/lib/puppet/pops/adaptable.rb +197 -0
  566. data/lib/puppet/pops/adapters.rb +159 -0
  567. data/lib/puppet/pops/evaluator/access_operator.rb +732 -0
  568. data/lib/puppet/pops/evaluator/callable_signature.rb +108 -0
  569. data/lib/puppet/pops/evaluator/closure.rb +370 -0
  570. data/lib/puppet/pops/evaluator/collector_transformer.rb +237 -0
  571. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +88 -0
  572. data/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +30 -0
  573. data/lib/puppet/pops/evaluator/collectors/exported_collector.rb +71 -0
  574. data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +38 -0
  575. data/lib/puppet/pops/evaluator/compare_operator.rb +269 -0
  576. data/lib/puppet/pops/evaluator/deferred_resolver.rb +230 -0
  577. data/lib/puppet/pops/evaluator/epp_evaluator.rb +121 -0
  578. data/lib/puppet/pops/evaluator/evaluator_impl.rb +1317 -0
  579. data/lib/puppet/pops/evaluator/external_syntax_support.rb +47 -0
  580. data/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +83 -0
  581. data/lib/puppet/pops/evaluator/literal_evaluator.rb +100 -0
  582. data/lib/puppet/pops/evaluator/puppet_proc.rb +72 -0
  583. data/lib/puppet/pops/evaluator/relationship_operator.rb +188 -0
  584. data/lib/puppet/pops/evaluator/runtime3_converter.rb +225 -0
  585. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +119 -0
  586. data/lib/puppet/pops/evaluator/runtime3_support.rb +528 -0
  587. data/lib/puppet/pops/functions/dispatch.rb +107 -0
  588. data/lib/puppet/pops/functions/dispatcher.rb +76 -0
  589. data/lib/puppet/pops/functions/function.rb +137 -0
  590. data/lib/puppet/pops/issue_reporter.rb +140 -0
  591. data/lib/puppet/pops/issues.rb +933 -0
  592. data/lib/puppet/pops/label_provider.rb +92 -0
  593. data/lib/puppet/pops/loader/base_loader.rb +176 -0
  594. data/lib/puppet/pops/loader/dependency_loader.rb +95 -0
  595. data/lib/puppet/pops/loader/gem_support.rb +54 -0
  596. data/lib/puppet/pops/loader/generic_plan_instantiator.rb +30 -0
  597. data/lib/puppet/pops/loader/loader.rb +219 -0
  598. data/lib/puppet/pops/loader/loader_paths.rb +413 -0
  599. data/lib/puppet/pops/loader/module_loaders.rb +552 -0
  600. data/lib/puppet/pops/loader/predefined_loader.rb +28 -0
  601. data/lib/puppet/pops/loader/puppet_function_instantiator.rb +88 -0
  602. data/lib/puppet/pops/loader/puppet_plan_instantiator.rb +97 -0
  603. data/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +80 -0
  604. data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +43 -0
  605. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +49 -0
  606. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +130 -0
  607. data/lib/puppet/pops/loader/runtime3_type_loader.rb +102 -0
  608. data/lib/puppet/pops/loader/simple_environment_loader.rb +20 -0
  609. data/lib/puppet/pops/loader/static_loader.rb +133 -0
  610. data/lib/puppet/pops/loader/task_instantiator.rb +46 -0
  611. data/lib/puppet/pops/loader/type_definition_instantiator.rb +104 -0
  612. data/lib/puppet/pops/loader/typed_name.rb +56 -0
  613. data/lib/puppet/pops/loader/uri_helper.rb +24 -0
  614. data/lib/puppet/pops/loaders.rb +548 -0
  615. data/lib/puppet/pops/lookup/configured_data_provider.rb +95 -0
  616. data/lib/puppet/pops/lookup/context.rb +208 -0
  617. data/lib/puppet/pops/lookup/data_adapter.rb +29 -0
  618. data/lib/puppet/pops/lookup/data_dig_function_provider.rb +146 -0
  619. data/lib/puppet/pops/lookup/data_hash_function_provider.rb +128 -0
  620. data/lib/puppet/pops/lookup/data_provider.rb +94 -0
  621. data/lib/puppet/pops/lookup/environment_data_provider.rb +37 -0
  622. data/lib/puppet/pops/lookup/explainer.rb +597 -0
  623. data/lib/puppet/pops/lookup/function_provider.rb +112 -0
  624. data/lib/puppet/pops/lookup/global_data_provider.rb +76 -0
  625. data/lib/puppet/pops/lookup/hiera_config.rb +821 -0
  626. data/lib/puppet/pops/lookup/interpolation.rb +164 -0
  627. data/lib/puppet/pops/lookup/invocation.rb +272 -0
  628. data/lib/puppet/pops/lookup/key_recorder.rb +19 -0
  629. data/lib/puppet/pops/lookup/location_resolver.rb +101 -0
  630. data/lib/puppet/pops/lookup/lookup_adapter.rb +474 -0
  631. data/lib/puppet/pops/lookup/lookup_key.rb +99 -0
  632. data/lib/puppet/pops/lookup/lookup_key_function_provider.rb +94 -0
  633. data/lib/puppet/pops/lookup/module_data_provider.rb +92 -0
  634. data/lib/puppet/pops/lookup/sub_lookup.rb +96 -0
  635. data/lib/puppet/pops/lookup.rb +102 -0
  636. data/lib/puppet/pops/merge_strategy.rb +447 -0
  637. data/lib/puppet/pops/migration/migration_checker.rb +60 -0
  638. data/lib/puppet/pops/model/ast.pp +669 -0
  639. data/lib/puppet/pops/model/ast.rb +4776 -0
  640. data/lib/puppet/pops/model/ast_transformer.rb +131 -0
  641. data/lib/puppet/pops/model/factory.rb +1157 -0
  642. data/lib/puppet/pops/model/model_label_provider.rb +137 -0
  643. data/lib/puppet/pops/model/model_tree_dumper.rb +447 -0
  644. data/lib/puppet/pops/model/pn_transformer.rb +384 -0
  645. data/lib/puppet/pops/model/tree_dumper.rb +62 -0
  646. data/lib/puppet/pops/parser/code_merger.rb +29 -0
  647. data/lib/puppet/pops/parser/egrammar.ra +889 -0
  648. data/lib/puppet/pops/parser/eparser.rb +3184 -0
  649. data/lib/puppet/pops/parser/epp_parser.rb +52 -0
  650. data/lib/puppet/pops/parser/epp_support.rb +266 -0
  651. data/lib/puppet/pops/parser/evaluating_parser.rb +166 -0
  652. data/lib/puppet/pops/parser/heredoc_support.rb +153 -0
  653. data/lib/puppet/pops/parser/interpolation_support.rb +249 -0
  654. data/lib/puppet/pops/parser/lexer2.rb +789 -0
  655. data/lib/puppet/pops/parser/lexer_support.rb +219 -0
  656. data/lib/puppet/pops/parser/locatable.rb +21 -0
  657. data/lib/puppet/pops/parser/locator.rb +352 -0
  658. data/lib/puppet/pops/parser/parser_support.rb +252 -0
  659. data/lib/puppet/pops/parser/pn_parser.rb +318 -0
  660. data/lib/puppet/pops/parser/slurp_support.rb +119 -0
  661. data/lib/puppet/pops/patterns.rb +60 -0
  662. data/lib/puppet/pops/pcore.rb +136 -0
  663. data/lib/puppet/pops/pn.rb +239 -0
  664. data/lib/puppet/pops/puppet_stack.rb +63 -0
  665. data/lib/puppet/pops/resource/param.rb +56 -0
  666. data/lib/puppet/pops/resource/resource_type_impl.rb +296 -0
  667. data/lib/puppet/pops/resource/resource_type_set.pcore +22 -0
  668. data/lib/puppet/pops/semantic_error.rb +31 -0
  669. data/lib/puppet/pops/serialization/abstract_reader.rb +182 -0
  670. data/lib/puppet/pops/serialization/abstract_writer.rb +224 -0
  671. data/lib/puppet/pops/serialization/deserializer.rb +83 -0
  672. data/lib/puppet/pops/serialization/extension.rb +166 -0
  673. data/lib/puppet/pops/serialization/from_data_converter.rb +231 -0
  674. data/lib/puppet/pops/serialization/instance_reader.rb +21 -0
  675. data/lib/puppet/pops/serialization/instance_writer.rb +16 -0
  676. data/lib/puppet/pops/serialization/json.rb +301 -0
  677. data/lib/puppet/pops/serialization/json_path.rb +129 -0
  678. data/lib/puppet/pops/serialization/object.rb +73 -0
  679. data/lib/puppet/pops/serialization/serializer.rb +144 -0
  680. data/lib/puppet/pops/serialization/time_factory.rb +68 -0
  681. data/lib/puppet/pops/serialization/to_data_converter.rb +316 -0
  682. data/lib/puppet/pops/serialization/to_stringified_converter.rb +227 -0
  683. data/lib/puppet/pops/serialization.rb +45 -0
  684. data/lib/puppet/pops/time/timespan.rb +726 -0
  685. data/lib/puppet/pops/time/timestamp.rb +167 -0
  686. data/lib/puppet/pops/types/annotatable.rb +37 -0
  687. data/lib/puppet/pops/types/annotation.rb +73 -0
  688. data/lib/puppet/pops/types/class_loader.rb +132 -0
  689. data/lib/puppet/pops/types/implementation_registry.rb +137 -0
  690. data/lib/puppet/pops/types/iterable.rb +373 -0
  691. data/lib/puppet/pops/types/p_binary_type.rb +232 -0
  692. data/lib/puppet/pops/types/p_init_type.rb +241 -0
  693. data/lib/puppet/pops/types/p_meta_type.rb +95 -0
  694. data/lib/puppet/pops/types/p_object_type.rb +1142 -0
  695. data/lib/puppet/pops/types/p_object_type_extension.rb +229 -0
  696. data/lib/puppet/pops/types/p_runtime_type.rb +115 -0
  697. data/lib/puppet/pops/types/p_sem_ver_range_type.rb +191 -0
  698. data/lib/puppet/pops/types/p_sem_ver_type.rb +155 -0
  699. data/lib/puppet/pops/types/p_sensitive_type.rb +81 -0
  700. data/lib/puppet/pops/types/p_timespan_type.rb +192 -0
  701. data/lib/puppet/pops/types/p_timestamp_type.rb +74 -0
  702. data/lib/puppet/pops/types/p_type_set_type.rb +394 -0
  703. data/lib/puppet/pops/types/p_uri_type.rb +198 -0
  704. data/lib/puppet/pops/types/puppet_object.rb +39 -0
  705. data/lib/puppet/pops/types/recursion_guard.rb +142 -0
  706. data/lib/puppet/pops/types/ruby_generator.rb +477 -0
  707. data/lib/puppet/pops/types/ruby_method.rb +32 -0
  708. data/lib/puppet/pops/types/string_converter.rb +1144 -0
  709. data/lib/puppet/pops/types/tree_iterators.rb +250 -0
  710. data/lib/puppet/pops/types/type_acceptor.rb +26 -0
  711. data/lib/puppet/pops/types/type_asserter.rb +49 -0
  712. data/lib/puppet/pops/types/type_assertion_error.rb +27 -0
  713. data/lib/puppet/pops/types/type_calculator.rb +829 -0
  714. data/lib/puppet/pops/types/type_conversion_error.rb +7 -0
  715. data/lib/puppet/pops/types/type_factory.rb +640 -0
  716. data/lib/puppet/pops/types/type_formatter.rb +796 -0
  717. data/lib/puppet/pops/types/type_mismatch_describer.rb +1105 -0
  718. data/lib/puppet/pops/types/type_parser.rb +690 -0
  719. data/lib/puppet/pops/types/type_set_reference.rb +62 -0
  720. data/lib/puppet/pops/types/type_with_members.rb +43 -0
  721. data/lib/puppet/pops/types/types.rb +3644 -0
  722. data/lib/puppet/pops/utils.rb +111 -0
  723. data/lib/puppet/pops/validation/checker4_0.rb +1151 -0
  724. data/lib/puppet/pops/validation/tasks_checker.rb +95 -0
  725. data/lib/puppet/pops/validation/validator_factory_4_0.rb +45 -0
  726. data/lib/puppet/pops/validation.rb +462 -0
  727. data/lib/puppet/pops/visitable.rb +8 -0
  728. data/lib/puppet/pops/visitor.rb +136 -0
  729. data/lib/puppet/pops.rb +124 -0
  730. data/lib/puppet/property/boolean.rb +9 -0
  731. data/lib/puppet/property/ensure.rb +103 -0
  732. data/lib/puppet/property/keyvalue.rb +159 -0
  733. data/lib/puppet/property/list.rb +71 -0
  734. data/lib/puppet/property/ordered_list.rb +30 -0
  735. data/lib/puppet/property.rb +610 -0
  736. data/lib/puppet/provider/aix_object.rb +491 -0
  737. data/lib/puppet/provider/command.rb +27 -0
  738. data/lib/puppet/provider/confine.rb +8 -0
  739. data/lib/puppet/provider/exec/posix.rb +63 -0
  740. data/lib/puppet/provider/exec/shell.rb +27 -0
  741. data/lib/puppet/provider/exec/windows.rb +57 -0
  742. data/lib/puppet/provider/exec.rb +107 -0
  743. data/lib/puppet/provider/file/posix.rb +162 -0
  744. data/lib/puppet/provider/file/windows.rb +151 -0
  745. data/lib/puppet/provider/group/aix.rb +101 -0
  746. data/lib/puppet/provider/group/directoryservice.rb +24 -0
  747. data/lib/puppet/provider/group/groupadd.rb +184 -0
  748. data/lib/puppet/provider/group/ldap.rb +51 -0
  749. data/lib/puppet/provider/group/pw.rb +52 -0
  750. data/lib/puppet/provider/group/windows_adsi.rb +116 -0
  751. data/lib/puppet/provider/ldap.rb +143 -0
  752. data/lib/puppet/provider/nameservice/directoryservice.rb +522 -0
  753. data/lib/puppet/provider/nameservice/objectadd.rb +22 -0
  754. data/lib/puppet/provider/nameservice/pw.rb +21 -0
  755. data/lib/puppet/provider/nameservice.rb +295 -0
  756. data/lib/puppet/provider/network_device.rb +73 -0
  757. data/lib/puppet/provider/package/aix.rb +171 -0
  758. data/lib/puppet/provider/package/appdmg.rb +113 -0
  759. data/lib/puppet/provider/package/apple.rb +49 -0
  760. data/lib/puppet/provider/package/apt.rb +265 -0
  761. data/lib/puppet/provider/package/aptitude.rb +34 -0
  762. data/lib/puppet/provider/package/aptrpm.rb +87 -0
  763. data/lib/puppet/provider/package/blastwave.rb +109 -0
  764. data/lib/puppet/provider/package/dnf.rb +57 -0
  765. data/lib/puppet/provider/package/dnfmodule.rb +143 -0
  766. data/lib/puppet/provider/package/dpkg.rb +191 -0
  767. data/lib/puppet/provider/package/fink.rb +99 -0
  768. data/lib/puppet/provider/package/freebsd.rb +49 -0
  769. data/lib/puppet/provider/package/gem.rb +296 -0
  770. data/lib/puppet/provider/package/hpux.rb +46 -0
  771. data/lib/puppet/provider/package/macports.rb +112 -0
  772. data/lib/puppet/provider/package/nim.rb +290 -0
  773. data/lib/puppet/provider/package/openbsd.rb +145 -0
  774. data/lib/puppet/provider/package/opkg.rb +85 -0
  775. data/lib/puppet/provider/package/pacman.rb +269 -0
  776. data/lib/puppet/provider/package/pip.rb +347 -0
  777. data/lib/puppet/provider/package/pip2.rb +18 -0
  778. data/lib/puppet/provider/package/pip3.rb +18 -0
  779. data/lib/puppet/provider/package/pkg.rb +300 -0
  780. data/lib/puppet/provider/package/pkgdmg.rb +157 -0
  781. data/lib/puppet/provider/package/pkgin.rb +88 -0
  782. data/lib/puppet/provider/package/pkgng.rb +178 -0
  783. data/lib/puppet/provider/package/pkgutil.rb +186 -0
  784. data/lib/puppet/provider/package/portage.rb +314 -0
  785. data/lib/puppet/provider/package/ports.rb +94 -0
  786. data/lib/puppet/provider/package/portupgrade.rb +233 -0
  787. data/lib/puppet/provider/package/puppet_gem.rb +25 -0
  788. data/lib/puppet/provider/package/puppetserver_gem.rb +171 -0
  789. data/lib/puppet/provider/package/rpm.rb +255 -0
  790. data/lib/puppet/provider/package/rug.rb +51 -0
  791. data/lib/puppet/provider/package/sun.rb +137 -0
  792. data/lib/puppet/provider/package/sunfreeware.rb +11 -0
  793. data/lib/puppet/provider/package/tdnf.rb +35 -0
  794. data/lib/puppet/provider/package/up2date.rb +40 -0
  795. data/lib/puppet/provider/package/urpmi.rb +57 -0
  796. data/lib/puppet/provider/package/windows/exe_package.rb +108 -0
  797. data/lib/puppet/provider/package/windows/msi_package.rb +72 -0
  798. data/lib/puppet/provider/package/windows/package.rb +113 -0
  799. data/lib/puppet/provider/package/windows.rb +131 -0
  800. data/lib/puppet/provider/package/xbps.rb +127 -0
  801. data/lib/puppet/provider/package/yum.rb +390 -0
  802. data/lib/puppet/provider/package/zypper.rb +206 -0
  803. data/lib/puppet/provider/package.rb +128 -0
  804. data/lib/puppet/provider/package_targetable.rb +71 -0
  805. data/lib/puppet/provider/parsedfile.rb +492 -0
  806. data/lib/puppet/provider/service/base.rb +133 -0
  807. data/lib/puppet/provider/service/bsd.rb +53 -0
  808. data/lib/puppet/provider/service/daemontools.rb +196 -0
  809. data/lib/puppet/provider/service/debian.rb +77 -0
  810. data/lib/puppet/provider/service/freebsd.rb +141 -0
  811. data/lib/puppet/provider/service/gentoo.rb +47 -0
  812. data/lib/puppet/provider/service/init.rb +194 -0
  813. data/lib/puppet/provider/service/launchd.rb +391 -0
  814. data/lib/puppet/provider/service/openbsd.rb +101 -0
  815. data/lib/puppet/provider/service/openrc.rb +72 -0
  816. data/lib/puppet/provider/service/openwrt.rb +36 -0
  817. data/lib/puppet/provider/service/rcng.rb +53 -0
  818. data/lib/puppet/provider/service/redhat.rb +75 -0
  819. data/lib/puppet/provider/service/runit.rb +107 -0
  820. data/lib/puppet/provider/service/service.rb +66 -0
  821. data/lib/puppet/provider/service/smf.rb +322 -0
  822. data/lib/puppet/provider/service/src.rb +147 -0
  823. data/lib/puppet/provider/service/systemd.rb +191 -0
  824. data/lib/puppet/provider/service/upstart.rb +385 -0
  825. data/lib/puppet/provider/service/windows.rb +179 -0
  826. data/lib/puppet/provider/user/aix.rb +365 -0
  827. data/lib/puppet/provider/user/directoryservice.rb +685 -0
  828. data/lib/puppet/provider/user/hpux.rb +93 -0
  829. data/lib/puppet/provider/user/ldap.rb +135 -0
  830. data/lib/puppet/provider/user/openbsd.rb +94 -0
  831. data/lib/puppet/provider/user/pw.rb +109 -0
  832. data/lib/puppet/provider/user/user_role_add.rb +243 -0
  833. data/lib/puppet/provider/user/useradd.rb +417 -0
  834. data/lib/puppet/provider/user/windows_adsi.rb +176 -0
  835. data/lib/puppet/provider.rb +613 -0
  836. data/lib/puppet/reference/configuration.rb +98 -0
  837. data/lib/puppet/reference/function.rb +19 -0
  838. data/lib/puppet/reference/indirection.rb +76 -0
  839. data/lib/puppet/reference/metaparameter.rb +35 -0
  840. data/lib/puppet/reference/providers.rb +119 -0
  841. data/lib/puppet/reference/report.rb +22 -0
  842. data/lib/puppet/reference/type.rb +111 -0
  843. data/lib/puppet/relationship.rb +85 -0
  844. data/lib/puppet/reports/http.rb +45 -0
  845. data/lib/puppet/reports/log.rb +15 -0
  846. data/lib/puppet/reports/store.rb +71 -0
  847. data/lib/puppet/reports.rb +95 -0
  848. data/lib/puppet/resource/catalog.rb +655 -0
  849. data/lib/puppet/resource/status.rb +231 -0
  850. data/lib/puppet/resource/type.rb +449 -0
  851. data/lib/puppet/resource/type_collection.rb +235 -0
  852. data/lib/puppet/resource.rb +673 -0
  853. data/lib/puppet/runtime.rb +67 -0
  854. data/lib/puppet/scheduler/job.rb +55 -0
  855. data/lib/puppet/scheduler/scheduler.rb +46 -0
  856. data/lib/puppet/scheduler/splay_job.rb +45 -0
  857. data/lib/puppet/scheduler/timer.rb +15 -0
  858. data/lib/puppet/scheduler.rb +18 -0
  859. data/lib/puppet/settings/alias_setting.rb +37 -0
  860. data/lib/puppet/settings/array_setting.rb +18 -0
  861. data/lib/puppet/settings/autosign_setting.rb +23 -0
  862. data/lib/puppet/settings/base_setting.rb +227 -0
  863. data/lib/puppet/settings/boolean_setting.rb +34 -0
  864. data/lib/puppet/settings/certificate_revocation_setting.rb +22 -0
  865. data/lib/puppet/settings/config_file.rb +148 -0
  866. data/lib/puppet/settings/directory_setting.rb +20 -0
  867. data/lib/puppet/settings/duration_setting.rb +33 -0
  868. data/lib/puppet/settings/enum_setting.rb +18 -0
  869. data/lib/puppet/settings/environment_conf.rb +220 -0
  870. data/lib/puppet/settings/errors.rb +14 -0
  871. data/lib/puppet/settings/file_or_directory_setting.rb +37 -0
  872. data/lib/puppet/settings/file_setting.rb +232 -0
  873. data/lib/puppet/settings/http_extra_headers_setting.rb +26 -0
  874. data/lib/puppet/settings/ini_file.rb +228 -0
  875. data/lib/puppet/settings/integer_setting.rb +19 -0
  876. data/lib/puppet/settings/path_setting.rb +10 -0
  877. data/lib/puppet/settings/port_setting.rb +17 -0
  878. data/lib/puppet/settings/priority_setting.rb +44 -0
  879. data/lib/puppet/settings/server_list_setting.rb +30 -0
  880. data/lib/puppet/settings/string_setting.rb +11 -0
  881. data/lib/puppet/settings/symbolic_enum_setting.rb +19 -0
  882. data/lib/puppet/settings/terminus_setting.rb +16 -0
  883. data/lib/puppet/settings/ttl_setting.rb +53 -0
  884. data/lib/puppet/settings/value_translator.rb +16 -0
  885. data/lib/puppet/settings.rb +1608 -0
  886. data/lib/puppet/ssl/base.rb +152 -0
  887. data/lib/puppet/ssl/certificate.rb +102 -0
  888. data/lib/puppet/ssl/certificate_request.rb +320 -0
  889. data/lib/puppet/ssl/certificate_request_attributes.rb +40 -0
  890. data/lib/puppet/ssl/certificate_signer.rb +39 -0
  891. data/lib/puppet/ssl/digest.rb +22 -0
  892. data/lib/puppet/ssl/error.rb +29 -0
  893. data/lib/puppet/ssl/oids.rb +199 -0
  894. data/lib/puppet/ssl/openssl_loader.rb +26 -0
  895. data/lib/puppet/ssl/ssl_context.rb +27 -0
  896. data/lib/puppet/ssl/ssl_provider.rb +356 -0
  897. data/lib/puppet/ssl/state_machine.rb +611 -0
  898. data/lib/puppet/ssl/verifier.rb +143 -0
  899. data/lib/puppet/ssl.rb +25 -0
  900. data/lib/puppet/syntax_checkers/base64.rb +42 -0
  901. data/lib/puppet/syntax_checkers/epp.rb +35 -0
  902. data/lib/puppet/syntax_checkers/json.rb +35 -0
  903. data/lib/puppet/syntax_checkers/pp.rb +35 -0
  904. data/lib/puppet/syntax_checkers.rb +5 -0
  905. data/lib/puppet/test/test_helper.rb +250 -0
  906. data/lib/puppet/thread_local.rb +6 -0
  907. data/lib/puppet/transaction/additional_resource_generator.rb +225 -0
  908. data/lib/puppet/transaction/event.rb +170 -0
  909. data/lib/puppet/transaction/event_manager.rb +180 -0
  910. data/lib/puppet/transaction/persistence.rb +117 -0
  911. data/lib/puppet/transaction/report.rb +511 -0
  912. data/lib/puppet/transaction/resource_harness.rb +331 -0
  913. data/lib/puppet/transaction.rb +492 -0
  914. data/lib/puppet/trusted_external.rb +46 -0
  915. data/lib/puppet/type/component.rb +95 -0
  916. data/lib/puppet/type/exec.rb +730 -0
  917. data/lib/puppet/type/file/checksum.rb +64 -0
  918. data/lib/puppet/type/file/checksum_value.rb +56 -0
  919. data/lib/puppet/type/file/content.rb +153 -0
  920. data/lib/puppet/type/file/ctime.rb +22 -0
  921. data/lib/puppet/type/file/data_sync.rb +101 -0
  922. data/lib/puppet/type/file/ensure.rb +203 -0
  923. data/lib/puppet/type/file/group.rb +50 -0
  924. data/lib/puppet/type/file/mode.rb +192 -0
  925. data/lib/puppet/type/file/mtime.rb +21 -0
  926. data/lib/puppet/type/file/owner.rb +52 -0
  927. data/lib/puppet/type/file/selcontext.rb +143 -0
  928. data/lib/puppet/type/file/source.rb +374 -0
  929. data/lib/puppet/type/file/target.rb +86 -0
  930. data/lib/puppet/type/file/type.rb +21 -0
  931. data/lib/puppet/type/file.rb +1144 -0
  932. data/lib/puppet/type/filebucket.rb +137 -0
  933. data/lib/puppet/type/group.rb +238 -0
  934. data/lib/puppet/type/notify.rb +48 -0
  935. data/lib/puppet/type/package.rb +739 -0
  936. data/lib/puppet/type/resources.rb +190 -0
  937. data/lib/puppet/type/schedule.rb +441 -0
  938. data/lib/puppet/type/service.rb +310 -0
  939. data/lib/puppet/type/stage.rb +29 -0
  940. data/lib/puppet/type/tidy.rb +382 -0
  941. data/lib/puppet/type/user.rb +861 -0
  942. data/lib/puppet/type/whit.rb +35 -0
  943. data/lib/puppet/type.rb +2616 -0
  944. data/lib/puppet/util/at_fork/noop.rb +17 -0
  945. data/lib/puppet/util/at_fork/solaris.rb +158 -0
  946. data/lib/puppet/util/at_fork.rb +37 -0
  947. data/lib/puppet/util/autoload.rb +221 -0
  948. data/lib/puppet/util/backups.rb +88 -0
  949. data/lib/puppet/util/character_encoding.rb +83 -0
  950. data/lib/puppet/util/checksums.rb +400 -0
  951. data/lib/puppet/util/classgen.rb +223 -0
  952. data/lib/puppet/util/colors.rb +102 -0
  953. data/lib/puppet/util/command_line/puppet_option_parser.rb +89 -0
  954. data/lib/puppet/util/command_line/trollop.rb +847 -0
  955. data/lib/puppet/util/command_line.rb +198 -0
  956. data/lib/puppet/util/constant_inflector.rb +25 -0
  957. data/lib/puppet/util/diff.rb +80 -0
  958. data/lib/puppet/util/docs.rb +132 -0
  959. data/lib/puppet/util/errors.rb +161 -0
  960. data/lib/puppet/util/execution.rb +446 -0
  961. data/lib/puppet/util/execution_stub.rb +28 -0
  962. data/lib/puppet/util/feature.rb +129 -0
  963. data/lib/puppet/util/file_watcher.rb +31 -0
  964. data/lib/puppet/util/fileparsing.rb +398 -0
  965. data/lib/puppet/util/filetype.rb +356 -0
  966. data/lib/puppet/util/http_proxy.rb +6 -0
  967. data/lib/puppet/util/inifile.rb +335 -0
  968. data/lib/puppet/util/instance_loader.rb +69 -0
  969. data/lib/puppet/util/json.rb +58 -0
  970. data/lib/puppet/util/json_lockfile.rb +47 -0
  971. data/lib/puppet/util/ldap/connection.rb +75 -0
  972. data/lib/puppet/util/ldap/generator.rb +42 -0
  973. data/lib/puppet/util/ldap/manager.rb +283 -0
  974. data/lib/puppet/util/ldap.rb +4 -0
  975. data/lib/puppet/util/libuser.conf +15 -0
  976. data/lib/puppet/util/libuser.rb +13 -0
  977. data/lib/puppet/util/limits.rb +14 -0
  978. data/lib/puppet/util/lockfile.rb +66 -0
  979. data/lib/puppet/util/log/destination.rb +50 -0
  980. data/lib/puppet/util/log/destinations.rb +253 -0
  981. data/lib/puppet/util/log.rb +436 -0
  982. data/lib/puppet/util/logging.rb +304 -0
  983. data/lib/puppet/util/metaid.rb +22 -0
  984. data/lib/puppet/util/metric.rb +68 -0
  985. data/lib/puppet/util/monkey_patches.rb +95 -0
  986. data/lib/puppet/util/multi_match.rb +55 -0
  987. data/lib/puppet/util/network_device/base.rb +24 -0
  988. data/lib/puppet/util/network_device/config.rb +105 -0
  989. data/lib/puppet/util/network_device/transport/base.rb +24 -0
  990. data/lib/puppet/util/network_device/transport.rb +7 -0
  991. data/lib/puppet/util/network_device.rb +19 -0
  992. data/lib/puppet/util/package/version/debian.rb +177 -0
  993. data/lib/puppet/util/package/version/gem.rb +18 -0
  994. data/lib/puppet/util/package/version/pip.rb +173 -0
  995. data/lib/puppet/util/package/version/range/eq.rb +17 -0
  996. data/lib/puppet/util/package/version/range/gt.rb +17 -0
  997. data/lib/puppet/util/package/version/range/gt_eq.rb +17 -0
  998. data/lib/puppet/util/package/version/range/lt.rb +17 -0
  999. data/lib/puppet/util/package/version/range/lt_eq.rb +17 -0
  1000. data/lib/puppet/util/package/version/range/min_max.rb +26 -0
  1001. data/lib/puppet/util/package/version/range/simple.rb +13 -0
  1002. data/lib/puppet/util/package/version/range.rb +57 -0
  1003. data/lib/puppet/util/package/version/rpm.rb +75 -0
  1004. data/lib/puppet/util/package.rb +43 -0
  1005. data/lib/puppet/util/pidlock.rb +103 -0
  1006. data/lib/puppet/util/platform.rb +72 -0
  1007. data/lib/puppet/util/plist.rb +161 -0
  1008. data/lib/puppet/util/posix.rb +206 -0
  1009. data/lib/puppet/util/profiler/aggregate.rb +82 -0
  1010. data/lib/puppet/util/profiler/around_profiler.rb +68 -0
  1011. data/lib/puppet/util/profiler/logging.rb +50 -0
  1012. data/lib/puppet/util/profiler/object_counts.rb +19 -0
  1013. data/lib/puppet/util/profiler/wall_clock.rb +36 -0
  1014. data/lib/puppet/util/profiler.rb +55 -0
  1015. data/lib/puppet/util/provider_features.rb +183 -0
  1016. data/lib/puppet/util/psych_support.rb +32 -0
  1017. data/lib/puppet/util/rdoc/code_objects.rb +293 -0
  1018. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +263 -0
  1019. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +16 -0
  1020. data/lib/puppet/util/rdoc/parser.rb +14 -0
  1021. data/lib/puppet/util/rdoc.rb +57 -0
  1022. data/lib/puppet/util/reference.rb +94 -0
  1023. data/lib/puppet/util/resource_template.rb +63 -0
  1024. data/lib/puppet/util/retry_action.rb +47 -0
  1025. data/lib/puppet/util/rpm_compare.rb +196 -0
  1026. data/lib/puppet/util/rubygems.rb +67 -0
  1027. data/lib/puppet/util/run_mode.rb +164 -0
  1028. data/lib/puppet/util/selinux.rb +346 -0
  1029. data/lib/puppet/util/skip_tags.rb +15 -0
  1030. data/lib/puppet/util/splayer.rb +20 -0
  1031. data/lib/puppet/util/storage.rb +100 -0
  1032. data/lib/puppet/util/suidmanager.rb +167 -0
  1033. data/lib/puppet/util/symbolic_file_mode.rb +156 -0
  1034. data/lib/puppet/util/tag_set.rb +29 -0
  1035. data/lib/puppet/util/tagging.rb +131 -0
  1036. data/lib/puppet/util/terminal.rb +18 -0
  1037. data/lib/puppet/util/user_attr.rb +23 -0
  1038. data/lib/puppet/util/warnings.rb +35 -0
  1039. data/lib/puppet/util/watched_file.rb +40 -0
  1040. data/lib/puppet/util/watcher/change_watcher.rb +35 -0
  1041. data/lib/puppet/util/watcher/periodic_watcher.rb +38 -0
  1042. data/lib/puppet/util/watcher/timer.rb +21 -0
  1043. data/lib/puppet/util/watcher.rb +17 -0
  1044. data/lib/puppet/util/windows/access_control_entry.rb +86 -0
  1045. data/lib/puppet/util/windows/access_control_list.rb +116 -0
  1046. data/lib/puppet/util/windows/adsi.rb +662 -0
  1047. data/lib/puppet/util/windows/com.rb +228 -0
  1048. data/lib/puppet/util/windows/daemon.rb +340 -0
  1049. data/lib/puppet/util/windows/error.rb +86 -0
  1050. data/lib/puppet/util/windows/eventlog.rb +191 -0
  1051. data/lib/puppet/util/windows/file.rb +358 -0
  1052. data/lib/puppet/util/windows/monkey_patches/process.rb +413 -0
  1053. data/lib/puppet/util/windows/principal.rb +204 -0
  1054. data/lib/puppet/util/windows/process.rb +360 -0
  1055. data/lib/puppet/util/windows/registry.rb +443 -0
  1056. data/lib/puppet/util/windows/root_certs.rb +110 -0
  1057. data/lib/puppet/util/windows/security.rb +909 -0
  1058. data/lib/puppet/util/windows/security_descriptor.rb +64 -0
  1059. data/lib/puppet/util/windows/service.rb +708 -0
  1060. data/lib/puppet/util/windows/sid.rb +291 -0
  1061. data/lib/puppet/util/windows/string.rb +17 -0
  1062. data/lib/puppet/util/windows/user.rb +551 -0
  1063. data/lib/puppet/util/windows.rb +58 -0
  1064. data/lib/puppet/util/yaml.rb +67 -0
  1065. data/lib/puppet/util.rb +769 -0
  1066. data/lib/puppet/vendor/require_vendored.rb +4 -0
  1067. data/lib/puppet/vendor.rb +59 -0
  1068. data/lib/puppet/version.rb +98 -0
  1069. data/lib/puppet/x509/cert_provider.rb +405 -0
  1070. data/lib/puppet/x509/pem_store.rb +57 -0
  1071. data/lib/puppet/x509.rb +13 -0
  1072. data/lib/puppet.rb +348 -0
  1073. data/lib/puppet_pal.rb +10 -0
  1074. data/lib/puppet_x.rb +16 -0
  1075. data/locales/config.yaml +29 -0
  1076. data/locales/en/puppet.po +19 -0
  1077. data/locales/puppet.pot +9736 -0
  1078. data/man/man5/puppet.conf.5 +1383 -0
  1079. data/man/man8/puppet-agent.8 +135 -0
  1080. data/man/man8/puppet-apply.8 +67 -0
  1081. data/man/man8/puppet-catalog.8 +194 -0
  1082. data/man/man8/puppet-config.8 +103 -0
  1083. data/man/man8/puppet-describe.8 +35 -0
  1084. data/man/man8/puppet-device.8 +83 -0
  1085. data/man/man8/puppet-doc.8 +30 -0
  1086. data/man/man8/puppet-epp.8 +232 -0
  1087. data/man/man8/puppet-facts.8 +156 -0
  1088. data/man/man8/puppet-filebucket.8 +134 -0
  1089. data/man/man8/puppet-generate.8 +54 -0
  1090. data/man/man8/puppet-help.8 +46 -0
  1091. data/man/man8/puppet-lookup.8 +71 -0
  1092. data/man/man8/puppet-module.8 +220 -0
  1093. data/man/man8/puppet-node.8 +108 -0
  1094. data/man/man8/puppet-parser.8 +87 -0
  1095. data/man/man8/puppet-plugin.8 +50 -0
  1096. data/man/man8/puppet-report.8 +84 -0
  1097. data/man/man8/puppet-resource.8 +63 -0
  1098. data/man/man8/puppet-script.8 +48 -0
  1099. data/man/man8/puppet-ssl.8 +43 -0
  1100. data/man/man8/puppet.8 +98 -0
  1101. data/tasks/build.rake +26 -0
  1102. data/tasks/cleanup.rake +19 -0
  1103. data/tasks/upload.rake +50 -0
  1104. data/tasks/vox.rake +17 -0
  1105. metadata +1391 -0
@@ -0,0 +1,482 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../puppet/util/logging'
4
+ require_relative 'module/task'
5
+ require_relative 'module/plan'
6
+ require_relative '../puppet/util/json'
7
+ require 'semantic_puppet/gem_version'
8
+
9
+ # Support for modules
10
+ class Puppet::Module
11
+ class Error < Puppet::Error; end
12
+ class MissingModule < Error; end
13
+ class IncompatibleModule < Error; end
14
+ class UnsupportedPlatform < Error; end
15
+ class IncompatiblePlatform < Error; end
16
+ class MissingMetadata < Error; end
17
+ class FaultyMetadata < Error; end
18
+ class InvalidName < Error; end
19
+ class InvalidFilePattern < Error; end
20
+
21
+ include Puppet::Util::Logging
22
+
23
+ FILETYPES = {
24
+ "manifests" => "manifests",
25
+ "files" => "files",
26
+ "templates" => "templates",
27
+ "plugins" => "lib",
28
+ "pluginfacts" => "facts.d",
29
+ "locales" => "locales",
30
+ "scripts" => "scripts",
31
+ }
32
+
33
+ # Find and return the +module+ that +path+ belongs to. If +path+ is
34
+ # absolute, or if there is no module whose name is the first component
35
+ # of +path+, return +nil+
36
+ def self.find(modname, environment = nil)
37
+ return nil unless modname
38
+
39
+ # Unless a specific environment is given, use the current environment
40
+ env = environment ? Puppet.lookup(:environments).get!(environment) : Puppet.lookup(:current_environment)
41
+ env.module(modname)
42
+ end
43
+
44
+ def self.is_module_directory?(name, path)
45
+ # it must be a directory
46
+ fullpath = File.join(path, name)
47
+ return false unless Puppet::FileSystem.directory?(fullpath)
48
+
49
+ is_module_directory_name?(name)
50
+ end
51
+
52
+ def self.is_module_directory_name?(name)
53
+ # it must match an installed module name according to forge validator
54
+ return true if name =~ /^[a-z][a-z0-9_]*$/
55
+
56
+ false
57
+ end
58
+
59
+ def self.is_module_namespaced_name?(name)
60
+ # it must match the full module name according to forge validator
61
+ return true if name =~ /^[a-zA-Z0-9]+-[a-z][a-z0-9_]*$/
62
+
63
+ false
64
+ end
65
+
66
+ # @api private
67
+ def self.parse_range(range)
68
+ SemanticPuppet::VersionRange.parse(range)
69
+ end
70
+
71
+ attr_reader :name, :environment, :path, :metadata
72
+ attr_writer :environment
73
+
74
+ attr_accessor :dependencies, :forge_name
75
+ attr_accessor :source, :author, :version, :license, :summary, :description, :project_page
76
+
77
+ def initialize(name, path, environment)
78
+ @name = name
79
+ @path = path
80
+ @environment = environment
81
+
82
+ assert_validity
83
+ load_metadata
84
+
85
+ @absolute_path_to_manifests = Puppet::FileSystem::PathPattern.absolute(manifests)
86
+ end
87
+
88
+ # @deprecated The puppetversion module metadata field is no longer used.
89
+ def puppetversion
90
+ nil
91
+ end
92
+
93
+ # @deprecated The puppetversion module metadata field is no longer used.
94
+ def puppetversion=(something); end
95
+
96
+ # @deprecated The puppetversion module metadata field is no longer used.
97
+ def validate_puppet_version
98
+ nil
99
+ end
100
+
101
+ def has_metadata?
102
+ load_metadata
103
+ @metadata.is_a?(Hash) && !@metadata.empty?
104
+ rescue Puppet::Module::MissingMetadata
105
+ false
106
+ end
107
+
108
+ FILETYPES.each do |type, location|
109
+ # A boolean method to let external callers determine if
110
+ # we have files of a given type.
111
+ define_method(type + '?') do
112
+ type_subpath = subpath(location)
113
+ unless Puppet::FileSystem.exist?(type_subpath)
114
+ Puppet.debug { "No #{type} found in subpath '#{type_subpath}' (file / directory does not exist)" }
115
+ return false
116
+ end
117
+
118
+ true
119
+ end
120
+
121
+ # A method for returning a given file of a given type.
122
+ # e.g., file = mod.manifest("my/manifest.pp")
123
+ #
124
+ # If the file name is nil, then the base directory for the
125
+ # file type is passed; this is used for fileserving.
126
+ define_method(type.sub(/s$/, '')) do |file|
127
+ # If 'file' is nil then they're asking for the base path.
128
+ # This is used for things like fileserving.
129
+ if file
130
+ full_path = File.join(subpath(location), file)
131
+ else
132
+ full_path = subpath(location)
133
+ end
134
+
135
+ return nil unless Puppet::FileSystem.exist?(full_path)
136
+
137
+ full_path
138
+ end
139
+
140
+ # Return the base directory for the given type
141
+ define_method(type) do
142
+ subpath(location)
143
+ end
144
+ end
145
+
146
+ def tasks_directory
147
+ subpath("tasks")
148
+ end
149
+
150
+ def tasks
151
+ return @tasks if instance_variable_defined?(:@tasks)
152
+
153
+ if Puppet::FileSystem.exist?(tasks_directory)
154
+ @tasks = Puppet::Module::Task.tasks_in_module(self)
155
+ else
156
+ @tasks = []
157
+ end
158
+ end
159
+
160
+ # This is a re-implementation of the Filetypes singular type method (e.g.
161
+ # `manifest('my/manifest.pp')`. We don't implement the full filetype "API" for
162
+ # tasks since tasks don't map 1:1 onto files.
163
+ def task_file(name)
164
+ # If 'file' is nil then they're asking for the base path.
165
+ # This is used for things like fileserving.
166
+ if name
167
+ full_path = File.join(tasks_directory, name)
168
+ else
169
+ full_path = tasks_directory
170
+ end
171
+
172
+ if Puppet::FileSystem.exist?(full_path)
173
+ full_path
174
+ end
175
+ end
176
+
177
+ def plans_directory
178
+ subpath("plans")
179
+ end
180
+
181
+ def plans
182
+ return @plans if instance_variable_defined?(:@plans)
183
+
184
+ if Puppet::FileSystem.exist?(plans_directory)
185
+ @plans = Puppet::Module::Plan.plans_in_module(self)
186
+ else
187
+ @plans = []
188
+ end
189
+ end
190
+
191
+ # This is a re-implementation of the Filetypes singular type method (e.g.
192
+ # `manifest('my/manifest.pp')`. We don't implement the full filetype "API" for
193
+ # plans.
194
+ def plan_file(name)
195
+ # If 'file' is nil then they're asking for the base path.
196
+ # This is used for things like fileserving.
197
+ if name
198
+ full_path = File.join(plans_directory, name)
199
+ else
200
+ full_path = plans_directory
201
+ end
202
+
203
+ if Puppet::FileSystem.exist?(full_path)
204
+ full_path
205
+ end
206
+ end
207
+
208
+ def license_file
209
+ return @license_file if defined?(@license_file)
210
+
211
+ return @license_file = nil unless path
212
+
213
+ @license_file = File.join(path, "License")
214
+ end
215
+
216
+ def read_metadata
217
+ md_file = metadata_file
218
+ return {} if md_file.nil?
219
+
220
+ content = File.read(md_file, :encoding => 'utf-8')
221
+ content.empty? ? {} : Puppet::Util::Json.load(content)
222
+ rescue Errno::ENOENT
223
+ {}
224
+ rescue Puppet::Util::Json::ParseError => e
225
+ # TRANSLATORS 'metadata.json' is a specific file name and should not be translated.
226
+ msg = _("%{name} has an invalid and unparsable metadata.json file. The parse error: %{error}") % { name: name, error: e.message }
227
+ case Puppet[:strict]
228
+ when :off
229
+ Puppet.debug(msg)
230
+ when :warning
231
+ Puppet.warning(msg)
232
+ when :error
233
+ raise FaultyMetadata, msg
234
+ end
235
+ {}
236
+ end
237
+
238
+ def load_metadata
239
+ return if instance_variable_defined?(:@metadata)
240
+
241
+ @metadata = data = read_metadata
242
+ return if data.empty?
243
+
244
+ @forge_name = data['name'].tr('-', '/') if data['name']
245
+
246
+ [:source, :author, :version, :license, :dependencies].each do |attr|
247
+ value = data[attr.to_s]
248
+ raise MissingMetadata, "No #{attr} module metadata provided for #{name}" if value.nil?
249
+
250
+ if attr == :dependencies
251
+ unless value.is_a?(Array)
252
+ raise MissingMetadata, "The value for the key dependencies in the file metadata.json of the module #{name} must be an array, not: '#{value}'"
253
+ end
254
+
255
+ value.each do |dep|
256
+ name = dep['name']
257
+ dep['name'] = name.tr('-', '/') unless name.nil?
258
+ dep['version_requirement'] ||= '>= 0.0.0'
259
+ end
260
+ end
261
+
262
+ send(attr.to_s + "=", value)
263
+ end
264
+ end
265
+
266
+ # Return the list of manifests matching the given glob pattern,
267
+ # defaulting to 'init.pp' for empty modules.
268
+ def match_manifests(rest)
269
+ if rest
270
+ wanted_manifests = wanted_manifests_from(rest)
271
+ searched_manifests = wanted_manifests.glob.reject { |f| FileTest.directory?(f) }
272
+ else
273
+ searched_manifests = []
274
+ end
275
+
276
+ # (#4220) Always ensure init.pp in case class is defined there.
277
+ init_manifest = manifest("init.pp")
278
+ if !init_manifest.nil? && !searched_manifests.include?(init_manifest)
279
+ searched_manifests.unshift(init_manifest)
280
+ end
281
+ searched_manifests
282
+ end
283
+
284
+ def all_manifests
285
+ return [] unless Puppet::FileSystem.exist?(manifests)
286
+
287
+ Dir.glob(File.join(manifests, '**', '*.pp'))
288
+ end
289
+
290
+ def metadata_file
291
+ return @metadata_file if defined?(@metadata_file)
292
+
293
+ return @metadata_file = nil unless path
294
+
295
+ @metadata_file = File.join(path, "metadata.json")
296
+ end
297
+
298
+ def hiera_conf_file
299
+ unless defined?(@hiera_conf_file)
300
+ @hiera_conf_file = path.nil? ? nil : File.join(path, Puppet::Pops::Lookup::HieraConfig::CONFIG_FILE_NAME)
301
+ end
302
+ @hiera_conf_file
303
+ end
304
+
305
+ def has_hiera_conf?
306
+ hiera_conf_file.nil? ? false : Puppet::FileSystem.exist?(hiera_conf_file)
307
+ end
308
+
309
+ def modulepath
310
+ File.dirname(path) if path
311
+ end
312
+
313
+ # Find all plugin directories. This is used by the Plugins fileserving mount.
314
+ def plugin_directory
315
+ subpath("lib")
316
+ end
317
+
318
+ def plugin_fact_directory
319
+ subpath("facts.d")
320
+ end
321
+
322
+ # @return [String]
323
+ def locale_directory
324
+ subpath("locales")
325
+ end
326
+
327
+ # Returns true if the module has translation files for the
328
+ # given locale.
329
+ # @param [String] locale the two-letter language code to check
330
+ # for translations
331
+ # @return true if the module has a directory for the locale, false
332
+ # false otherwise
333
+ def has_translations?(locale)
334
+ Puppet::FileSystem.exist?(File.join(locale_directory, locale))
335
+ end
336
+
337
+ def has_external_facts?
338
+ File.directory?(plugin_fact_directory)
339
+ end
340
+
341
+ def supports(name, version = nil)
342
+ @supports ||= []
343
+ @supports << [name, version]
344
+ end
345
+
346
+ def to_s
347
+ result = "Module #{name}"
348
+ result += "(#{path})" if path
349
+ result
350
+ end
351
+
352
+ def dependencies_as_modules
353
+ dependent_modules = []
354
+ dependencies and dependencies.each do |dep|
355
+ _, dep_name = dep["name"].split('/')
356
+ found_module = environment.module(dep_name)
357
+ dependent_modules << found_module if found_module
358
+ end
359
+
360
+ dependent_modules
361
+ end
362
+
363
+ def required_by
364
+ environment.module_requirements[forge_name] || {}
365
+ end
366
+
367
+ # Identify and mark unmet dependencies. A dependency will be marked unmet
368
+ # for the following reasons:
369
+ #
370
+ # * not installed and is thus considered missing
371
+ # * installed and does not meet the version requirements for this module
372
+ # * installed and doesn't use semantic versioning
373
+ #
374
+ # Returns a list of hashes representing the details of an unmet dependency.
375
+ #
376
+ # Example:
377
+ #
378
+ # [
379
+ # {
380
+ # :reason => :missing,
381
+ # :name => 'puppetlabs-mysql',
382
+ # :version_constraint => 'v0.0.1',
383
+ # :mod_details => {
384
+ # :installed_version => '0.0.1'
385
+ # }
386
+ # :parent => {
387
+ # :name => 'puppetlabs-bacula',
388
+ # :version => 'v1.0.0'
389
+ # }
390
+ # }
391
+ # ]
392
+ #
393
+ def unmet_dependencies
394
+ unmet_dependencies = []
395
+ return unmet_dependencies unless dependencies
396
+
397
+ dependencies.each do |dependency|
398
+ name = dependency['name']
399
+ version_string = dependency['version_requirement'] || '>= 0.0.0'
400
+
401
+ dep_mod = begin
402
+ environment.module_by_forge_name(name)
403
+ rescue
404
+ nil
405
+ end
406
+
407
+ error_details = {
408
+ :name => name,
409
+ :version_constraint => version_string.gsub(/^(?=\d)/, "v"),
410
+ :parent => {
411
+ :name => forge_name,
412
+ :version => version.gsub(/^(?=\d)/, "v")
413
+ },
414
+ :mod_details => {
415
+ :installed_version => dep_mod.nil? ? nil : dep_mod.version
416
+ }
417
+ }
418
+
419
+ unless dep_mod
420
+ error_details[:reason] = :missing
421
+ unmet_dependencies << error_details
422
+ next
423
+ end
424
+
425
+ next unless version_string
426
+
427
+ begin
428
+ required_version_semver_range = self.class.parse_range(version_string)
429
+ actual_version_semver = SemanticPuppet::Version.parse(dep_mod.version)
430
+ rescue ArgumentError
431
+ error_details[:reason] = :non_semantic_version
432
+ unmet_dependencies << error_details
433
+ next
434
+ end
435
+
436
+ next if required_version_semver_range.include? actual_version_semver
437
+
438
+ error_details[:reason] = :version_mismatch
439
+ unmet_dependencies << error_details
440
+ next
441
+ end
442
+
443
+ unmet_dependencies
444
+ end
445
+
446
+ def ==(other)
447
+ name == other.name &&
448
+ version == other.version &&
449
+ path == other.path &&
450
+ environment == other.environment
451
+ end
452
+
453
+ private
454
+
455
+ def wanted_manifests_from(pattern)
456
+ begin
457
+ extended = File.extname(pattern).empty? ? "#{pattern}.pp" : pattern
458
+ relative_pattern = Puppet::FileSystem::PathPattern.relative(extended)
459
+ rescue Puppet::FileSystem::PathPattern::InvalidPattern => error
460
+ raise Puppet::Module::InvalidFilePattern.new(
461
+ "The pattern \"#{pattern}\" to find manifests in the module \"#{name}\" " \
462
+ "is invalid and potentially unsafe.", error
463
+ )
464
+ end
465
+
466
+ relative_pattern.prefix_with(@absolute_path_to_manifests)
467
+ end
468
+
469
+ def subpath(type)
470
+ File.join(path, type)
471
+ end
472
+
473
+ def assert_validity
474
+ if !Puppet::Module.is_module_directory_name?(@name) && !Puppet::Module.is_module_namespaced_name?(@name)
475
+ raise InvalidName, _(<<-ERROR_STRING).chomp % { name: @name }
476
+ Invalid module name '%{name}'; module names must match either:
477
+ An installed module name (ex. modulename) matching the expression /^[a-z][a-z0-9_]*$/ -or-
478
+ A namespaced module name (ex. author-modulename) matching the expression /^[a-zA-Z0-9]+[-][a-z][a-z0-9_]*$/
479
+ ERROR_STRING
480
+ end
481
+ end
482
+ end
@@ -0,0 +1,96 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'net/http'
4
+ require_relative '../../../puppet/util/json'
5
+ require_relative '../../../puppet/util/colors'
6
+
7
+ module Puppet::ModuleTool
8
+ module Applications
9
+ class Application
10
+ include Puppet::Util::Colors
11
+
12
+ def self.run(*args)
13
+ new(*args).run
14
+ end
15
+
16
+ attr_accessor :options
17
+
18
+ def initialize(options = {})
19
+ @options = options
20
+ end
21
+
22
+ def run
23
+ raise NotImplementedError, "Should be implemented in child classes."
24
+ end
25
+
26
+ def discuss(response, success, failure)
27
+ case response
28
+ when Net::HTTPOK, Net::HTTPCreated
29
+ Puppet.notice success
30
+ else
31
+ errors = begin
32
+ Puppet::Util::Json.load(response.body)['error']
33
+ rescue
34
+ "HTTP #{response.code}, #{response.body}"
35
+ end
36
+ Puppet.warning "#{failure} (#{errors})"
37
+ end
38
+ end
39
+
40
+ def metadata(require_metadata = false)
41
+ return @metadata if @metadata
42
+
43
+ @metadata = Puppet::ModuleTool::Metadata.new
44
+
45
+ unless @path
46
+ raise ArgumentError, _("Could not determine module path")
47
+ end
48
+
49
+ if require_metadata && !Puppet::ModuleTool.is_module_root?(@path)
50
+ raise ArgumentError, _("Unable to find metadata.json in module root at %{path} See https://docs.openvoxproject.org/openvox/latest/modules_publishing.html for required file format.") % { path: @path }
51
+ end
52
+
53
+ metadata_path = File.join(@path, 'metadata.json')
54
+
55
+ if File.file?(metadata_path)
56
+ File.open(metadata_path) do |f|
57
+ @metadata.update(Puppet::Util::Json.load(f))
58
+ rescue Puppet::Util::Json::ParseError => ex
59
+ raise ArgumentError, _("Could not parse JSON %{metadata_path}") % { metadata_path: metadata_path }, ex.backtrace
60
+ end
61
+ end
62
+
63
+ if File.file?(File.join(@path, 'Modulefile'))
64
+ Puppet.warning _("A Modulefile was found in the root directory of the module. This file will be ignored and can safely be removed.")
65
+ end
66
+
67
+ @metadata
68
+ end
69
+
70
+ def load_metadata!
71
+ @metadata = nil
72
+ metadata(true)
73
+ end
74
+
75
+ def parse_filename(filename)
76
+ match = /^((.*?)-(.*?))-(\d+\.\d+\.\d+.*?)$/.match(File.basename(filename, '.tar.gz'))
77
+ if match
78
+ module_name, author, shortname, version = match.captures
79
+ else
80
+ raise ArgumentError, _("Could not parse filename to obtain the username, module name and version. (%{release_name})") % { release_name: @release_name }
81
+ end
82
+
83
+ unless SemanticPuppet::Version.valid?(version)
84
+ raise ArgumentError, _("Invalid version format: %{version} (Semantic Versions are acceptable: http://semver.org)") % { version: version }
85
+ end
86
+
87
+ {
88
+ :module_name => module_name,
89
+ :author => author,
90
+ :dir_name => shortname,
91
+ :version => version
92
+ }
93
+ end
94
+ end
95
+ end
96
+ end
@@ -0,0 +1,62 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../../puppet/util/json'
4
+ require_relative '../../../puppet/module_tool/checksums'
5
+
6
+ module Puppet::ModuleTool
7
+ module Applications
8
+ class Checksummer < Application
9
+ def initialize(path, options = {})
10
+ @path = Pathname.new(path)
11
+ super(options)
12
+ end
13
+
14
+ def run
15
+ changes = []
16
+ sums = Puppet::ModuleTool::Checksums.new(@path)
17
+ checksums.each do |child_path, canonical_checksum|
18
+ # Avoid checksumming the checksums.json file
19
+ next if File.basename(child_path) == "checksums.json"
20
+
21
+ path = @path + child_path
22
+ unless path.exist? && canonical_checksum == sums.checksum(path)
23
+ changes << child_path
24
+ end
25
+ end
26
+
27
+ # Return an Array of strings representing file paths of files that have
28
+ # been modified since this module was installed. All paths are relative
29
+ # to the installed module directory. This return value is used by the
30
+ # module_tool face changes action, and displayed on the console.
31
+ #
32
+ # Example return value:
33
+ #
34
+ # [ "REVISION", "manifests/init.pp"]
35
+ #
36
+ changes
37
+ end
38
+
39
+ private
40
+
41
+ def checksums
42
+ if checksums_file.exist?
43
+ Puppet::Util::Json.load(checksums_file.read)
44
+ elsif metadata_file.exist?
45
+ # Check metadata.json too; legacy modules store their checksums there.
46
+ Puppet::Util::Json.load(metadata_file.read)['checksums'] or
47
+ raise ArgumentError, _("No file containing checksums found.")
48
+ else
49
+ raise ArgumentError, _("No file containing checksums found.")
50
+ end
51
+ end
52
+
53
+ def metadata_file
54
+ @path + 'metadata.json'
55
+ end
56
+
57
+ def checksums_file
58
+ @path + 'checksums.json'
59
+ end
60
+ end
61
+ end
62
+ end