puppet 8.5.1-universal-darwin → 8.6.0-universal-darwin

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
@@ -19,7 +19,7 @@ module SymbolicFileMode
19
19
  return true if value =~ /^0?[0-7]{1,4}$/
20
20
  return true if value =~ /^([ugoa]*[-=+][-=+rstwxXugo]*)(,[ugoa]*[-=+][-=+rstwxXugo]*)*$/
21
21
 
22
- return false
22
+ false
23
23
  end
24
24
 
25
25
  def display_mode(value)
@@ -60,12 +60,12 @@ module SymbolicFileMode
60
60
  fail _("non-numeric current mode (%{mode})") % { mode: to_mode.inspect } unless to_mode.is_a?(Numeric)
61
61
 
62
62
  original_mode = {
63
- 's' => (to_mode & 07000) >> 9,
64
- 'u' => (to_mode & 00700) >> 6,
65
- 'g' => (to_mode & 00070) >> 3,
66
- 'o' => (to_mode & 00007) >> 0,
63
+ 's' => (to_mode & 0o7000) >> 9,
64
+ 'u' => (to_mode & 0o0700) >> 6,
65
+ 'g' => (to_mode & 0o0070) >> 3,
66
+ 'o' => (to_mode & 0o0007) >> 0,
67
67
  # Are there any execute bits set in the original mode?
68
- 'any x?' => (to_mode & 00111) != 0
68
+ 'any x?' => (to_mode & 0o0111) != 0
69
69
  }
70
70
  final_mode = {
71
71
  's' => original_mode['s'],
@@ -75,85 +75,81 @@ module SymbolicFileMode
75
75
  }
76
76
 
77
77
  modification.split(/\s*,\s*/).each do |part|
78
- begin
79
- _, to, dsl = /^([ugoa]*)([-+=].*)$/.match(part).to_a
80
- if dsl.nil? then raise Puppet::Error, _('Missing action') end
81
-
82
- to = "a" unless to and to.length > 0
83
-
84
- # We want a snapshot of the mode before we start messing with it to
85
- # make actions like 'a-g' atomic. Various parts of the DSL refer to
86
- # the original mode, the final mode, or the current snapshot of the
87
- # mode, for added fun.
88
- snapshot_mode = {}
89
- final_mode.each { |k, v| snapshot_mode[k] = v }
90
-
91
- to.gsub('a', 'ugo').split('').uniq.each do |who|
92
- value = snapshot_mode[who]
93
-
94
- action = '!'
95
- actions = {
96
- '!' => ->(_, _) { raise Puppet::Error, _('Missing operation (-, =, or +)') },
97
- '=' => ->(m, v) { m | v },
98
- '+' => ->(m, v) { m | v },
99
- '-' => ->(m, v) { m & ~v },
100
- }
101
-
102
- dsl.split('').each do |op|
103
- case op
104
- when /[-+=]/
105
- action = op
106
- # Clear all bits, if this is assignment
107
- value = 0 if op == '='
108
-
109
- when /[ugo]/
110
- value = actions[action].call(value, snapshot_mode[op])
111
-
112
- when /[rwx]/
113
- value = actions[action].call(value, SymbolicMode[op])
114
-
115
- when 'X'
116
- # Only meaningful in combination with "set" actions.
117
- if action != '+'
118
- raise Puppet::Error, _("X only works with the '+' operator")
119
- end
120
-
121
- # As per the BSD manual page, set if this is a directory, or if
122
- # any execute bit is set on the original (unmodified) mode.
123
- # Ignored otherwise; it is "add if", not "add or clear".
124
- if is_a_directory or original_mode['any x?']
125
- value = actions[action].call(value, ExecBit)
126
- end
127
-
128
- when /[st]/
129
- bit = SymbolicSpecialToBit[op][who] or fail _("internal error")
130
- final_mode['s'] = actions[action].call(final_mode['s'], bit)
131
-
132
- else
133
- raise Puppet::Error, _('Unknown operation')
78
+ _, to, dsl = /^([ugoa]*)([-+=].*)$/.match(part).to_a
79
+ if dsl.nil? then raise Puppet::Error, _('Missing action') end
80
+
81
+ to = "a" unless to and to.length > 0
82
+
83
+ # We want a snapshot of the mode before we start messing with it to
84
+ # make actions like 'a-g' atomic. Various parts of the DSL refer to
85
+ # the original mode, the final mode, or the current snapshot of the
86
+ # mode, for added fun.
87
+ snapshot_mode = {}
88
+ final_mode.each { |k, v| snapshot_mode[k] = v }
89
+
90
+ to.gsub('a', 'ugo').split('').uniq.each do |who|
91
+ value = snapshot_mode[who]
92
+
93
+ action = '!'
94
+ actions = {
95
+ '!' => ->(_, _) { raise Puppet::Error, _('Missing operation (-, =, or +)') },
96
+ '=' => ->(m, v) { m | v },
97
+ '+' => ->(m, v) { m | v },
98
+ '-' => ->(m, v) { m & ~v },
99
+ }
100
+
101
+ dsl.split('').each do |op|
102
+ case op
103
+ when /[-+=]/
104
+ action = op
105
+ # Clear all bits, if this is assignment
106
+ value = 0 if op == '='
107
+
108
+ when /[ugo]/
109
+ value = actions[action].call(value, snapshot_mode[op])
110
+
111
+ when /[rwx]/
112
+ value = actions[action].call(value, SymbolicMode[op])
113
+
114
+ when 'X'
115
+ # Only meaningful in combination with "set" actions.
116
+ if action != '+'
117
+ raise Puppet::Error, _("X only works with the '+' operator")
134
118
  end
