puppet 8.5.1-x86-mingw32 → 8.6.0-x86-mingw32

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 (542) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +23 -20
  3. data/ext/windows/service/daemon.rb +49 -55
  4. data/lib/hiera/scope.rb +3 -3
  5. data/lib/hiera_puppet.rb +1 -1
  6. data/lib/puppet/agent/disabler.rb +1 -1
  7. data/lib/puppet/application/agent.rb +2 -2
  8. data/lib/puppet/application/apply.rb +2 -2
  9. data/lib/puppet/application/describe.rb +6 -6
  10. data/lib/puppet/application/device.rb +99 -100
  11. data/lib/puppet/application/doc.rb +1 -1
  12. data/lib/puppet/application/face_base.rb +7 -7
  13. data/lib/puppet/application/filebucket.rb +1 -1
  14. data/lib/puppet/application/lookup.rb +5 -5
  15. data/lib/puppet/application/resource.rb +10 -3
  16. data/lib/puppet/application/ssl.rb +3 -3
  17. data/lib/puppet/application.rb +16 -18
  18. data/lib/puppet/coercion.rb +1 -1
  19. data/lib/puppet/configurer/downloader.rb +9 -4
  20. data/lib/puppet/configurer/fact_handler.rb +12 -13
  21. data/lib/puppet/configurer.rb +16 -18
  22. data/lib/puppet/confine/feature.rb +1 -1
  23. data/lib/puppet/confine/variable.rb +1 -1
  24. data/lib/puppet/confine.rb +2 -2
  25. data/lib/puppet/confine_collection.rb +1 -1
  26. data/lib/puppet/confiner.rb +2 -2
  27. data/lib/puppet/daemon.rb +3 -3
  28. data/lib/puppet/datatypes.rb +5 -6
  29. data/lib/puppet/defaults.rb +14 -8
  30. data/lib/puppet/environments.rb +3 -7
  31. data/lib/puppet/error.rb +3 -3
  32. data/lib/puppet/external/dot.rb +42 -34
  33. data/lib/puppet/face/catalog/select.rb +1 -1
  34. data/lib/puppet/face/epp.rb +7 -9
  35. data/lib/puppet/face/help.rb +12 -12
  36. data/lib/puppet/face/module/changes.rb +1 -3
  37. data/lib/puppet/face/module/list.rb +37 -37
  38. data/lib/puppet/face/node/clean.rb +1 -1
  39. data/lib/puppet/face/parser.rb +6 -8
  40. data/lib/puppet/face/report.rb +5 -7
  41. data/lib/puppet/facter_impl.rb +1 -1
  42. data/lib/puppet/feature/base.rb +9 -11
  43. data/lib/puppet/feature/pe_license.rb +1 -1
  44. data/lib/puppet/feature/ssh.rb +1 -1
  45. data/lib/puppet/feature/telnet.rb +3 -5
  46. data/lib/puppet/feature/zlib.rb +1 -1
  47. data/lib/puppet/ffi/windows/constants.rb +1 -1
  48. data/lib/puppet/ffi/windows/functions.rb +2 -2
  49. data/lib/puppet/ffi/windows/structs.rb +3 -3
  50. data/lib/puppet/file_bucket/dipper.rb +4 -4
  51. data/lib/puppet/file_bucket/file.rb +4 -4
  52. data/lib/puppet/file_serving/base.rb +5 -5
  53. data/lib/puppet/file_serving/configuration/parser.rb +9 -9
  54. data/lib/puppet/file_serving/configuration.rb +3 -3
  55. data/lib/puppet/file_serving/fileset.rb +13 -13
  56. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  57. data/lib/puppet/file_serving/metadata.rb +13 -9
  58. data/lib/puppet/file_serving/mount/file.rb +6 -6
  59. data/lib/puppet/file_serving/mount/locales.rb +2 -4
  60. data/lib/puppet/file_serving/mount/pluginfacts.rb +2 -4
  61. data/lib/puppet/file_serving/mount/plugins.rb +2 -4
  62. data/lib/puppet/file_serving/mount.rb +1 -1
  63. data/lib/puppet/file_system/file_impl.rb +3 -3
  64. data/lib/puppet/file_system/memory_impl.rb +1 -1
  65. data/lib/puppet/file_system/path_pattern.rb +1 -1
  66. data/lib/puppet/file_system/uniquefile.rb +17 -16
  67. data/lib/puppet/file_system/windows.rb +26 -18
  68. data/lib/puppet/forge/cache.rb +2 -2
  69. data/lib/puppet/forge/errors.rb +1 -1
  70. data/lib/puppet/forge/repository.rb +2 -2
  71. data/lib/puppet/forge.rb +13 -19
  72. data/lib/puppet/functions/abs.rb +2 -2
  73. data/lib/puppet/functions/camelcase.rb +1 -1
  74. data/lib/puppet/functions/compare.rb +2 -2
  75. data/lib/puppet/functions/contain.rb +1 -1
  76. data/lib/puppet/functions/defined.rb +2 -2
  77. data/lib/puppet/functions/dig.rb +1 -1
  78. data/lib/puppet/functions/eyaml_lookup_key.rb +11 -13
  79. data/lib/puppet/functions/get.rb +1 -1
  80. data/lib/puppet/functions/hocon_data.rb +3 -5
  81. data/lib/puppet/functions/import.rb +1 -1
  82. data/lib/puppet/functions/json_data.rb +4 -6
  83. data/lib/puppet/functions/max.rb +2 -2
  84. data/lib/puppet/functions/min.rb +2 -2
  85. data/lib/puppet/functions/new.rb +1 -1
  86. data/lib/puppet/functions/reduce.rb +6 -10
  87. data/lib/puppet/functions/regsubst.rb +2 -2
  88. data/lib/puppet/functions/require.rb +1 -1
  89. data/lib/puppet/functions/yaml_data.rb +11 -13
  90. data/lib/puppet/functions.rb +32 -37
  91. data/lib/puppet/generate/type.rb +2 -2
  92. data/lib/puppet/gettext/config.rb +9 -9
  93. data/lib/puppet/graph/rb_tree_map.rb +31 -23
  94. data/lib/puppet/graph/relationship_graph.rb +12 -12
  95. data/lib/puppet/graph/simple_graph.rb +8 -10
  96. data/lib/puppet/http/client.rb +1 -1
  97. data/lib/puppet/http/dns.rb +4 -4
  98. data/lib/puppet/http/external_client.rb +1 -1
  99. data/lib/puppet/http/factory.rb +1 -1
  100. data/lib/puppet/http/proxy.rb +15 -15
  101. data/lib/puppet/http/redirector.rb +6 -2
  102. data/lib/puppet/http/resolver.rb +2 -2
  103. data/lib/puppet/http/retry_after_handler.rb +2 -2
  104. data/lib/puppet/http/service/ca.rb +1 -1
  105. data/lib/puppet/http/service/compiler.rb +4 -4
  106. data/lib/puppet/http/service/file_server.rb +1 -1
  107. data/lib/puppet/http/service/report.rb +2 -2
  108. data/lib/puppet/http/service.rb +9 -13
  109. data/lib/puppet/http/session.rb +1 -1
  110. data/lib/puppet/http/site.rb +1 -1
  111. data/lib/puppet/indirector/catalog/compiler.rb +44 -45
  112. data/lib/puppet/indirector/catalog/rest.rb +7 -5
  113. data/lib/puppet/indirector/catalog/store_configs.rb +1 -1
  114. data/lib/puppet/indirector/exec.rb +2 -2
  115. data/lib/puppet/indirector/face.rb +7 -9
  116. data/lib/puppet/indirector/fact_search.rb +1 -1
  117. data/lib/puppet/indirector/facts/facter.rb +6 -6
  118. data/lib/puppet/indirector/facts/json.rb +1 -1
  119. data/lib/puppet/indirector/facts/store_configs.rb +1 -1
  120. data/lib/puppet/indirector/file_bucket_file/file.rb +17 -17
  121. data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -3
  122. data/lib/puppet/indirector/file_content/rest.rb +1 -1
  123. data/lib/puppet/indirector/file_metadata/rest.rb +1 -1
  124. data/lib/puppet/indirector/hiera.rb +1 -1
  125. data/lib/puppet/indirector/indirection.rb +27 -29
  126. data/lib/puppet/indirector/json.rb +4 -4
  127. data/lib/puppet/indirector/memory.rb +2 -2
  128. data/lib/puppet/indirector/msgpack.rb +5 -5
  129. data/lib/puppet/indirector/node/store_configs.rb +1 -1
  130. data/lib/puppet/indirector/none.rb +1 -1
  131. data/lib/puppet/indirector/report/json.rb +1 -1
  132. data/lib/puppet/indirector/report/yaml.rb +1 -1
  133. data/lib/puppet/indirector/request.rb +4 -4
  134. data/lib/puppet/indirector/resource/ral.rb +2 -4
  135. data/lib/puppet/indirector/resource/store_configs.rb +1 -1
  136. data/lib/puppet/indirector/terminus.rb +4 -4
  137. data/lib/puppet/indirector/yaml.rb +3 -3
  138. data/lib/puppet/info_service/class_information_service.rb +5 -8
  139. data/lib/puppet/info_service/task_information_service.rb +6 -7
  140. data/lib/puppet/interface/action.rb +5 -5
  141. data/lib/puppet/interface/action_manager.rb +5 -5
  142. data/lib/puppet/interface/documentation.rb +5 -5
  143. data/lib/puppet/interface/face_collection.rb +7 -7
  144. data/lib/puppet/interface/option.rb +2 -2
  145. data/lib/puppet/interface/option_manager.rb +6 -6
  146. data/lib/puppet/interface.rb +4 -4
  147. data/lib/puppet/metatype/manager.rb +2 -2
  148. data/lib/puppet/module/plan.rb +10 -10
  149. data/lib/puppet/module/task.rb +8 -8
  150. data/lib/puppet/module.rb +39 -41
  151. data/lib/puppet/module_tool/applications/application.rb +10 -8
  152. data/lib/puppet/module_tool/applications/installer.rb +53 -50
  153. data/lib/puppet/module_tool/applications/unpacker.rb +6 -8
  154. data/lib/puppet/module_tool/applications/upgrader.rb +37 -34
  155. data/lib/puppet/module_tool/checksums.rb +2 -2
  156. data/lib/puppet/module_tool/dependency.rb +1 -1
  157. data/lib/puppet/module_tool/errors/base.rb +1 -1
  158. data/lib/puppet/module_tool/install_directory.rb +1 -1
  159. data/lib/puppet/module_tool/local_tarball.rb +3 -5
  160. data/lib/puppet/module_tool/metadata.rb +12 -8
  161. data/lib/puppet/module_tool/shared_behaviors.rb +27 -12
  162. data/lib/puppet/module_tool/tar/mini.rb +3 -3
  163. data/lib/puppet/module_tool.rb +4 -4
  164. data/lib/puppet/network/client_request.rb +5 -3
  165. data/lib/puppet/network/format.rb +2 -2
  166. data/lib/puppet/network/format_support.rb +1 -1
  167. data/lib/puppet/network/formats.rb +1 -1
  168. data/lib/puppet/network/http/api/indirected_routes.rb +24 -44
  169. data/lib/puppet/network/http/api/server/v3.rb +1 -1
  170. data/lib/puppet/network/http/connection.rb +1 -1
  171. data/lib/puppet/network/http/handler.rb +8 -12
  172. data/lib/puppet/network/http/request.rb +1 -1
  173. data/lib/puppet/network/http/route.rb +9 -9
  174. data/lib/puppet/node/environment.rb +21 -23
  175. data/lib/puppet/node/facts.rb +1 -1
  176. data/lib/puppet/node.rb +5 -5
  177. data/lib/puppet/pal/json_catalog_encoder.rb +1 -1
  178. data/lib/puppet/pal/pal_impl.rb +48 -50
  179. data/lib/puppet/pal/plan_signature.rb +1 -1
  180. data/lib/puppet/pal/task_signature.rb +1 -1
  181. data/lib/puppet/parameter/package_options.rb +1 -1
  182. data/lib/puppet/parameter/value.rb +2 -2
  183. data/lib/puppet/parameter/value_collection.rb +7 -7
  184. data/lib/puppet/parameter.rb +8 -9
  185. data/lib/puppet/parser/ast/block_expression.rb +2 -2
  186. data/lib/puppet/parser/ast/hostclass.rb +1 -1
  187. data/lib/puppet/parser/ast/pops_bridge.rb +3 -4
  188. data/lib/puppet/parser/ast/resource.rb +4 -4
  189. data/lib/puppet/parser/ast/resourceparam.rb +4 -4
  190. data/lib/puppet/parser/ast.rb +14 -15
  191. data/lib/puppet/parser/compiler.rb +26 -28
  192. data/lib/puppet/parser/functions/create_resources.rb +3 -3
  193. data/lib/puppet/parser/functions/fail.rb +1 -1
  194. data/lib/puppet/parser/functions/generate.rb +2 -2
  195. data/lib/puppet/parser/functions/tag.rb +1 -1
  196. data/lib/puppet/parser/functions.rb +2 -2
  197. data/lib/puppet/parser/relationship.rb +3 -1
  198. data/lib/puppet/parser/resource/param.rb +2 -2
  199. data/lib/puppet/parser/resource.rb +23 -23
  200. data/lib/puppet/parser/scope.rb +10 -10
  201. data/lib/puppet/parser/script_compiler.rb +1 -1
  202. data/lib/puppet/parser/templatewrapper.rb +1 -1
  203. data/lib/puppet/parser/type_loader.rb +10 -12
  204. data/lib/puppet/parser.rb +1 -1
  205. data/lib/puppet/pops/adaptable.rb +1 -1
  206. data/lib/puppet/pops/evaluator/access_operator.rb +8 -8
  207. data/lib/puppet/pops/evaluator/callable_signature.rb +4 -4
  208. data/lib/puppet/pops/evaluator/collector_transformer.rb +4 -4
  209. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +7 -7
  210. data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +6 -6
  211. data/lib/puppet/pops/evaluator/compare_operator.rb +10 -10
  212. data/lib/puppet/pops/evaluator/deferred_resolver.rb +1 -1
  213. data/lib/puppet/pops/evaluator/epp_evaluator.rb +2 -2
  214. data/lib/puppet/pops/evaluator/evaluator_impl.rb +56 -60
  215. data/lib/puppet/pops/evaluator/relationship_operator.rb +2 -2
  216. data/lib/puppet/pops/evaluator/runtime3_converter.rb +3 -3
  217. data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
  218. data/lib/puppet/pops/functions/dispatcher.rb +3 -3
  219. data/lib/puppet/pops/functions/function.rb +14 -16
  220. data/lib/puppet/pops/issue_reporter.rb +2 -2
  221. data/lib/puppet/pops/label_provider.rb +2 -2
  222. data/lib/puppet/pops/loader/dependency_loader.rb +3 -3
  223. data/lib/puppet/pops/loader/loader.rb +4 -4
  224. data/lib/puppet/pops/loader/loader_paths.rb +3 -3
  225. data/lib/puppet/pops/loader/module_loaders.rb +11 -11
  226. data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +1 -1
  227. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +1 -1
  228. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +5 -1
  229. data/lib/puppet/pops/loader/static_loader.rb +3 -3
  230. data/lib/puppet/pops/loaders.rb +3 -3
  231. data/lib/puppet/pops/lookup/data_dig_function_provider.rb +1 -1
  232. data/lib/puppet/pops/lookup/explainer.rb +2 -2
  233. data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
  234. data/lib/puppet/pops/lookup/hiera_config.rb +15 -11
  235. data/lib/puppet/pops/lookup/interpolation.rb +3 -3
  236. data/lib/puppet/pops/lookup/key_recorder.rb +1 -1
  237. data/lib/puppet/pops/lookup/location_resolver.rb +1 -1
  238. data/lib/puppet/pops/lookup/lookup_adapter.rb +7 -7
  239. data/lib/puppet/pops/lookup/sub_lookup.rb +1 -1
  240. data/lib/puppet/pops/merge_strategy.rb +6 -6
  241. data/lib/puppet/pops/migration/migration_checker.rb +1 -1
  242. data/lib/puppet/pops/model/ast_transformer.rb +9 -11
  243. data/lib/puppet/pops/model/factory.rb +4 -5
  244. data/lib/puppet/pops/parser/epp_parser.rb +2 -2
  245. data/lib/puppet/pops/parser/epp_support.rb +1 -1
  246. data/lib/puppet/pops/parser/evaluating_parser.rb +2 -2
  247. data/lib/puppet/pops/parser/heredoc_support.rb +4 -4
  248. data/lib/puppet/pops/parser/interpolation_support.rb +3 -3
  249. data/lib/puppet/pops/parser/lexer2.rb +20 -12
  250. data/lib/puppet/pops/parser/lexer_support.rb +1 -1
  251. data/lib/puppet/pops/parser/locator.rb +4 -4
  252. data/lib/puppet/pops/parser/parser_support.rb +12 -14
  253. data/lib/puppet/pops/parser/pn_parser.rb +3 -3
  254. data/lib/puppet/pops/parser/slurp_support.rb +8 -8
  255. data/lib/puppet/pops/patterns.rb +12 -12
  256. data/lib/puppet/pops/pcore.rb +1 -1
  257. data/lib/puppet/pops/pn.rb +2 -2
  258. data/lib/puppet/pops/puppet_stack.rb +1 -1
  259. data/lib/puppet/pops/resource/resource_type_impl.rb +1 -1
  260. data/lib/puppet/pops/serialization/abstract_reader.rb +2 -2
  261. data/lib/puppet/pops/serialization/abstract_writer.rb +3 -3
  262. data/lib/puppet/pops/time/timestamp.rb +1 -1
  263. data/lib/puppet/pops/types/class_loader.rb +4 -6
  264. data/lib/puppet/pops/types/iterable.rb +1 -1
  265. data/lib/puppet/pops/types/p_binary_type.rb +1 -1
  266. data/lib/puppet/pops/types/p_init_type.rb +1 -1
  267. data/lib/puppet/pops/types/p_object_type.rb +5 -5
  268. data/lib/puppet/pops/types/p_object_type_extension.rb +4 -6
  269. data/lib/puppet/pops/types/p_sem_ver_range_type.rb +1 -1
  270. data/lib/puppet/pops/types/p_sensitive_type.rb +1 -1
  271. data/lib/puppet/pops/types/p_timespan_type.rb +2 -2
  272. data/lib/puppet/pops/types/p_type_set_type.rb +10 -10
  273. data/lib/puppet/pops/types/p_uri_type.rb +4 -4
  274. data/lib/puppet/pops/types/recursion_guard.rb +4 -4
  275. data/lib/puppet/pops/types/ruby_generator.rb +2 -2
  276. data/lib/puppet/pops/types/string_converter.rb +12 -8
  277. data/lib/puppet/pops/types/tree_iterators.rb +4 -6
  278. data/lib/puppet/pops/types/type_calculator.rb +10 -10
  279. data/lib/puppet/pops/types/type_factory.rb +7 -3
  280. data/lib/puppet/pops/types/type_formatter.rb +22 -24
  281. data/lib/puppet/pops/types/type_mismatch_describer.rb +24 -24
  282. data/lib/puppet/pops/types/types.rb +28 -24
  283. data/lib/puppet/pops/utils.rb +38 -42
  284. data/lib/puppet/pops/validation/checker4_0.rb +10 -10
  285. data/lib/puppet/pops/validation/tasks_checker.rb +1 -1
  286. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -1
  287. data/lib/puppet/pops/validation.rb +4 -4
  288. data/lib/puppet/pops/visitor.rb +2 -2
  289. data/lib/puppet/property/ensure.rb +12 -14
  290. data/lib/puppet/property/keyvalue.rb +4 -4
  291. data/lib/puppet/property/list.rb +4 -4
  292. data/lib/puppet/property/ordered_list.rb +1 -1
  293. data/lib/puppet/property.rb +31 -33
  294. data/lib/puppet/provider/exec.rb +2 -2
  295. data/lib/puppet/provider/file/posix.rb +19 -17
  296. data/lib/puppet/provider/file/windows.rb +13 -19
  297. data/lib/puppet/provider/group/directoryservice.rb +3 -2
  298. data/lib/puppet/provider/group/groupadd.rb +4 -4
  299. data/lib/puppet/provider/group/windows_adsi.rb +2 -2
  300. data/lib/puppet/provider/nameservice/directoryservice.rb +29 -29
  301. data/lib/puppet/provider/nameservice/objectadd.rb +2 -4
  302. data/lib/puppet/provider/nameservice/pw.rb +1 -2
  303. data/lib/puppet/provider/nameservice.rb +8 -8
  304. data/lib/puppet/provider/package/aix.rb +19 -19
  305. data/lib/puppet/provider/package/appdmg.rb +2 -2
  306. data/lib/puppet/provider/package/apple.rb +1 -1
  307. data/lib/puppet/provider/package/apt.rb +18 -18
  308. data/lib/puppet/provider/package/aptitude.rb +1 -3
  309. data/lib/puppet/provider/package/aptrpm.rb +9 -9
  310. data/lib/puppet/provider/package/blastwave.rb +10 -14
  311. data/lib/puppet/provider/package/dnfmodule.rb +3 -3
  312. data/lib/puppet/provider/package/dpkg.rb +11 -13
  313. data/lib/puppet/provider/package/fink.rb +14 -14
  314. data/lib/puppet/provider/package/freebsd.rb +1 -1
  315. data/lib/puppet/provider/package/gem.rb +12 -14
  316. data/lib/puppet/provider/package/macports.rb +2 -2
  317. data/lib/puppet/provider/package/nim.rb +10 -10
  318. data/lib/puppet/provider/package/openbsd.rb +22 -22
  319. data/lib/puppet/provider/package/opkg.rb +6 -6
  320. data/lib/puppet/provider/package/pacman.rb +35 -29
  321. data/lib/puppet/provider/package/pip.rb +25 -24
  322. data/lib/puppet/provider/package/pkg.rb +15 -15
  323. data/lib/puppet/provider/package/pkgdmg.rb +10 -10
  324. data/lib/puppet/provider/package/pkgin.rb +2 -2
  325. data/lib/puppet/provider/package/pkgng.rb +5 -5
  326. data/lib/puppet/provider/package/pkgutil.rb +17 -21
  327. data/lib/puppet/provider/package/portage.rb +59 -61
  328. data/lib/puppet/provider/package/ports.rb +12 -11
  329. data/lib/puppet/provider/package/portupgrade.rb +35 -35
  330. data/lib/puppet/provider/package/puppetserver_gem.rb +10 -9
  331. data/lib/puppet/provider/package/rpm.rb +26 -26
  332. data/lib/puppet/provider/package/rug.rb +7 -9
  333. data/lib/puppet/provider/package/sun.rb +4 -4
  334. data/lib/puppet/provider/package/up2date.rb +5 -7
  335. data/lib/puppet/provider/package/urpmi.rb +6 -6
  336. data/lib/puppet/provider/package/windows/exe_package.rb +7 -7
  337. data/lib/puppet/provider/package/windows/msi_package.rb +3 -3
  338. data/lib/puppet/provider/package/windows/package.rb +2 -2
  339. data/lib/puppet/provider/package/windows.rb +3 -5
  340. data/lib/puppet/provider/package/yum.rb +33 -37
  341. data/lib/puppet/provider/package/zypper.rb +12 -14
  342. data/lib/puppet/provider/package.rb +1 -1
  343. data/lib/puppet/provider/package_targetable.rb +1 -1
  344. data/lib/puppet/provider/parsedfile.rb +9 -9
  345. data/lib/puppet/provider/service/base.rb +16 -21
  346. data/lib/puppet/provider/service/bsd.rb +4 -4
  347. data/lib/puppet/provider/service/daemontools.rb +31 -31
  348. data/lib/puppet/provider/service/debian.rb +6 -6
  349. data/lib/puppet/provider/service/freebsd.rb +36 -36
  350. data/lib/puppet/provider/service/gentoo.rb +6 -6
  351. data/lib/puppet/provider/service/init.rb +19 -19
  352. data/lib/puppet/provider/service/launchd.rb +22 -22
  353. data/lib/puppet/provider/service/openbsd.rb +10 -10
  354. data/lib/puppet/provider/service/openrc.rb +1 -1
  355. data/lib/puppet/provider/service/openwrt.rb +3 -3
  356. data/lib/puppet/provider/service/rcng.rb +3 -3
  357. data/lib/puppet/provider/service/redhat.rb +4 -4
  358. data/lib/puppet/provider/service/runit.rb +6 -6
  359. data/lib/puppet/provider/service/service.rb +5 -7
  360. data/lib/puppet/provider/service/smf.rb +28 -27
  361. data/lib/puppet/provider/service/src.rb +7 -7
  362. data/lib/puppet/provider/service/systemd.rb +31 -37
  363. data/lib/puppet/provider/service/upstart.rb +17 -17
  364. data/lib/puppet/provider/service/windows.rb +7 -7
  365. data/lib/puppet/provider/user/aix.rb +4 -2
  366. data/lib/puppet/provider/user/directoryservice.rb +34 -36
  367. data/lib/puppet/provider/user/hpux.rb +10 -14
  368. data/lib/puppet/provider/user/pw.rb +1 -1
  369. data/lib/puppet/provider/user/user_role_add.rb +16 -18
  370. data/lib/puppet/provider/user/useradd.rb +7 -7
  371. data/lib/puppet/provider/user/windows_adsi.rb +1 -1
  372. data/lib/puppet/provider.rb +8 -8
  373. data/lib/puppet/reference/indirection.rb +3 -0
  374. data/lib/puppet/reference/metaparameter.rb +1 -1
  375. data/lib/puppet/reference/providers.rb +3 -3
  376. data/lib/puppet/reference/type.rb +1 -1
  377. data/lib/puppet/relationship.rb +4 -5
  378. data/lib/puppet/reports/http.rb +1 -1
  379. data/lib/puppet/reports/log.rb +2 -2
  380. data/lib/puppet/reports/store.rb +4 -4
  381. data/lib/puppet/reports.rb +2 -2
  382. data/lib/puppet/resource/catalog.rb +16 -16
  383. data/lib/puppet/resource/status.rb +3 -3
  384. data/lib/puppet/resource/type.rb +8 -8
  385. data/lib/puppet/resource/type_collection.rb +1 -1
  386. data/lib/puppet/resource.rb +41 -41
  387. data/lib/puppet/scheduler/scheduler.rb +1 -1
  388. data/lib/puppet/settings/alias_setting.rb +3 -5
  389. data/lib/puppet/settings/base_setting.rb +11 -11
  390. data/lib/puppet/settings/boolean_setting.rb +2 -2
  391. data/lib/puppet/settings/config_file.rb +5 -4
  392. data/lib/puppet/settings/duration_setting.rb +2 -2
  393. data/lib/puppet/settings/environment_conf.rb +3 -3
  394. data/lib/puppet/settings/file_or_directory_setting.rb +2 -2
  395. data/lib/puppet/settings/file_setting.rb +11 -11
  396. data/lib/puppet/settings/ini_file.rb +3 -3
  397. data/lib/puppet/settings/port_setting.rb +1 -1
  398. data/lib/puppet/settings/priority_setting.rb +2 -2
  399. data/lib/puppet/settings/ttl_setting.rb +2 -2
  400. data/lib/puppet/settings/value_translator.rb +8 -8
  401. data/lib/puppet/settings.rb +65 -70
  402. data/lib/puppet/ssl/base.rb +2 -4
  403. data/lib/puppet/ssl/certificate_request.rb +18 -22
  404. data/lib/puppet/ssl/certificate_request_attributes.rb +3 -3
  405. data/lib/puppet/ssl/oids.rb +2 -2
  406. data/lib/puppet/ssl/openssl_loader.rb +4 -4
  407. data/lib/puppet/syntax_checkers/base64.rb +3 -3
  408. data/lib/puppet/syntax_checkers/epp.rb +3 -3
  409. data/lib/puppet/syntax_checkers/json.rb +3 -3
  410. data/lib/puppet/syntax_checkers/pp.rb +3 -3
  411. data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
  412. data/lib/puppet/transaction/event.rb +2 -2
  413. data/lib/puppet/transaction/event_manager.rb +5 -5
  414. data/lib/puppet/transaction/persistence.rb +12 -14
  415. data/lib/puppet/transaction/report.rb +4 -4
  416. data/lib/puppet/transaction/resource_harness.rb +2 -2
  417. data/lib/puppet/transaction.rb +14 -18
  418. data/lib/puppet/type/component.rb +3 -3
  419. data/lib/puppet/type/exec.rb +43 -45
  420. data/lib/puppet/type/file/checksum_value.rb +1 -1
  421. data/lib/puppet/type/file/content.rb +6 -6
  422. data/lib/puppet/type/file/ctime.rb +2 -2
  423. data/lib/puppet/type/file/data_sync.rb +3 -3
  424. data/lib/puppet/type/file/ensure.rb +16 -15
  425. data/lib/puppet/type/file/mode.rb +9 -9
  426. data/lib/puppet/type/file/mtime.rb +2 -2
  427. data/lib/puppet/type/file/selcontext.rb +14 -14
  428. data/lib/puppet/type/file/source.rb +19 -21
  429. data/lib/puppet/type/file/target.rb +11 -11
  430. data/lib/puppet/type/file.rb +21 -21
  431. data/lib/puppet/type/filebucket.rb +3 -3
  432. data/lib/puppet/type/group.rb +3 -3
  433. data/lib/puppet/type/notify.rb +2 -2
  434. data/lib/puppet/type/package.rb +4 -4
  435. data/lib/puppet/type/resources.rb +6 -6
  436. data/lib/puppet/type/schedule.rb +9 -9
  437. data/lib/puppet/type/service.rb +6 -8
  438. data/lib/puppet/type/tidy.rb +22 -24
  439. data/lib/puppet/type/user.rb +13 -13
  440. data/lib/puppet/type.rb +76 -88
  441. data/lib/puppet/util/at_fork/solaris.rb +33 -37
  442. data/lib/puppet/util/autoload.rb +2 -2
  443. data/lib/puppet/util/backups.rb +9 -9
  444. data/lib/puppet/util/character_encoding.rb +7 -6
  445. data/lib/puppet/util/checksums.rb +2 -2
  446. data/lib/puppet/util/classgen.rb +8 -8
  447. data/lib/puppet/util/colors.rb +1 -1
  448. data/lib/puppet/util/command_line/puppet_option_parser.rb +1 -1
  449. data/lib/puppet/util/command_line/trollop.rb +42 -46
  450. data/lib/puppet/util/command_line.rb +2 -2
  451. data/lib/puppet/util/constant_inflector.rb +2 -2
  452. data/lib/puppet/util/diff.rb +19 -21
  453. data/lib/puppet/util/docs.rb +2 -2
  454. data/lib/puppet/util/errors.rb +9 -9
  455. data/lib/puppet/util/execution.rb +32 -9
  456. data/lib/puppet/util/feature.rb +1 -1
  457. data/lib/puppet/util/fileparsing.rb +12 -16
  458. data/lib/puppet/util/filetype.rb +36 -40
  459. data/lib/puppet/util/inifile.rb +6 -12
  460. data/lib/puppet/util/ldap/connection.rb +1 -1
  461. data/lib/puppet/util/ldap/manager.rb +10 -12
  462. data/lib/puppet/util/lockfile.rb +6 -8
  463. data/lib/puppet/util/log/destination.rb +2 -2
  464. data/lib/puppet/util/log/destinations.rb +4 -4
  465. data/lib/puppet/util/log.rb +12 -9
  466. data/lib/puppet/util/logging.rb +11 -11
  467. data/lib/puppet/util/metric.rb +3 -3
  468. data/lib/puppet/util/monkey_patches.rb +5 -7
  469. data/lib/puppet/util/network_device/config.rb +3 -3
  470. data/lib/puppet/util/package/version/debian.rb +27 -28
  471. data/lib/puppet/util/package/version/pip.rb +5 -5
  472. data/lib/puppet/util/package/version/range/eq.rb +1 -1
  473. data/lib/puppet/util/package/version/rpm.rb +1 -1
  474. data/lib/puppet/util/package.rb +2 -2
  475. data/lib/puppet/util/pidlock.rb +2 -2
  476. data/lib/puppet/util/platform.rb +1 -1
  477. data/lib/puppet/util/plist.rb +8 -10
  478. data/lib/puppet/util/posix.rb +17 -17
  479. data/lib/puppet/util/profiler/aggregate.rb +1 -1
  480. data/lib/puppet/util/provider_features.rb +3 -3
  481. data/lib/puppet/util/rdoc/code_objects.rb +3 -3
  482. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +63 -64
  483. data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +23 -23
  484. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +12 -12
  485. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -1
  486. data/lib/puppet/util/rdoc/parser.rb +1 -1
  487. data/lib/puppet/util/reference.rb +13 -9
  488. data/lib/puppet/util/retry_action.rb +1 -1
  489. data/lib/puppet/util/rpm_compare.rb +17 -18
  490. data/lib/puppet/util/rubygems.rb +1 -1
  491. data/lib/puppet/util/selinux.rb +7 -7
  492. data/lib/puppet/util/storage.rb +10 -12
  493. data/lib/puppet/util/suidmanager.rb +18 -19
  494. data/lib/puppet/util/symbolic_file_mode.rb +71 -75
  495. data/lib/puppet/util/tag_set.rb +2 -2
  496. data/lib/puppet/util/tagging.rb +8 -10
  497. data/lib/puppet/util/terminal.rb +4 -4
  498. data/lib/puppet/util/user_attr.rb +7 -7
  499. data/lib/puppet/util/watcher.rb +3 -5
  500. data/lib/puppet/util/windows/access_control_list.rb +1 -1
  501. data/lib/puppet/util/windows/adsi.rb +42 -42
  502. data/lib/puppet/util/windows/daemon.rb +64 -68
  503. data/lib/puppet/util/windows/error.rb +2 -2
  504. data/lib/puppet/util/windows/file.rb +18 -25
  505. data/lib/puppet/util/windows/monkey_patches/process.rb +1 -1
  506. data/lib/puppet/util/windows/principal.rb +8 -8
  507. data/lib/puppet/util/windows/process.rb +16 -28
  508. data/lib/puppet/util/windows/registry.rb +16 -15
  509. data/lib/puppet/util/windows/root_certs.rb +2 -2
  510. data/lib/puppet/util/windows/security.rb +31 -31
  511. data/lib/puppet/util/windows/service.rb +11 -11
  512. data/lib/puppet/util/windows/sid.rb +8 -8
  513. data/lib/puppet/util/windows/user.rb +18 -20
  514. data/lib/puppet/util/yaml.rb +1 -1
  515. data/lib/puppet/util.rb +55 -46
  516. data/lib/puppet/version.rb +2 -2
  517. data/lib/puppet/x509/pem_store.rb +1 -1
  518. data/lib/puppet.rb +3 -3
  519. data/man/man5/puppet.conf.5 +10 -2
  520. data/man/man8/puppet-agent.8 +1 -1
  521. data/man/man8/puppet-apply.8 +1 -1
  522. data/man/man8/puppet-catalog.8 +1 -1
  523. data/man/man8/puppet-config.8 +1 -1
  524. data/man/man8/puppet-describe.8 +1 -1
  525. data/man/man8/puppet-device.8 +1 -1
  526. data/man/man8/puppet-doc.8 +1 -1
  527. data/man/man8/puppet-epp.8 +1 -1
  528. data/man/man8/puppet-facts.8 +1 -1
  529. data/man/man8/puppet-filebucket.8 +1 -1
  530. data/man/man8/puppet-generate.8 +1 -1
  531. data/man/man8/puppet-help.8 +1 -1
  532. data/man/man8/puppet-lookup.8 +1 -1
  533. data/man/man8/puppet-module.8 +1 -1
  534. data/man/man8/puppet-node.8 +1 -1
  535. data/man/man8/puppet-parser.8 +1 -1
  536. data/man/man8/puppet-plugin.8 +1 -1
  537. data/man/man8/puppet-report.8 +1 -1
  538. data/man/man8/puppet-resource.8 +5 -1
  539. data/man/man8/puppet-script.8 +1 -1
  540. data/man/man8/puppet-ssl.8 +1 -1
  541. data/man/man8/puppet.8 +2 -2
  542. metadata +2 -2
