puppet 8.5.0-x86-mingw32 → 8.6.0-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (543) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +29 -26
  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/literal_evaluator.rb +4 -0
  216. data/lib/puppet/pops/evaluator/relationship_operator.rb +2 -2
  217. data/lib/puppet/pops/evaluator/runtime3_converter.rb +3 -3
  218. data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
  219. data/lib/puppet/pops/functions/dispatcher.rb +3 -3
  220. data/lib/puppet/pops/functions/function.rb +14 -16
  221. data/lib/puppet/pops/issue_reporter.rb +2 -2
  222. data/lib/puppet/pops/label_provider.rb +2 -2
  223. data/lib/puppet/pops/loader/dependency_loader.rb +3 -3
  224. data/lib/puppet/pops/loader/loader.rb +4 -4
  225. data/lib/puppet/pops/loader/loader_paths.rb +3 -3
  226. data/lib/puppet/pops/loader/module_loaders.rb +11 -11
  227. data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +1 -1
  228. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +1 -1
  229. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +5 -1
  230. data/lib/puppet/pops/loader/static_loader.rb +3 -3
  231. data/lib/puppet/pops/loaders.rb +3 -3
  232. data/lib/puppet/pops/lookup/data_dig_function_provider.rb +1 -1
  233. data/lib/puppet/pops/lookup/explainer.rb +2 -2
  234. data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
  235. data/lib/puppet/pops/lookup/hiera_config.rb +15 -11
  236. data/lib/puppet/pops/lookup/interpolation.rb +3 -3
  237. data/lib/puppet/pops/lookup/key_recorder.rb +1 -1
  238. data/lib/puppet/pops/lookup/location_resolver.rb +1 -1
  239. data/lib/puppet/pops/lookup/lookup_adapter.rb +7 -7
  240. data/lib/puppet/pops/lookup/sub_lookup.rb +1 -1
  241. data/lib/puppet/pops/merge_strategy.rb +6 -6
  242. data/lib/puppet/pops/migration/migration_checker.rb +1 -1
  243. data/lib/puppet/pops/model/ast_transformer.rb +9 -11
  244. data/lib/puppet/pops/model/factory.rb +4 -5
  245. data/lib/puppet/pops/parser/epp_parser.rb +2 -2
  246. data/lib/puppet/pops/parser/epp_support.rb +1 -1
  247. data/lib/puppet/pops/parser/evaluating_parser.rb +2 -2
  248. data/lib/puppet/pops/parser/heredoc_support.rb +4 -4
  249. data/lib/puppet/pops/parser/interpolation_support.rb +3 -3
  250. data/lib/puppet/pops/parser/lexer2.rb +20 -12
  251. data/lib/puppet/pops/parser/lexer_support.rb +1 -1
  252. data/lib/puppet/pops/parser/locator.rb +4 -4
  253. data/lib/puppet/pops/parser/parser_support.rb +12 -14
  254. data/lib/puppet/pops/parser/pn_parser.rb +3 -3
  255. data/lib/puppet/pops/parser/slurp_support.rb +8 -8
  256. data/lib/puppet/pops/patterns.rb +12 -12
  257. data/lib/puppet/pops/pcore.rb +1 -1
  258. data/lib/puppet/pops/pn.rb +2 -2
  259. data/lib/puppet/pops/puppet_stack.rb +1 -1
  260. data/lib/puppet/pops/resource/resource_type_impl.rb +1 -1
  261. data/lib/puppet/pops/serialization/abstract_reader.rb +2 -2
  262. data/lib/puppet/pops/serialization/abstract_writer.rb +3 -3
  263. data/lib/puppet/pops/time/timestamp.rb +1 -1
  264. data/lib/puppet/pops/types/class_loader.rb +4 -6
  265. data/lib/puppet/pops/types/iterable.rb +1 -1
  266. data/lib/puppet/pops/types/p_binary_type.rb +1 -1
  267. data/lib/puppet/pops/types/p_init_type.rb +1 -1
  268. data/lib/puppet/pops/types/p_object_type.rb +5 -5
  269. data/lib/puppet/pops/types/p_object_type_extension.rb +4 -6
  270. data/lib/puppet/pops/types/p_sem_ver_range_type.rb +1 -1
  271. data/lib/puppet/pops/types/p_sensitive_type.rb +1 -1
  272. data/lib/puppet/pops/types/p_timespan_type.rb +2 -2
  273. data/lib/puppet/pops/types/p_type_set_type.rb +10 -10
  274. data/lib/puppet/pops/types/p_uri_type.rb +4 -4
  275. data/lib/puppet/pops/types/recursion_guard.rb +4 -4
  276. data/lib/puppet/pops/types/ruby_generator.rb +2 -2
  277. data/lib/puppet/pops/types/string_converter.rb +12 -8
  278. data/lib/puppet/pops/types/tree_iterators.rb +4 -6
  279. data/lib/puppet/pops/types/type_calculator.rb +10 -10
  280. data/lib/puppet/pops/types/type_factory.rb +7 -3
  281. data/lib/puppet/pops/types/type_formatter.rb +22 -24
  282. data/lib/puppet/pops/types/type_mismatch_describer.rb +24 -24
  283. data/lib/puppet/pops/types/types.rb +28 -24
  284. data/lib/puppet/pops/utils.rb +38 -42
  285. data/lib/puppet/pops/validation/checker4_0.rb +10 -10
  286. data/lib/puppet/pops/validation/tasks_checker.rb +1 -1
  287. data/lib/puppet/pops/validation/validator_factory_4_0.rb +2 -0
  288. data/lib/puppet/pops/validation.rb +4 -4
  289. data/lib/puppet/pops/visitor.rb +2 -2
  290. data/lib/puppet/property/ensure.rb +12 -14
  291. data/lib/puppet/property/keyvalue.rb +4 -4
  292. data/lib/puppet/property/list.rb +4 -4
  293. data/lib/puppet/property/ordered_list.rb +1 -1
  294. data/lib/puppet/property.rb +31 -33
  295. data/lib/puppet/provider/exec.rb +2 -2
  296. data/lib/puppet/provider/file/posix.rb +19 -17
  297. data/lib/puppet/provider/file/windows.rb +13 -19
  298. data/lib/puppet/provider/group/directoryservice.rb +3 -2
  299. data/lib/puppet/provider/group/groupadd.rb +4 -4
  300. data/lib/puppet/provider/group/windows_adsi.rb +2 -2
  301. data/lib/puppet/provider/nameservice/directoryservice.rb +29 -29
  302. data/lib/puppet/provider/nameservice/objectadd.rb +2 -4
  303. data/lib/puppet/provider/nameservice/pw.rb +1 -2
  304. data/lib/puppet/provider/nameservice.rb +8 -8
  305. data/lib/puppet/provider/package/aix.rb +19 -19
  306. data/lib/puppet/provider/package/appdmg.rb +2 -2
  307. data/lib/puppet/provider/package/apple.rb +1 -1
  308. data/lib/puppet/provider/package/apt.rb +18 -18
  309. data/lib/puppet/provider/package/aptitude.rb +1 -3
  310. data/lib/puppet/provider/package/aptrpm.rb +9 -9
  311. data/lib/puppet/provider/package/blastwave.rb +10 -14
  312. data/lib/puppet/provider/package/dnfmodule.rb +3 -3
  313. data/lib/puppet/provider/package/dpkg.rb +11 -13
  314. data/lib/puppet/provider/package/fink.rb +14 -14
  315. data/lib/puppet/provider/package/freebsd.rb +1 -1
  316. data/lib/puppet/provider/package/gem.rb +12 -14
  317. data/lib/puppet/provider/package/macports.rb +2 -2
  318. data/lib/puppet/provider/package/nim.rb +10 -10
  319. data/lib/puppet/provider/package/openbsd.rb +22 -22
  320. data/lib/puppet/provider/package/opkg.rb +6 -6
  321. data/lib/puppet/provider/package/pacman.rb +35 -29
  322. data/lib/puppet/provider/package/pip.rb +25 -24
  323. data/lib/puppet/provider/package/pkg.rb +15 -15
  324. data/lib/puppet/provider/package/pkgdmg.rb +10 -10
  325. data/lib/puppet/provider/package/pkgin.rb +2 -2
  326. data/lib/puppet/provider/package/pkgng.rb +5 -5
  327. data/lib/puppet/provider/package/pkgutil.rb +17 -21
  328. data/lib/puppet/provider/package/portage.rb +59 -61
  329. data/lib/puppet/provider/package/ports.rb +12 -11
  330. data/lib/puppet/provider/package/portupgrade.rb +35 -35
  331. data/lib/puppet/provider/package/puppetserver_gem.rb +10 -9
  332. data/lib/puppet/provider/package/rpm.rb +26 -26
  333. data/lib/puppet/provider/package/rug.rb +7 -9
  334. data/lib/puppet/provider/package/sun.rb +4 -4
  335. data/lib/puppet/provider/package/up2date.rb +5 -7
  336. data/lib/puppet/provider/package/urpmi.rb +6 -6
  337. data/lib/puppet/provider/package/windows/exe_package.rb +7 -7
  338. data/lib/puppet/provider/package/windows/msi_package.rb +3 -3
  339. data/lib/puppet/provider/package/windows/package.rb +2 -2
  340. data/lib/puppet/provider/package/windows.rb +3 -5
  341. data/lib/puppet/provider/package/yum.rb +33 -37
  342. data/lib/puppet/provider/package/zypper.rb +12 -14
  343. data/lib/puppet/provider/package.rb +1 -1
  344. data/lib/puppet/provider/package_targetable.rb +1 -1
  345. data/lib/puppet/provider/parsedfile.rb +9 -9
  346. data/lib/puppet/provider/service/base.rb +16 -21
  347. data/lib/puppet/provider/service/bsd.rb +4 -4
  348. data/lib/puppet/provider/service/daemontools.rb +31 -31
  349. data/lib/puppet/provider/service/debian.rb +6 -6
  350. data/lib/puppet/provider/service/freebsd.rb +36 -36
  351. data/lib/puppet/provider/service/gentoo.rb +6 -6
  352. data/lib/puppet/provider/service/init.rb +19 -19
  353. data/lib/puppet/provider/service/launchd.rb +22 -22
  354. data/lib/puppet/provider/service/openbsd.rb +10 -10
  355. data/lib/puppet/provider/service/openrc.rb +1 -1
  356. data/lib/puppet/provider/service/openwrt.rb +3 -3
  357. data/lib/puppet/provider/service/rcng.rb +3 -3
  358. data/lib/puppet/provider/service/redhat.rb +4 -4
  359. data/lib/puppet/provider/service/runit.rb +6 -6
  360. data/lib/puppet/provider/service/service.rb +5 -7
  361. data/lib/puppet/provider/service/smf.rb +28 -27
  362. data/lib/puppet/provider/service/src.rb +7 -7
  363. data/lib/puppet/provider/service/systemd.rb +31 -37
  364. data/lib/puppet/provider/service/upstart.rb +17 -17
  365. data/lib/puppet/provider/service/windows.rb +7 -7
  366. data/lib/puppet/provider/user/aix.rb +4 -2
  367. data/lib/puppet/provider/user/directoryservice.rb +34 -36
  368. data/lib/puppet/provider/user/hpux.rb +10 -14
  369. data/lib/puppet/provider/user/pw.rb +1 -1
  370. data/lib/puppet/provider/user/user_role_add.rb +16 -18
  371. data/lib/puppet/provider/user/useradd.rb +7 -7
  372. data/lib/puppet/provider/user/windows_adsi.rb +1 -1
  373. data/lib/puppet/provider.rb +8 -8
  374. data/lib/puppet/reference/indirection.rb +3 -0
  375. data/lib/puppet/reference/metaparameter.rb +1 -1
  376. data/lib/puppet/reference/providers.rb +3 -3
  377. data/lib/puppet/reference/type.rb +1 -1
  378. data/lib/puppet/relationship.rb +4 -5
  379. data/lib/puppet/reports/http.rb +1 -1
  380. data/lib/puppet/reports/log.rb +2 -2
  381. data/lib/puppet/reports/store.rb +4 -4
  382. data/lib/puppet/reports.rb +2 -2
  383. data/lib/puppet/resource/catalog.rb +16 -16
  384. data/lib/puppet/resource/status.rb +3 -3
  385. data/lib/puppet/resource/type.rb +8 -8
  386. data/lib/puppet/resource/type_collection.rb +1 -1
  387. data/lib/puppet/resource.rb +41 -41
  388. data/lib/puppet/scheduler/scheduler.rb +1 -1
  389. data/lib/puppet/settings/alias_setting.rb +3 -5
  390. data/lib/puppet/settings/base_setting.rb +11 -11
  391. data/lib/puppet/settings/boolean_setting.rb +2 -2
  392. data/lib/puppet/settings/config_file.rb +5 -4
  393. data/lib/puppet/settings/duration_setting.rb +2 -2
  394. data/lib/puppet/settings/environment_conf.rb +3 -3
  395. data/lib/puppet/settings/file_or_directory_setting.rb +2 -2
  396. data/lib/puppet/settings/file_setting.rb +11 -11
  397. data/lib/puppet/settings/ini_file.rb +3 -3
  398. data/lib/puppet/settings/port_setting.rb +1 -1
  399. data/lib/puppet/settings/priority_setting.rb +2 -2
  400. data/lib/puppet/settings/ttl_setting.rb +2 -2
  401. data/lib/puppet/settings/value_translator.rb +8 -8
  402. data/lib/puppet/settings.rb +65 -70
  403. data/lib/puppet/ssl/base.rb +2 -4
  404. data/lib/puppet/ssl/certificate_request.rb +18 -22
  405. data/lib/puppet/ssl/certificate_request_attributes.rb +3 -3
  406. data/lib/puppet/ssl/oids.rb +2 -2
  407. data/lib/puppet/ssl/openssl_loader.rb +4 -4
  408. data/lib/puppet/syntax_checkers/base64.rb +3 -3
  409. data/lib/puppet/syntax_checkers/epp.rb +3 -3
  410. data/lib/puppet/syntax_checkers/json.rb +3 -3
  411. data/lib/puppet/syntax_checkers/pp.rb +3 -3
  412. data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
  413. data/lib/puppet/transaction/event.rb +2 -2
  414. data/lib/puppet/transaction/event_manager.rb +5 -5
  415. data/lib/puppet/transaction/persistence.rb +12 -14
  416. data/lib/puppet/transaction/report.rb +4 -4
  417. data/lib/puppet/transaction/resource_harness.rb +2 -2
  418. data/lib/puppet/transaction.rb +14 -18
  419. data/lib/puppet/type/component.rb +3 -3
  420. data/lib/puppet/type/exec.rb +43 -45
  421. data/lib/puppet/type/file/checksum_value.rb +1 -1
  422. data/lib/puppet/type/file/content.rb +6 -6
  423. data/lib/puppet/type/file/ctime.rb +2 -2
  424. data/lib/puppet/type/file/data_sync.rb +3 -3
  425. data/lib/puppet/type/file/ensure.rb +16 -15
  426. data/lib/puppet/type/file/mode.rb +9 -9
  427. data/lib/puppet/type/file/mtime.rb +2 -2
  428. data/lib/puppet/type/file/selcontext.rb +14 -14
  429. data/lib/puppet/type/file/source.rb +19 -21
  430. data/lib/puppet/type/file/target.rb +11 -11
  431. data/lib/puppet/type/file.rb +21 -21
  432. data/lib/puppet/type/filebucket.rb +3 -3
  433. data/lib/puppet/type/group.rb +3 -3
  434. data/lib/puppet/type/notify.rb +2 -2
  435. data/lib/puppet/type/package.rb +4 -4
  436. data/lib/puppet/type/resources.rb +6 -6
  437. data/lib/puppet/type/schedule.rb +9 -9
  438. data/lib/puppet/type/service.rb +6 -8
  439. data/lib/puppet/type/tidy.rb +22 -24
  440. data/lib/puppet/type/user.rb +13 -13
  441. data/lib/puppet/type.rb +76 -88
  442. data/lib/puppet/util/at_fork/solaris.rb +33 -37
  443. data/lib/puppet/util/autoload.rb +2 -2
  444. data/lib/puppet/util/backups.rb +9 -9
  445. data/lib/puppet/util/character_encoding.rb +7 -6
  446. data/lib/puppet/util/checksums.rb +2 -2
  447. data/lib/puppet/util/classgen.rb +8 -8
  448. data/lib/puppet/util/colors.rb +1 -1
  449. data/lib/puppet/util/command_line/puppet_option_parser.rb +1 -1
  450. data/lib/puppet/util/command_line/trollop.rb +42 -46
  451. data/lib/puppet/util/command_line.rb +2 -2
  452. data/lib/puppet/util/constant_inflector.rb +2 -2
  453. data/lib/puppet/util/diff.rb +19 -21
  454. data/lib/puppet/util/docs.rb +2 -2
  455. data/lib/puppet/util/errors.rb +9 -9
  456. data/lib/puppet/util/execution.rb +32 -9
  457. data/lib/puppet/util/feature.rb +1 -1
  458. data/lib/puppet/util/fileparsing.rb +12 -16
  459. data/lib/puppet/util/filetype.rb +36 -40
  460. data/lib/puppet/util/inifile.rb +6 -12
  461. data/lib/puppet/util/ldap/connection.rb +1 -1
  462. data/lib/puppet/util/ldap/manager.rb +10 -12
  463. data/lib/puppet/util/lockfile.rb +6 -8
  464. data/lib/puppet/util/log/destination.rb +2 -2
  465. data/lib/puppet/util/log/destinations.rb +4 -4
  466. data/lib/puppet/util/log.rb +12 -9
  467. data/lib/puppet/util/logging.rb +11 -11
  468. data/lib/puppet/util/metric.rb +3 -3
  469. data/lib/puppet/util/monkey_patches.rb +5 -7
  470. data/lib/puppet/util/network_device/config.rb +3 -3
  471. data/lib/puppet/util/package/version/debian.rb +27 -28
  472. data/lib/puppet/util/package/version/pip.rb +5 -5
  473. data/lib/puppet/util/package/version/range/eq.rb +1 -1
  474. data/lib/puppet/util/package/version/rpm.rb +1 -1
  475. data/lib/puppet/util/package.rb +2 -2
  476. data/lib/puppet/util/pidlock.rb +2 -2
  477. data/lib/puppet/util/platform.rb +1 -1
  478. data/lib/puppet/util/plist.rb +8 -10
  479. data/lib/puppet/util/posix.rb +17 -17
  480. data/lib/puppet/util/profiler/aggregate.rb +1 -1
  481. data/lib/puppet/util/provider_features.rb +3 -3
  482. data/lib/puppet/util/rdoc/code_objects.rb +3 -3
  483. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +63 -64
  484. data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +23 -23
  485. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +12 -12
  486. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -1
  487. data/lib/puppet/util/rdoc/parser.rb +1 -1
  488. data/lib/puppet/util/reference.rb +13 -9
  489. data/lib/puppet/util/retry_action.rb +1 -1
  490. data/lib/puppet/util/rpm_compare.rb +17 -18
  491. data/lib/puppet/util/rubygems.rb +1 -1
  492. data/lib/puppet/util/selinux.rb +7 -7
  493. data/lib/puppet/util/storage.rb +10 -12
  494. data/lib/puppet/util/suidmanager.rb +18 -19
  495. data/lib/puppet/util/symbolic_file_mode.rb +71 -75
  496. data/lib/puppet/util/tag_set.rb +2 -2
  497. data/lib/puppet/util/tagging.rb +8 -10
  498. data/lib/puppet/util/terminal.rb +4 -4
  499. data/lib/puppet/util/user_attr.rb +7 -7
  500. data/lib/puppet/util/watcher.rb +3 -5
  501. data/lib/puppet/util/windows/access_control_list.rb +1 -1
  502. data/lib/puppet/util/windows/adsi.rb +42 -42
  503. data/lib/puppet/util/windows/daemon.rb +64 -68
  504. data/lib/puppet/util/windows/error.rb +2 -2
  505. data/lib/puppet/util/windows/file.rb +18 -25
  506. data/lib/puppet/util/windows/monkey_patches/process.rb +1 -1
  507. data/lib/puppet/util/windows/principal.rb +8 -8
  508. data/lib/puppet/util/windows/process.rb +16 -28
  509. data/lib/puppet/util/windows/registry.rb +16 -15
  510. data/lib/puppet/util/windows/root_certs.rb +2 -2
  511. data/lib/puppet/util/windows/security.rb +31 -31
  512. data/lib/puppet/util/windows/service.rb +11 -11
  513. data/lib/puppet/util/windows/sid.rb +8 -8
  514. data/lib/puppet/util/windows/user.rb +18 -20
  515. data/lib/puppet/util/yaml.rb +1 -1
  516. data/lib/puppet/util.rb +55 -46
  517. data/lib/puppet/version.rb +2 -2
  518. data/lib/puppet/x509/pem_store.rb +1 -1
  519. data/lib/puppet.rb +3 -3
  520. data/man/man5/puppet.conf.5 +10 -2
  521. data/man/man8/puppet-agent.8 +1 -1
  522. data/man/man8/puppet-apply.8 +1 -1
  523. data/man/man8/puppet-catalog.8 +1 -1
  524. data/man/man8/puppet-config.8 +1 -1
  525. data/man/man8/puppet-describe.8 +1 -1
  526. data/man/man8/puppet-device.8 +1 -1
  527. data/man/man8/puppet-doc.8 +1 -1
  528. data/man/man8/puppet-epp.8 +1 -1
  529. data/man/man8/puppet-facts.8 +1 -1
  530. data/man/man8/puppet-filebucket.8 +1 -1
  531. data/man/man8/puppet-generate.8 +1 -1
  532. data/man/man8/puppet-help.8 +1 -1
  533. data/man/man8/puppet-lookup.8 +1 -1
  534. data/man/man8/puppet-module.8 +1 -1
  535. data/man/man8/puppet-node.8 +1 -1
  536. data/man/man8/puppet-parser.8 +1 -1
  537. data/man/man8/puppet-plugin.8 +1 -1
  538. data/man/man8/puppet-report.8 +1 -1
  539. data/man/man8/puppet-resource.8 +5 -1
  540. data/man/man8/puppet-script.8 +1 -1
  541. data/man/man8/puppet-ssl.8 +1 -1
  542. data/man/man8/puppet.8 +2 -2
  543. metadata +2 -2