135
- end
136
119
 
137
- # Now, assign back the value.
138
- final_mode[who] = value
139
- end
140
- rescue Puppet::Error => e
141
- if part.inspect != modification.inspect
142
- rest = " at #{part.inspect}"
143
- else
144
- rest = ''
120
+ # As per the BSD manual page, set if this is a directory, or if
121
+ # any execute bit is set on the original (unmodified) mode.
122
+ # Ignored otherwise; it is "add if", not "add or clear".
123
+ if is_a_directory or original_mode['any x?']
124
+ value = actions[action].call(value, ExecBit)
125
+ end
126
+
127
+ when /[st]/
128
+ bit = SymbolicSpecialToBit[op][who] or fail _("internal error")
129
+ final_mode['s'] = actions[action].call(final_mode['s'], bit)
130
+
131
+ else
132
+ raise Puppet::Error, _('Unknown operation')
133
+ end
145
134
  end
146
135
 
147
- raise Puppet::Error, _("%{error}%{rest} in symbolic mode %{modification}") % { error: e, rest: rest, modification: modification.inspect }, e.backtrace
136
+ # Now, assign back the value.
137
+ final_mode[who] = value
148
138
  end
139
+ rescue Puppet::Error => e
140
+ if part.inspect != modification.inspect
141
+ rest = " at #{part.inspect}"
142
+ else
143
+ rest = ''
144
+ end
145
+
146
+ raise Puppet::Error, _("%{error}%{rest} in symbolic mode %{modification}") % { error: e, rest: rest, modification: modification.inspect }, e.backtrace
149
147
  end
150
148
 
151
- result =
152
- final_mode['s'] << 9 |
149
+ final_mode['s'] << 9 |
153
150
  final_mode['u'] << 6 |
154
151
  final_mode['g'] << 3 |
155
152
  final_mode['o'] << 0
156
- return result
157
153
  end
158
154
  end
159
155
  end
@@ -7,7 +7,7 @@ class Puppet::Util::TagSet < Set
7
7
  include Puppet::Network::FormatSupport
8
8
 
9
9
  def self.from_yaml(yaml)