@@ -63,7 +63,7 @@ Puppet::Type.type(:service).provide :smf, :parent => :base do
63
63
  end
64
64
 
65
65
  def service_exists?
66
- self.service_fmri
66
+ service_fmri
67
67
  true
68
68
  rescue Puppet::ExecutionFailure
69
69
  false
@@ -71,7 +71,7 @@ Puppet::Type.type(:service).provide :smf, :parent => :base do
71
71
 
72
72
  def setup_service
73
73
  return unless @resource[:manifest]
74
- return if self.service_exists?
74
+ return if service_exists?
75
75
 
76
76
  Puppet.notice("Importing #{@resource[:manifest]} for #{@resource[:name]}")
77
77
  svccfg(:import, @resource[:manifest])
@@ -132,7 +132,7 @@ Puppet::Type.type(:service).provide :smf, :parent => :base do
132
132
  def enabled?
133
133
  return :false unless service_exists?
134
134
 
135
- _property, _type, value = svccfg("-s", self.service_fmri, "listprop", "general/enabled").split(' ')
135
+ _property, _type, value = svccfg("-s", service_fmri, "listprop", "general/enabled").split(' ')
136
136
  value == 'true' ? :true : :false
137
137
  end
138
138
 
@@ -142,10 +142,10 @@ Puppet::Type.type(:service).provide :smf, :parent => :base do
142
142
 