@@ -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,
@@ -87,14 +87,14 @@ Puppet::Type.type(:user).provide :directoryservice do
87
87
  # display its output.
88
88
  def self.instances
89
89
  get_all_users.collect do |user|
90
- self.new(generate_attribute_hash(user))
90
+ new(generate_attribute_hash(user))
91
91
  end
92
92
  end
93
93
 
94
94
  # Return an array of hashes containing information about every user on
95
95
  # the system.
96
96
  def self.get_all_users
97
- Puppet::Util::Plist.parse_plist(dscl '-plist', '.', 'readall', '/Users')
97
+ Puppet::Util::Plist.parse_plist(dscl('-plist', '.', 'readall', '/Users'))
98
98
  end
99
99
 
100
100
  # This method accepts an individual user plist, passed as a hash, and
@@ -171,7 +171,7 @@ Puppet::Type.type(:user).provide :directoryservice do
171
171
  # of the local groups on the machine.
172
172
  def self.get_list_of_groups
173
173
  # rubocop:disable Naming/MemoizedInstanceVariableName
174
- @groups ||= Puppet::Util::Plist.parse_plist(dscl '-plist', '.', 'readall', '/Groups')
174
+ @groups ||= Puppet::Util::Plist.parse_plist(dscl('-plist', '.', 'readall', '/Groups'))
175
175
  # rubocop:enable Naming/MemoizedInstanceVariableName