10
- self.new(Puppet::Util::Yaml.safe_load(yaml, [Symbol]))
10
+ new(Puppet::Util::Yaml.safe_load(yaml, [Symbol]))
11
11
  end
12
12
 
13
13
  def to_yaml
@@ -15,7 +15,7 @@ class Puppet::Util::TagSet < Set
15
15
  end
16
16
 
17
17
  def self.from_data_hash(data)
18
- self.new(data)
18
+ new(data)
19
19
  end
20
20
 
21
21
  # TODO: A method named #to_data_hash should not return an array
@@ -71,7 +71,7 @@ module Puppet::Util::Tagging
71
71
  # @return [Boolean] true if this instance is tagged with at least one of the provided tags
72
72
  #
73
73
  def raw_tagged?(tag_array)
74
- my_tags = self.tags
74
+ my_tags = tags
75
75
  !tag_array.index { |t| my_tags.include?(t) }.nil?
76
76
  end
77
77
 
@@ -109,16 +109,14 @@ module Puppet::Util::Tagging
109
109
  end
110
110
 
111
111
  def valid_tag?(maybe_tag)
112
- begin
113
- tag_enc = maybe_tag.encoding
114
- if tag_enc == Encoding::UTF_8 || tag_enc == Encoding::ASCII
115
- maybe_tag =~ ValidTagRegex
116
- else
117
- maybe_tag.encode(Encoding::UTF_8) =~ ValidTagRegex
118
- end
119
- rescue Encoding::UndefinedConversionError, Encoding::InvalidByteSequenceError
120
- false
112
+ tag_enc = maybe_tag.encoding
113
+ if tag_enc == Encoding::UTF_8 || tag_enc == Encoding::ASCII
114
+ maybe_tag =~ ValidTagRegex
115
+ else
116
+ maybe_tag.encode(Encoding::UTF_8) =~ ValidTagRegex
121
117
  end
118
+ rescue Encoding::UndefinedConversionError, Encoding::InvalidByteSequenceError
119
+ false
122
120
  end
123
121
 
124
122
  private
@@ -8,11 +8,11 @@ module Puppet::Util::Terminal
8
8
  # @return [Number] The column width of the terminal. Defaults to 80 columns.
9
9
  def self.width
10
10
  if Puppet.features.posix?
11
- result = %x{stty size 2>/dev/null}.split[1] ||
12
- %x{tput cols 2>/dev/null}.split[0]
11
+ result = %x(stty size 2>/dev/null).split[1] ||
12
+ %x(tput cols 2>/dev/null).split[0]
13
13
  end
14
- return (result || '80').to_i
14
+ (result || '80').to_i
15
15
  rescue
16
- return 80
16
+ 80
17
17
  end
18
18
  end
@@ -9,14 +9,14 @@ class UserAttr
9
9
 
10
10
  token = line.split(':')
11
11
 
12
- if token[0] == name
13
- attributes = { :name => name }
14
- token[4].split(';').each do |attr|
15
- key_value = attr.split('=')
16
- attributes[key_value[0].intern] = key_value[1].strip
17
- end
18
- break
12
+ next unless token[0] == name
13
+
14
+ attributes = { :name => name }
15
+ token[4].split(';').each do |attr|
16
+ key_value = attr.split('=')
17
+ attributes[key_value[0].intern] = key_value[1].strip
19
18
  end
19
+ break
20
20
  end
21
21
  attributes
22
22
  end
@@ -8,11 +8,9 @@ module Puppet::Util::Watcher
8
8
  module Common
9
9
  def self.file_ctime_change_watcher(filename)
10
10
  Puppet::Util::Watcher::ChangeWatcher.watch(lambda do
11
- begin
12
- Puppet::FileSystem.stat(filename).ctime
13
- rescue Errno::ENOENT, Errno::ENOTDIR
14
- :absent
15
- end
11
+ Puppet::FileSystem.stat(filename).ctime
12
+ rescue Errno::ENOENT, Errno::ENOTDIR
13
+ :absent
16
14
  end)