143
143
  def restartcmd
144
144
  if Puppet::Util::Package.versioncmp(Puppet.runtime[:facter].value('os.release.full'), '11.2') >= 0
145
- [command(:adm), :restart, "-s", self.service_fmri]
145
+ [command(:adm), :restart, "-s", service_fmri]
146
146
  else
147
147
  # Synchronous restart only supported in Solaris 11.2 and above
148
- [command(:adm), :restart, self.service_fmri]
148
+ [command(:adm), :restart, service_fmri]
149
149
  end
150
150
  end
151
151
 
@@ -153,7 +153,7 @@ Puppet::Type.type(:service).provide :smf, :parent => :base do
153
153
  # Gets the current and next state of the service. We have a next state because SMF
154
154
  # manages services asynchronously. If there is no 'next' state, svcs will put a '-'
155
155
  # to indicate as such.
156
- current_state, next_state = svcs("-H", "-o", "state,nstate", self.service_fmri).chomp.split(' ')
156
+ current_state, next_state = svcs("-H", "-o", "state,nstate", service_fmri).chomp.split(' ')
157
157
 
158
158
  {
159
159
  :current => current_state,
@@ -168,14 +168,14 @@ Puppet::Type.type(:service).provide :smf, :parent => :base do
168
168
  def wait(*desired_states)
169
169
  Timeout.timeout(60) do
170
170
  loop do
171
- states = self.service_states
171
+ states = service_states
172
172
  break if desired_states.include?(states[:current]) && states[:next].nil?
173
173
 
174
174
  Kernel.sleep(1)
175
175
  end
176
176
  end
177
177
  rescue Timeout::Error
178
- raise Puppet::Error.new("Timed out waiting for #{@resource[:name]} to transition states")
178
+ raise Puppet::Error, "Timed out waiting for #{@resource[:name]} to transition states"
179
179
  end
180
180
 
181
181
  def start
@@ -189,7 +189,7 @@ Puppet::Type.type(:service).provide :smf, :parent => :base do
189
189
  def restart
190
190
  # Wait for the service to actually start before returning.
191
191
  super
192
- self.wait('online')
192
+ wait('online')
193
193
  end
194
194
 
195
195
  def status
@@ -206,29 +206,29 @@ Puppet::Type.type(:service).provide :smf, :parent => :base do
206
206
 
207
207
  # Get the current state and the next state. If there is a next state,
208
208
  # use that for the state comparison.
209
- states = self.service_states
209
+ states = service_states
210
210
  state = states[:next] || states[:current]
211
- rescue Puppet::ExecutionFailure
211
+ rescue Puppet::ExecutionFailure => e
212
212
  # TODO (PUP-8957): Should this be set back to INFO ?
213
- debug "Could not get status on service #{self.name} #{$!}"
213
+ debug "Could not get status on service #{name} #{e}"
214
214
  return :stopped
215
215
  end
216
216
 
217
217
  case state
218
218
  when "online"
219
- return :running
219
+ :running
220
220
  when "offline", "disabled", "uninitialized"
221
- return :stopped
221
+ :stopped
222
222
  when "maintenance"
223
- return :maintenance
223
+ :maintenance
224
224
  when "degraded"
225
- return :degraded
225
+ :degraded
226
226
  when "legacy_run"
227
227
  raise Puppet::Error,
228
228
  "Cannot manage legacy services through SMF"
229
229
  else
230
230
  raise Puppet::Error,
231
- "Unmanageable state '#{state}' on service #{self.name}"
231
+ "Unmanageable state '#{state}' on service #{name}"
232
232
  end
233
233
  end
234
234
 
@@ -238,8 +238,8 @@ Puppet::Type.type(:service).provide :smf, :parent => :base do
238
238
  def maybe_clear_service_then_svcadm(cur_state, subcmd, flags)
239
239
  # If the cur_state is maint or degraded, then we need to clear the service
240
240
  # before we enable or disable it.
241
- adm('clear', self.service_fmri) if [:maintenance, :degraded].include?(cur_state)
242
- adm(subcmd, flags, self.service_fmri)
241
+ adm('clear', service_fmri) if [:maintenance, :degraded].include?(cur_state)
242
+ adm(subcmd, flags, service_fmri)
243
243
  end
244
244
 
245
245
  # The flush method is necessary for the SMF provider because syncing the enable and ensure
@@ -248,7 +248,8 @@ Puppet::Type.type(:service).provide :smf, :parent => :base do
248
248
  def flush
249
249
  # We append the "_" because ensure is a Ruby keyword, and it is good to keep property
250
250
  # variable names consistent with each other.
251
- enable_, ensure_ = @properties_to_sync[:enable], @properties_to_sync[:ensure]
251
+ enable_ = @properties_to_sync[:enable]
252
+ ensure_ = @properties_to_sync[:ensure]
252
253
 
253
254
  # All of the relevant properties are in sync., so we do not need to do
254
255
  # anything here.
@@ -258,13 +259,13 @@ Puppet::Type.type(:service).provide :smf, :parent => :base do
258
259
  # simplifies the code. For a nonexistent service, one of enable or ensure will be true
259
260
  # here (since we're syncing them), so we can fail early if setup_service fails.
260
261
  setup_service
261
- fmri = self.service_fmri
262
+ fmri = service_fmri
262
263
 
263
264
  # Useful constants for operations involving multiple states
264
- stopped = ['offline', 'disabled', 'uninitialized']
265
+ stopped = %w[offline disabled uninitialized]
265
266
 
266
267
  # Get the current state of the service.
267
- cur_state = self.status
268
+ cur_state = status
268
269
 
269
270
  if enable_.nil?
270
271
  # Only ensure needs to be syncd. The -t flag tells svcadm to temporarily
@@ -272,10 +273,10 @@ Puppet::Type.type(:service).provide :smf, :parent => :base do
272
273
  # reboot. This is exactly what we want, because we do not want to touch
273
274
  # the enable property.
274
275
  if ensure_ == :stopped
275
- self.maybe_clear_service_then_svcadm(cur_state, 'disable', '-st')
276
+ maybe_clear_service_then_svcadm(cur_state, 'disable', '-st')
276
277
  wait(*stopped)
277
278
  else # ensure == :running
278
- self.maybe_clear_service_then_svcadm(cur_state, 'enable', '-rst')
279
+ maybe_clear_service_then_svcadm(cur_state, 'enable', '-rst')
279
280
  wait('online')
280
281
  end
281
282
 
@@ -299,9 +300,9 @@ Puppet::Type.type(:service).provide :smf, :parent => :base do
299
300
  final_state = :running if final_state == :degraded
300
301
 
301
302
  if enable_
302
- self.maybe_clear_service_then_svcadm(cur_state, 'enable', '-rs')
303
+ maybe_clear_service_then_svcadm(cur_state, 'enable', '-rs')
303
304
  else
304
- self.maybe_clear_service_then_svcadm(cur_state, 'disable', '-s')
305
+ maybe_clear_service_then_svcadm(cur_state, 'disable', '-s')
305
306
  end
306
307
 
307
308
  # We're safe with 'whens' here since self.status already errors on any
@@ -79,17 +79,17 @@ Puppet::Type.type(:service).provide :src, :parent => :base do
79
79
  end
80
80
  end
81
81
  rescue Timeout::Error
82
- raise Puppet::Error.new("Timed out waiting for #{@resource[:name]} to transition states")
82
+ raise Puppet::Error, "Timed out waiting for #{@resource[:name]} to transition states"
83
83
  end
84
84
 
85
85
  def start
86
86
  super
87
- self.wait(:running)
87
+ wait(:running)
88
88
  end
89
89
 
90
90
  def stop
91
91
  super
92
- self.wait(:stopped)
92
+ wait(:stopped)
93
93
  end
94
94
 
95
95
  def restart
@@ -111,8 +111,8 @@ Puppet::Type.type(:service).provide :src, :parent => :base do
111
111
  if do_refresh == :true
112
112
  execute([command(:refresh), "-s", @resource[:name]])
113
113
  else
114
- self.stop
115
- self.start
114
+ stop
115
+ start
116
116
  end
117
117
  return :true
118
118
  rescue Puppet::ExecutionFailure => detail
@@ -141,7 +141,7 @@ Puppet::Type.type(:service).provide :src, :parent => :base do
141
141
  return state
142
142
  end
143
143
  rescue Puppet::ExecutionFailure => detail
144
- self.debug(detail.message)
145
- return :stopped
144
+ debug(detail.message)
145
+ :stopped
146
146
  end
147
147
  end
@@ -22,15 +22,15 @@ Puppet::Type.type(:service).provide :systemd, :parent => :base do
22
22
  defaultfor 'os.family' => :suse
23
23
  defaultfor 'os.family' => :coreos
24
24
  defaultfor 'os.family' => :gentoo
25
- notdefaultfor 'os.name' => :amazon, 'os.release.major' => ["2017", "2018"]
26
- defaultfor 'os.name' => :amazon, 'os.release.major' => ["2", "2023"]
25
+ notdefaultfor 'os.name' => :amazon, 'os.release.major' => %w[2017 2018]
26
+ defaultfor 'os.name' => :amazon, 'os.release.major' => %w[2 2023]
27
27
  defaultfor 'os.name' => :debian
28
- notdefaultfor 'os.name' => :debian, 'os.release.major' => ["5", "6", "7"] # These are using the "debian" method
28
+ notdefaultfor 'os.name' => :debian, 'os.release.major' => %w[5 6 7] # These are using the "debian" method
29
29
  defaultfor 'os.name' => :LinuxMint
30
- notdefaultfor 'os.name' => :LinuxMint, 'os.release.major' => ["10", "11", "12", "13", "14", "15", "16", "17"] # These are using upstart
30
+ notdefaultfor 'os.name' => :LinuxMint, 'os.release.major' => %w[10 11 12 13 14 15 16 17] # These are using upstart
31
31
  defaultfor 'os.name' => :ubuntu
32
32
  notdefaultfor 'os.name' => :ubuntu, 'os.release.major' => ["10.04", "12.04", "14.04", "14.10"] # These are using upstart
33
- defaultfor 'os.name' => :cumuluslinux, 'os.release.major' => ["3", "4"]
33
+ defaultfor 'os.name' => :cumuluslinux, 'os.release.major' => %w[3 4]
34
34
 
35
35
  def self.instances
36
36
  i = []
@@ -39,9 +39,9 @@ Puppet::Type.type(:service).provide :systemd, :parent => :base do
39
39
  Puppet.debug("#{m[0]} marked as bad by `systemctl`. It is recommended to be further checked.") if m[1] == "bad"
40
40
  i << new(:name => m[0])
41
41
  end
42
- return i
42
+ i
43
43
  rescue Puppet::ExecutionFailure
44
- return []
44
+ []
45
45
  end
46
46
 
47
47
  # Static services cannot be enabled or disabled manually. Indirect services
@@ -55,11 +55,11 @@ Puppet::Type.type(:service).provide :systemd, :parent => :base do
55
55
  current == @resource[:enable]
56
56
  else
57
57
  Puppet.debug("Unable to enable or disable static service #{@resource[:name]}")
58
- return true
58
+ true
59
59
  end
60
60
  when 'indirect'
61
61
  Puppet.debug("Service #{@resource[:name]} is in 'indirect' state and cannot be enabled/disabled")
62
- return true
62
+ true
63
63
  else
64
64
  current == @resource[:enable]
65
65
  end
@@ -72,8 +72,8 @@ Puppet::Type.type(:service).provide :systemd, :parent => :base do
72
72
  # @param action [String,Symbol] One of 'enable', 'disable', 'mask' or 'unmask'
73
73
  def systemctl_change_enable(action)
74
74
  output = systemctl(action, '--', @resource[:name])
75
- rescue
76
- raise Puppet::Error, "Could not #{action} #{self.name}: #{output}", $!.backtrace
75
+ rescue => e
76
+ raise Puppet::Error, "Could not #{action} #{name}: #{output}", e.backtrace
77
77
  ensure
78
78
  @cached_enabled = nil
79
79
  end
@@ -115,14 +115,14 @@ Puppet::Type.type(:service).provide :systemd, :parent => :base do
115
115
 
116
116
  # The indirect state indicates that the unit is not enabled.
117
117
  return :false if output == 'indirect'
118
- return :true if (code == 0)
118
+ return :true if code == 0
119
119
 
120
- if (output.empty?) && (code > 0) && (Puppet.runtime[:facter].value('os.family').casecmp('debian').zero?)
120
+ if output.empty? && (code > 0) && Puppet.runtime[:facter].value('os.family').casecmp('debian').zero?
121
121
  ret = debian_enabled?
122
122
  return ret if ret
123
123
  end
124
124
 
125
- return :false
125
+ :false
126
126
  end
127
127
 
128
128
  # This method is required for Debian systems due to the way the SysVInit-Systemd
@@ -133,7 +133,7 @@ Puppet::Type.type(:service).provide :systemd, :parent => :base do
133
133
  def debian_enabled?
134
134
  status = execute(["/usr/sbin/invoke-rc.d", "--quiet", "--query", @resource[:name], "start"], :failonfail => false)
135
135
  if [104, 106].include?(status.exitstatus)
136
- return :true
136
+ :true
137
137
  elsif [101, 105].include?(status.exitstatus)
138
138
  # 101 is action not allowed, which means we have to do the check manually.
139
139
  # 105 is unknown, which generally means the initscript does not support query
@@ -141,12 +141,12 @@ Puppet::Type.type(:service).provide :systemd, :parent => :base do
141
141
  # For those that do not, perform the checks manually
142
142
  # http://www.debian.org/doc/debian-policy/ch-opersys.html
143
143
  if get_start_link_count >= 4
144
- return :true
144
+ :true
145
145
  else
146
- return :false
146
+ :false
147
147
  end
148
148
  else
149
- return :false
149
+ :false
150
150
  end
151
151
  end
152
152
 
@@ -166,7 +166,7 @@ Puppet::Type.type(:service).provide :systemd, :parent => :base do
166
166
  end
167
167
 
168
168
  def enable
169
- self.unmask
169
+ unmask
170
170
  systemctl_change_enable(:enable)
171
171
  end
172
172
 
@@ -189,7 +189,7 @@ Puppet::Type.type(:service).provide :systemd, :parent => :base do
189
189
  end
190
190
 
191
191
  def startcmd
192
- self.unmask
192
+ unmask
193
193
  [command(:systemctl), "start", '--', @resource[:name]]
194
194
  end
195
195
 
@@ -202,29 +202,23 @@ Puppet::Type.type(:service).provide :systemd, :parent => :base do
202
202
  end
203
203
 
204
204
  def restart
205
- begin
206
- daemon_reload?
207
- super
208
- rescue Puppet::Error => e
209
- raise Puppet::Error.new(prepare_error_message(@resource[:name], 'restart', e))
210
- end
205
+ daemon_reload?
206
+ super
207
+ rescue Puppet::Error => e
208
+ raise Puppet::Error, prepare_error_message(@resource[:name], 'restart', e)
211
209
  end
212
210
 
213
211
  def start
214
- begin
215
- daemon_reload?
216
- super
217
- rescue Puppet::Error => e
218
- raise Puppet::Error.new(prepare_error_message(@resource[:name], 'start', e))
219
- end
212
+ daemon_reload?
213
+ super
214
+ rescue Puppet::Error => e
215
+ raise Puppet::Error, prepare_error_message(@resource[:name], 'start', e)
220
216
  end
221
217
 
222
218
  def stop
223
- begin
224
- super
225
- rescue Puppet::Error => e
226
- raise Puppet::Error.new(prepare_error_message(@resource[:name], 'stop', e))
227
- end
219
+ super
220
+ rescue Puppet::Error => e
221
+ raise Puppet::Error, prepare_error_message(@resource[:name], 'stop', e)
228
222
  end
229
223
 
230
224
  def prepare_error_message(name, action, exception)
@@ -15,11 +15,11 @@ Puppet::Type.type(:service).provide :upstart, :parent => :debian do
15
15
  Puppet.runtime[:facter].value('os.name') == 'Ubuntu',
16
16
  (Puppet.runtime[:facter].value('os.family') == 'RedHat' and Puppet.runtime[:facter].value('os.release.full') =~ /^6\./),
17
17
  (Puppet.runtime[:facter].value('os.name') == 'Amazon' and Puppet.runtime[:facter].value('os.release.major') =~ /\d{4}/),
18
- Puppet.runtime[:facter].value('os.name') == 'LinuxMint',
18
+ Puppet.runtime[:facter].value('os.name') == 'LinuxMint'
19
19
  ]