176
176
  end
177
177
 
@@ -179,7 +179,7 @@ Puppet::Type.type(:user).provide :directoryservice do
179
179
  # value. The value returned is the first item within the array returned
180
180
  # from dscl
181
181
  def self.get_attribute_from_dscl(path, username, keyname)
182
- Puppet::Util::Plist.parse_plist(dscl '-plist', '.', 'read', "/#{path}/#{username}", keyname)
182
+ Puppet::Util::Plist.parse_plist(dscl('-plist', '.', 'read', "/#{path}/#{username}", keyname))
183
183
  end
184
184
 
185
185
  # The plist embedded in the ShadowHashData key is a binary plist. The
@@ -205,7 +205,7 @@ Puppet::Type.type(:user).provide :directoryservice do
205
205
  # The salted-SHA512 password hash in 10.7 is stored in the 'SALTED-SHA512'
206
206
  # key as binary data. That data is extracted and converted to a hex string.
207
207
  def self.get_salted_sha512(embedded_binary_plist)
208
- embedded_binary_plist['SALTED-SHA512'].unpack("H*")[0]
208
+ embedded_binary_plist['SALTED-SHA512'].unpack1("H*")
209
209
  end
210
210
 
211
211
  # This method reads the passed embedded_binary_plist hash and returns values