17
15
  end
18
16
  end
@@ -109,7 +109,7 @@ class Puppet::Util::Windows::AccessControlList
109
109
 
110
110
  def ==(other)
111
111
  self.class == other.class &&
112
- self.to_a == other.to_a
112
+ to_a == other.to_a
113
113
  end
114
114
 
115
115
  alias eql? ==
@@ -24,19 +24,15 @@ module Puppet::Util::Windows::ADSI
24
24
  extend FFI::Library
25
25
 
26
26
  def connectable?(uri)
27
- begin
28
- !!connect(uri)
29
- rescue
30
- false
31
- end
27
+ !!connect(uri)
28
+ rescue
29
+ false
32
30
  end
33
31
 
34
32
  def connect(uri)
35
- begin
36
- WIN32OLE.connect(uri)
37
- rescue WIN32OLERuntimeError => e
38
- raise Puppet::Error.new(_("ADSI connection error: %{e}") % { e: e }, e)
39
- end
33
+ WIN32OLE.connect(uri)
34
+ rescue WIN32OLERuntimeError => e
35
+ raise Puppet::Error.new(_("ADSI connection error: %{e}") % { e: e }, e)
40
36
  end
41
37
 
42
38
  def create(name, resource_type)
@@ -58,7 +54,7 @@ module Puppet::Util::Windows::ADSI
58
54
  buffer_size.write_dword(max_length) # length in TCHARs
59
55
 
60
56
  if GetComputerNameW(buffer, buffer_size) == FFI::WIN32_FALSE
61
- raise Puppet::Util::Windows::Error.new(_("Failed to get computer name"))
57
+ raise Puppet::Util::Windows::Error, _("Failed to get computer name")
62
58
  end
63
59
 
64
60
  @computer_name = buffer.read_wide_string(buffer_size.read_dword)
@@ -97,7 +93,7 @@ module Puppet::Util::Windows::ADSI
97
93
  # used for IAdsGroup::Add / IAdsGroup::Remove. These URIs are not useable
98
94
  # to resolve an account with WIN32OLE.connect
99
95
  def sid_uri(sid)
100
- raise Puppet::Error.new(_("Must use a valid SID::Principal")) if !sid.is_a?(Puppet::Util::Windows::SID::Principal)
96
+ raise Puppet::Error, _("Must use a valid SID::Principal") unless sid.is_a?(Puppet::Util::Windows::SID::Principal)
101
97
 
102
98
  "WinNT://#{sid.sid}"
103
99
  end
@@ -161,15 +157,15 @@ module Puppet::Util::Windows::ADSI
161
157
  end
162
158
 
163
159
  def parse_name(name)
164
- if name =~ /\//
165
- raise Puppet::Error.new(_("Value must be in DOMAIN\\%{object_class} style syntax") % { object_class: @object_class })
160
+ if name =~ %r{/}
161
+ raise Puppet::Error, _("Value must be in DOMAIN\\%{object_class} style syntax") % { object_class: @object_class }
166
162
  end
167
163
 
168
164
  matches = name.scan(/((.*)\\)?(.*)/)
169
165
  domain = matches[0][1] || '.'
170
166
  account = matches[0][2]
171
167
 
172
- return account, domain
168
+ [account, domain]
173
169
  end
174
170
 
175
171
  # returns Puppet::Util::Windows::SID::Principal[]
@@ -195,7 +191,7 @@ module Puppet::Util::Windows::ADSI
195
191
 
196
192
  sids = names.map do |name|
197
193
  sid = Puppet::Util::Windows::SID.name_to_principal(name, allow_unresolved)
198
- raise Puppet::Error.new(_("Could not resolve name: %{name}") % { name: name }) if !sid
194
+ raise Puppet::Error, _("Could not resolve name: %{name}") % { name: name } unless sid
199
195
 
200
196
  [sid.sid, sid]
201
197
  end