20
20
 
21
21
  defaultfor 'os.name' => :ubuntu, 'os.release.major' => ["10.04", "12.04", "14.04", "14.10"]
22
- defaultfor 'os.name' => :LinuxMint, 'os.release.major' => ["10", "11", "12", "13", "14", "15", "16", "17"]
22
+ defaultfor 'os.name' => :LinuxMint, 'os.release.major' => %w[10 11 12 13 14 15 16 17]
23
23
 
24
24
  commands :start => "/sbin/start",
25
25
  :stop => "/sbin/stop",
@@ -54,7 +54,7 @@ Puppet::Type.type(:service).provide :upstart, :parent => :debian do
54
54
  has_feature :enableable
55
55
 
56
56
  def self.instances
57
- self.get_services(self.excludes) # Take exclude list from init provider
57
+ get_services(excludes) # Take exclude list from init provider
58
58
  end
59
59
 
60
60
  def self.excludes
@@ -77,11 +77,11 @@ Puppet::Type.type(:service).provide :upstart, :parent => :debian do
77
77
  # network-interface (lo) start/running
78
78
  # network-interface (eth0) start/running
79
79
  # network-interface-security start/running
80
- matcher = line.match(/^(network-interface)\s\(([^\)]+)\)/)
80
+ matcher = line.match(/^(network-interface)\s\(([^)]+)\)/)
81
81
  name = if matcher