@@ -216,11 +216,11 @@ Puppet::Type.type(:user).provide :directoryservice do
216
216
  case field
217
217
  when 'salt', 'entropy'
218
218
  value = embedded_binary_plist['SALTED-SHA512-PBKDF2'][field]
219
- if value == nil
219
+ if value.nil?
220
220
  raise Puppet::Error, "Invalid #{field} given for user #{user_name}"
221
221
  end
222
222
 
223
- value.unpack('H*').first
223
+ value.unpack1('H*')
224
224
  when 'iterations'
225
225
  Integer(embedded_binary_plist['SALTED-SHA512-PBKDF2'][field])
226
226
  else
@@ -234,7 +234,7 @@ Puppet::Type.type(:user).provide :directoryservice do
234
234
  password_hash = nil
235
235
  password_hash_file = "#{password_hash_dir}/#{guid}"
236
236
  if Puppet::FileSystem.exist?(password_hash_file) and File.file?(password_hash_file)
237
- raise Puppet::Error, "Could not read password hash file at #{password_hash_file}" if not File.readable?(password_hash_file)
237
+ raise Puppet::Error, "Could not read password hash file at #{password_hash_file}" unless File.readable?(password_hash_file)
238
238
 
239
239
  f = File.new(password_hash_file)
240
240
  password_hash = f.read