@@ -292,9 +288,7 @@ module Puppet::Util::Windows::ADSI
292
288
  rescue WIN32OLERuntimeError => e
293
289
  # ERROR_BAD_USERNAME 2202L from winerror.h
294
290
  if e.message =~ /8007089A/m
295
- raise Puppet::Error.new(
296
- _("Puppet is not able to create/delete domain %{object_class} objects with the %{object_class} resource.") % { object_class: object_class },
297
- )
291
+ raise Puppet::Error, _("Puppet is not able to create/delete domain %{object_class} objects with the %{object_class} resource.") % { object_class: object_class }
298
292
  end
299
293
 
300
294
  raise Puppet::Error.new(_("%{object_class} update failed: %{error}") % { object_class: object_class.capitalize, error: e }, e)
@@ -323,7 +317,7 @@ module Puppet::Util::Windows::ADSI
323
317
 
324
318
  def create(name)
325
319
  # Windows error 1379: The specified local group already exists.
326
- raise Puppet::Error.new(_("Cannot create user if group '%{name}' exists.") % { name: name }) if Puppet::Util::Windows::ADSI::Group.exists? name
320
+ raise Puppet::Error, _("Cannot create user if group '%{name}' exists.") % { name: name } if Puppet::Util::Windows::ADSI::Group.exists? name
327
321
 
328
322
  new(name, Puppet::Util::Windows::ADSI.create(name, @object_class))
329
323
  end
@@ -334,7 +328,11 @@ module Puppet::Util::Windows::ADSI
334
328
  end
335
329
 
336
330
  def add_flag(flag_name, value)
337
- flag = native_object.Get(flag_name) rescue 0
331
+ flag = begin
332
+ native_object.Get(flag_name)
333
+ rescue
334
+ 0
335
+ end
338
336
 
339
337
  native_object.Put(flag_name, flag | value)
340
338
 
@@ -342,7 +340,7 @@ module Puppet::Util::Windows::ADSI
342
340
  end
343
341
 
344
342
  def password=(password)
345
- if !password.nil?
343
+ unless password.nil?
346
344
  native_object.SetPassword(password)
347
345
  commit
348
346
  end
@@ -356,7 +354,11 @@ module Puppet::Util::Windows::ADSI
356
354
  # WIN32OLE objects aren't enumerable, so no map
357
355
  groups = []
358
356
  # Setting WIN32OLE.codepage ensures values are returned as UTF-8
359
- native_object.Groups.each { |g| groups << g.Name } rescue nil
357
+ begin
358
+ native_object.Groups.each { |g| groups << g.Name }
359
+ rescue
360
+ nil
361
+ end
360
362
  groups
361
363
  end
362
364
 
@@ -375,12 +377,12 @@ module Puppet::Util::Windows::ADSI
375
377
  alias remove_from_group remove_from_groups
376
378
 
377
379
  def add_group_sids(*sids)
378
- group_names = sids.map { |s| s.domain_account }
380
+ group_names = sids.map(&:domain_account)
379
381
  add_to_groups(*group_names)
380
382
  end
381
383
 
382
384
  def remove_group_sids(*sids)
383
- group_names = sids.map { |s| s.domain_account }
385
+ group_names = sids.map(&:domain_account)
384
386
  remove_from_groups(*group_names)
385
387
  end
386
388
 
@@ -397,18 +399,18 @@ module Puppet::Util::Windows::ADSI
397
399
 
398
400
  desired_groups = desired_groups.split(',').map(&:strip)
399
401
 
400
- current_hash = self.group_sids.to_h { |sid| [sid.sid, sid] }
402
+ current_hash = group_sids.to_h { |sid| [sid.sid, sid] }
401
403
  desired_hash = self.class.name_sid_hash(desired_groups)
402
404
 
403
405
  # First we add the user to all the groups it should be in but isn't
404
- if !desired_groups.empty?
406
+ unless desired_groups.empty?
405
407
  groups_to_add = (desired_hash.keys - current_hash.keys).map { |sid| desired_hash[sid] }
