puppet-parse 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (742) hide show
  1. data/.travis.yml +0 -5
  2. data/README.md +1 -3
  3. data/lib/puppet-parse/version.rb +1 -1
  4. data/lib/puppet-parse.rb +2 -2
  5. data/lib/vendor/puppet/agent/locker.rb +46 -0
  6. data/lib/vendor/puppet/agent.rb +99 -0
  7. data/lib/vendor/puppet/application/agent.rb +489 -0
  8. data/lib/vendor/puppet/application/apply.rb +266 -0
  9. data/lib/vendor/puppet/application/ca.rb +5 -0
  10. data/lib/vendor/puppet/application/catalog.rb +4 -0
  11. data/lib/vendor/puppet/application/cert.rb +240 -0
  12. data/lib/vendor/puppet/application/certificate.rb +13 -0
  13. data/lib/vendor/puppet/application/certificate_request.rb +4 -0
  14. data/lib/vendor/puppet/application/certificate_revocation_list.rb +4 -0
  15. data/lib/vendor/puppet/application/config.rb +4 -0
  16. data/lib/vendor/puppet/application/describe.rb +256 -0
  17. data/lib/vendor/puppet/application/device.rb +242 -0
  18. data/lib/vendor/puppet/application/doc.rb +275 -0
  19. data/lib/vendor/puppet/application/face_base.rb +264 -0
  20. data/lib/vendor/puppet/application/facts.rb +4 -0
  21. data/lib/vendor/puppet/application/file.rb +4 -0
  22. data/lib/vendor/puppet/application/filebucket.rb +191 -0
  23. data/lib/vendor/puppet/application/help.rb +4 -0
  24. data/lib/vendor/puppet/application/indirection_base.rb +4 -0
  25. data/lib/vendor/puppet/application/inspect.rb +191 -0
  26. data/lib/vendor/puppet/application/instrumentation_data.rb +4 -0
  27. data/lib/vendor/puppet/application/instrumentation_listener.rb +4 -0
  28. data/lib/vendor/puppet/application/instrumentation_probe.rb +4 -0
  29. data/lib/vendor/puppet/application/key.rb +4 -0
  30. data/lib/vendor/puppet/application/kick.rb +351 -0
  31. data/lib/vendor/puppet/application/man.rb +4 -0
  32. data/lib/vendor/puppet/application/master.rb +263 -0
  33. data/lib/vendor/puppet/application/module.rb +11 -0
  34. data/lib/vendor/puppet/application/node.rb +4 -0
  35. data/lib/vendor/puppet/application/parser.rb +5 -0
  36. data/lib/vendor/puppet/application/plugin.rb +3 -0
  37. data/lib/vendor/puppet/application/queue.rb +161 -0
  38. data/lib/vendor/puppet/application/report.rb +4 -0
  39. data/lib/vendor/puppet/application/resource.rb +237 -0
  40. data/lib/vendor/puppet/application/resource_type.rb +4 -0
  41. data/lib/vendor/puppet/application/secret_agent.rb +6 -0
  42. data/lib/vendor/puppet/application/status.rb +4 -0
  43. data/lib/vendor/puppet/application.rb +421 -0
  44. data/lib/vendor/puppet/configurer/downloader.rb +86 -0
  45. data/lib/vendor/puppet/configurer/fact_handler.rb +56 -0
  46. data/lib/vendor/puppet/configurer/plugin_handler.rb +37 -0
  47. data/lib/vendor/puppet/configurer.rb +249 -0
  48. data/lib/vendor/puppet/daemon.rb +200 -0
  49. data/lib/vendor/puppet/defaults.rb +970 -0
  50. data/lib/vendor/puppet/dsl/resource_api.rb +120 -0
  51. data/lib/vendor/puppet/dsl/resource_type_api.rb +34 -0
  52. data/lib/vendor/puppet/dsl.rb +7 -0
  53. data/lib/vendor/puppet/error.rb +43 -0
  54. data/lib/vendor/puppet/external/base64.rb +19 -0
  55. data/lib/vendor/puppet/external/dot.rb +326 -0
  56. data/lib/vendor/puppet/external/lock.rb +63 -0
  57. data/lib/vendor/puppet/external/nagios/base.rb +472 -0
  58. data/lib/vendor/puppet/external/nagios/grammar.ry +185 -0
  59. data/lib/vendor/puppet/external/nagios/makefile +9 -0
  60. data/lib/vendor/puppet/external/nagios/parser.rb +775 -0
  61. data/lib/vendor/puppet/external/nagios.rb +48 -0
  62. data/lib/vendor/puppet/external/pson/common.rb +370 -0
  63. data/lib/vendor/puppet/external/pson/pure/generator.rb +401 -0
  64. data/lib/vendor/puppet/external/pson/pure/parser.rb +264 -0
  65. data/lib/vendor/puppet/external/pson/pure.rb +77 -0
  66. data/lib/vendor/puppet/external/pson/version.rb +8 -0
  67. data/lib/vendor/puppet/face/ca.rb +242 -0
  68. data/lib/vendor/puppet/face/catalog/select.rb +49 -0
  69. data/lib/vendor/puppet/face/catalog.rb +131 -0
  70. data/lib/vendor/puppet/face/certificate.rb +148 -0
  71. data/lib/vendor/puppet/face/certificate_request.rb +53 -0
  72. data/lib/vendor/puppet/face/certificate_revocation_list.rb +58 -0
  73. data/lib/vendor/puppet/face/config.rb +45 -0
  74. data/lib/vendor/puppet/face/facts.rb +81 -0
  75. data/lib/vendor/puppet/face/file/download.rb +54 -0
  76. data/lib/vendor/puppet/face/file/store.rb +21 -0
  77. data/lib/vendor/puppet/face/file.rb +47 -0
  78. data/lib/vendor/puppet/face/help/action.erb +53 -0
  79. data/lib/vendor/puppet/face/help/face.erb +79 -0
  80. data/lib/vendor/puppet/face/help/global.erb +19 -0
  81. data/lib/vendor/puppet/face/help/man.erb +136 -0
  82. data/lib/vendor/puppet/face/help.rb +131 -0
  83. data/lib/vendor/puppet/face/instrumentation_data.rb +28 -0
  84. data/lib/vendor/puppet/face/instrumentation_listener.rb +96 -0
  85. data/lib/vendor/puppet/face/instrumentation_probe.rb +77 -0
  86. data/lib/vendor/puppet/face/key.rb +15 -0
  87. data/lib/vendor/puppet/face/man.rb +93 -0
  88. data/lib/vendor/puppet/face/module/build.rb +37 -0
  89. data/lib/vendor/puppet/face/module/changes.rb +38 -0
  90. data/lib/vendor/puppet/face/module/generate.rb +42 -0
  91. data/lib/vendor/puppet/face/module/install.rb +174 -0
  92. data/lib/vendor/puppet/face/module/list.rb +285 -0
  93. data/lib/vendor/puppet/face/module/search.rb +88 -0
  94. data/lib/vendor/puppet/face/module/uninstall.rb +86 -0
  95. data/lib/vendor/puppet/face/module/upgrade.rb +84 -0
  96. data/lib/vendor/puppet/face/module.rb +17 -0
  97. data/lib/vendor/puppet/face/node/clean.rb +156 -0
  98. data/lib/vendor/puppet/face/node.rb +43 -0
  99. data/lib/vendor/puppet/face/parser.rb +51 -0
  100. data/lib/vendor/puppet/face/plugin.rb +55 -0
  101. data/lib/vendor/puppet/face/report.rb +56 -0
  102. data/lib/vendor/puppet/face/resource.rb +53 -0
  103. data/lib/vendor/puppet/face/resource_type.rb +81 -0
  104. data/lib/vendor/puppet/face/secret_agent.rb +54 -0
  105. data/lib/vendor/puppet/face/status.rb +53 -0
  106. data/lib/vendor/puppet/face.rb +12 -0
  107. data/lib/vendor/puppet/feature/base.rb +67 -0
  108. data/lib/vendor/puppet/feature/eventlog.rb +6 -0
  109. data/lib/vendor/puppet/feature/pson.rb +6 -0
  110. data/lib/vendor/puppet/feature/rack.rb +24 -0
  111. data/lib/vendor/puppet/feature/rails.rb +30 -0
  112. data/lib/vendor/puppet/feature/rubygems.rb +3 -0
  113. data/lib/vendor/puppet/feature/selinux.rb +3 -0
  114. data/lib/vendor/puppet/feature/ssh.rb +4 -0
  115. data/lib/vendor/puppet/feature/stomp.rb +6 -0
  116. data/lib/vendor/puppet/feature/zlib.rb +6 -0
  117. data/lib/vendor/puppet/file_bucket/dipper.rb +107 -0
  118. data/lib/vendor/puppet/file_bucket/file.rb +55 -0
  119. data/lib/vendor/puppet/file_bucket.rb +4 -0
  120. data/lib/vendor/puppet/file_collection/lookup.rb +10 -0
  121. data/lib/vendor/puppet/file_collection.rb +19 -0
  122. data/lib/vendor/puppet/file_serving/base.rb +88 -0
  123. data/lib/vendor/puppet/file_serving/configuration/parser.rb +115 -0
  124. data/lib/vendor/puppet/file_serving/configuration.rb +122 -0
  125. data/lib/vendor/puppet/file_serving/content.rb +45 -0
  126. data/lib/vendor/puppet/file_serving/fileset.rb +173 -0
  127. data/lib/vendor/puppet/file_serving/metadata.rb +155 -0
  128. data/lib/vendor/puppet/file_serving/mount/file.rb +121 -0
  129. data/lib/vendor/puppet/file_serving/mount/modules.rb +24 -0
  130. data/lib/vendor/puppet/file_serving/mount/plugins.rb +26 -0
  131. data/lib/vendor/puppet/file_serving/mount.rb +39 -0
  132. data/lib/vendor/puppet/file_serving/terminus_helper.rb +21 -0
  133. data/lib/vendor/puppet/file_serving/terminus_selector.rb +28 -0
  134. data/lib/vendor/puppet/file_serving.rb +3 -0
  135. data/lib/vendor/puppet/forge/cache.rb +55 -0
  136. data/lib/vendor/puppet/forge/repository.rb +102 -0
  137. data/lib/vendor/puppet/forge.rb +98 -0
  138. data/lib/vendor/puppet/indirector/active_record.rb +28 -0
  139. data/lib/vendor/puppet/indirector/catalog/active_record.rb +41 -0
  140. data/lib/vendor/puppet/indirector/catalog/compiler.rb +153 -0
  141. data/lib/vendor/puppet/indirector/catalog/queue.rb +5 -0
  142. data/lib/vendor/puppet/indirector/catalog/rest.rb +6 -0
  143. data/lib/vendor/puppet/indirector/catalog/static_compiler.rb +136 -0
  144. data/lib/vendor/puppet/indirector/catalog/store_configs.rb +5 -0
  145. data/lib/vendor/puppet/indirector/catalog/yaml.rb +22 -0
  146. data/lib/vendor/puppet/indirector/certificate/ca.rb +9 -0
  147. data/lib/vendor/puppet/indirector/certificate/disabled_ca.rb +22 -0
  148. data/lib/vendor/puppet/indirector/certificate/file.rb +9 -0
  149. data/lib/vendor/puppet/indirector/certificate/rest.rb +15 -0
  150. data/lib/vendor/puppet/indirector/certificate_request/ca.rb +22 -0
  151. data/lib/vendor/puppet/indirector/certificate_request/disabled_ca.rb +22 -0
  152. data/lib/vendor/puppet/indirector/certificate_request/file.rb +8 -0
  153. data/lib/vendor/puppet/indirector/certificate_request/rest.rb +9 -0
  154. data/lib/vendor/puppet/indirector/certificate_revocation_list/ca.rb +8 -0
  155. data/lib/vendor/puppet/indirector/certificate_revocation_list/disabled_ca.rb +22 -0
  156. data/lib/vendor/puppet/indirector/certificate_revocation_list/file.rb +8 -0
  157. data/lib/vendor/puppet/indirector/certificate_revocation_list/rest.rb +9 -0
  158. data/lib/vendor/puppet/indirector/certificate_status/file.rb +82 -0
  159. data/lib/vendor/puppet/indirector/certificate_status/rest.rb +10 -0
  160. data/lib/vendor/puppet/indirector/certificate_status.rb +4 -0
  161. data/lib/vendor/puppet/indirector/code.rb +6 -0
  162. data/lib/vendor/puppet/indirector/couch.rb +78 -0
  163. data/lib/vendor/puppet/indirector/direct_file_server.rb +19 -0
  164. data/lib/vendor/puppet/indirector/envelope.rb +11 -0
  165. data/lib/vendor/puppet/indirector/exec.rb +48 -0
  166. data/lib/vendor/puppet/indirector/face.rb +137 -0
  167. data/lib/vendor/puppet/indirector/facts/active_record.rb +36 -0
  168. data/lib/vendor/puppet/indirector/facts/couch.rb +31 -0
  169. data/lib/vendor/puppet/indirector/facts/facter.rb +96 -0
  170. data/lib/vendor/puppet/indirector/facts/inventory_active_record.rb +100 -0
  171. data/lib/vendor/puppet/indirector/facts/inventory_service.rb +20 -0
  172. data/lib/vendor/puppet/indirector/facts/memory.rb +9 -0
  173. data/lib/vendor/puppet/indirector/facts/network_device.rb +25 -0
  174. data/lib/vendor/puppet/indirector/facts/rest.rb +8 -0
  175. data/lib/vendor/puppet/indirector/facts/store_configs.rb +5 -0
  176. data/lib/vendor/puppet/indirector/facts/yaml.rb +82 -0
  177. data/lib/vendor/puppet/indirector/file_bucket_file/file.rb +136 -0
  178. data/lib/vendor/puppet/indirector/file_bucket_file/rest.rb +8 -0
  179. data/lib/vendor/puppet/indirector/file_bucket_file/selector.rb +49 -0
  180. data/lib/vendor/puppet/indirector/file_content/file.rb +7 -0
  181. data/lib/vendor/puppet/indirector/file_content/file_server.rb +7 -0
  182. data/lib/vendor/puppet/indirector/file_content/rest.rb +7 -0
  183. data/lib/vendor/puppet/indirector/file_content/selector.rb +30 -0
  184. data/lib/vendor/puppet/indirector/file_content.rb +5 -0
  185. data/lib/vendor/puppet/indirector/file_metadata/file.rb +22 -0
  186. data/lib/vendor/puppet/indirector/file_metadata/file_server.rb +7 -0
  187. data/lib/vendor/puppet/indirector/file_metadata/rest.rb +7 -0
  188. data/lib/vendor/puppet/indirector/file_metadata/selector.rb +30 -0
  189. data/lib/vendor/puppet/indirector/file_metadata.rb +5 -0
  190. data/lib/vendor/puppet/indirector/file_server.rb +65 -0
  191. data/lib/vendor/puppet/indirector/indirection.rb +323 -0
  192. data/lib/vendor/puppet/indirector/instrumentation_data/local.rb +19 -0
  193. data/lib/vendor/puppet/indirector/instrumentation_data/rest.rb +5 -0
  194. data/lib/vendor/puppet/indirector/instrumentation_data.rb +3 -0
  195. data/lib/vendor/puppet/indirector/instrumentation_listener/local.rb +23 -0
  196. data/lib/vendor/puppet/indirector/instrumentation_listener/rest.rb +5 -0
  197. data/lib/vendor/puppet/indirector/instrumentation_listener.rb +3 -0
  198. data/lib/vendor/puppet/indirector/instrumentation_probe/local.rb +24 -0
  199. data/lib/vendor/puppet/indirector/instrumentation_probe/rest.rb +5 -0
  200. data/lib/vendor/puppet/indirector/instrumentation_probe.rb +3 -0
  201. data/lib/vendor/puppet/indirector/inventory/yaml.rb +81 -0
  202. data/lib/vendor/puppet/indirector/key/ca.rb +12 -0
  203. data/lib/vendor/puppet/indirector/key/disabled_ca.rb +22 -0
  204. data/lib/vendor/puppet/indirector/key/file.rb +42 -0
  205. data/lib/vendor/puppet/indirector/ldap.rb +78 -0
  206. data/lib/vendor/puppet/indirector/memory.rb +21 -0
  207. data/lib/vendor/puppet/indirector/node/active_record.rb +13 -0
  208. data/lib/vendor/puppet/indirector/node/exec.rb +60 -0
  209. data/lib/vendor/puppet/indirector/node/ldap.rb +256 -0
  210. data/lib/vendor/puppet/indirector/node/memory.rb +10 -0
  211. data/lib/vendor/puppet/indirector/node/plain.rb +19 -0
  212. data/lib/vendor/puppet/indirector/node/rest.rb +7 -0
  213. data/lib/vendor/puppet/indirector/node/store_configs.rb +5 -0
  214. data/lib/vendor/puppet/indirector/node/yaml.rb +7 -0
  215. data/lib/vendor/puppet/indirector/plain.rb +9 -0
  216. data/lib/vendor/puppet/indirector/queue.rb +81 -0
  217. data/lib/vendor/puppet/indirector/report/processor.rb +61 -0
  218. data/lib/vendor/puppet/indirector/report/rest.rb +7 -0
  219. data/lib/vendor/puppet/indirector/report/yaml.rb +11 -0
  220. data/lib/vendor/puppet/indirector/request.rb +204 -0
  221. data/lib/vendor/puppet/indirector/resource/active_record.rb +93 -0
  222. data/lib/vendor/puppet/indirector/resource/ral.rb +53 -0
  223. data/lib/vendor/puppet/indirector/resource/rest.rb +5 -0
  224. data/lib/vendor/puppet/indirector/resource/store_configs.rb +3 -0
  225. data/lib/vendor/puppet/indirector/resource_type/parser.rb +43 -0
  226. data/lib/vendor/puppet/indirector/resource_type/rest.rb +7 -0
  227. data/lib/vendor/puppet/indirector/resource_type.rb +5 -0
  228. data/lib/vendor/puppet/indirector/rest.rb +166 -0
  229. data/lib/vendor/puppet/indirector/run/local.rb +8 -0
  230. data/lib/vendor/puppet/indirector/run/rest.rb +6 -0
  231. data/lib/vendor/puppet/indirector/ssl_file.rb +178 -0
  232. data/lib/vendor/puppet/indirector/status/local.rb +7 -0
  233. data/lib/vendor/puppet/indirector/status/rest.rb +5 -0
  234. data/lib/vendor/puppet/indirector/status.rb +3 -0
  235. data/lib/vendor/puppet/indirector/store_configs.rb +30 -0
  236. data/lib/vendor/puppet/indirector/terminus.rb +145 -0
  237. data/lib/vendor/puppet/indirector/yaml.rb +75 -0
  238. data/lib/vendor/puppet/indirector.rb +57 -0
  239. data/lib/vendor/puppet/interface/action.rb +322 -0
  240. data/lib/vendor/puppet/interface/action_builder.rb +74 -0
  241. data/lib/vendor/puppet/interface/action_manager.rb +74 -0
  242. data/lib/vendor/puppet/interface/documentation.rb +230 -0
  243. data/lib/vendor/puppet/interface/face_collection.rb +128 -0
  244. data/lib/vendor/puppet/interface/option.rb +127 -0
  245. data/lib/vendor/puppet/interface/option_builder.rb +67 -0
  246. data/lib/vendor/puppet/interface/option_manager.rb +68 -0
  247. data/lib/vendor/puppet/interface.rb +161 -0
  248. data/lib/vendor/puppet/metatype/manager.rb +141 -0
  249. data/lib/vendor/puppet/module.rb +314 -0
  250. data/lib/vendor/puppet/module_tool/applications/application.rb +82 -0
  251. data/lib/vendor/puppet/module_tool/applications/builder.rb +91 -0
  252. data/lib/vendor/puppet/module_tool/applications/checksummer.rb +56 -0
  253. data/lib/vendor/puppet/module_tool/applications/generator.rb +141 -0
  254. data/lib/vendor/puppet/module_tool/applications/installer.rb +183 -0
  255. data/lib/vendor/puppet/module_tool/applications/searcher.rb +15 -0
  256. data/lib/vendor/puppet/module_tool/applications/uninstaller.rb +107 -0
  257. data/lib/vendor/puppet/module_tool/applications/unpacker.rb +67 -0
  258. data/lib/vendor/puppet/module_tool/applications/upgrader.rb +109 -0
  259. data/lib/vendor/puppet/module_tool/applications.rb +15 -0
  260. data/lib/vendor/puppet/module_tool/checksums.rb +52 -0
  261. data/lib/vendor/puppet/module_tool/contents_description.rb +82 -0
  262. data/lib/vendor/puppet/module_tool/dependency.rb +24 -0
  263. data/lib/vendor/puppet/module_tool/errors/base.rb +15 -0
  264. data/lib/vendor/puppet/module_tool/errors/installer.rb +90 -0
  265. data/lib/vendor/puppet/module_tool/errors/shared.rb +115 -0
  266. data/lib/vendor/puppet/module_tool/errors/uninstaller.rb +45 -0
  267. data/lib/vendor/puppet/module_tool/errors/upgrader.rb +72 -0
  268. data/lib/vendor/puppet/module_tool/errors.rb +9 -0
  269. data/lib/vendor/puppet/module_tool/metadata.rb +141 -0
  270. data/lib/vendor/puppet/module_tool/modulefile.rb +75 -0
  271. data/lib/vendor/puppet/module_tool/shared_behaviors.rb +161 -0
  272. data/lib/vendor/puppet/module_tool/skeleton/templates/generator/Modulefile.erb +11 -0
  273. data/lib/vendor/puppet/module_tool/skeleton/templates/generator/README.erb +16 -0
  274. data/lib/vendor/puppet/module_tool/skeleton/templates/generator/manifests/init.pp.erb +41 -0
  275. data/lib/vendor/puppet/module_tool/skeleton/templates/generator/spec/spec_helper.rb +17 -0
  276. data/lib/vendor/puppet/module_tool/skeleton/templates/generator/tests/init.pp.erb +11 -0
  277. data/lib/vendor/puppet/module_tool/skeleton.rb +34 -0
  278. data/lib/vendor/puppet/module_tool.rb +99 -0
  279. data/lib/vendor/puppet/network/authconfig.rb +174 -0
  280. data/lib/vendor/puppet/network/authorization.rb +76 -0
  281. data/lib/vendor/puppet/network/authstore.rb +267 -0
  282. data/lib/vendor/puppet/network/client_request.rb +29 -0
  283. data/lib/vendor/puppet/network/format.rb +111 -0
  284. data/lib/vendor/puppet/network/format_handler.rb +181 -0
  285. data/lib/vendor/puppet/network/formats.rb +171 -0
  286. data/lib/vendor/puppet/network/handler/ca.rb +61 -0
  287. data/lib/vendor/puppet/network/handler/filebucket.rb +53 -0
  288. data/lib/vendor/puppet/network/handler/fileserver.rb +732 -0
  289. data/lib/vendor/puppet/network/handler/master.rb +87 -0
  290. data/lib/vendor/puppet/network/handler/report.rb +82 -0
  291. data/lib/vendor/puppet/network/handler/runner.rb +33 -0
  292. data/lib/vendor/puppet/network/handler/status.rb +18 -0
  293. data/lib/vendor/puppet/network/handler.rb +50 -0
  294. data/lib/vendor/puppet/network/http/api/v1.rb +83 -0
  295. data/lib/vendor/puppet/network/http/api.rb +4 -0
  296. data/lib/vendor/puppet/network/http/compression.rb +114 -0
  297. data/lib/vendor/puppet/network/http/handler.rb +247 -0
  298. data/lib/vendor/puppet/network/http/mongrel/rest.rb +99 -0
  299. data/lib/vendor/puppet/network/http/mongrel.rb +55 -0
  300. data/lib/vendor/puppet/network/http/rack/httphandler.rb +16 -0
  301. data/lib/vendor/puppet/network/http/rack/rest.rb +100 -0
  302. data/lib/vendor/puppet/network/http/rack/xmlrpc.rb +65 -0
  303. data/lib/vendor/puppet/network/http/rack.rb +65 -0
  304. data/lib/vendor/puppet/network/http/webrick/rest.rb +81 -0
  305. data/lib/vendor/puppet/network/http/webrick.rb +141 -0
  306. data/lib/vendor/puppet/network/http.rb +15 -0
  307. data/lib/vendor/puppet/network/http_pool.rb +57 -0
  308. data/lib/vendor/puppet/network/http_server/mongrel.rb +129 -0
  309. data/lib/vendor/puppet/network/http_server.rb +3 -0
  310. data/lib/vendor/puppet/network/rest_authconfig.rb +102 -0
  311. data/lib/vendor/puppet/network/rest_authorization.rb +23 -0
  312. data/lib/vendor/puppet/network/rest_controller.rb +2 -0
  313. data/lib/vendor/puppet/network/rights.rb +275 -0
  314. data/lib/vendor/puppet/network/server.rb +164 -0
  315. data/lib/vendor/puppet/network/xmlrpc/processor.rb +86 -0
  316. data/lib/vendor/puppet/network/xmlrpc/server.rb +19 -0
  317. data/lib/vendor/puppet/network/xmlrpc/webrick_servlet.rb +114 -0
  318. data/lib/vendor/puppet/network.rb +3 -0
  319. data/lib/vendor/puppet/node/environment.rb +216 -0
  320. data/lib/vendor/puppet/node/facts.rb +99 -0
  321. data/lib/vendor/puppet/node/inventory.rb +7 -0
  322. data/lib/vendor/puppet/node.rb +120 -0
  323. data/lib/vendor/puppet/parameter/path.rb +34 -0
  324. data/lib/vendor/puppet/parameter/value.rb +69 -0
  325. data/lib/vendor/puppet/parameter/value_collection.rb +143 -0
  326. data/lib/vendor/puppet/parameter.rb +316 -0
  327. data/lib/vendor/puppet/parser/ast/arithmetic_operator.rb +39 -0
  328. data/lib/vendor/puppet/parser/ast/astarray.rb +50 -0
  329. data/lib/vendor/puppet/parser/ast/asthash.rb +37 -0
  330. data/lib/vendor/puppet/parser/ast/boolean_operator.rb +46 -0
  331. data/lib/vendor/puppet/parser/ast/branch.rb +37 -0
  332. data/lib/vendor/puppet/parser/ast/caseopt.rb +52 -0
  333. data/lib/vendor/puppet/parser/ast/casestatement.rb +44 -0
  334. data/lib/vendor/puppet/parser/ast/collection.rb +49 -0
  335. data/lib/vendor/puppet/parser/ast/collexpr.rb +57 -0
  336. data/lib/vendor/puppet/parser/ast/comparison_operator.rb +38 -0
  337. data/lib/vendor/puppet/parser/ast/definition.rb +17 -0
  338. data/lib/vendor/puppet/parser/ast/else.rb +22 -0
  339. data/lib/vendor/puppet/parser/ast/function.rb +50 -0
  340. data/lib/vendor/puppet/parser/ast/hostclass.rb +29 -0
  341. data/lib/vendor/puppet/parser/ast/ifstatement.rb +34 -0
  342. data/lib/vendor/puppet/parser/ast/in_operator.rb +24 -0
  343. data/lib/vendor/puppet/parser/ast/leaf.rb +221 -0
  344. data/lib/vendor/puppet/parser/ast/match_operator.rb +28 -0
  345. data/lib/vendor/puppet/parser/ast/minus.rb +23 -0
  346. data/lib/vendor/puppet/parser/ast/node.rb +20 -0
  347. data/lib/vendor/puppet/parser/ast/nop.rb +11 -0
  348. data/lib/vendor/puppet/parser/ast/not.rb +19 -0
  349. data/lib/vendor/puppet/parser/ast/relationship.rb +47 -0
  350. data/lib/vendor/puppet/parser/ast/resource.rb +74 -0
  351. data/lib/vendor/puppet/parser/ast/resource_defaults.rb +24 -0
  352. data/lib/vendor/puppet/parser/ast/resource_instance.rb +9 -0
  353. data/lib/vendor/puppet/parser/ast/resource_override.rb +67 -0
  354. data/lib/vendor/puppet/parser/ast/resource_reference.rb +28 -0
  355. data/lib/vendor/puppet/parser/ast/resourceparam.rb +29 -0
  356. data/lib/vendor/puppet/parser/ast/selector.rb +44 -0
  357. data/lib/vendor/puppet/parser/ast/tag.rb +24 -0
  358. data/lib/vendor/puppet/parser/ast/top_level_construct.rb +4 -0
  359. data/lib/vendor/puppet/parser/ast/vardef.rb +33 -0
  360. data/lib/vendor/puppet/parser/ast.rb +139 -0
  361. data/lib/vendor/puppet/parser/collector.rb +176 -0
  362. data/lib/vendor/puppet/parser/compiler.rb +476 -0
  363. data/lib/vendor/puppet/parser/files.rb +88 -0
  364. data/lib/vendor/puppet/parser/functions/create_resources.rb +75 -0
  365. data/lib/vendor/puppet/parser/functions/defined.rb +49 -0
  366. data/lib/vendor/puppet/parser/functions/extlookup.rb +152 -0
  367. data/lib/vendor/puppet/parser/functions/fail.rb +4 -0
  368. data/lib/vendor/puppet/parser/functions/file.rb +23 -0
  369. data/lib/vendor/puppet/parser/functions/fqdn_rand.rb +13 -0
  370. data/lib/vendor/puppet/parser/functions/generate.rb +37 -0
  371. data/lib/vendor/puppet/parser/functions/include.rb +24 -0
  372. data/lib/vendor/puppet/parser/functions/inline_template.rb +21 -0
  373. data/lib/vendor/puppet/parser/functions/md5.rb +5 -0
  374. data/lib/vendor/puppet/parser/functions/realize.rb +14 -0
  375. data/lib/vendor/puppet/parser/functions/regsubst.rb +119 -0
  376. data/lib/vendor/puppet/parser/functions/require.rb +57 -0
  377. data/lib/vendor/puppet/parser/functions/search.rb +7 -0
  378. data/lib/vendor/puppet/parser/functions/sha1.rb +5 -0
  379. data/lib/vendor/puppet/parser/functions/shellquote.rb +61 -0
  380. data/lib/vendor/puppet/parser/functions/split.rb +29 -0
  381. data/lib/vendor/puppet/parser/functions/sprintf.rb +39 -0
  382. data/lib/vendor/puppet/parser/functions/tag.rb +6 -0
  383. data/lib/vendor/puppet/parser/functions/tagged.rb +18 -0
  384. data/lib/vendor/puppet/parser/functions/template.rb +23 -0
  385. data/lib/vendor/puppet/parser/functions/versioncmp.rb +37 -0
  386. data/lib/vendor/puppet/parser/functions.rb +165 -0
  387. data/lib/vendor/puppet/parser/grammar.ra +771 -0
  388. data/lib/vendor/puppet/parser/lexer.rb +617 -0
  389. data/lib/vendor/puppet/parser/makefile +8 -0
  390. data/lib/vendor/puppet/parser/parser.rb +2421 -0
  391. data/lib/vendor/puppet/parser/parser_support.rb +211 -0
  392. data/lib/vendor/puppet/parser/relationship.rb +62 -0
  393. data/lib/vendor/puppet/parser/resource/param.rb +25 -0
  394. data/lib/vendor/puppet/parser/resource.rb +341 -0
  395. data/lib/vendor/puppet/parser/scope.rb +497 -0
  396. data/lib/vendor/puppet/parser/templatewrapper.rb +115 -0
  397. data/lib/vendor/puppet/parser/type_loader.rb +172 -0
  398. data/lib/vendor/puppet/parser/yaml_trimmer.rb +9 -0
  399. data/lib/vendor/puppet/parser.rb +4 -0
  400. data/lib/vendor/puppet/property/ensure.rb +92 -0
  401. data/lib/vendor/puppet/property/keyvalue.rb +86 -0
  402. data/lib/vendor/puppet/property/list.rb +75 -0
  403. data/lib/vendor/puppet/property/ordered_list.rb +22 -0
  404. data/lib/vendor/puppet/property.rb +373 -0
  405. data/lib/vendor/puppet/provider/aixobject.rb +393 -0
  406. data/lib/vendor/puppet/provider/augeas/augeas.rb +418 -0
  407. data/lib/vendor/puppet/provider/cisco.rb +9 -0
  408. data/lib/vendor/puppet/provider/computer/computer.rb +20 -0
  409. data/lib/vendor/puppet/provider/confine/exists.rb +19 -0
  410. data/lib/vendor/puppet/provider/confine/false.rb +19 -0
  411. data/lib/vendor/puppet/provider/confine/feature.rb +17 -0
  412. data/lib/vendor/puppet/provider/confine/true.rb +20 -0
  413. data/lib/vendor/puppet/provider/confine/variable.rb +59 -0
  414. data/lib/vendor/puppet/provider/confine.rb +80 -0
  415. data/lib/vendor/puppet/provider/confine_collection.rb +50 -0
  416. data/lib/vendor/puppet/provider/confiner.rb +16 -0
  417. data/lib/vendor/puppet/provider/cron/crontab.rb +200 -0
  418. data/lib/vendor/puppet/provider/exec/posix.rb +39 -0
  419. data/lib/vendor/puppet/provider/exec/shell.rb +25 -0
  420. data/lib/vendor/puppet/provider/exec/windows.rb +56 -0
  421. data/lib/vendor/puppet/provider/exec.rb +84 -0
  422. data/lib/vendor/puppet/provider/file/posix.rb +135 -0
  423. data/lib/vendor/puppet/provider/file/windows.rb +88 -0
  424. data/lib/vendor/puppet/provider/group/aix.rb +141 -0
  425. data/lib/vendor/puppet/provider/group/directoryservice.rb +12 -0
  426. data/lib/vendor/puppet/provider/group/groupadd.rb +29 -0
  427. data/lib/vendor/puppet/provider/group/ldap.rb +45 -0
  428. data/lib/vendor/puppet/provider/group/pw.rb +48 -0
  429. data/lib/vendor/puppet/provider/group/windows_adsi.rb +54 -0
  430. data/lib/vendor/puppet/provider/host/parsed.rb +44 -0
  431. data/lib/vendor/puppet/provider/interface/base.rb +0 -0
  432. data/lib/vendor/puppet/provider/interface/cisco.rb +27 -0
  433. data/lib/vendor/puppet/provider/ldap.rb +137 -0
  434. data/lib/vendor/puppet/provider/macauthorization/macauthorization.rb +313 -0
  435. data/lib/vendor/puppet/provider/mailalias/aliases.rb +44 -0
  436. data/lib/vendor/puppet/provider/maillist/mailman.rb +108 -0
  437. data/lib/vendor/puppet/provider/mcx/mcxcontent.rb +166 -0
  438. data/lib/vendor/puppet/provider/mount/parsed.rb +124 -0
  439. data/lib/vendor/puppet/provider/mount.rb +46 -0
  440. data/lib/vendor/puppet/provider/naginator.rb +63 -0
  441. data/lib/vendor/puppet/provider/nameservice/directoryservice.rb +652 -0
  442. data/lib/vendor/puppet/provider/nameservice/objectadd.rb +33 -0
  443. data/lib/vendor/puppet/provider/nameservice/pw.rb +21 -0
  444. data/lib/vendor/puppet/provider/nameservice.rb +276 -0
  445. data/lib/vendor/puppet/provider/network_device.rb +68 -0
  446. data/lib/vendor/puppet/provider/package/aix.rb +128 -0
  447. data/lib/vendor/puppet/provider/package/appdmg.rb +109 -0
  448. data/lib/vendor/puppet/provider/package/apple.rb +47 -0
  449. data/lib/vendor/puppet/provider/package/apt.rb +111 -0
  450. data/lib/vendor/puppet/provider/package/aptitude.rb +29 -0
  451. data/lib/vendor/puppet/provider/package/aptrpm.rb +83 -0
  452. data/lib/vendor/puppet/provider/package/blastwave.rb +111 -0
  453. data/lib/vendor/puppet/provider/package/dpkg.rb +155 -0
  454. data/lib/vendor/puppet/provider/package/fink.rb +81 -0
  455. data/lib/vendor/puppet/provider/package/freebsd.rb +49 -0
  456. data/lib/vendor/puppet/provider/package/gem.rb +127 -0
  457. data/lib/vendor/puppet/provider/package/hpux.rb +44 -0
  458. data/lib/vendor/puppet/provider/package/macports.rb +105 -0
  459. data/lib/vendor/puppet/provider/package/msi.rb +141 -0
  460. data/lib/vendor/puppet/provider/package/nim.rb +35 -0
  461. data/lib/vendor/puppet/provider/package/openbsd.rb +112 -0
  462. data/lib/vendor/puppet/provider/package/pacman.rb +94 -0
  463. data/lib/vendor/puppet/provider/package/pip.rb +111 -0
  464. data/lib/vendor/puppet/provider/package/pkg.rb +112 -0
  465. data/lib/vendor/puppet/provider/package/pkgdmg.rb +123 -0
  466. data/lib/vendor/puppet/provider/package/pkgutil.rb +174 -0
  467. data/lib/vendor/puppet/provider/package/portage.rb +124 -0
  468. data/lib/vendor/puppet/provider/package/ports.rb +94 -0
  469. data/lib/vendor/puppet/provider/package/portupgrade.rb +241 -0
  470. data/lib/vendor/puppet/provider/package/rpm.rb +132 -0
  471. data/lib/vendor/puppet/provider/package/rug.rb +52 -0
  472. data/lib/vendor/puppet/provider/package/sun.rb +154 -0
  473. data/lib/vendor/puppet/provider/package/sunfreeware.rb +9 -0
  474. data/lib/vendor/puppet/provider/package/up2date.rb +41 -0
  475. data/lib/vendor/puppet/provider/package/urpmi.rb +59 -0
  476. data/lib/vendor/puppet/provider/package/yum.rb +106 -0
  477. data/lib/vendor/puppet/provider/package/yumhelper.py +129 -0
  478. data/lib/vendor/puppet/provider/package/zypper.rb +84 -0
  479. data/lib/vendor/puppet/provider/package.rb +28 -0
  480. data/lib/vendor/puppet/provider/parsedfile.rb +374 -0
  481. data/lib/vendor/puppet/provider/port/parsed.rb +173 -0
  482. data/lib/vendor/puppet/provider/scheduled_task/win32_taskscheduler.rb +565 -0
  483. data/lib/vendor/puppet/provider/selboolean/getsetsebool.rb +47 -0
  484. data/lib/vendor/puppet/provider/selmodule/semodule.rb +134 -0
  485. data/lib/vendor/puppet/provider/service/base.rb +105 -0
  486. data/lib/vendor/puppet/provider/service/bsd.rb +49 -0
  487. data/lib/vendor/puppet/provider/service/daemontools.rb +194 -0
  488. data/lib/vendor/puppet/provider/service/debian.rb +68 -0
  489. data/lib/vendor/puppet/provider/service/freebsd.rb +139 -0
  490. data/lib/vendor/puppet/provider/service/gentoo.rb +54 -0
  491. data/lib/vendor/puppet/provider/service/init.rb +140 -0
  492. data/lib/vendor/puppet/provider/service/launchd.rb +303 -0
  493. data/lib/vendor/puppet/provider/service/openrc.rb +69 -0
  494. data/lib/vendor/puppet/provider/service/redhat.rb +76 -0
  495. data/lib/vendor/puppet/provider/service/runit.rb +103 -0
  496. data/lib/vendor/puppet/provider/service/service.rb +43 -0
  497. data/lib/vendor/puppet/provider/service/smf.rb +104 -0
  498. data/lib/vendor/puppet/provider/service/src.rb +86 -0
  499. data/lib/vendor/puppet/provider/service/systemd.rb +64 -0
  500. data/lib/vendor/puppet/provider/service/upstart.rb +347 -0
  501. data/lib/vendor/puppet/provider/service/windows.rb +106 -0
  502. data/lib/vendor/puppet/provider/ssh_authorized_key/parsed.rb +88 -0
  503. data/lib/vendor/puppet/provider/sshkey/parsed.rb +37 -0
  504. data/lib/vendor/puppet/provider/user/aix.rb +357 -0
  505. data/lib/vendor/puppet/provider/user/directoryservice.rb +86 -0
  506. data/lib/vendor/puppet/provider/user/hpux.rb +31 -0
  507. data/lib/vendor/puppet/provider/user/ldap.rb +129 -0
  508. data/lib/vendor/puppet/provider/user/pw.rb +101 -0
  509. data/lib/vendor/puppet/provider/user/user_role_add.rb +207 -0
  510. data/lib/vendor/puppet/provider/user/useradd.rb +127 -0
  511. data/lib/vendor/puppet/provider/user/windows_adsi.rb +99 -0
  512. data/lib/vendor/puppet/provider/vlan/cisco.rb +28 -0
  513. data/lib/vendor/puppet/provider/zfs/solaris.rb +45 -0
  514. data/lib/vendor/puppet/provider/zone/solaris.rb +260 -0
  515. data/lib/vendor/puppet/provider/zpool/solaris.rb +116 -0
  516. data/lib/vendor/puppet/provider.rb +290 -0
  517. data/lib/vendor/puppet/rails/benchmark.rb +63 -0
  518. data/lib/vendor/puppet/rails/database/001_add_created_at_to_all_tables.rb +13 -0
  519. data/lib/vendor/puppet/rails/database/002_remove_duplicated_index_on_all_tables.rb +13 -0
  520. data/lib/vendor/puppet/rails/database/003_add_environment_to_host.rb +9 -0
  521. data/lib/vendor/puppet/rails/database/004_add_inventory_service_tables.rb +36 -0
  522. data/lib/vendor/puppet/rails/database/schema.rb +131 -0
  523. data/lib/vendor/puppet/rails/fact_name.rb +6 -0
  524. data/lib/vendor/puppet/rails/fact_value.rb +8 -0
  525. data/lib/vendor/puppet/rails/host.rb +258 -0
  526. data/lib/vendor/puppet/rails/inventory_fact.rb +5 -0
  527. data/lib/vendor/puppet/rails/inventory_node.rb +43 -0
  528. data/lib/vendor/puppet/rails/param_name.rb +25 -0
  529. data/lib/vendor/puppet/rails/param_value.rb +74 -0
  530. data/lib/vendor/puppet/rails/puppet_tag.rb +10 -0
  531. data/lib/vendor/puppet/rails/resource.rb +231 -0
  532. data/lib/vendor/puppet/rails/resource_tag.rb +26 -0
  533. data/lib/vendor/puppet/rails/source_file.rb +8 -0
  534. data/lib/vendor/puppet/rails.rb +132 -0
  535. data/lib/vendor/puppet/rb_tree_map.rb +388 -0
  536. data/lib/vendor/puppet/reference/configuration.rb +69 -0
  537. data/lib/vendor/puppet/reference/function.rb +17 -0
  538. data/lib/vendor/puppet/reference/indirection.rb +32 -0
  539. data/lib/vendor/puppet/reference/metaparameter.rb +43 -0
  540. data/lib/vendor/puppet/reference/network.rb +39 -0
  541. data/lib/vendor/puppet/reference/providers.rb +119 -0
  542. data/lib/vendor/puppet/reference/report.rb +23 -0
  543. data/lib/vendor/puppet/reference/type.rb +116 -0
  544. data/lib/vendor/puppet/relationship.rb +95 -0
  545. data/lib/vendor/puppet/reports/http.rb +25 -0
  546. data/lib/vendor/puppet/reports/log.rb +14 -0
  547. data/lib/vendor/puppet/reports/rrdgraph.rb +128 -0
  548. data/lib/vendor/puppet/reports/store.rb +74 -0
  549. data/lib/vendor/puppet/reports/tagmail.rb +179 -0
  550. data/lib/vendor/puppet/reports.rb +49 -0
  551. data/lib/vendor/puppet/resource/catalog.rb +661 -0
  552. data/lib/vendor/puppet/resource/status.rb +79 -0
  553. data/lib/vendor/puppet/resource/type.rb +344 -0
  554. data/lib/vendor/puppet/resource/type_collection.rb +215 -0
  555. data/lib/vendor/puppet/resource/type_collection_helper.rb +7 -0
  556. data/lib/vendor/puppet/resource.rb +467 -0
  557. data/lib/vendor/puppet/run.rb +77 -0
  558. data/lib/vendor/puppet/simple_graph.rb +550 -0
  559. data/lib/vendor/puppet/ssl/base.rb +86 -0
  560. data/lib/vendor/puppet/ssl/certificate.rb +40 -0
  561. data/lib/vendor/puppet/ssl/certificate_authority/interface.rb +182 -0
  562. data/lib/vendor/puppet/ssl/certificate_authority.rb +374 -0
  563. data/lib/vendor/puppet/ssl/certificate_factory.rb +166 -0
  564. data/lib/vendor/puppet/ssl/certificate_request.rb +149 -0
  565. data/lib/vendor/puppet/ssl/certificate_revocation_list.rb +84 -0
  566. data/lib/vendor/puppet/ssl/host.rb +365 -0
  567. data/lib/vendor/puppet/ssl/inventory.rb +54 -0
  568. data/lib/vendor/puppet/ssl/key.rb +56 -0
  569. data/lib/vendor/puppet/ssl.rb +8 -0
  570. data/lib/vendor/puppet/status.rb +28 -0
  571. data/lib/vendor/puppet/test/test_helper.rb +141 -0
  572. data/lib/vendor/puppet/transaction/event.rb +66 -0
  573. data/lib/vendor/puppet/transaction/event_manager.rb +115 -0
  574. data/lib/vendor/puppet/transaction/report.rb +200 -0
  575. data/lib/vendor/puppet/transaction/resource_harness.rb +178 -0
  576. data/lib/vendor/puppet/transaction.rb +493 -0
  577. data/lib/vendor/puppet/transportable.rb +248 -0
  578. data/lib/vendor/puppet/type/augeas.rb +218 -0
  579. data/lib/vendor/puppet/type/component.rb +85 -0
  580. data/lib/vendor/puppet/type/computer.rb +66 -0
  581. data/lib/vendor/puppet/type/cron.rb +421 -0
  582. data/lib/vendor/puppet/type/exec.rb +520 -0
  583. data/lib/vendor/puppet/type/file/checksum.rb +33 -0
  584. data/lib/vendor/puppet/type/file/content.rb +230 -0
  585. data/lib/vendor/puppet/type/file/ctime.rb +18 -0
  586. data/lib/vendor/puppet/type/file/ensure.rb +172 -0
  587. data/lib/vendor/puppet/type/file/group.rb +41 -0
  588. data/lib/vendor/puppet/type/file/mode.rb +148 -0
  589. data/lib/vendor/puppet/type/file/mtime.rb +17 -0
  590. data/lib/vendor/puppet/type/file/owner.rb +44 -0
  591. data/lib/vendor/puppet/type/file/selcontext.rb +123 -0
  592. data/lib/vendor/puppet/type/file/source.rb +195 -0
  593. data/lib/vendor/puppet/type/file/target.rb +87 -0
  594. data/lib/vendor/puppet/type/file/type.rb +19 -0
  595. data/lib/vendor/puppet/type/file.rb +829 -0
  596. data/lib/vendor/puppet/type/filebucket.rb +114 -0
  597. data/lib/vendor/puppet/type/group.rb +149 -0
  598. data/lib/vendor/puppet/type/host.rb +87 -0
  599. data/lib/vendor/puppet/type/interface.rb +112 -0
  600. data/lib/vendor/puppet/type/k5login.rb +88 -0
  601. data/lib/vendor/puppet/type/macauthorization.rb +167 -0
  602. data/lib/vendor/puppet/type/mailalias.rb +48 -0
  603. data/lib/vendor/puppet/type/maillist.rb +62 -0
  604. data/lib/vendor/puppet/type/mcx.rb +99 -0
  605. data/lib/vendor/puppet/type/mount.rb +241 -0
  606. data/lib/vendor/puppet/type/nagios_command.rb +3 -0
  607. data/lib/vendor/puppet/type/nagios_contact.rb +3 -0
  608. data/lib/vendor/puppet/type/nagios_contactgroup.rb +3 -0
  609. data/lib/vendor/puppet/type/nagios_host.rb +3 -0
  610. data/lib/vendor/puppet/type/nagios_hostdependency.rb +3 -0
  611. data/lib/vendor/puppet/type/nagios_hostescalation.rb +3 -0
  612. data/lib/vendor/puppet/type/nagios_hostextinfo.rb +3 -0
  613. data/lib/vendor/puppet/type/nagios_hostgroup.rb +3 -0
  614. data/lib/vendor/puppet/type/nagios_service.rb +3 -0
  615. data/lib/vendor/puppet/type/nagios_servicedependency.rb +3 -0
  616. data/lib/vendor/puppet/type/nagios_serviceescalation.rb +3 -0
  617. data/lib/vendor/puppet/type/nagios_serviceextinfo.rb +3 -0
  618. data/lib/vendor/puppet/type/nagios_servicegroup.rb +3 -0
  619. data/lib/vendor/puppet/type/nagios_timeperiod.rb +3 -0
  620. data/lib/vendor/puppet/type/notify.rb +44 -0
  621. data/lib/vendor/puppet/type/package.rb +357 -0
  622. data/lib/vendor/puppet/type/port.rb +119 -0
  623. data/lib/vendor/puppet/type/resources.rb +131 -0
  624. data/lib/vendor/puppet/type/router.rb +17 -0
  625. data/lib/vendor/puppet/type/schedule.rb +360 -0
  626. data/lib/vendor/puppet/type/scheduled_task.rb +166 -0
  627. data/lib/vendor/puppet/type/selboolean.rb +26 -0
  628. data/lib/vendor/puppet/type/selmodule.rb +59 -0
  629. data/lib/vendor/puppet/type/service.rb +221 -0
  630. data/lib/vendor/puppet/type/ssh_authorized_key.rb +112 -0
  631. data/lib/vendor/puppet/type/sshkey.rb +72 -0
  632. data/lib/vendor/puppet/type/stage.rb +19 -0
  633. data/lib/vendor/puppet/type/tidy.rb +333 -0
  634. data/lib/vendor/puppet/type/user.rb +524 -0
  635. data/lib/vendor/puppet/type/vlan.rb +26 -0
  636. data/lib/vendor/puppet/type/whit.rb +34 -0
  637. data/lib/vendor/puppet/type/yumrepo.rb +361 -0
  638. data/lib/vendor/puppet/type/zfs.rb +146 -0
  639. data/lib/vendor/puppet/type/zone.rb +492 -0
  640. data/lib/vendor/puppet/type/zpool.rb +91 -0
  641. data/lib/vendor/puppet/type.rb +1979 -0
  642. data/lib/vendor/puppet/util/adsi.rb +296 -0
  643. data/lib/vendor/puppet/util/autoload/file_cache.rb +92 -0
  644. data/lib/vendor/puppet/util/autoload.rb +158 -0
  645. data/lib/vendor/puppet/util/backups.rb +87 -0
  646. data/lib/vendor/puppet/util/cacher.rb +80 -0
  647. data/lib/vendor/puppet/util/checksums.rb +143 -0
  648. data/lib/vendor/puppet/util/classgen.rb +209 -0
  649. data/lib/vendor/puppet/util/colors.rb +128 -0
  650. data/lib/vendor/puppet/util/command_line.rb +185 -0
  651. data/lib/vendor/puppet/util/constant_inflector.rb +15 -0
  652. data/lib/vendor/puppet/util/diff.rb +77 -0
  653. data/lib/vendor/puppet/util/docs.rb +123 -0
  654. data/lib/vendor/puppet/util/errors.rb +63 -0
  655. data/lib/vendor/puppet/util/execution.rb +20 -0
  656. data/lib/vendor/puppet/util/execution_stub.rb +26 -0
  657. data/lib/vendor/puppet/util/feature.rb +83 -0
  658. data/lib/vendor/puppet/util/file_locking.rb +47 -0
  659. data/lib/vendor/puppet/util/fileparsing.rb +373 -0
  660. data/lib/vendor/puppet/util/filetype.rb +296 -0
  661. data/lib/vendor/puppet/util/graph.rb +27 -0
  662. data/lib/vendor/puppet/util/inifile.rb +203 -0
  663. data/lib/vendor/puppet/util/inline_docs.rb +26 -0
  664. data/lib/vendor/puppet/util/instance_loader.rb +81 -0
  665. data/lib/vendor/puppet/util/instrumentation/data.rb +34 -0
  666. data/lib/vendor/puppet/util/instrumentation/indirection_probe.rb +29 -0
  667. data/lib/vendor/puppet/util/instrumentation/instrumentable.rb +143 -0
  668. data/lib/vendor/puppet/util/instrumentation/listener.rb +60 -0
  669. data/lib/vendor/puppet/util/instrumentation/listeners/log.rb +29 -0
  670. data/lib/vendor/puppet/util/instrumentation/listeners/performance.rb +30 -0
  671. data/lib/vendor/puppet/util/instrumentation.rb +171 -0
  672. data/lib/vendor/puppet/util/ldap/connection.rb +74 -0
  673. data/lib/vendor/puppet/util/ldap/generator.rb +42 -0
  674. data/lib/vendor/puppet/util/ldap/manager.rb +279 -0
  675. data/lib/vendor/puppet/util/ldap.rb +2 -0
  676. data/lib/vendor/puppet/util/loadedfile.rb +61 -0
  677. data/lib/vendor/puppet/util/log/destination.rb +49 -0
  678. data/lib/vendor/puppet/util/log/destinations.rb +268 -0
  679. data/lib/vendor/puppet/util/log.rb +275 -0
  680. data/lib/vendor/puppet/util/log_paths.rb +22 -0
  681. data/lib/vendor/puppet/util/logging.rb +51 -0
  682. data/lib/vendor/puppet/util/metaid.rb +21 -0
  683. data/lib/vendor/puppet/util/methodhelper.rb +32 -0
  684. data/lib/vendor/puppet/util/metric.rb +186 -0
  685. data/lib/vendor/puppet/util/monkey_patches.rb +243 -0
  686. data/lib/vendor/puppet/util/nagios_maker.rb +60 -0
  687. data/lib/vendor/puppet/util/network_device/base.rb +27 -0
  688. data/lib/vendor/puppet/util/network_device/cisco/device.rb +257 -0
  689. data/lib/vendor/puppet/util/network_device/cisco/facts.rb +72 -0
  690. data/lib/vendor/puppet/util/network_device/cisco/interface.rb +82 -0
  691. data/lib/vendor/puppet/util/network_device/cisco.rb +4 -0
  692. data/lib/vendor/puppet/util/network_device/config.rb +92 -0
  693. data/lib/vendor/puppet/util/network_device/ipcalc.rb +68 -0
  694. data/lib/vendor/puppet/util/network_device/transport/base.rb +26 -0
  695. data/lib/vendor/puppet/util/network_device/transport/ssh.rb +121 -0
  696. data/lib/vendor/puppet/util/network_device/transport/telnet.rb +42 -0
  697. data/lib/vendor/puppet/util/network_device/transport.rb +3 -0
  698. data/lib/vendor/puppet/util/network_device.rb +17 -0
  699. data/lib/vendor/puppet/util/package.rb +31 -0
  700. data/lib/vendor/puppet/util/pidlock.rb +117 -0
  701. data/lib/vendor/puppet/util/platform.rb +22 -0
  702. data/lib/vendor/puppet/util/plugins.rb +82 -0
  703. data/lib/vendor/puppet/util/posix.rb +137 -0
  704. data/lib/vendor/puppet/util/provider_features.rb +168 -0
  705. data/lib/vendor/puppet/util/pson.rb +13 -0
  706. data/lib/vendor/puppet/util/queue/stomp.rb +60 -0
  707. data/lib/vendor/puppet/util/queue.rb +96 -0
  708. data/lib/vendor/puppet/util/rails/cache_accumulator.rb +65 -0
  709. data/lib/vendor/puppet/util/rails/collection_merger.rb +17 -0
  710. data/lib/vendor/puppet/util/rails/reference_serializer.rb +32 -0
  711. data/lib/vendor/puppet/util/rdoc.rb +87 -0
  712. data/lib/vendor/puppet/util/reference.rb +124 -0
  713. data/lib/vendor/puppet/util/resource_template.rb +61 -0
  714. data/lib/vendor/puppet/util/retryaction.rb +48 -0
  715. data/lib/vendor/puppet/util/run_mode.rb +82 -0
  716. data/lib/vendor/puppet/util/selinux.rb +211 -0
  717. data/lib/vendor/puppet/util/settings/boolean_setting.rb +30 -0
  718. data/lib/vendor/puppet/util/settings/file_setting.rb +135 -0
  719. data/lib/vendor/puppet/util/settings/setting.rb +94 -0
  720. data/lib/vendor/puppet/util/settings.rb +926 -0
  721. data/lib/vendor/puppet/util/storage.rb +96 -0
  722. data/lib/vendor/puppet/util/subclass_loader.rb +82 -0
  723. data/lib/vendor/puppet/util/suidmanager.rb +173 -0
  724. data/lib/vendor/puppet/util/symbolic_file_mode.rb +140 -0
  725. data/lib/vendor/puppet/util/tagging.rb +78 -0
  726. data/lib/vendor/puppet/util/terminal.rb +16 -0
  727. data/lib/vendor/puppet/util/user_attr.rb +21 -0
  728. data/lib/vendor/puppet/util/warnings.rb +29 -0
  729. data/lib/vendor/puppet/util/windows/error.rb +16 -0
  730. data/lib/vendor/puppet/util/windows/file.rb +27 -0
  731. data/lib/vendor/puppet/util/windows/process.rb +33 -0
  732. data/lib/vendor/puppet/util/windows/security.rb +622 -0
  733. data/lib/vendor/puppet/util/windows/sid.rb +96 -0
  734. data/lib/vendor/puppet/util/windows/user.rb +106 -0
  735. data/lib/vendor/puppet/util/windows.rb +8 -0
  736. data/lib/vendor/puppet/util/zaml.rb +407 -0
  737. data/lib/vendor/puppet/util.rb +646 -0
  738. data/lib/vendor/puppet/version.rb +18 -0
  739. data/lib/vendor/puppet.rb +125 -0
  740. data/lib/vendor/semver.rb +124 -0
  741. data/puppet-parse.gemspec +2 -8
  742. metadata +812 -94