82
82
  "#{matcher[1]} INTERFACE=#{matcher[2]}"
83
83
  else
84
- matcher = line.match(/^(network-interface-security)\s\(([^\)]+)\)/)
84
+ matcher = line.match(/^(network-interface-security)\s\(([^)]+)\)/)
85
85
  if matcher
86
86
  "#{matcher[1]} JOB=#{matcher[2]}"
87
87
  else
@@ -99,7 +99,7 @@ Puppet::Type.type(:service).provide :upstart, :parent => :debian do
99
99
  end
100
100
 
101
101
  def upstart_version
102
- @upstart_version ||= initctl("--version").match(/initctl \(upstart ([^\)]*)\)/)[1]
102
+ @upstart_version ||= initctl("--version").match(/initctl \(upstart ([^)]*)\)/)[1]
103
103
  end
104
104
 
105
105
  # Where is our override script?
@@ -117,7 +117,7 @@ Puppet::Type.type(:service).provide :upstart, :parent => :debian do
117
117
  return fqname
118
118
  end
119
119
 
120
- self.debug("Could not find #{name}#{suffix} in #{path}")
120
+ debug("Could not find #{name}#{suffix} in #{path}")
121
121
  end
122
122
  end
123
123
 
@@ -125,7 +125,7 @@ Puppet::Type.type(:service).provide :upstart, :parent => :debian do
125
125
  end
