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,94 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../puppet/util/instance_loader'
4
+ require 'fileutils'
5
+
6
+ # Manage Reference Documentation.
7
+ class Puppet::Util::Reference
8
+ include Puppet::Util
9
+ include Puppet::Util::Docs
10
+
11
+ extend Puppet::Util::InstanceLoader
12
+
13
+ instance_load(:reference, 'puppet/reference')
14
+
15
+ def self.modes
16
+ %w[text]
17
+ end
18
+
19
+ def self.newreference(name, options = {}, &block)
20
+ ref = new(name, **options, &block)
21
+ instance_hash(:reference)[name.intern] = ref
22
+
23
+ ref
24
+ end
25
+
26
+ def self.page(*sections)
27
+ depth = 4
28
+ # Use the minimum depth
29
+ sections.each do |name|
30
+ section = reference(name) or raise _("Could not find section %{name}") % { name: name }
31
+ depth = section.depth if section.depth < depth
32
+ end
33
+ end
34
+
35
+ def self.references(environment)
36
+ instance_loader(:reference).loadall(environment)
37
+ loaded_instances(:reference).sort_by(&:to_s)
38
+ end
39
+
40
+ attr_accessor :page, :depth, :header, :title, :dynamic
41
+ attr_writer :doc
42
+
43
+ def doc
44
+ if defined?(@doc)
45
+ "#{@name} - #{@doc}"
46
+ else
47
+ @title
48
+ end
49
+ end
50
+
51
+ def dynamic?
52
+ dynamic
53
+ end
54
+
55
+ def initialize(name, title: nil, depth: nil, dynamic: nil, doc: nil, &block)
56
+ @name = name
57
+ @title = title
58
+ @depth = depth
59
+ @dynamic = dynamic
60
+ @doc = doc
61
+
62
+ meta_def(:generate, &block)
63
+
64
+ # Now handle the defaults
65
+ @title ||= _("%{name} Reference") % { name: @name.to_s.capitalize }
66
+ @page ||= @title.gsub(/\s+/, '')
67
+ @depth ||= 2
68
+ @header ||= ""
69
+ end
70
+
71
+ # Indent every line in the chunk except those which begin with '..'.
72
+ def indent(text, tab)
73
+ text.gsub(/(^|\A)/, tab).gsub(/^ +\.\./, "..")
74
+ end
75
+
76
+ def option(name, value)
77
+ ":#{name.to_s.capitalize}: #{value}\n"
78
+ end
79
+
80
+ def text
81
+ puts output
82
+ end
83
+
84
+ def to_markdown(withcontents = true)
85
+ # First the header
86
+ text = markdown_header(@title, 1)
87
+
88
+ text << @header
89
+
90
+ text << generate
91
+
92
+ text
93
+ end
94
+ end
@@ -0,0 +1,63 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../puppet/util'
4
+ require_relative '../../puppet/util/logging'
5
+ require 'erb'
6
+
7
+ # A template wrapper that evaluates a template in the
8
+ # context of a resource, allowing the resource attributes
9
+ # to be looked up from within the template.
10
+ # This provides functionality essentially equivalent to
11
+ # the language's template() function. You pass your file
12
+ # path and the resource you want to use into the initialization
13
+ # method, then call result on the instance, and you get back
14
+ # a chunk of text.
15
+ # The resource's parameters are available as instance variables
16
+ # (as opposed to the language, where we use a method_missing trick).
17
+ # For example, say you have a resource that generates a file. You would
18
+ # need to implement the following style of `generate` method:
19
+ #
20
+ # def generate
21
+ # template = Puppet::Util::ResourceTemplate.new("/path/to/template", self)
22
+ #
23
+ # return Puppet::Type.type(:file).new :path => "/my/file",
24
+ # :content => template.evaluate
25
+ # end
26
+ #
27
+ # This generated file gets added to the catalog (which is what `generate` does),
28
+ # and its content is the result of the template. You need to use instance
29
+ # variables in your template, so if your template just needs to have the name
30
+ # of the generating resource, it would just have:
31
+ #
32
+ # <%= @name %>
33
+ #
34
+ # Since the ResourceTemplate class sets as instance variables all of the resource's
35
+ # parameters.
36
+ #
37
+ # Note that this example uses the generating resource as its source of
38
+ # parameters, which is generally most useful, since it allows you to configure
39
+ # the generated resource via the generating resource.
40
+ class Puppet::Util::ResourceTemplate
41
+ include Puppet::Util::Logging
42
+
43
+ def evaluate
44
+ set_resource_variables
45
+ Puppet::Util.create_erb(Puppet::FileSystem.read(@file, :encoding => 'utf-8')).result(binding)
46
+ end
47
+
48
+ def initialize(file, resource)
49
+ raise ArgumentError, _("Template %{file} does not exist") % { file: file } unless Puppet::FileSystem.exist?(file)
50
+
51
+ @file = file
52
+ @resource = resource
53
+ end
54
+
55
+ private
56
+
57
+ def set_resource_variables
58
+ @resource.to_hash.each do |param, value|
59
+ var = "@#{param}"
60
+ instance_variable_set(var, value)
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Puppet::Util::RetryAction
4
+ class RetryException < Exception; end # rubocop:disable Lint/InheritException
5
+ class RetryException::NoBlockGiven < RetryException; end
6
+ class RetryException::NoRetriesGiven < RetryException; end
7
+ class RetryException::RetriesExceeded < RetryException; end
8
+
9
+ # Execute the supplied block retrying with exponential backoff.
10
+ #
11
+ # @param [Hash] options the retry options
12
+ # @option options [Integer] :retries Maximum number of times to retry.
13
+ # @option options [Array<Exception>] :retry_exceptions ([StandardError]) Optional array of exceptions that are allowed to be retried.
14
+ # @yield The block to be executed.
15
+ def self.retry_action(options = {})
16
+ # Retry actions for a specified amount of time. This method will allow the final
17
+ # retry to complete even if that extends beyond the timeout period.
18
+ unless block_given?
19
+ raise RetryException::NoBlockGiven
20
+ end
21
+
22
+ retries = options[:retries]
23
+ if retries.nil?
24
+ raise RetryException::NoRetriesGiven
25
+ end
26
+
27
+ retry_exceptions = options[:retry_exceptions] || [StandardError]
28
+ failures = 0
29
+ begin
30
+ yield
31
+ rescue *retry_exceptions => e
32
+ if failures >= retries
33
+ raise RetryException::RetriesExceeded, _("%{retries} exceeded") % { retries: retries }, e.backtrace
34
+ end
35
+
36
+ Puppet.info(_("Caught exception %{klass}:%{error} retrying") % { klass: e.class, error: e })
37
+
38
+ failures += 1
39
+
40
+ # Increase the amount of time that we sleep after every
41
+ # failed retry attempt.
42
+ sleep(((2**failures) - 1) * 0.1)
43
+
44
+ retry
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,196 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'English'
4
+ module Puppet::Util::RpmCompare
5
+ ARCH_LIST = %w[
6
+ noarch i386 i686 ppc ppc64 armv3l armv4b armv4l armv4tl armv5tel
7
+ armv5tejl armv6l armv7l m68kmint s390 s390x ia64 x86_64 sh3 sh4
8
+ ].freeze
9
+
10
+ ARCH_REGEX = Regexp.new(ARCH_LIST.map { |arch| "\\.#{arch}" }.join('|'))
11
+
12
+ # This is an attempt at implementing RPM's
13
+ # lib/rpmvercmp.c rpmvercmp(a, b) in Ruby.
14
+ #
15
+ # Some of the things in here look REALLY
16
+ # UGLY and/or arbitrary. Our goal is to
17
+ # match how RPM compares versions, quirks
18
+ # and all.
19
+ #
20
+ # I've kept a lot of C-like string processing
21
+ # in an effort to keep this as identical to RPM
22
+ # as possible.
23
+ #
24
+ # returns 1 if str1 is newer than str2,
25
+ # 0 if they are identical
26
+ # -1 if str1 is older than str2
27
+ def rpmvercmp(str1, str2)
28
+ return 0 if str1 == str2
29
+
30
+ front_strip_re = /^[^A-Za-z0-9~]+/
31
+
32
+ while str1.length > 0 or str2.length > 0
33
+ # trim anything that's in front_strip_re and != '~' off the beginning of each string
34
+ str1 = str1.gsub(front_strip_re, '')
35
+ str2 = str2.gsub(front_strip_re, '')
36
+
37
+ # "handle the tilde separator, it sorts before everything else"
38
+ if str1 =~ /^~/ && str2 =~ /^~/
39
+ # if they both have ~, strip it
40
+ str1 = str1[1..]
41
+ str2 = str2[1..]
42
+ next
43
+ elsif str1 =~ /^~/
44
+ return -1
45
+ elsif str2 =~ /^~/
46
+ return 1
47
+ end
48
+
49
+ break if str1.length == 0 or str2.length == 0
50
+
51
+ # "grab first completely alpha or completely numeric segment"
52
+ isnum = false
53
+ # if the first char of str1 is a digit, grab the chunk of continuous digits from each string
54
+ if str1 =~ /^[0-9]+/
55
+ if str1 =~ /^[0-9]+/
56
+ segment1 = $LAST_MATCH_INFO.to_s
57
+ str1 = $LAST_MATCH_INFO.post_match
58
+ else
59
+ segment1 = ''
60
+ end
61
+ if str2 =~ /^[0-9]+/
62
+ segment2 = $LAST_MATCH_INFO.to_s
63
+ str2 = $LAST_MATCH_INFO.post_match
64
+ else
65
+ segment2 = ''
66
+ end
67
+ isnum = true
68
+ # else grab the chunk of continuous alphas from each string (which may be '')
69
+ else
70
+ if str1 =~ /^[A-Za-z]+/
71
+ segment1 = $LAST_MATCH_INFO.to_s
72
+ str1 = $LAST_MATCH_INFO.post_match
73
+ else
74
+ segment1 = ''
75
+ end
76
+ if str2 =~ /^[A-Za-z]+/
77
+ segment2 = $LAST_MATCH_INFO.to_s
78
+ str2 = $LAST_MATCH_INFO.post_match
79
+ else
80
+ segment2 = ''
81
+ end
82
+ end
83
+
84
+ # if the segments we just grabbed from the strings are different types (i.e. one numeric one alpha),
85
+ # where alpha also includes ''; "numeric segments are always newer than alpha segments"
86
+ if segment2.length == 0
87
+ return 1 if isnum
88
+
89
+ return -1
90
+ end
91
+
92
+ if isnum
93
+ # "throw away any leading zeros - it's a number, right?"
94
+ segment1 = segment1.gsub(/^0+/, '')
95
+ segment2 = segment2.gsub(/^0+/, '')
96
+ # "whichever number has more digits wins"
97
+ return 1 if segment1.length > segment2.length
98
+ return -1 if segment1.length < segment2.length
99
+ end
100
+
101
+ # "strcmp will return which one is greater - even if the two segments are alpha
102
+ # or if they are numeric. don't return if they are equal because there might
103
+ # be more segments to compare"
104
+ rc = segment1 <=> segment2
105
+ return rc if rc != 0
106
+ end # end while loop
107
+
108
+ # if we haven't returned anything yet, "whichever version still has characters left over wins"
109
+ return 1 if str1.length > str2.length
110
+ return -1 if str1.length < str2.length
111
+
112
+ 0
113
+ end
114
+
115
+ # parse a rpm "version" specification
116
+ # this re-implements rpm's
117
+ # rpmUtils.miscutils.stringToVersion() in ruby
118
+ def rpm_parse_evr(full_version)
119
+ epoch_index = full_version.index(':')
120
+ if epoch_index
121
+ epoch = full_version[0, epoch_index]
122
+ full_version = full_version[epoch_index + 1, full_version.length]
123
+ else
124
+ epoch = nil
125
+ end
126
+ begin
127
+ epoch = String(Integer(epoch))
128
+ rescue
129
+ # If there are non-digits in the epoch field, default to nil
130
+ epoch = nil
131
+ end
132
+ release_index = full_version.index('-')
133
+ if release_index
134
+ version = full_version[0, release_index]
135
+ release = full_version[release_index + 1, full_version.length]
136
+ arch = release.scan(ARCH_REGEX)[0]
137
+ if arch
138
+ architecture = arch.delete('.')
139
+ release.gsub!(ARCH_REGEX, '')
140
+ end
141
+ else
142
+ version = full_version
143
+ release = nil
144
+ end
145
+ { :epoch => epoch, :version => version, :release => release, :arch => architecture }
146
+ end
147
+
148
+ # this method is a native implementation of the
149
+ # compare_values function in rpm's python bindings,
150
+ # found in python/header-py.c, as used by rpm.
151
+ def compare_values(s1, s2)
152
+ return 0 if s1.nil? && s2.nil?
153
+ return 1 if !s1.nil? && s2.nil?
154
+ return -1 if s1.nil? && !s2.nil?
155
+
156
+ rpmvercmp(s1, s2)
157
+ end
158
+
159
+ # how rpm compares two package versions:
160
+ # rpmUtils.miscutils.compareEVR(), which massages data types and then calls
161
+ # rpm.labelCompare(), found in rpm.git/python/header-py.c, which
162
+ # sets epoch to 0 if null, then compares epoch, then ver, then rel
163
+ # using compare_values() and returns the first non-0 result, else 0.
164
+ # This function combines the logic of compareEVR() and labelCompare().
165
+ #
166
+ # "version_should" can be v, v-r, or e:v-r.
167
+ # "version_is" will always be at least v-r, can be e:v-r
168
+ #
169
+ # return 1: a is newer than b
170
+ # 0: a and b are the same version
171
+ # -1: b is newer than a
172
+ def rpm_compare_evr(should, is)
173
+ # pass on to rpm labelCompare
174
+ should_hash = rpm_parse_evr(should)
175
+ is_hash = rpm_parse_evr(is)
176
+
177
+ unless should_hash[:epoch].nil?
178
+ rc = compare_values(should_hash[:epoch], is_hash[:epoch])
179
+ return rc unless rc == 0
180
+ end
181
+
182
+ rc = compare_values(should_hash[:version], is_hash[:version])
183
+ return rc unless rc == 0
184
+
185
+ # here is our special case, PUP-1244.
186
+ # if should_hash[:release] is nil (not specified by the user),
187
+ # and comparisons up to here are equal, return equal. We need to
188
+ # evaluate to whatever level of detail the user specified, so we
189
+ # don't end up upgrading or *downgrading* when not intended.
190
+ #
191
+ # This should NOT be triggered if we're trying to ensure latest.
192
+ return 0 if should_hash[:release].nil?
193
+
194
+ compare_values(should_hash[:release], is_hash[:release])
195
+ end
196
+ end
@@ -0,0 +1,67 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../puppet/util'
4
+
5
+ module Puppet::Util::RubyGems
6
+ # Base/factory class for rubygems source. These classes introspec into
7
+ # rubygems to in order to list where the rubygems system will look for files
8
+ # to load.
9
+ class Source
10
+ class << self
11
+ # @api private
12
+ def has_rubygems?
13
+ # Gems are not actually available when Bundler is loaded, even
14
+ # though the Gem constant is defined. This is because Bundler
15
+ # loads in rubygems, but then removes the custom require that
16
+ # rubygems installs. So when Bundler is around we have to act
17
+ # as though rubygems is not, e.g. we shouldn't be able to load
18
+ # a gem that Bundler doesn't want us to see.
19
+ defined? ::Gem and !defined? ::Bundler
20
+ end
21
+
22
+ # @api private
23
+ def source
24
+ if has_rubygems?
25
+ Gems18Source
26
+ else
27
+ NoGemsSource
28
+ end
29
+ end
30
+
31
+ def new(*args)
32
+ object = source.allocate
33
+ object.send(:initialize, *args)
34
+ object
35
+ end
36
+ end
37
+ end
38
+
39
+ # For RubyGems >= 1.8.0
40
+ # @api private
41
+ class Gems18Source < Source
42
+ def directories
43
+ # `require 'mygem'` will consider and potentially load
44
+ # prerelease gems, so we need to match that behavior.
45
+ #
46
+ # Just load the stub which points to the gem path, and
47
+ # delay loading the full specification until if/when the
48
+ # gem is required.
49
+ Gem::Specification.stubs.collect do |spec|
50
+ File.join(spec.full_gem_path, 'lib')
51
+ end
52
+ end
53
+
54
+ def clear_paths
55
+ Gem.clear_paths
56
+ end
57
+ end
58
+
59
+ # @api private
60
+ class NoGemsSource < Source
61
+ def directories
62
+ []
63
+ end
64
+
65
+ def clear_paths; end
66
+ end
67
+ end
@@ -0,0 +1,164 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'etc'
4
+
5
+ module Puppet
6
+ module Util
7
+ class RunMode
8
+ def initialize(name)
9
+ @name = name.to_sym
10
+ end
11
+
12
+ attr_reader :name
13
+
14
+ def self.[](name)
15
+ @run_modes ||= {}
16
+ if Puppet::Util::Platform.windows?
17
+ @run_modes[name] ||= WindowsRunMode.new(name)
18
+ else
19
+ @run_modes[name] ||= UnixRunMode.new(name)
20
+ end
21
+ end
22
+
23
+ def server?
24
+ name == :master || name == :server
25
+ end
26
+
27
+ def master?
28
+ name == :master || name == :server
29
+ end
30
+
31
+ def agent?
32
+ name == :agent
33
+ end
34
+
35
+ def user?
36
+ name == :user
37
+ end
38
+
39
+ def run_dir
40
+ RunMode[name].run_dir
41
+ end
42
+
43
+ def log_dir
44
+ RunMode[name].log_dir
45
+ end
46
+
47
+ private
48
+
49
+ ##
50
+ # select the system or the user directory depending on the context of
51
+ # this process. The most common use is determining filesystem path
52
+ # values for confdir and vardir. The intended semantics are:
53
+ # {https://projects.puppetlabs.com/issues/16637 #16637} for Puppet 3.x
54
+ #
55
+ # @todo this code duplicates {Puppet::Settings#which\_configuration\_file}
56
+ # as described in {https://projects.puppetlabs.com/issues/16637 #16637}
57
+ def which_dir(system, user)
58
+ if Puppet.features.root?
59
+ File.expand_path(system)
60
+ else
61
+ File.expand_path(user)
62
+ end
63
+ end
64
+ end
65
+
66
+ class UnixRunMode < RunMode
67
+ def conf_dir
68
+ which_dir("/etc/puppetlabs/puppet", "~/.puppetlabs/etc/puppet")
69
+ end
70
+
71
+ def code_dir
72
+ which_dir("/etc/puppetlabs/code", "~/.puppetlabs/etc/code")
73
+ end
74
+
75
+ def var_dir
76
+ which_dir("/opt/puppetlabs/puppet/cache", "~/.puppetlabs/opt/puppet/cache")
77
+ end
78
+
79
+ def public_dir
80
+ which_dir("/opt/puppetlabs/puppet/public", "~/.puppetlabs/opt/puppet/public")
81
+ end
82
+
83
+ def run_dir
84
+ ENV.fetch('RUNTIME_DIRECTORY') { which_dir("/var/run/puppetlabs", "~/.puppetlabs/var/run") }
85
+ end
86
+
87
+ def log_dir
88
+ which_dir("/var/log/puppetlabs/puppet", "~/.puppetlabs/var/log")
89
+ end
90
+
91
+ def pkg_config_path
92
+ '/opt/puppetlabs/puppet/lib/pkgconfig'
93
+ end
94
+
95
+ def gem_cmd
96
+ '/opt/puppetlabs/puppet/bin/gem'
97
+ end
98
+
99
+ def common_module_dir
100
+ '/opt/puppetlabs/puppet/modules'
101
+ end
102
+
103
+ def vendor_module_dir
104
+ '/opt/puppetlabs/puppet/vendor_modules'
105
+ end
106
+ end
107
+
108
+ class WindowsRunMode < RunMode
109
+ def conf_dir
110
+ which_dir(File.join(windows_common_base("puppet/etc")), "~/.puppetlabs/etc/puppet")
111
+ end
112
+
113
+ def code_dir
114
+ which_dir(File.join(windows_common_base("code")), "~/.puppetlabs/etc/code")
115
+ end
116
+
117
+ def var_dir
118
+ which_dir(File.join(windows_common_base("puppet/cache")), "~/.puppetlabs/opt/puppet/cache")
119
+ end
120
+
121
+ def public_dir
122
+ which_dir(File.join(windows_common_base("puppet/public")), "~/.puppetlabs/opt/puppet/public")
123
+ end
124
+
125
+ def run_dir
126
+ which_dir(File.join(windows_common_base("puppet/var/run")), "~/.puppetlabs/var/run")
127
+ end
128
+
129
+ def log_dir
130
+ which_dir(File.join(windows_common_base("puppet/var/log")), "~/.puppetlabs/var/log")
131
+ end
132
+
133
+ def pkg_config_path
134
+ nil
135
+ end
136
+
137
+ def gem_cmd
138
+ if (puppet_dir = ENV.fetch('PUPPET_DIR', nil))
139
+ File.join(puppet_dir.to_s, 'bin', 'gem.bat')
140
+ else
141
+ File.join(Gem.default_bindir, 'gem.bat')
142
+ end
143
+ end
144
+
145
+ def common_module_dir
146
+ "#{installdir}/puppet/modules" if installdir
147
+ end
148
+
149
+ def vendor_module_dir
150
+ "#{installdir}\\puppet\\vendor_modules" if installdir
151
+ end
152
+
153
+ private
154
+
155
+ def installdir
156
+ ENV.fetch('FACTER_env_windows_installdir', nil)
157
+ end
158
+
159
+ def windows_common_base(*extra)
160
+ [ENV.fetch('ALLUSERSPROFILE', nil), "PuppetLabs"] + extra
161
+ end
162
+ end
163
+ end
164
+ end