@@ -300,22 +300,22 @@ Puppet::Type.type(:user).provide :directoryservice do
300
300
  # For the :password and :groups properties, call the setter methods
301
301
  # to enforce those values. For everything else, use dscl with the
302
302
  # ns_to_ds_attribute_map to set the appropriate values.
303
- if value != "" and not value.nil?
304
- case attribute
305
- when :password
306
- self.password = value
307
- when :iterations
308
- self.iterations = value
309
- when :salt
310
- self.salt = value
311
- when :groups
312
- value.split(',').each do |group|
313
- merge_attribute_with_dscl('Groups', group, 'GroupMembership', @resource.name)
314
- merge_attribute_with_dscl('Groups', group, 'GroupMembers', @guid)
315
- end
316
- else
317
- create_attribute_with_dscl('Users', @resource.name, self.class.ns_to_ds_attribute_map[attribute], value)
303
+ next unless value != "" and !value.nil?
304
+
305
+ case attribute
306
+ when :password
307
+ self.password = value
308
+ when :iterations
309
+ self.iterations = value
310
+ when :salt
311
+ self.salt = value
312
+ when :groups
313
+ value.split(',').each do |group|
314
+ merge_attribute_with_dscl('Groups', group, 'GroupMembership', @resource.name)
315
+ merge_attribute_with_dscl('Groups', group, 'GroupMembers', @guid)
318
316
  end