126
126
 
127
127
  def enabled?
128
- return super if not is_upstart?
128
+ return super unless is_upstart?
129
129
 
130
130
  script_contents = read_script_from(initscript)
131
131
  if version_is_pre_0_6_7
@@ -138,7 +138,7 @@ Puppet::Type.type(:service).provide :upstart, :parent => :debian do
138
138
  end
139
139
 
140
140
  def enable
141
- return super if not is_upstart?
141
+ return super unless is_upstart?
142
142
 
143
143
  script_text = read_script_from(initscript)
144
144
  if version_is_pre_0_9_0
@@ -149,7 +149,7 @@ Puppet::Type.type(:service).provide :upstart, :parent => :debian do
149
149
  end
150
150
 
151
151
  def disable
152
- return super if not is_upstart?
152
+ return super unless is_upstart?
153
153
 
154
154
  script_text = read_script_from(initscript)
155
155
  if version_is_pre_0_6_7
@@ -185,17 +185,17 @@ Puppet::Type.type(:service).provide :upstart, :parent => :debian do
185
185
  end
186
186
 
187
187
  output = status_exec(@resource[:name].split)
188
- if output =~ /start\//
189
- return :running
188
+ if output =~ %r{start/}
189
+ :running
190
190
  else
191
- return :stopped
191
+ :stopped
192
192
  end