406
408
  add_group_sids(*groups_to_add)
407
409
  end
408
410
 
409
411
  # Then we remove the user from all groups it is in but shouldn't be, if
410
412
  # that's been requested
411
- if !minimum
413
+ unless minimum
412
414
  if desired_hash.empty?
413
415
  groups_to_remove = current_hash.values
414
416
  else
@@ -508,7 +510,7 @@ module Puppet::Util::Windows::ADSI
508
510
  buffer_size.write_dword(max_length) # length in TCHARs
509
511
 
510
512
  if GetUserNameW(buffer, buffer_size) == FFI::WIN32_FALSE
511
- raise Puppet::Util::Windows::Error.new(_("Failed to get user name"))
513
+ raise Puppet::Util::Windows::Error, _("Failed to get user name")
512
514
  end
513
515
 
514
516
  # buffer_size includes trailing NULL
@@ -583,17 +585,15 @@ module Puppet::Util::Windows::ADSI
583
585
 
584
586
  class UserProfile
585
587
  def self.delete(sid)
586
- begin
587
- Puppet::Util::Windows::ADSI.wmi_connection.Delete("Win32_UserProfile.SID='#{sid}'")
588
- rescue WIN32OLERuntimeError => e
589
- # https://social.technet.microsoft.com/Forums/en/ITCG/thread/0f190051-ac96-4bf1-a47f-6b864bfacee5
590
- # Prior to Vista SP1, there's no built-in way to programmatically
591
- # delete user profiles (except for delprof.exe). So try to delete
592
- # but warn if we fail
593
- raise e unless e.message.include?('80041010')
588
+ Puppet::Util::Windows::ADSI.wmi_connection.Delete("Win32_UserProfile.SID='#{sid}'")
589
+ rescue WIN32OLERuntimeError => e
590
+ # https://social.technet.microsoft.com/Forums/en/ITCG/thread/0f190051-ac96-4bf1-a47f-6b864bfacee5
591
+ # Prior to Vista SP1, there's no built-in way to programmatically
592
+ # delete user profiles (except for delprof.exe). So try to delete
593
+ # but warn if we fail
594
+ raise e unless e.message.include?('80041010')
594
595
 
595
- Puppet.warning _("Cannot delete user profile for '%{sid}' prior to Vista SP1") % { sid: sid }
596
- end
596
+ Puppet.warning _("Cannot delete user profile for '%{sid}' prior to Vista SP1") % { sid: sid }
597
597
  end
598
598
  end
599
599
 
@@ -609,7 +609,7 @@ module Puppet::Util::Windows::ADSI
609
609
 
610
610
  def create(name)
611
611
  # Windows error 2224: The account already exists.
612
- raise Puppet::Error.new(_("Cannot create group if user '%{name}' exists.") % { name: name }) if Puppet::Util::Windows::ADSI::User.exists?(name)
612
+ raise Puppet::Error, _("Cannot create group if user '%{name}' exists.") % { name: name } if Puppet::Util::Windows::ADSI::User.exists?(name)
613
613
 
614
614
  new(name, Puppet::Util::Windows::ADSI.create(name, @object_class))
615
615
  end
@@ -638,11 +638,11 @@ module Puppet::Util::Windows::ADSI
638
638
  def set_members(desired_members, inclusive = true)
639
639
  return if desired_members.nil?
640
640
 
641
- current_hash = self.member_sids.to_h { |sid| [sid.sid, sid] }
641
+ current_hash = member_sids.to_h { |sid| [sid.sid, sid] }
642
642
  desired_hash = self.class.name_sid_hash(desired_members)
643
643
 
644
644
  # First we add all missing members
645
- if !desired_hash.empty?
645
+ unless desired_hash.empty?
646
646
  members_to_add = (desired_hash.keys - current_hash.keys).map { |sid| desired_hash[sid] }
647
647
  add_member_sids(*members_to_add)
648
648
  end