@@ -0,0 +1,143 @@
1
+ require 'digest/md5'
2
+ require 'digest/sha1'
3
+
4
+ # A stand-alone module for calculating checksums
5
+ # in a generic way.
6
+ module Puppet::Util::Checksums
7
+ class FakeChecksum
8
+ def <<(*args)
9
+ self
10
+ end
11
+ end
12
+
13
+ # Is the provided string a checksum?
14
+ def checksum?(string)
15
+ string =~ /^\{(\w{3,5})\}\S+/
16
+ end
17
+
18
+ # Strip the checksum type from an existing checksum
19
+ def sumdata(checksum)
20
+ checksum =~ /^\{(\w+)\}(.+)/ ? $2 : nil
21
+ end
22
+
23
+ # Strip the checksum type from an existing checksum
24
+ def sumtype(checksum)
25
+ checksum =~ /^\{(\w+)\}/ ? $1 : nil
26
+ end
27
+
28
+ # Calculate a checksum using Digest::MD5.
29
+ def md5(content)
30
+ Digest::MD5.hexdigest(content)
31
+ end
32
+
33
+ # Calculate a checksum of the first 500 chars of the content using Digest::MD5.
34
+ def md5lite(content)
35
+ md5(content[0..511])
36
+ end
37
+
38
+ # Calculate a checksum of a file's content using Digest::MD5.
39
+ def md5_file(filename, lite = false)
40
+ digest = Digest::MD5.new
41
+ checksum_file(digest, filename, lite)
42
+ end
43
+
44
+ # Calculate a checksum of the first 500 chars of a file's content using Digest::MD5.
45
+ def md5lite_file(filename)
46
+ md5_file(filename, true)
47
+ end
48
+
49
+ def md5_stream(&block)
50
+ digest = Digest::MD5.new
51
+ yield digest
52
+ digest.hexdigest
53
+ end
54
+
55
+ alias :md5lite_stream :md5_stream
56
+
57
+ # Return the :mtime timestamp of a file.
58
+ def mtime_file(filename)
59
+ File.stat(filename).send(:mtime)
60
+ end
61
+
62
+ # by definition this doesn't exist
63
+ # but we still need to execute the block given
64
+ def mtime_stream
65
+ noop_digest = FakeChecksum.new
66
+ yield noop_digest
67
+ nil
68
+ end
69
+
70
+ def mtime(content)
71
+ ""
72
+ end
73
+
74
+ # Calculate a checksum using Digest::SHA1.
75
+ def sha1(content)
76
+ Digest::SHA1.hexdigest(content)
77
+ end
78
+
79
+ # Calculate a checksum of the first 500 chars of the content using Digest::SHA1.
80
+ def sha1lite(content)
81
+ sha1(content[0..511])
82
+ end
83
+
84
+ # Calculate a checksum of a file's content using Digest::SHA1.
85
+ def sha1_file(filename, lite = false)
86
+ digest = Digest::SHA1.new
87
+ checksum_file(digest, filename, lite)
88
+ end
89
+
90
+ # Calculate a checksum of the first 500 chars of a file's content using Digest::SHA1.
91
+ def sha1lite_file(filename)
92
+ sha1_file(filename, true)
93
+ end
94
+
95
+ def sha1_stream
96
+ digest = Digest::SHA1.new
97
+ yield digest
98
+ digest.hexdigest
99
+ end
100
+
101
+ alias :sha1lite_stream :sha1_stream
102
+
103
+ # Return the :ctime of a file.
104
+ def ctime_file(filename)
105
+ File.stat(filename).send(:ctime)
106
+ end
107
+
108
+ alias :ctime_stream :mtime_stream
109
+
110
+ def ctime(content)
111
+ ""
112
+ end
113
+
114
+ # Return a "no checksum"
115
+ def none_file(filename)
116
+ ""
117
+ end
118
+
119
+ def none_stream
120
+ noop_digest = FakeChecksum.new
121
+ yield noop_digest
122
+ ""
123
+ end
124
+
125
+ def none(content)
126
+ ""
127
+ end
128
+
129
+ private
130
+
131
+ # Perform an incremental checksum on a file.
132
+ def checksum_file(digest, filename, lite = false)
133
+ buffer = lite ? 512 : 4096
134
+ File.open(filename, 'rb') do |file|
135
+ while content = file.read(buffer)
136
+ digest << content
137
+ break if lite
138
+ end
139
+ end
140
+
141
+ digest.hexdigest
142
+ end
143
+ end
@@ -0,0 +1,209 @@
1
+ module Puppet
2
+ class ConstantAlreadyDefined < Error; end
3
+ class SubclassAlreadyDefined < Error; end
4
+ end
5
+
6
+ module Puppet::Util::ClassGen
7
+ include Puppet::Util::MethodHelper
8
+ include Puppet::Util
9
+
10
+ # Create a new subclass. Valid options are:
11
+ # * <tt>:array</tt>: An array of existing classes. If specified, the new
12
+ # class is added to this array.
13
+ # * <tt>:attributes</tt>: A hash of attributes to set before the block is
14
+ # evaluated.
15
+ # * <tt>:block</tt>: The block to evaluate in the context of the class.
16
+ # You can also just pass the block normally, but it will still be evaluated
17
+ # with <tt>class_eval</tt>.
18
+ # * <tt>:constant</tt>: What to set the constant as. Defaults to the
19
+ # capitalized name.
20
+ # * <tt>:hash</tt>: A hash of existing classes. If specified, the new
21
+ # class is added to this hash, and it is also used for overwrite tests.
22
+ # * <tt>:overwrite</tt>: Whether to overwrite an existing class.
23
+ # * <tt>:parent</tt>: The parent class for the generated class. Defaults to
24
+ # self.
25
+ # * <tt>:prefix</tt>: The constant prefix. Default to nothing; if specified,
26
+ # the capitalized name is appended and the result is set as the constant.
27
+ def genclass(name, options = {}, &block)
28
+ genthing(name, Class, options, block)
29
+ end
30
+
31
+ # Create a new module. Valid options are:
32
+ # * <tt>:array</tt>: An array of existing classes. If specified, the new
33
+ # class is added to this array.
34
+ # * <tt>:attributes</tt>: A hash of attributes to set before the block is
35
+ # evaluated.
36
+ # * <tt>:block</tt>: The block to evaluate in the context of the class.
37
+ # You can also just pass the block normally, but it will still be evaluated
38
+ # with <tt>class_eval</tt>.
39
+ # * <tt>:constant</tt>: What to set the constant as. Defaults to the
40
+ # capitalized name.
41
+ # * <tt>:hash</tt>: A hash of existing classes. If specified, the new
42
+ # class is added to this hash, and it is also used for overwrite tests.
43
+ # * <tt>:overwrite</tt>: Whether to overwrite an existing class.
44
+ # * <tt>:prefix</tt>: The constant prefix. Default to nothing; if specified,
45
+ # the capitalized name is appended and the result is set as the constant.
46
+ def genmodule(name, options = {}, &block)
47
+ genthing(name, Module, options, block)
48
+ end
49
+
50
+ # Remove an existing class
51
+ def rmclass(name, options)
52
+ options = symbolize_options(options)
53
+ const = genconst_string(name, options)
54
+ retval = false
55
+ if const_defined?(const)
56
+ remove_const(const)
57
+ retval = true
58
+ end
59
+
60
+ if hash = options[:hash] and hash.include? name
61
+ hash.delete(name)
62
+ retval = true
63
+ end
64
+
65
+ # Let them know whether we did actually delete a subclass.
66
+ retval
67
+ end
68
+
69
+ private
70
+
71
+ # Generate the constant to create or remove.
72
+ def genconst_string(name, options)
73
+ unless const = options[:constant]
74
+ prefix = options[:prefix] || ""
75
+ const = prefix + name2const(name)
76
+ end
77
+
78
+ const
79
+ end
80
+
81
+ # This does the actual work of creating our class or module. It's just a
82
+ # slightly abstract version of genclass.
83
+ def genthing(name, type, options, block)
84
+ options = symbolize_options(options)
85
+
86
+ name = name.to_s.downcase.intern
87
+
88
+ if type == Module
89
+ #evalmethod = :module_eval
90
+ evalmethod = :class_eval
91
+ # Create the class, with the correct name.
92
+ klass = Module.new do
93
+ class << self
94
+ attr_reader :name
95
+ end
96
+ @name = name
97
+ end
98
+ else
99
+ options[:parent] ||= self
100
+ evalmethod = :class_eval
101
+ # Create the class, with the correct name.
102
+ klass = Class.new(options[:parent]) do
103
+ @name = name
104
+ end
105
+ end
106
+
107
+ # Create the constant as appropriation.
108
+ handleclassconst(klass, name, options)
109
+
110
+ # Initialize any necessary variables.
111
+ initclass(klass, options)
112
+
113
+ block ||= options[:block]
114
+
115
+ # Evaluate the passed block if there is one. This should usually
116
+ # define all of the work.
117
+ klass.send(evalmethod, &block) if block
118
+
119
+ klass.postinit if klass.respond_to? :postinit
120
+
121
+ # Store the class in hashes or arrays or whatever.
122
+ storeclass(klass, name, options)
123
+
124
+ klass
125
+ end
126
+
127
+ # const_defined? in Ruby 1.9 behaves differently in terms
128
+ # of which class hierarchy it polls for nested namespaces
129
+ #
130
+ # See http://redmine.ruby-lang.org/issues/show/1915
131
+ def is_constant_defined?(const)
132
+ if ::RUBY_VERSION =~ /1.9/
133
+ const_defined?(const, false)
134
+ else
135
+ const_defined?(const)
136
+ end
137
+ end
138
+
139
+ # Handle the setting and/or removing of the associated constant.
140
+ def handleclassconst(klass, name, options)
141
+ const = genconst_string(name, options)
142
+
143
+ if is_constant_defined?(const)
144
+ if options[:overwrite]
145
+ Puppet.info "Redefining #{name} in #{self}"
146
+ remove_const(const)
147
+ else
148
+ raise Puppet::ConstantAlreadyDefined,
149
+ "Class #{const} is already defined in #{self}"
150
+ end
151
+ end
152
+ const_set(const, klass)
153
+
154
+ const
155
+ end
156
+
157
+ # Perform the initializations on the class.
158
+ def initclass(klass, options)
159
+ klass.initvars if klass.respond_to? :initvars
160
+
161
+ if attrs = options[:attributes]
162
+ attrs.each do |param, value|
163
+ method = param.to_s + "="
164
+ klass.send(method, value) if klass.respond_to? method
165
+ end
166
+ end
167
+
168
+ [:include, :extend].each do |method|
169
+ if set = options[method]
170
+ set = [set] unless set.is_a?(Array)
171
+ set.each do |mod|
172
+ klass.send(method, mod)
173
+ end
174
+ end
175
+ end
176
+
177
+ klass.preinit if klass.respond_to? :preinit
178
+ end
179
+
180
+ # Convert our name to a constant.
181
+ def name2const(name)
182
+ name.to_s.capitalize
183
+ end
184
+
185
+ # Store the class in the appropriate places.
186
+ def storeclass(klass, klassname, options)
187
+ if hash = options[:hash]
188
+ if hash.include? klassname and ! options[:overwrite]
189
+ raise Puppet::SubclassAlreadyDefined,
190
+ "Already a generated class named #{klassname}"
191
+ end
192
+
193
+ hash[klassname] = klass
194
+ end
195
+
196
+ # If we were told to stick it in a hash, then do so
197
+ if array = options[:array]
198
+ if (klass.respond_to? :name and
199
+ array.find { |c| c.name == klassname } and
200
+ ! options[:overwrite])
201
+ raise Puppet::SubclassAlreadyDefined,
202
+ "Already a generated class named #{klassname}"
203
+ end
204
+
205
+ array << klass
206
+ end
207
+ end
208
+ end
209
+
@@ -0,0 +1,128 @@
1
+ require 'puppet/util/platform'
2
+
3
+ module Puppet::Util::Colors
4
+ BLACK = {:console => "\e[0;30m", :html => "color: #FFA0A0" }
5
+ RED = {:console => "\e[0;31m", :html => "color: #FFA0A0" }
6
+ GREEN = {:console => "\e[0;32m", :html => "color: #00CD00" }
7
+ YELLOW = {:console => "\e[0;33m", :html => "color: #FFFF60" }
8
+ BLUE = {:console => "\e[0;34m", :html => "color: #80A0FF" }
9
+ MAGENTA = {:console => "\e[0;35m", :html => "color: #FFA500" }
10
+ CYAN = {:console => "\e[0;36m", :html => "color: #40FFFF" }
11
+ WHITE = {:console => "\e[0;37m", :html => "color: #FFFFFF" }
12
+ HBLACK = {:console => "\e[1;30m", :html => "color: #FFA0A0" }
13
+ HRED = {:console => "\e[1;31m", :html => "color: #FFA0A0" }
14
+ HGREEN = {:console => "\e[1;32m", :html => "color: #00CD00" }
15
+ HYELLOW = {:console => "\e[1;33m", :html => "color: #FFFF60" }
16
+ HBLUE = {:console => "\e[1;34m", :html => "color: #80A0FF" }
17
+ HMAGENTA = {:console => "\e[1;35m", :html => "color: #FFA500" }
18
+ HCYAN = {:console => "\e[1;36m", :html => "color: #40FFFF" }
19
+ HWHITE = {:console => "\e[1;37m", :html => "color: #FFFFFF" }
20
+ BG_RED = {:console => "\e[0;41m", :html => "background: #FFA0A0"}
21
+ BG_GREEN = {:console => "\e[0;42m", :html => "background: #00CD00"}
22
+ BG_YELLOW = {:console => "\e[0;43m", :html => "background: #FFFF60"}
23
+ BG_BLUE = {:console => "\e[0;44m", :html => "background: #80A0FF"}
24
+ BG_MAGENTA = {:console => "\e[0;45m", :html => "background: #FFA500"}
25
+ BG_CYAN = {:console => "\e[0;46m", :html => "background: #40FFFF"}
26
+ BG_WHITE = {:console => "\e[0;47m", :html => "background: #FFFFFF"}
27
+ BG_HRED = {:console => "\e[1;41m", :html => "background: #FFA0A0"}
28
+ BG_HGREEN = {:console => "\e[1;42m", :html => "background: #00CD00"}
29
+ BG_HYELLOW = {:console => "\e[1;43m", :html => "background: #FFFF60"}
30
+ BG_HBLUE = {:console => "\e[1;44m", :html => "background: #80A0FF"}
31
+ BG_HMAGENTA = {:console => "\e[1;45m", :html => "background: #FFA500"}
32
+ BG_HCYAN = {:console => "\e[1;46m", :html => "background: #40FFFF"}
33
+ BG_HWHITE = {:console => "\e[1;47m", :html => "background: #FFFFFF"}
34
+ RESET = {:console => "\e[0m", :html => "" }
35
+
36
+ Colormap = {
37
+ :debug => WHITE,
38
+ :info => GREEN,
39
+ :notice => CYAN,
40
+ :warning => YELLOW,
41
+ :err => HMAGENTA,
42
+ :alert => RED,
43
+ :emerg => HRED,
44
+ :crit => HRED,
45
+
46
+ :black => BLACK,
47
+ :red => RED,
48
+ :green => GREEN,
49
+ :yellow => YELLOW,
50
+ :blue => BLUE,
51
+ :magenta => MAGENTA,
52
+ :cyan => CYAN,
53
+ :white => WHITE,
54
+ :hblack => HBLACK,
55
+ :hred => HRED,
56
+ :hgreen => HGREEN,
57
+ :hyellow => HYELLOW,
58
+ :hblue => HBLUE,
59
+ :hmagenta => HMAGENTA,
60
+ :hcyan => HCYAN,
61
+ :hwhite => HWHITE,
62
+ :bg_red => BG_RED,
63
+ :bg_green => BG_GREEN,
64
+ :bg_yellow => BG_YELLOW,
65
+ :bg_blue => BG_BLUE,
66
+ :bg_magenta => BG_MAGENTA,
67
+ :bg_cyan => BG_CYAN,
68
+ :bg_white => BG_WHITE,
69
+ :bg_hred => BG_HRED,
70
+ :bg_hgreen => BG_HGREEN,
71
+ :bg_hyellow => BG_HYELLOW,
72
+ :bg_hblue => BG_HBLUE,
73
+ :bg_hmagenta => BG_HMAGENTA,
74
+ :bg_hcyan => BG_HCYAN,
75
+ :bg_hwhite => BG_HWHITE,
76
+ :reset => { :console => "\e[m", :html => "" }
77
+ }
78
+
79
+ # We define console_has_color? at load time since it's checking the
80
+ # underlying platform which will not change, and we don't want to perform
81
+ # the check every time we use logging
82
+ if Puppet::Util::Platform.windows?
83
+ # We're on windows, need win32console for color to work
84
+ begin
85
+ require 'rubygems'
86
+ require 'win32console'
87
+ rescue LoadError
88
+ def console_has_color?
89
+ false
90
+ end
91
+ else
92
+ def console_has_color?
93
+ true
94
+ end
95
+ end
96
+ else
97
+ # On a posix system we can just enable it
98
+ def console_has_color?
99
+ true
100
+ end
101
+ end
102
+
103
+ def colorize(color, str)
104
+ case Puppet[:color]
105
+ when true, :ansi, "ansi", "yes"
106
+ if console_has_color?
107
+ console_color(color, str)
108
+ else
109
+ str
110
+ end
111
+ when :html, "html"
112
+ html_color(color, str)
113
+ else
114
+ str
115
+ end
116
+ end
117
+
118
+ def console_color(color, str)
119
+ Colormap[color][:console] +
120
+ str.gsub(RESET[:console], Colormap[color][:console]) +
121
+ RESET[:console]
122
+ end
123
+
124
+ def html_color(color, str)
125
+ span = '<span style="%s">' % Colormap[color][:html]
126
+ "#{span}%s</span>" % str.gsub(/<span .*?<\/span>/, "</span>\\0#{span}")
127
+ end
128
+ end
@@ -0,0 +1,185 @@
1
+ require "puppet/util/plugins"
2
+
3
+ module Puppet
4
+ module Util
5
+ class CommandLine
6
+
7
+ LegacyName = Hash.new{|h,k| k}.update(
8
+ 'agent' => 'puppetd',
9
+ 'cert' => 'puppetca',
10
+ 'doc' => 'puppetdoc',
11
+ 'filebucket' => 'filebucket',
12
+ 'apply' => 'puppet',
13
+ 'describe' => 'pi',
14
+ 'queue' => 'puppetqd',
15
+ 'resource' => 'ralsh',
16
+ 'kick' => 'puppetrun',
17
+ 'master' => 'puppetmasterd',
18
+ 'device' => 'puppetdevice'
19
+ )
20
+
21
+ def initialize(zero = $0, argv = ARGV, stdin = STDIN)
22
+ @zero = zero
23
+ @argv = argv.dup
24
+ @stdin = stdin
25
+
26
+ @subcommand_name, @args = subcommand_and_args(@zero, @argv, @stdin)
27
+ Puppet::Plugins.on_commandline_initialization(:command_line_object => self)
28
+ end
29
+
30
+ attr :subcommand_name
31
+ attr :args
32
+
33
+ def appdir
34
+ File.join('puppet', 'application')
35
+ end
36
+
37
+ def self.available_subcommands
38
+ absolute_appdirs = $LOAD_PATH.collect do |x|
39
+ File.join(x,'puppet','application')
40
+ end.select{ |x| File.directory?(x) }
41
+ absolute_appdirs.inject([]) do |commands, dir|
42
+ commands + Dir[File.join(dir, '*.rb')].map{|fn| File.basename(fn, '.rb')}
43
+ end.uniq
44
+ end
45
+ # available_subcommands was previously an instance method, not a class
46
+ # method, and we have an unknown number of user-implemented applications
47
+ # that depend on that behaviour. Forwarding allows us to preserve a
48
+ # backward compatible API. --daniel 2011-04-11
49
+ def available_subcommands
50
+ self.class.available_subcommands
51
+ end
52
+
53
+ def require_application(application)
54
+ require File.join(appdir, application)
55
+ end
56
+
57
+ def execute
58
+ if subcommand_name and available_subcommands.include?(subcommand_name) then
59
+ require_application subcommand_name
60
+ app = Puppet::Application.find(subcommand_name).new(self)
61
+ Puppet::Plugins.on_application_initialization(:appliation_object => self)
62
+
63
+ # See the note in 'warn_later' down below. --daniel 2011-06-01
64
+ if $delayed_deprecation_warning_for_p_u_cl.is_a? String then
65
+ Puppet.deprecation_warning($delayed_deprecation_warning_for_p_u_cl)
66
+ $delayed_deprecation_warning_for_p_u_cl = true
67
+ end
68
+
69
+ app.run
70
+ elsif ! execute_external_subcommand then
71
+ unless subcommand_name.nil? then
72
+ puts "Error: Unknown Puppet subcommand '#{subcommand_name}'"
73
+ end
74
+ puts "See 'puppet help' for help on available puppet subcommands"
75
+ end
76
+ end
77
+
78
+ def execute_external_subcommand
79
+ external_command = "puppet-#{subcommand_name}"
80
+
81
+ require 'puppet/util'
82
+ path_to_subcommand = Puppet::Util.which(external_command)
83
+ return false unless path_to_subcommand
84
+
85
+ exec(path_to_subcommand, *args)
86
+ end
87
+
88
+ def legacy_executable_name
89
+ LegacyName[ subcommand_name ]
90
+ end
91
+
92
+ private
93
+
94
+ def subcommand_and_args(zero, argv, stdin)
95
+ zero = File.basename(zero, '.rb')
96
+
97
+ if zero == 'puppet'
98
+ case argv.first
99
+ when nil then
100
+ if stdin.tty? then
101
+ [nil, argv] # ttys get usage info
102
+ else
103
+ # Killed for 2.7.0 --daniel 2011-06-01
104
+ warn_later <<EOM
105
+ Implicit invocation of 'puppet apply' by redirection into 'puppet' is deprecated,
106
+ and will be removed in the 2.8 series. Please invoke 'puppet apply' directly
107
+ in the future.
108
+ EOM
109
+ ["apply", argv]
110
+ end
111
+ when "--help", "-h" then
112
+ # help should give you usage, not the help for `puppet apply`
113
+ [nil, argv]
114
+ when /^-|\.pp$|\.rb$/ then
115
+ # Killed for 2.7.0 --daniel 2011-06-01
116
+ warn_later <<EOM
117
+ Implicit invocation of 'puppet apply' by passing files (or flags) directly
118
+ to 'puppet' is deprecated, and will be removed in the 2.8 series. Please
119
+ invoke 'puppet apply' directly in the future.
120
+ EOM
121
+ ["apply", argv]
122
+ else
123
+ [argv.first, argv[1..-1]]
124
+ end
125
+ else
126
+ [zero, argv]
127
+ end
128
+ end
129
+
130
+ # So, this is more than a little bit of a horror. You see, the process
131
+ # of bootstrapping Puppet is ... complex. This file, like many of our
132
+ # early initialization files, has an incestuous relationship between the
133
+ # order of files loaded, code executed at load time, and code executed
134
+ # in other files at runtime.
135
+ #
136
+ # When we construct this object we have not yet actually loaded the
137
+ # global puppet object, so we can't use any methods in it. That
138
+ # includes all the logging stuff, which is used by the deprecation
139
+ # warning subsystem.
140
+ #
141
+ # On the other hand, we can't just load the logging system, because that
142
+ # depends on the top level Puppet module being bootstrapped. It doesn't
143
+ # actually load the stuff it uses, though, for hysterical raisins.
144
+ #
145
+ # Finally, we can't actually just load the top level Puppet module.
146
+ # This one is precious: it turns out that some of the code loaded in the
147
+ # top level Puppet module has a dependency on the run mode values.
148
+ #
149
+ # Run mode is set correctly *only* when the application is loaded, and
150
+ # if it is wrong when the top level code is brought in we end up with
151
+ # the wrong settings scattered through some of the defaults.
152
+ #
153
+ # Which means that we have a dependency cycle that runs:
154
+ # 1. The binary creates an instance of P::U::CL.
155
+ # 2. That identifies the application to load.
156
+ # 3. It does, then instantiates the application.
157
+ # 4. That sets the run-mode.
158
+ # 5. That then loads the top level Puppet module.
159
+ # 6. Finally, we get to where we can use the top level stuff
160
+ #
161
+ # So, essentially, we see a dependency between runtime code in this
162
+ # file, run-time code in the application, and load-time code in the top
163
+ # level module.
164
+ #
165
+ # Which leads me to our current horrible hack: we stash away the message
166
+ # we wanted to log about deprecation, then send it to our logging system
167
+ # once we have done enough bootstrapping that it will, y'know, actually
168
+ # work.
169
+ #
170
+ # I would have liked to fix this, but that is going to be a whole pile
171
+ # of work digging through and decrufting all the global state from the
172
+ # local state, and working out what depends on what else in the product.
173
+ #
174
+ # Oh, and we use a global because we have *two* instances of a P::U::CL
175
+ # object during the startup sequence. I don't know why.
176
+ #
177
+ # Maybe, one day, when I am not behind a deadline to ship code.
178
+ # --daniel 2011-06-01
179
+ def warn_later(text)
180
+ return if $delayed_deprecation_warning_for_p_u_cl
181
+ $delayed_deprecation_warning_for_p_u_cl = text
182
+ end
183
+ end
184
+ end
185
+ end
@@ -0,0 +1,15 @@
1
+ # Created on 2008-02-12
2
+ # Copyright Luke Kanies
3
+
4
+ # A common module for converting between constants and
5
+ # file names.
6
+ module Puppet::Util::ConstantInflector
7
+ def file2constant(file)
8
+ # LAK:NOTE See http://snurl.com/21zf8 [groups_google_com]
9
+ x = file.split("/").collect { |name| name.capitalize }.join("::").gsub(/_+(.)/) { |term| $1.capitalize }
10
+ end
11
+
12
+ def constant2file(constant)
13
+ constant.to_s.gsub(/([a-z])([A-Z])/) { |term| $1 + "_#{$2}" }.gsub("::", "/").downcase
14
+ end
15
+ end