317
+ else
318
+ create_attribute_with_dscl('Users', @resource.name, self.class.ns_to_ds_attribute_map[attribute], value)
319
319
  end
320
320
  end
321
321
  end
@@ -395,7 +395,7 @@ Puppet::Type.type(:user).provide :directoryservice do
395
395
  # we have to treat the ds cache just like you would in the password=
396
396
  # method.
397
397
  def iterations=(value)
398
- if (Puppet::Util::Package.versioncmp(self.class.get_os_version, '10.7') > 0)
398
+ if Puppet::Util::Package.versioncmp(self.class.get_os_version, '10.7') > 0
399
399
  assert_full_pbkdf2_password
400
400
 
401
401
  sleep 3
@@ -412,12 +412,12 @@ Puppet::Type.type(:user).provide :directoryservice do
412
412
  # we have to treat the ds cache just like you would in the password=
413
413
  # method.
414
414
  def salt=(value)
415
- if (Puppet::Util::Package.versioncmp(self.class.get_os_version, '10.15') >= 0)
415
+ if Puppet::Util::Package.versioncmp(self.class.get_os_version, '10.15') >= 0
416
416
  if value.length != 64
417
417
  self.fail "macOS versions 10.15 and higher require the salt to be 32-bytes. Since Puppet's user resource requires the value to be hex encoded, the length of the salt's string must be 64. Please check your salt and try again."