193
193
  end
194
194
 
195
195
  private
196
196
 
197
197
  def is_upstart?(script = initscript)
198
- Puppet::FileSystem.exist?(script) && script.match(/\/etc\/init\/\S+\.conf/)
198
+ Puppet::FileSystem.exist?(script) && script.match(%r{/etc/init/\S+\.conf})
199
199
  end
200
200
 
201
201
  def version_is_pre_0_6_7
@@ -213,9 +213,9 @@ Puppet::Type.type(:service).provide :upstart, :parent => :debian do
213
213
  def enabled_pre_0_6_7?(script_text)
214
214
  # Upstart version < 0.6.7 means no manual stanza.
215
215
  if script_text.match(START_ON)
216
- return :true
216
+ :true
217
217
  else
218
- return :false
218
+ :false
219
219
  end
220
220
  end
221
221
 
@@ -378,7 +378,7 @@ Puppet::Type.type(:service).provide :upstart, :parent => :debian do
378
378
  end
379
379
 
380
380
  def write_script_to(file, text)
381
- Puppet::Util.replace_file(file, 0644) do |f|
381
+ Puppet::Util.replace_file(file, 0o644) do |f|
382
382
  f.write(text)
383
383
  end
384
384
  end
@@ -56,7 +56,7 @@ Puppet::Type.type(:service).provide :windows, :parent => :service do
56
56
  when :SERVICE_DISABLED