418
418
  end
419
419
  end
420
- if (Puppet::Util::Package.versioncmp(self.class.get_os_version, '10.7') > 0)
420
+ if Puppet::Util::Package.versioncmp(self.class.get_os_version, '10.7') > 0
421
421
  assert_full_pbkdf2_password
422
422
 
423
423
  sleep 3
@@ -448,10 +448,10 @@ Puppet::Type.type(:user).provide :directoryservice do
448
448
  # In the event that the user doesn't HAVE a value for the attribute, the
449
449
  # provider should use the -create option with dscl to add the attribute value
450
450
  # for the user record
451
- ['home', 'uid', 'gid', 'comment', 'shell'].each do |setter_method|
451
+ %w[home uid gid comment shell].each do |setter_method|
452
452
  define_method("#{setter_method}=") do |value|
453
453
  if @property_hash[setter_method.intern]
454
- if %w(home uid).include?(setter_method)
454
+ if %w[home uid].include?(setter_method)
455
455
  raise Puppet::Error, "OS X version #{self.class.get_os_version} does not allow changing #{setter_method} using puppet"
456
456
  end
457
457
 
@@ -479,7 +479,7 @@ Puppet::Type.type(:user).provide :directoryservice do
479
479
  def assert_full_pbkdf2_password
480
480
  missing = [:password, :salt, :iterations].select { |parameter| @resource[parameter].nil? }
481
481
 
482
- if !missing.empty?
482
+ unless missing.empty?
483
483
  raise Puppet::Error, "OS X versions > 10\.7 use PBKDF2 password hashes, which requires all three of salt, iterations, and password hash. This resource is missing: #{missing.join(', ')}."
484
484
  end
485
485
  end
@@ -503,11 +503,9 @@ Puppet::Type.type(:user).provide :directoryservice do
503
503
  end
504
504
 
505
505
  def set_attribute_with_dscl(dscl_command, path, username, keyname, value)
506
- begin
507
- dscl '.', dscl_command, "/#{path}/#{username}", keyname, value
508
- rescue Puppet::ExecutionFailure => detail
509
- raise Puppet::Error, "Could not set the dscl #{keyname} key with value: #{value} - #{detail.inspect}", detail.backtrace
510
- end
506
+ dscl '.', dscl_command, "/#{path}/#{username}", keyname, value
507
+ rescue Puppet::ExecutionFailure => detail
508
+ raise Puppet::Error, "Could not set the dscl #{keyname} key with value: #{value} - #{detail.inspect}", detail.backtrace
511
509
  end
512
510
 
513
511
  # Create the new user with dscl
@@ -549,7 +547,7 @@ Puppet::Type.type(:user).provide :directoryservice do
549
547
  # variable IS a Hash and contains the 'SALTED-SHA512' key (indicating an
550
548
  # older 10.7-style password hash), it will be deleted and a newer
551
549
  # 10.8-style (PBKDF2) password hash will be generated.
552
- if (shadow_hash_data.instance_of?(Hash)) && (shadow_hash_data.has_key?('SALTED-SHA512'))
550
+ if shadow_hash_data.instance_of?(Hash) && shadow_hash_data.has_key?('SALTED-SHA512')
553
551
  shadow_hash_data.delete('SALTED-SHA512')
554
552
  end
555
553
 
@@ -661,7 +659,7 @@ Puppet::Type.type(:user).provide :directoryservice do
661
659
  # the user's plist itself, and the shadow_hash_data hash containing the
662
660
  # existing PBKDF2 values.
663
661
  def set_salted_pbkdf2(users_plist, shadow_hash_data, field, value)
664
- shadow_hash_data = Hash.new unless shadow_hash_data
662
+ shadow_hash_data ||= Hash.new
665
663
  shadow_hash_data['SALTED-SHA512-PBKDF2'] = Hash.new unless shadow_hash_data['SALTED-SHA512-PBKDF2']
666
664
  case field
667
665
  when 'salt', 'entropy'
@@ -40,7 +40,7 @@ Puppet::Type.type(:user).provide :hpuxuseradd, :parent => :useradd do
40
40
  cmd << "/usr/lbin/modprpw"
41
41
  cmd << "-v"
42
42
  cmd << "-l"
43
- cmd << "#{resource.name}"
43
+ cmd << resource.name.to_s
44
44
  end
45
45
  cmd
46
46
  end
@@ -48,14 +48,14 @@ Puppet::Type.type(:user).provide :hpuxuseradd, :parent => :useradd do
48
48
  def password