57
57
  :false
58
58
  else
59
- raise Puppet::Error.new(_("Unknown start type: %{start_type}") % { start_type: start_type })
59
+ raise Puppet::Error, _("Unknown start type: %{start_type}") % { start_type: start_type }
60
60
  end
61
61
  rescue => detail
62
62
  raise Puppet::Error.new(_("Cannot get start type %{resource_name}, error was: %{detail}") % { resource_name: @resource[:name], detail: detail }, detail)
@@ -73,7 +73,7 @@ Puppet::Type.type(:service).provide :windows, :parent => :service do
73
73
  if enabled? == :false
74
74
  # If disabled and not managing enable, respect disabled and fail.
75
75
  if @resource[:enable].nil?
76
- raise Puppet::Error.new(_("Will not start disabled service %{resource_name} without managing enable. Specify 'enable => false' to override.") % { resource_name: @resource[:name] })
76
+ raise Puppet::Error, _("Will not start disabled service %{resource_name} without managing enable. Specify 'enable => false' to override.") % { resource_name: @resource[:name] }
77
77
  # Otherwise start. If enable => false, we will later sync enable and
78
78
  # disable the service again.
79
79
  elsif @resource[:enable] == :true
@@ -101,7 +101,7 @@ Puppet::Type.type(:service).provide :windows, :parent => :service do
101
101
  when :SERVICE_RUNNING, :SERVICE_CONTINUE_PENDING, :SERVICE_START_PENDING
102
102
  :running
103
103
  else
104
- raise Puppet::Error.new(_("Unknown service state '%{current_state}' for service '%{resource_name}'") % { current_state: current_state, resource_name: @resource[:name] })
104
+ raise Puppet::Error, _("Unknown service state '%{current_state}' for service '%{resource_name}'") % { current_state: current_state, resource_name: @resource[:name] }
105
105
  end
106
106
  debug("Service #{@resource[:name]} is #{current_state}")
107
107
  state
@@ -164,16 +164,16 @@ Puppet::Type.type(:service).provide :windows, :parent => :service do
164
164
 
165
165
  def validate_logon_credentials
166
166
  unless Puppet::Util::Windows::User.localsystem?(@normalized_logon_account)
167
- raise Puppet::Error.new("\"#{@normalized_logon_account}\" is not a valid account") unless @logonaccount_information && [:SidTypeUser, :SidTypeWellKnownGroup].include?(@logonaccount_information.account_type)
167
+ raise Puppet::Error, "\"#{@normalized_logon_account}\" is not a valid account" unless @logonaccount_information && [:SidTypeUser, :SidTypeWellKnownGroup].include?(@logonaccount_information.account_type)
168
168
 
169
169
  user_rights = Puppet::Util::Windows::User.get_rights(@logonaccount_information.domain_account) unless Puppet::Util::Windows::User.default_system_account?(@normalized_logon_account)
170
- raise Puppet::Error.new("\"#{@normalized_logon_account}\" has the 'Log On As A Service' right set to denied.") if user_rights =~ /SeDenyServiceLogonRight/
171
- raise Puppet::Error.new("\"#{@normalized_logon_account}\" is missing the 'Log On As A Service' right.") unless user_rights.nil? || user_rights =~ /SeServiceLogonRight/
170
+ raise Puppet::Error, "\"#{@normalized_logon_account}\" has the 'Log On As A Service' right set to denied." if user_rights =~ /SeDenyServiceLogonRight/
171
+ raise Puppet::Error, "\"#{@normalized_logon_account}\" is missing the 'Log On As A Service' right." unless user_rights.nil? || user_rights =~ /SeServiceLogonRight/
172
172
  end
173
173
 
174
174
  is_a_predefined_local_account = Puppet::Util::Windows::User.default_system_account?(@normalized_logon_account) || @normalized_logon_account == 'LocalSystem'
175
175
  account_info = @normalized_logon_account.split("\\")
176
176
  able_to_logon = Puppet::Util::Windows::User.password_is?(account_info[1], @resource[:logonpassword], account_info[0]) unless is_a_predefined_local_account
177
- raise Puppet::Error.new("The given password is invalid for user '#{@normalized_logon_account}'.") unless is_a_predefined_local_account || able_to_logon
177
+ raise Puppet::Error, "The given password is invalid for user '#{@normalized_logon_account}'." unless is_a_predefined_local_account || able_to_logon
178
178
  end
179
179
  end
@@ -72,8 +72,10 @@ Puppet::Type.type(:user).provide :aix, :parent => Puppet::Provider::AixObject do
72
72
  return :absent
73
73
  end
74
74
 
75
- month, day, year = match_obj[1], match_obj[2], match_obj[-1]
76
- return "20#{year}-#{month}-#{day}"
75
+ month = match_obj[1]
76
+ day = match_obj[2]
77
+ year = match_obj[-1]
78
+ "20#{year}-#{month}-#{day}"
77
79
  end
78
80
 
79
81
  # We do some validation before-hand to ensure the value's an Array,