49
49
  # Password management routine for trusted and non-trusted systems
50
50
  # temp=""
51
- while ent = Etc.getpwent() do # rubocop:disable Lint/AssignmentInCondition
51
+ while ent = Etc.getpwent() # rubocop:disable Lint/AssignmentInCondition
52
52
  if ent.name == resource.name
53
53
  temp = ent.name
54
54
  break
55
55
  end
56
56
  end
57
57
  Etc.endpwent()
58
- if !temp
58
+ unless temp
59
59
  return nil
60
60
  end
61
61
 
@@ -66,17 +66,17 @@ Puppet::Type.type(:user).provide :hpuxuseradd, :parent => :useradd do
66
66
  if File.file?(file_name)
67
67
  # Found the tcb user for the specific user, now get passwd
68
68
  File.open(file_name).each do |line|
69
- if (line =~ /u_pwd/)
70
- temp_passwd = line.split(":")[1].split("=")[1]
71
- ent.passwd = temp_passwd
72
- return ent.passwd
73
- end
69
+ next unless line =~ /u_pwd/
70
+
71
+ temp_passwd = line.split(":")[1].split("=")[1]
72
+ ent.passwd = temp_passwd
73
+ return ent.passwd
74
74
  end
75
75
  else
76
76
  debug "No trusted computing user file #{file_name} found."
77
77
  end
78
78
  else
79
- return ent.passwd
79
+ ent.passwd
80
80
  end
81
81
  end
82
82
 
@@ -84,11 +84,7 @@ Puppet::Type.type(:user).provide :hpuxuseradd, :parent => :useradd do
84
84
  # Check to see if the HP-UX box is running in trusted compute mode
85
85
  # UID for root should always be 0
86
86
  trusted_sys = exec_getprpw('root', '-m uid')
87
- if trusted_sys.chomp == "uid=0"
88
- return true
89
- else
90
- return false
91
- end
87
+ trusted_sys.chomp == "uid=0"
92
88
  end
93
89
 
94
90
  def exec_getprpw(user, opts)
@@ -96,7 +96,7 @@ Puppet::Type.type(:user).provide :pw, :parent => Puppet::Provider::NameService::
96
96
 
97
97
  # Get expiry from system and convert to Puppet-style date
98
98
  def expiry
99
- expiry = self.get(:expiry)
99
+ expiry = get(:expiry)
100
100
  expiry = :absent if expiry == 0
101
101
 
102
102
  if expiry != :absent
@@ -76,7 +76,7 @@ Puppet::Type.type(:user).provide :user_role_add, :parent => :useradd, :source =>
76
76
  end
77
77
 
78
78
  def command(cmd)
79
- cmd = ("role_#{cmd}").intern if is_role? or (!exists? and @resource[:ensure] == :role)
79
+ cmd = "role_#{cmd}".intern if is_role? or (!exists? and @resource[:ensure] == :role)
80
80
  super(cmd)
81
81
  end
82
82
 
@@ -221,25 +221,23 @@ Puppet::Type.type(:user).provide :user_role_add, :parent => :useradd, :source =>
221
221
  # data, but it is still terrible. We still skip platform locking, so a
222
222
  # concurrent `vipw -s` session will have no idea we risk data loss.
223
223
  def password=(cryptopw)
224
- begin
225
- shadow = File.read(target_file_path)
226
-
227
- # Go Mifune loves the race here where we can lose data because
228
- # /etc/shadow changed between reading it and writing it.
229
- # --daniel 2012-02-05
230
- Puppet::Util.replace_file(target_file_path, 0640) do |fh|
231
- shadow.each_line do |line|
232
- line_arr = line.split(':')
233
- if line_arr[0] == @resource[:name]
234
- line_arr[1] = cryptopw
235
- line_arr[2] = (Date.today - Date.new(1970, 1, 1)).to_i.to_s
236
- line = line_arr.join(':')
237
- end
238
- fh.print line
224
+ shadow = File.read(target_file_path)
225
+
226
+ # Go Mifune loves the race here where we can lose data because
227
+ # /etc/shadow changed between reading it and writing it.
228
+ # --daniel 2012-02-05
229
+ Puppet::Util.replace_file(target_file_path, 0o640) do |fh|
230
+ shadow.each_line do |line|
231
+ line_arr = line.split(':')
232
+ if line_arr[0] == @resource[:name]
233
+ line_arr[1] = cryptopw
234
+ line_arr[2] = (Date.today - Date.new(1970, 1, 1)).to_i.to_s
235
+ line = line_arr.join(':')
239
236
  end
237
+ fh.print line
240
238
  end
241
- rescue => detail
242
- self.fail Puppet::Error, "Could not write replace #{target_file_path}: #{detail}", detail
243
239
  end
240
+ rescue => detail
241
+ self.fail Puppet::Error, "Could not write replace #{target_file_path}: #{detail}", detail
244
242
  end
245
243
  end