puppet 6.20.0-x64-mingw32 → 7.0.0-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of puppet might be problematic. Click here for more details.

Files changed (484) hide show
  1. checksums.yaml +4 -4
  2. data/CODEOWNERS +16 -2
  3. data/Gemfile +0 -2
  4. data/Gemfile.lock +18 -24
  5. data/README.md +1 -1
  6. data/conf/fileserver.conf +5 -10
  7. data/ext/build_defaults.yaml +1 -1
  8. data/ext/osx/file_mapping.yaml +0 -5
  9. data/ext/project_data.yaml +1 -14
  10. data/ext/redhat/puppet.spec.erb +0 -1
  11. data/ext/windows/service/daemon.rb +6 -5
  12. data/install.rb +21 -17
  13. data/lib/puppet.rb +11 -20
  14. data/lib/puppet/application.rb +178 -108
  15. data/lib/puppet/application/agent.rb +0 -1
  16. data/lib/puppet/application/apply.rb +2 -3
  17. data/lib/puppet/application/device.rb +100 -105
  18. data/lib/puppet/application/filebucket.rb +13 -9
  19. data/lib/puppet/application/script.rb +0 -1
  20. data/lib/puppet/application/ssl.rb +1 -1
  21. data/lib/puppet/application_support.rb +0 -7
  22. data/lib/puppet/configurer.rb +30 -45
  23. data/lib/puppet/configurer/plugin_handler.rb +21 -19
  24. data/lib/puppet/defaults.rb +97 -167
  25. data/lib/puppet/environments.rb +59 -58
  26. data/lib/puppet/face/facts.rb +51 -51
  27. data/lib/puppet/face/help.rb +1 -1
  28. data/lib/puppet/face/plugin.rb +5 -8
  29. data/lib/puppet/ffi/windows.rb +12 -0
  30. data/lib/puppet/ffi/windows/api_types.rb +311 -0
  31. data/lib/puppet/ffi/windows/constants.rb +404 -0
  32. data/lib/puppet/ffi/windows/functions.rb +628 -0
  33. data/lib/puppet/ffi/windows/structs.rb +338 -0
  34. data/lib/puppet/file_serving/configuration.rb +0 -5
  35. data/lib/puppet/file_serving/configuration/parser.rb +3 -32
  36. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  37. data/lib/puppet/file_serving/mount.rb +1 -2
  38. data/lib/puppet/forge/repository.rb +0 -1
  39. data/lib/puppet/generate/models/type/type.rb +4 -1
  40. data/lib/puppet/http.rb +22 -13
  41. data/lib/puppet/http/client.rb +164 -114
  42. data/lib/puppet/{network/resolver.rb → http/dns.rb} +2 -2
  43. data/lib/puppet/http/errors.rb +16 -0
  44. data/lib/puppet/http/external_client.rb +5 -7
  45. data/lib/puppet/{network/http → http}/factory.rb +8 -11
  46. data/lib/puppet/{network/http → http}/pool.rb +61 -26
  47. data/lib/puppet/{network/http/session.rb → http/pool_entry.rb} +2 -3
  48. data/lib/puppet/http/proxy.rb +137 -0
  49. data/lib/puppet/http/redirector.rb +4 -12
  50. data/lib/puppet/http/resolver.rb +5 -15
  51. data/lib/puppet/http/resolver/server_list.rb +6 -10
  52. data/lib/puppet/http/resolver/settings.rb +4 -7
  53. data/lib/puppet/http/resolver/srv.rb +7 -11
  54. data/lib/puppet/http/response.rb +36 -54
  55. data/lib/puppet/http/response_converter.rb +24 -0
  56. data/lib/puppet/http/response_net_http.rb +42 -0
  57. data/lib/puppet/http/retry_after_handler.rb +4 -13
  58. data/lib/puppet/http/service.rb +12 -26
  59. data/lib/puppet/http/service/ca.rb +11 -22
  60. data/lib/puppet/http/service/compiler.rb +22 -69
  61. data/lib/puppet/http/service/file_server.rb +18 -27
  62. data/lib/puppet/http/service/puppetserver.rb +26 -12
  63. data/lib/puppet/http/service/report.rb +8 -10
  64. data/lib/puppet/http/session.rb +11 -20
  65. data/lib/puppet/{network/http → http}/site.rb +1 -2
  66. data/lib/puppet/indirector/catalog/rest.rb +2 -4
  67. data/lib/puppet/indirector/facts/facter.rb +24 -3
  68. data/lib/puppet/indirector/facts/rest.rb +3 -22
  69. data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -9
  70. data/lib/puppet/indirector/file_content/rest.rb +2 -6
  71. data/lib/puppet/indirector/file_metadata/rest.rb +3 -9
  72. data/lib/puppet/indirector/file_server.rb +1 -8
  73. data/lib/puppet/indirector/generic_http.rb +0 -11
  74. data/lib/puppet/indirector/node/rest.rb +2 -4
  75. data/lib/puppet/indirector/report/rest.rb +3 -8
  76. data/lib/puppet/indirector/request.rb +0 -101
  77. data/lib/puppet/indirector/rest.rb +12 -263
  78. data/lib/puppet/module_tool/applications.rb +0 -1
  79. data/lib/puppet/module_tool/applications/installer.rb +2 -48
  80. data/lib/puppet/module_tool/errors/shared.rb +2 -17
  81. data/lib/puppet/network/authconfig.rb +2 -96
  82. data/lib/puppet/network/authorization.rb +13 -35
  83. data/lib/puppet/network/http.rb +3 -3
  84. data/lib/puppet/network/http/api/indirected_routes.rb +2 -20
  85. data/lib/puppet/network/http/api/master/v3.rb +11 -13
  86. data/lib/puppet/network/http/connection.rb +247 -316
  87. data/lib/puppet/network/http/handler.rb +0 -1
  88. data/lib/puppet/network/http_pool.rb +16 -34
  89. data/lib/puppet/node.rb +1 -30
  90. data/lib/puppet/pal/json_catalog_encoder.rb +4 -0
  91. data/lib/puppet/pal/pal_impl.rb +3 -1
  92. data/lib/puppet/parser/ast/leaf.rb +2 -3
  93. data/lib/puppet/parser/ast/pops_bridge.rb +0 -38
  94. data/lib/puppet/parser/compiler.rb +0 -198
  95. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +14 -39
  96. data/lib/puppet/parser/resource.rb +0 -69
  97. data/lib/puppet/parser/templatewrapper.rb +1 -1
  98. data/lib/puppet/pops/evaluator/deferred_resolver.rb +3 -5
  99. data/lib/puppet/pops/evaluator/evaluator_impl.rb +0 -5
  100. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +3 -3
  101. data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
  102. data/lib/puppet/pops/issues.rb +0 -5
  103. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +6 -8
  104. data/lib/puppet/pops/model/ast.pp +0 -42
  105. data/lib/puppet/pops/model/ast.rb +0 -290
  106. data/lib/puppet/pops/model/ast_transformer.rb +1 -1
  107. data/lib/puppet/pops/model/factory.rb +0 -45
  108. data/lib/puppet/pops/model/model_label_provider.rb +0 -5
  109. data/lib/puppet/pops/model/model_tree_dumper.rb +0 -22
  110. data/lib/puppet/pops/model/pn_transformer.rb +0 -16
  111. data/lib/puppet/pops/parser/egrammar.ra +0 -56
  112. data/lib/puppet/pops/parser/eparser.rb +1520 -1712
  113. data/lib/puppet/pops/parser/lexer2.rb +4 -4
  114. data/lib/puppet/pops/parser/parser_support.rb +0 -5
  115. data/lib/puppet/pops/resource/resource_type_impl.rb +2 -24
  116. data/lib/puppet/pops/types/type_calculator.rb +0 -7
  117. data/lib/puppet/pops/types/type_parser.rb +0 -4
  118. data/lib/puppet/pops/types/types.rb +0 -1
  119. data/lib/puppet/pops/validation/checker4_0.rb +9 -37
  120. data/lib/puppet/pops/validation/tasks_checker.rb +0 -12
  121. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -2
  122. data/lib/puppet/provider.rb +0 -13
  123. data/lib/puppet/provider/nameservice.rb +0 -18
  124. data/lib/puppet/provider/package/apt.rb +0 -4
  125. data/lib/puppet/provider/package/dpkg.rb +0 -10
  126. data/lib/puppet/provider/package/gem.rb +23 -3
  127. data/lib/puppet/provider/package/pip.rb +0 -1
  128. data/lib/puppet/provider/package/pkg.rb +0 -4
  129. data/lib/puppet/provider/package/portage.rb +1 -1
  130. data/lib/puppet/provider/package/puppet_gem.rb +1 -4
  131. data/lib/puppet/provider/service/smf.rb +191 -73
  132. data/lib/puppet/provider/user/aix.rb +2 -2
  133. data/lib/puppet/provider/user/directoryservice.rb +0 -10
  134. data/lib/puppet/reference/configuration.rb +7 -6
  135. data/lib/puppet/reference/indirection.rb +1 -1
  136. data/lib/puppet/resource.rb +1 -89
  137. data/lib/puppet/resource/catalog.rb +1 -14
  138. data/lib/puppet/resource/type.rb +3 -119
  139. data/lib/puppet/resource/type_collection.rb +3 -48
  140. data/lib/puppet/runtime.rb +1 -2
  141. data/lib/puppet/settings.rb +73 -66
  142. data/lib/puppet/settings/integer_setting.rb +17 -0
  143. data/lib/puppet/settings/port_setting.rb +15 -0
  144. data/lib/puppet/settings/priority_setting.rb +5 -4
  145. data/lib/puppet/ssl.rb +10 -6
  146. data/lib/puppet/ssl/base.rb +3 -5
  147. data/lib/puppet/ssl/certificate.rb +0 -6
  148. data/lib/puppet/ssl/certificate_request.rb +1 -12
  149. data/lib/puppet/ssl/certificate_signer.rb +6 -0
  150. data/lib/puppet/ssl/oids.rb +3 -1
  151. data/lib/puppet/ssl/ssl_provider.rb +17 -0
  152. data/lib/puppet/ssl/state_machine.rb +3 -1
  153. data/lib/puppet/ssl/verifier.rb +2 -0
  154. data/lib/puppet/test/test_helper.rb +1 -3
  155. data/lib/puppet/transaction.rb +1 -7
  156. data/lib/puppet/transaction/report.rb +2 -4
  157. data/lib/puppet/type.rb +0 -76
  158. data/lib/puppet/type/file.rb +5 -7
  159. data/lib/puppet/type/file/checksum.rb +1 -1
  160. data/lib/puppet/type/file/source.rb +1 -1
  161. data/lib/puppet/type/filebucket.rb +3 -3
  162. data/lib/puppet/type/package.rb +5 -13
  163. data/lib/puppet/util/autoload.rb +8 -1
  164. data/lib/puppet/util/execution.rb +0 -11
  165. data/lib/puppet/util/http_proxy.rb +2 -215
  166. data/lib/puppet/util/monkey_patches.rb +0 -46
  167. data/lib/puppet/util/posix.rb +5 -54
  168. data/lib/puppet/util/rdoc.rb +0 -7
  169. data/lib/puppet/util/retry_action.rb +1 -1
  170. data/lib/puppet/util/run_mode.rb +9 -1
  171. data/lib/puppet/util/windows.rb +3 -8
  172. data/lib/puppet/util/windows/daemon.rb +360 -0
  173. data/lib/puppet/util/windows/error.rb +1 -0
  174. data/lib/puppet/util/windows/eventlog.rb +4 -9
  175. data/lib/puppet/util/windows/file.rb +8 -242
  176. data/lib/puppet/util/windows/monkey_patches/process.rb +414 -0
  177. data/lib/puppet/util/windows/process.rb +4 -226
  178. data/lib/puppet/util/windows/service.rb +9 -460
  179. data/lib/puppet/util/windows/string.rb +12 -13
  180. data/lib/puppet/util/yaml.rb +0 -22
  181. data/lib/puppet/vendor/require_vendored.rb +0 -1
  182. data/lib/puppet/version.rb +1 -1
  183. data/lib/puppet/x509.rb +5 -1
  184. data/lib/puppet/x509/cert_provider.rb +29 -1
  185. data/locales/puppet.pot +587 -1312
  186. data/man/man5/puppet.conf.5 +39 -99
  187. data/man/man8/puppet-agent.8 +2 -2
  188. data/man/man8/puppet-apply.8 +2 -2
  189. data/man/man8/puppet-catalog.8 +1 -1
  190. data/man/man8/puppet-config.8 +1 -1
  191. data/man/man8/puppet-describe.8 +1 -1
  192. data/man/man8/puppet-device.8 +2 -2
  193. data/man/man8/puppet-doc.8 +1 -1
  194. data/man/man8/puppet-epp.8 +1 -1
  195. data/man/man8/puppet-facts.8 +51 -36
  196. data/man/man8/puppet-filebucket.8 +4 -4
  197. data/man/man8/puppet-generate.8 +1 -1
  198. data/man/man8/puppet-help.8 +1 -1
  199. data/man/man8/puppet-lookup.8 +1 -1
  200. data/man/man8/puppet-module.8 +1 -58
  201. data/man/man8/puppet-node.8 +1 -1
  202. data/man/man8/puppet-parser.8 +1 -1
  203. data/man/man8/puppet-plugin.8 +1 -1
  204. data/man/man8/puppet-report.8 +1 -1
  205. data/man/man8/puppet-resource.8 +1 -1
  206. data/man/man8/puppet-script.8 +2 -2
  207. data/man/man8/puppet-ssl.8 +1 -1
  208. data/man/man8/puppet.8 +2 -2
  209. data/spec/fixtures/unit/provider/service/smf/{svcs.out → svcs_instances.out} +0 -0
  210. data/spec/fixtures/unit/provider/user/aix/aix_passwd_file.out +0 -4
  211. data/spec/integration/application/agent_spec.rb +27 -138
  212. data/spec/integration/application/apply_spec.rb +1 -20
  213. data/spec/integration/application/filebucket_spec.rb +16 -16
  214. data/spec/integration/application/help_spec.rb +2 -0
  215. data/spec/integration/application/plugin_spec.rb +23 -1
  216. data/spec/integration/defaults_spec.rb +14 -3
  217. data/spec/integration/network/http_pool_spec.rb +3 -21
  218. data/spec/integration/parser/catalog_spec.rb +0 -38
  219. data/spec/integration/parser/node_spec.rb +0 -9
  220. data/spec/integration/parser/pcore_resource_spec.rb +0 -37
  221. data/spec/integration/resource/type_collection_spec.rb +6 -2
  222. data/spec/integration/transaction_spec.rb +9 -4
  223. data/spec/integration/type/file_spec.rb +5 -4
  224. data/spec/integration/util/windows/adsi_spec.rb +1 -3
  225. data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
  226. data/spec/integration/util/windows/registry_spec.rb +10 -0
  227. data/spec/integration/util/windows/security_spec.rb +1 -1
  228. data/spec/lib/puppet_spec/puppetserver.rb +1 -1
  229. data/spec/lib/puppet_spec/settings.rb +1 -0
  230. data/spec/spec_helper.rb +6 -1
  231. data/spec/unit/agent_spec.rb +6 -10
  232. data/spec/unit/application/agent_spec.rb +1 -0
  233. data/spec/unit/application/facts_spec.rb +35 -0
  234. data/spec/unit/application/filebucket_spec.rb +43 -39
  235. data/spec/unit/application/ssl_spec.rb +2 -2
  236. data/spec/unit/application_spec.rb +9 -51
  237. data/spec/unit/certificate_factory_spec.rb +1 -1
  238. data/spec/unit/configurer/downloader_spec.rb +6 -2
  239. data/spec/unit/configurer/plugin_handler_spec.rb +56 -18
  240. data/spec/unit/configurer_spec.rb +12 -9
  241. data/spec/unit/confine/feature_spec.rb +1 -1
  242. data/spec/unit/confine_spec.rb +2 -8
  243. data/spec/unit/context/trusted_information_spec.rb +2 -6
  244. data/spec/unit/defaults_spec.rb +72 -42
  245. data/spec/unit/environments_spec.rb +19 -99
  246. data/spec/unit/face/facts_spec.rb +4 -0
  247. data/spec/unit/face/node_spec.rb +11 -0
  248. data/spec/unit/face/plugin_spec.rb +73 -33
  249. data/spec/unit/file_bucket/file_spec.rb +1 -1
  250. data/spec/unit/file_serving/configuration/parser_spec.rb +15 -18
  251. data/spec/unit/file_serving/configuration_spec.rb +6 -12
  252. data/spec/unit/file_serving/metadata_spec.rb +3 -3
  253. data/spec/unit/file_serving/terminus_helper_spec.rb +4 -11
  254. data/spec/unit/forge/module_release_spec.rb +7 -2
  255. data/spec/unit/functions/camelcase_spec.rb +1 -1
  256. data/spec/unit/functions/capitalize_spec.rb +1 -1
  257. data/spec/unit/functions/downcase_spec.rb +1 -1
  258. data/spec/unit/functions/upcase_spec.rb +1 -1
  259. data/spec/unit/http/client_spec.rb +7 -8
  260. data/spec/unit/{network/resolver_spec.rb → http/dns_spec.rb} +3 -3
  261. data/spec/unit/http/external_client_spec.rb +4 -4
  262. data/spec/unit/{network/http → http}/factory_spec.rb +5 -11
  263. data/spec/unit/{network/http/session_spec.rb → http/pool_entry_spec.rb} +3 -3
  264. data/spec/unit/{network/http → http}/pool_spec.rb +12 -17
  265. data/spec/unit/{util/http_proxy_spec.rb → http/proxy_spec.rb} +2 -69
  266. data/spec/unit/http/resolver_spec.rb +13 -13
  267. data/spec/unit/http/service/compiler_spec.rb +0 -62
  268. data/spec/unit/http/service/file_server_spec.rb +3 -3
  269. data/spec/unit/http/service/puppetserver_spec.rb +34 -4
  270. data/spec/unit/http/service_spec.rb +0 -1
  271. data/spec/unit/http/session_spec.rb +16 -14
  272. data/spec/unit/{network/http → http}/site_spec.rb +3 -3
  273. data/spec/unit/indirector/face_spec.rb +1 -0
  274. data/spec/unit/indirector/facts/facter_spec.rb +98 -0
  275. data/spec/unit/indirector/file_bucket_file/file_spec.rb +5 -3
  276. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +8 -26
  277. data/spec/unit/indirector/file_content/rest_spec.rb +0 -4
  278. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -4
  279. data/spec/unit/indirector/file_server_spec.rb +1 -15
  280. data/spec/unit/indirector/indirection_spec.rb +12 -8
  281. data/spec/unit/indirector/report/rest_spec.rb +2 -17
  282. data/spec/unit/indirector/request_spec.rb +0 -264
  283. data/spec/unit/indirector/rest_spec.rb +98 -752
  284. data/spec/unit/indirector_spec.rb +2 -2
  285. data/spec/unit/module_tool/applications/installer_spec.rb +0 -66
  286. data/spec/unit/network/authconfig_spec.rb +2 -129
  287. data/spec/unit/network/authorization_spec.rb +2 -55
  288. data/spec/unit/network/formats_spec.rb +4 -4
  289. data/spec/unit/network/http/api/indirected_routes_spec.rb +5 -92
  290. data/spec/unit/network/http/api/master/v3_spec.rb +28 -7
  291. data/spec/unit/network/http/api_spec.rb +10 -0
  292. data/spec/unit/network/http/connection_spec.rb +19 -41
  293. data/spec/unit/network/http/handler_spec.rb +0 -1
  294. data/spec/unit/network/http_pool_spec.rb +0 -4
  295. data/spec/unit/node/environment_spec.rb +33 -21
  296. data/spec/unit/node_spec.rb +2 -54
  297. data/spec/unit/parser/compiler_spec.rb +19 -3
  298. data/spec/unit/parser/functions/create_resources_spec.rb +2 -20
  299. data/spec/unit/parser/resource_spec.rb +8 -14
  300. data/spec/unit/parser/templatewrapper_spec.rb +3 -4
  301. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +4 -7
  302. data/spec/unit/pops/loaders/loaders_spec.rb +6 -21
  303. data/spec/unit/pops/parser/parse_application_spec.rb +4 -22
  304. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
  305. data/spec/unit/pops/parser/parse_capabilities_spec.rb +8 -21
  306. data/spec/unit/pops/parser/parse_site_spec.rb +20 -24
  307. data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -71
  308. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
  309. data/spec/unit/pops/types/type_calculator_spec.rb +6 -6
  310. data/spec/unit/pops/types/type_factory_spec.rb +1 -1
  311. data/spec/unit/pops/validator/validator_spec.rb +61 -46
  312. data/spec/unit/pops/visitor_spec.rb +1 -1
  313. data/spec/unit/property_spec.rb +0 -1
  314. data/spec/unit/provider/nameservice_spec.rb +64 -122
  315. data/spec/unit/provider/package/apt_spec.rb +8 -4
  316. data/spec/unit/provider/package/base_spec.rb +5 -6
  317. data/spec/unit/provider/package/dpkg_spec.rb +0 -48
  318. data/spec/unit/provider/package/gem_spec.rb +32 -0
  319. data/spec/unit/provider/package/pacman_spec.rb +12 -18
  320. data/spec/unit/provider/package/pip_spec.rb +11 -6
  321. data/spec/unit/provider/package/pkgdmg_spec.rb +4 -0
  322. data/spec/unit/provider/package/puppet_gem_spec.rb +3 -2
  323. data/spec/unit/provider/service/smf_spec.rb +401 -165
  324. data/spec/unit/provider/service/windows_spec.rb +0 -1
  325. data/spec/unit/provider/user/aix_spec.rb +0 -5
  326. data/spec/unit/provider/user/hpux_spec.rb +1 -1
  327. data/spec/unit/provider/user/pw_spec.rb +0 -2
  328. data/spec/unit/provider/user/useradd_spec.rb +0 -1
  329. data/spec/unit/provider_spec.rb +8 -18
  330. data/spec/unit/resource/type_collection_spec.rb +2 -22
  331. data/spec/unit/resource/type_spec.rb +1 -1
  332. data/spec/unit/resource_spec.rb +10 -67
  333. data/spec/unit/settings/http_extra_headers_spec.rb +2 -4
  334. data/spec/unit/settings/integer_setting_spec.rb +42 -0
  335. data/spec/unit/settings/port_setting_spec.rb +31 -0
  336. data/spec/unit/settings/priority_setting_spec.rb +4 -4
  337. data/spec/unit/settings_spec.rb +23 -13
  338. data/spec/unit/ssl/base_spec.rb +37 -3
  339. data/spec/unit/ssl/certificate_request_spec.rb +15 -45
  340. data/spec/unit/ssl/certificate_spec.rb +2 -11
  341. data/spec/unit/ssl/ssl_provider_spec.rb +2 -5
  342. data/spec/unit/ssl/state_machine_spec.rb +0 -1
  343. data/spec/unit/ssl/verifier_spec.rb +0 -21
  344. data/spec/unit/transaction/additional_resource_generator_spec.rb +7 -3
  345. data/spec/unit/transaction/event_manager_spec.rb +11 -14
  346. data/spec/unit/transaction/report_spec.rb +0 -2
  347. data/spec/unit/transaction/resource_harness_spec.rb +2 -2
  348. data/spec/unit/transaction_spec.rb +48 -91
  349. data/spec/unit/type/file/checksum_spec.rb +6 -6
  350. data/spec/unit/type/file/content_spec.rb +2 -1
  351. data/spec/unit/type/file/ensure_spec.rb +1 -1
  352. data/spec/unit/type/file/mode_spec.rb +1 -1
  353. data/spec/unit/type/file/selinux_spec.rb +2 -0
  354. data/spec/unit/type/file/source_spec.rb +0 -1
  355. data/spec/unit/type/file_spec.rb +18 -6
  356. data/spec/unit/type/group_spec.rb +6 -13
  357. data/spec/unit/type/package_spec.rb +1 -1
  358. data/spec/unit/type/resources_spec.rb +7 -7
  359. data/spec/unit/type/service_spec.rb +1 -1
  360. data/spec/unit/type/tidy_spec.rb +1 -0
  361. data/spec/unit/type_spec.rb +22 -2
  362. data/spec/unit/util/at_fork_spec.rb +2 -2
  363. data/spec/unit/util/autoload_spec.rb +1 -5
  364. data/spec/unit/util/backups_spec.rb +2 -3
  365. data/spec/unit/util/execution_spec.rb +11 -44
  366. data/spec/unit/util/inifile_spec.rb +14 -6
  367. data/spec/unit/util/log_spec.rb +7 -8
  368. data/spec/unit/util/logging_spec.rb +3 -3
  369. data/spec/unit/util/monkey_patches_spec.rb +0 -6
  370. data/spec/unit/util/posix_spec.rb +15 -363
  371. data/spec/unit/util/run_mode_spec.rb +21 -121
  372. data/spec/unit/util/selinux_spec.rb +52 -76
  373. data/spec/unit/util/storage_spec.rb +1 -3
  374. data/spec/unit/util/suidmanager_spec.rb +41 -44
  375. data/spec/unit/util/windows/string_spec.rb +1 -3
  376. data/spec/unit/util/yaml_spec.rb +0 -54
  377. data/spec/unit/util_spec.rb +6 -31
  378. metadata +40 -233
  379. data/conf/auth.conf +0 -150
  380. data/lib/puppet/application/cert.rb +0 -76
  381. data/lib/puppet/application/key.rb +0 -4
  382. data/lib/puppet/application/man.rb +0 -4
  383. data/lib/puppet/application/status.rb +0 -4
  384. data/lib/puppet/face/key.rb +0 -16
  385. data/lib/puppet/face/man.rb +0 -145
  386. data/lib/puppet/face/module/build.rb +0 -14
  387. data/lib/puppet/face/module/generate.rb +0 -14
  388. data/lib/puppet/face/module/search.rb +0 -103
  389. data/lib/puppet/face/status.rb +0 -51
  390. data/lib/puppet/ffi/posix.rb +0 -10
  391. data/lib/puppet/ffi/posix/constants.rb +0 -14
  392. data/lib/puppet/ffi/posix/functions.rb +0 -24
  393. data/lib/puppet/indirector/certificate/file.rb +0 -9
  394. data/lib/puppet/indirector/certificate/rest.rb +0 -18
  395. data/lib/puppet/indirector/certificate_request/file.rb +0 -9
  396. data/lib/puppet/indirector/certificate_request/memory.rb +0 -7
  397. data/lib/puppet/indirector/certificate_request/rest.rb +0 -11
  398. data/lib/puppet/indirector/file_content/http.rb +0 -22
  399. data/lib/puppet/indirector/key/file.rb +0 -46
  400. data/lib/puppet/indirector/key/memory.rb +0 -7
  401. data/lib/puppet/indirector/ssl_file.rb +0 -162
  402. data/lib/puppet/indirector/status.rb +0 -3
  403. data/lib/puppet/indirector/status/local.rb +0 -12
  404. data/lib/puppet/indirector/status/rest.rb +0 -27
  405. data/lib/puppet/module_tool/applications/searcher.rb +0 -29
  406. data/lib/puppet/network/auth_config_parser.rb +0 -90
  407. data/lib/puppet/network/authstore.rb +0 -283
  408. data/lib/puppet/network/http/api/master/v3/authorization.rb +0 -18
  409. data/lib/puppet/network/http/api/master/v3/environment.rb +0 -88
  410. data/lib/puppet/network/http/base_pool.rb +0 -36
  411. data/lib/puppet/network/http/compression.rb +0 -127
  412. data/lib/puppet/network/http/connection_adapter.rb +0 -184
  413. data/lib/puppet/network/http/nocache_pool.rb +0 -28
  414. data/lib/puppet/network/rest_controller.rb +0 -2
  415. data/lib/puppet/network/rights.rb +0 -210
  416. data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -66
  417. data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -22
  418. data/lib/puppet/parser/environment_compiler.rb +0 -202
  419. data/lib/puppet/pops/types/enumeration.rb +0 -16
  420. data/lib/puppet/resource/capability_finder.rb +0 -154
  421. data/lib/puppet/rest/errors.rb +0 -15
  422. data/lib/puppet/rest/response.rb +0 -35
  423. data/lib/puppet/rest/route.rb +0 -85
  424. data/lib/puppet/rest/routes.rb +0 -135
  425. data/lib/puppet/settings/alias_setting.rb +0 -37
  426. data/lib/puppet/ssl/host.rb +0 -505
  427. data/lib/puppet/ssl/key.rb +0 -61
  428. data/lib/puppet/ssl/validator.rb +0 -61
  429. data/lib/puppet/ssl/validator/default_validator.rb +0 -209
  430. data/lib/puppet/ssl/validator/no_validator.rb +0 -22
  431. data/lib/puppet/ssl/verifier_adapter.rb +0 -58
  432. data/lib/puppet/status.rb +0 -40
  433. data/lib/puppet/util/connection.rb +0 -88
  434. data/lib/puppet/util/fact_dif.rb +0 -62
  435. data/lib/puppet/util/ssl.rb +0 -83
  436. data/lib/puppet/util/windows/api_types.rb +0 -309
  437. data/lib/puppet/util/windows/monkey_patches/dir.rb +0 -40
  438. data/lib/puppet/vendor/load_pathspec.rb +0 -1
  439. data/lib/puppet/vendor/pathspec/CHANGELOG.md +0 -2
  440. data/lib/puppet/vendor/pathspec/LICENSE +0 -201
  441. data/lib/puppet/vendor/pathspec/PUPPET_README.md +0 -6
  442. data/lib/puppet/vendor/pathspec/README.md +0 -53
  443. data/lib/puppet/vendor/pathspec/lib/pathspec.rb +0 -122
  444. data/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +0 -275
  445. data/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +0 -17
  446. data/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +0 -14
  447. data/man/man8/puppet-key.8 +0 -126
  448. data/man/man8/puppet-man.8 +0 -76
  449. data/man/man8/puppet-status.8 +0 -108
  450. data/spec/fixtures/integration/application/agent/cached_deferred_catalog.json +0 -91
  451. data/spec/integration/network/authconfig_spec.rb +0 -256
  452. data/spec/integration/util/windows/monkey_patches/dir_spec.rb +0 -11
  453. data/spec/unit/application/man_spec.rb +0 -52
  454. data/spec/unit/capability_spec.rb +0 -414
  455. data/spec/unit/face/key_spec.rb +0 -9
  456. data/spec/unit/face/module/search_spec.rb +0 -231
  457. data/spec/unit/face/status_spec.rb +0 -9
  458. data/spec/unit/indirector/certificate/file_spec.rb +0 -14
  459. data/spec/unit/indirector/certificate/rest_spec.rb +0 -61
  460. data/spec/unit/indirector/certificate_request/file_spec.rb +0 -14
  461. data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -25
  462. data/spec/unit/indirector/key/file_spec.rb +0 -78
  463. data/spec/unit/indirector/ssl_file_spec.rb +0 -305
  464. data/spec/unit/indirector/status/local_spec.rb +0 -10
  465. data/spec/unit/indirector/status/rest_spec.rb +0 -50
  466. data/spec/unit/module_tool/applications/searcher_spec.rb +0 -38
  467. data/spec/unit/network/auth_config_parser_spec.rb +0 -115
  468. data/spec/unit/network/authstore_spec.rb +0 -422
  469. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +0 -57
  470. data/spec/unit/network/http/api/master/v3/environment_spec.rb +0 -185
  471. data/spec/unit/network/http/compression_spec.rb +0 -240
  472. data/spec/unit/network/http/nocache_pool_spec.rb +0 -64
  473. data/spec/unit/network/http_spec.rb +0 -9
  474. data/spec/unit/network/rights_spec.rb +0 -439
  475. data/spec/unit/parser/environment_compiler_spec.rb +0 -730
  476. data/spec/unit/pops/evaluator/deferred_resolver_spec.rb +0 -20
  477. data/spec/unit/pops/types/enumeration_spec.rb +0 -51
  478. data/spec/unit/resource/capability_finder_spec.rb +0 -148
  479. data/spec/unit/rest/route_spec.rb +0 -132
  480. data/spec/unit/ssl/host_spec.rb +0 -645
  481. data/spec/unit/ssl/key_spec.rb +0 -173
  482. data/spec/unit/ssl/validator_spec.rb +0 -278
  483. data/spec/unit/status_spec.rb +0 -45
  484. data/spec/unit/util/ssl_spec.rb +0 -91
@@ -1,6 +1,5 @@
1
1
  class Puppet::Parser::Compiler
2
- # Validator that asserts that only 'require', 'consume', and 'export' is used when declaring relationships
3
- # to capability resources.
2
+ # Validator that asserts relationship metaparameters refer to valid resources
4
3
  class CatalogValidator::RelationshipValidator < CatalogValidator
5
4
  def validate
6
5
  catalog.resources.each do |resource|
@@ -16,48 +15,24 @@ class Puppet::Parser::Compiler
16
15
 
17
16
  private
18
17
 
19
- # A hash lookup is 6x avg times faster than find among 3 values.
20
- CAPABILITY_ACCEPTED_METAPARAMS = {:require => true, :consume => true, :export => true}.freeze
21
-
22
18
  def validate_relationship(param)
23
- # when relationship is to a capability
24
- if has_capability?(param.value)
25
- unless CAPABILITY_ACCEPTED_METAPARAMS[param.name]
26
- raise CatalogValidationError.new(
27
- _("'%{param}' is not a valid relationship to a capability") % { param: param.name },
28
- param.file, param.line)
19
+ # the referenced resource must exist
20
+ refs = param.value.is_a?(Array) ? param.value.flatten : [param.value]
21
+ refs.each do |r|
22
+ next if r.nil? || r == :undef
23
+ res = r.to_s
24
+ begin
25
+ found = catalog.resource(res)
26
+ rescue ArgumentError => e
27
+ # Raise again but with file and line information
28
+ raise CatalogValidationError.new(e.message, param.file, param.line)
29
29
  end
30
- else
31
- # all other relationships requires the referenced resource to exist
32
- refs = param.value.is_a?(Array) ? param.value.flatten : [param.value]
33
- refs.each do |r|
34
- next if r.nil? || r == :undef
35
- res = r.to_s
36
- begin
37
- found = catalog.resource(res)
38
- rescue ArgumentError => e
39
- # Raise again but with file and line information
40
- raise CatalogValidationError.new(e.message, param.file, param.line)
41
- end
42
- unless found
43
- msg = _("Could not find resource '%{res}' in parameter '%{param}'") % { res: res, param: param.name.to_s }
44
- raise CatalogValidationError.new(msg, param.file, param.line)
45
- end
30
+ unless found
31
+ msg = _("Could not find resource '%{res}' in parameter '%{param}'") % { res: res, param: param.name.to_s }
32
+ raise CatalogValidationError.new(msg, param.file, param.line)
46
33
  end
47
34
  end
48
35
  end
49
-
50
- def has_capability?(value)
51
- case value
52
- when Array
53
- value.find { |v| has_capability?(v) }
54
- when Puppet::Resource
55
- rt = value.resource_type
56
- !rt.nil? && rt.is_capability?
57
- else
58
- false
59
- end
60
- end
61
36
  end
62
37
  end
63
38
 
@@ -150,15 +150,6 @@ class Puppet::Parser::Resource < Puppet::Resource
150
150
  end
151
151
  end
152
152
 
153
- def is_unevaluated_consumer?
154
- # We don't declare a new variable here just to test. Saves memory
155
- instance_variable_defined?(:@unevaluated_consumer)
156
- end
157
-
158
- def mark_unevaluated_consumer
159
- @unevaluated_consumer = true
160
- end
161
-
162
153
  # Merge an override resource in. This will throw exceptions if
163
154
  # any overrides aren't allowed.
164
155
  def merge(resource)
@@ -260,66 +251,6 @@ class Puppet::Parser::Resource < Puppet::Resource
260
251
  super || ((scope_resource = scope.resource) && !scope_resource.equal?(self) && scope_resource.raw_tagged?(tag_array))
261
252
  end
262
253
 
263
- # Fills resource params from a capability
264
- #
265
- # This backs 'consumes => Sql[one]'
266
- # @api private
267
- def add_parameters_from_consume
268
- return if self[:consume].nil?
269
-
270
- map = {}
271
- [ self[:consume] ].flatten.map do |ref|
272
- # Assert that the ref really is a resource reference
273
- raise Puppet::Error, _("Invalid consume in %{value0}: %{ref} is not a resource") % { value0: self.ref, ref: ref } unless ref.is_a?(Puppet::Resource)
274
-
275
- # Resolve references
276
- t = ref.type
277
- t = Puppet::Pops::Evaluator::Runtime3ResourceSupport.find_resource_type(scope, t) unless t == 'class' || t == 'node'
278
- cap = catalog.resource(t, ref.title)
279
- if cap.nil?
280
- raise Puppet::Error, _("Resource %{ref} could not be found; it might not have been produced yet") % { ref: ref }
281
- end
282
-
283
- # Ensure that the found resource is a capability resource
284
- raise Puppet::Error, _("Invalid consume in %{ref}: %{cap} is not a capability resource") % { ref: ref, cap: cap } unless cap.resource_type.is_capability?
285
- cap
286
- end.each do |cns|
287
- # Establish mappings
288
- blueprint = resource_type.consumes.find do |bp|
289
- bp[:capability] == cns.type
290
- end
291
- # @todo lutter 2015-08-03: catch this earlier, can we do this during
292
- # static analysis ?
293
- raise _("Resource %{res} tries to consume %{cns} but no 'consumes' mapping exists for %{resource_type} and %{cns_type}") % { res: self, cns: cns, resource_type: self.resource_type, cns_type: cns.type } unless blueprint
294
-
295
- # setup scope that has, for each attr of cns, a binding to cns[attr]
296
- scope.with_global_scope do |global_scope|
297
- cns_scope = global_scope.newscope(:source => self, :resource => self)
298
- cns.to_hash.each { |name, value| cns_scope[name.to_s] = value }
299
-
300
- # evaluate mappings in that scope
301
- resource_type.arguments.keys.each do |name|
302
- expr = blueprint[:mappings][name]
303
- if expr
304
- # Explicit mapping
305
- value = expr.safeevaluate(cns_scope)
306
- else
307
- value = cns[name]
308
- end
309
- unless value.nil?
310
- # @todo lutter 2015-07-01: this should be caught by the checker
311
- # much earlier. We consume several capres, at least two of which
312
- # want to map to the same parameter (PUP-5080)
313
- raise _("Attempt to reassign attribute '%{name}' in '%{resource}' caused by multiple consumed mappings to the same attribute") % { name: name, resource: self } if map[name]
314
- map[name] = value
315
- end
316
- end
317
- end
318
- end
319
-
320
- map.each { |name, value| self[name] = value if self[name].nil? }
321
- end
322
-
323
254
  def offset
324
255
  nil
325
256
  end
@@ -50,7 +50,7 @@ class Puppet::Parser::TemplateWrapper
50
50
  # @return [Array<String>] The tags defined in the current scope
51
51
  # @api public
52
52
  def tags
53
- raise NotImplementedError, "Call 'all_tags' instead."
53
+ scope.tags
54
54
  end
55
55
 
56
56
  # @return [Array<String>] All the defined tags
@@ -16,12 +16,10 @@ class DeferredResolver
16
16
  #
17
17
  # @param facts [Puppet::Node::Facts] the facts object for the node
18
18
  # @param catalog [Puppet::Resource::Catalog] the catalog where all deferred values should be replaced
19
- # @param environment [Puppet::Node::Environment] the environment whose anonymous module methods
20
- # are to be mixed into the scope
21
19
  # @return [nil] does not return anything - the catalog is modified as a side effect
22
20
  #
23
- def self.resolve_and_replace(facts, catalog, environment = catalog.environment_instance)
24
- compiler = Puppet::Parser::ScriptCompiler.new(environment, catalog.name, true)
21
+ def self.resolve_and_replace(facts, catalog)
22
+ compiler = Puppet::Parser::ScriptCompiler.new(catalog.environment_instance, catalog.name, true)
25
23
  resolver = new(compiler)
26
24
  resolver.set_facts_variable(facts)
27
25
  # TODO:
@@ -110,7 +108,7 @@ class DeferredResolver
110
108
  # If any of the arguments to a future is a future it needs to be resolved first
111
109
  func_name = f.name
112
110
  mapped_arguments = map_arguments(f.arguments)
113
- # if name starts with $ then this is a call to dig
111
+ # if name starts with $ then this is a call to dig
114
112
  if func_name[0] == DOLLAR
115
113
  var_name = func_name[1..-1]
116
114
  func_name = DIG
@@ -1040,11 +1040,6 @@ class EvaluatorImpl
1040
1040
  end
1041
1041
  end
1042
1042
 
1043
- # SubLocatable is simply an expression that holds location information
1044
- def eval_SubLocatedExpression o, scope
1045
- evaluate(o.expr, scope)
1046
- end
1047
-
1048
1043
  # Evaluates Puppet DSL Heredoc
1049
1044
  def eval_HeredocExpression o, scope
1050
1045
  expr = o.text_expr
@@ -19,7 +19,7 @@ module Runtime3ResourceSupport
19
19
  # resolved type is just the string CLASS
20
20
  resolved_type = CLASS_STRING
21
21
  else
22
- # resolve a resource type - pcore based, ruby impl, user defined, or application
22
+ # resolve a resource type - pcore based, ruby impl or user defined
23
23
  resolved_type = find_resource_type(scope, type_name)
24
24
  end
25
25
 
@@ -109,10 +109,10 @@ module Runtime3ResourceSupport
109
109
 
110
110
  def self.find_defined_resource_type(scope, type_name)
111
111
  krt = scope.environment.known_resource_types
112
- krt.find_definition(type_name) || krt.application(type_name)
112
+ krt.find_definition(type_name)
113
113
  end
114
114
  private_class_method :find_defined_resource_type
115
115
 
116
116
  end
117
117
  end
118
- end
118
+ end
@@ -505,7 +505,7 @@ module Runtime3Support
505
505
  # Store config issues, ignore or warning
506
506
  p[Issues::RT_NO_STORECONFIGS_EXPORT] = Puppet[:storeconfigs] ? :ignore : :warning
507
507
  p[Issues::RT_NO_STORECONFIGS] = Puppet[:storeconfigs] ? :ignore : :warning
508
- p[Issues::CLASS_NOT_VIRTUALIZABLE] = Puppet[:strict] == :off ? :warning : Puppet[:strict]
508
+ p[Issues::CLASS_NOT_VIRTUALIZABLE] = :error
509
509
  p[Issues::NUMERIC_COERCION] = Puppet[:strict] == :off ? :ignore : Puppet[:strict]
510
510
  p[Issues::SERIALIZATION_DEFAULT_CONVERTED_TO_STRING] = Puppet[:strict] == :off ? :warning : Puppet[:strict]
511
511
  p[Issues::SERIALIZATION_UNKNOWN_CONVERTED_TO_STRING] = Puppet[:strict] == :off ? :warning : Puppet[:strict]
@@ -920,10 +920,5 @@ module Issues
920
920
  LOADER_FAILURE = issue :LOADER_FAILURE, :type do
921
921
  _('Failed to load: %{type_name}') % { type: type }
922
922
  end
923
-
924
- DEPRECATED_APP_ORCHESTRATION = issue :DEPRECATED_APP_ORCHESTRATION, :klass do
925
- _("Use of the application-orchestration %{expr} is deprecated. See https://puppet.com/docs/puppet/5.5/deprecated_language.html" % { expr: label(klass) })
926
- end
927
-
928
923
  end
929
924
  end
@@ -16,13 +16,11 @@ class Puppet::Pops::Loader::RubyLegacyFunctionInstantiator
16
16
  # @return [Puppet::Pops::Functions.Function] - an instantiated function with global scope closure associated with the given loader
17
17
  #
18
18
  def self.create(loader, typed_name, source_ref, ruby_code_string)
19
- # When func3x turned on, assert content by parsing, when turned off continue with (legacy) undefined behavior
20
- if Puppet[:func3x_check]
21
- assertion_result = []
22
- if assert_code(ruby_code_string, assertion_result)
23
- unless ruby_code_string.is_a?(String) && assertion_result.include?(:found_newfunction)
24
- raise ArgumentError, _("The code loaded from %{source_ref} does not seem to be a Puppet 3x API function - no 'newfunction' call.") % { source_ref: source_ref }
25
- end
19
+ # Assert content of 3x function by parsing
20
+ assertion_result = []
21
+ if assert_code(ruby_code_string, assertion_result)
22
+ unless ruby_code_string.is_a?(String) && assertion_result.include?(:found_newfunction)
23
+ raise ArgumentError, _("The code loaded from %{source_ref} does not seem to be a Puppet 3x API function - no 'newfunction' call.") % { source_ref: source_ref }
26
24
  end
27
25
  end
28
26
 
@@ -91,7 +89,7 @@ class Puppet::Pops::Loader::RubyLegacyFunctionInstantiator
91
89
  when :def, :defs
92
90
  # There should not be any calls to def in a 3x function
93
91
  mname, mline = extract_name_line(find_identity(x))
94
- raise SecurityError, _("Illegal method definition of method '%{method_name}' on line %{line}' in legacy function. See %{url} for more information") % {
92
+ raise SecurityError, _("Illegal method definition of method '%{method_name}' on line %{line} in legacy function. See %{url} for more information") % {
95
93
  method_name: mname,
96
94
  line: mline,
97
95
  url: "https://puppet.com/docs/puppet/latest/functions_refactor_legacy.html"
@@ -276,9 +276,6 @@ type Puppet::AST = TypeSet[{
276
276
  ResourceTypeDefinition => Object[{
277
277
  parent => NamedDefinition
278
278
  }],
279
- Application => Object[{
280
- parent => NamedDefinition
281
- }],
282
279
  QRefDefinition => Object[{
283
280
  parent => Definition,
284
281
  attributes => {
@@ -334,33 +331,6 @@ type Puppet::AST = TypeSet[{
334
331
  }
335
332
  }
336
333
  }],
337
- SiteDefinition => Object[{
338
- parent => Definition,
339
- attributes => {
340
- 'body' => {
341
- type => Optional[Expression],
342
- value => undef
343
- }
344
- }
345
- }],
346
- SubLocatedExpression => Object[{
347
- parent => Expression,
348
- attributes => {
349
- 'expr' => Expression,
350
- 'line_offsets' => {
351
- type => Array[Integer],
352
- value => []
353
- },
354
- 'leading_line_count' => {
355
- type => Optional[Integer],
356
- value => undef
357
- },
358
- 'leading_line_offset' => {
359
- type => Optional[Integer],
360
- value => undef
361
- }
362
- }
363
- }],
364
334
  HeredocExpression => Object[{
365
335
  parent => Expression,
366
336
  attributes => {
@@ -616,18 +586,6 @@ type Puppet::AST = TypeSet[{
616
586
  }
617
587
  }
618
588
  }],
619
- CapabilityMapping => Object[{
620
- parent => Definition,
621
- attributes => {
622
- 'kind' => String,
623
- 'capability' => String,
624
- 'component' => Expression,
625
- 'mappings' => {
626
- type => Array[AbstractAttributeOperation],
627
- value => []
628
- }
629
- }
630
- }],
631
589
  ResourceDefaultsExpression => Object[{
632
590
  parent => AbstractResource,
633
591
  attributes => {
@@ -2055,32 +2055,6 @@ class ResourceTypeDefinition < NamedDefinition
2055
2055
  end
2056
2056
  end
2057
2057
 
2058
- class Application < NamedDefinition
2059
- def self._pcore_type
2060
- @_pcore_type ||= Types::PObjectType.new('Puppet::AST::Application', {
2061
- 'parent' => NamedDefinition._pcore_type
2062
- })
2063
- end
2064
-
2065
- def _pcore_contents
2066
- @parameters.each { |value| yield(value) }
2067
- yield(@body) unless @body.nil?
2068
- end
2069
-
2070
- def _pcore_all_contents(path, &block)
2071
- path << self
2072
- @parameters.each do |value|
2073
- block.call(value, path)
2074
- value._pcore_all_contents(path, &block)
2075
- end
2076
- unless @body.nil?
2077
- block.call(@body, path)
2078
- @body._pcore_all_contents(path, &block)
2079
- end
2080
- path.pop
2081
- end
2082
- end
2083
-
2084
2058
  class QRefDefinition < Definition
2085
2059
  def self._pcore_type
2086
2060
  @_pcore_type ||= Types::PObjectType.new('Puppet::AST::QRefDefinition', {
@@ -2466,171 +2440,6 @@ class NodeDefinition < Definition
2466
2440
  alias == eql?
2467
2441
  end
2468
2442
 
2469
- class SiteDefinition < Definition
2470
- def self._pcore_type
2471
- @_pcore_type ||= Types::PObjectType.new('Puppet::AST::SiteDefinition', {
2472
- 'parent' => Definition._pcore_type,
2473
- 'attributes' => {
2474
- 'body' => {
2475
- 'type' => Types::POptionalType.new(Expression._pcore_type),
2476
- 'value' => nil
2477
- }
2478
- }
2479
- })
2480
- end
2481
-
2482
- def self.from_hash(init_hash)
2483
- from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::SiteDefinition initializer', _pcore_type.init_hash_type, init_hash))
2484
- end
2485
-
2486
- def self.from_asserted_hash(init_hash)
2487
- new(
2488
- init_hash['locator'],
2489
- init_hash['offset'],
2490
- init_hash['length'],
2491
- init_hash['body'])
2492
- end
2493
-
2494
- def self.create(locator, offset, length, body = nil)
2495
- ta = Types::TypeAsserter
2496
- attrs = _pcore_type.attributes(true)
2497
- ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
2498
- ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
2499
- ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
2500
- ta.assert_instance_of('Puppet::AST::SiteDefinition[body]', attrs['body'].type, body)
2501
- new(locator, offset, length, body)
2502
- end
2503
-
2504
- attr_reader :body
2505
-
2506
- def initialize(locator, offset, length, body = nil)
2507
- super(locator, offset, length)
2508
- @hash = @hash ^ body.hash
2509
- @body = body
2510
- end
2511
-
2512
- def _pcore_init_hash
2513
- result = super
2514
- result['body'] = @body unless @body == nil
2515
- result
2516
- end
2517
-
2518
- def _pcore_contents
2519
- yield(@body) unless @body.nil?
2520
- end
2521
-
2522
- def _pcore_all_contents(path, &block)
2523
- path << self
2524
- unless @body.nil?
2525
- block.call(@body, path)
2526
- @body._pcore_all_contents(path, &block)
2527
- end
2528
- path.pop
2529
- end
2530
-
2531
- def eql?(o)
2532
- super &&
2533
- @body.eql?(o.body)
2534
- end
2535
- alias == eql?
2536
- end
2537
-
2538
- class SubLocatedExpression < Expression
2539
- def self._pcore_type
2540
- @_pcore_type ||= Types::PObjectType.new('Puppet::AST::SubLocatedExpression', {
2541
- 'parent' => Expression._pcore_type,
2542
- 'attributes' => {
2543
- 'expr' => Expression._pcore_type,
2544
- 'line_offsets' => {
2545
- 'type' => Types::PArrayType.new(Types::PIntegerType::DEFAULT),
2546
- 'value' => []
2547
- },
2548
- 'leading_line_count' => {
2549
- 'type' => Types::POptionalType.new(Types::PIntegerType::DEFAULT),
2550
- 'value' => nil
2551
- },
2552
- 'leading_line_offset' => {
2553
- 'type' => Types::POptionalType.new(Types::PIntegerType::DEFAULT),
2554
- 'value' => nil
2555
- }
2556
- }
2557
- })
2558
- end
2559
-
2560
- def self.from_hash(init_hash)
2561
- from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::SubLocatedExpression initializer', _pcore_type.init_hash_type, init_hash))
2562
- end
2563
-
2564
- def self.from_asserted_hash(init_hash)
2565
- new(
2566
- init_hash['locator'],
2567
- init_hash['offset'],
2568
- init_hash['length'],
2569
- init_hash['expr'],
2570
- init_hash.fetch('line_offsets') { _pcore_type['line_offsets'].value },
2571
- init_hash['leading_line_count'],
2572
- init_hash['leading_line_offset'])
2573
- end
2574
-
2575
- def self.create(locator, offset, length, expr, line_offsets = _pcore_type['line_offsets'].value, leading_line_count = nil, leading_line_offset = nil)
2576
- ta = Types::TypeAsserter
2577
- attrs = _pcore_type.attributes(true)
2578
- ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
2579
- ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
2580
- ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
2581
- ta.assert_instance_of('Puppet::AST::SubLocatedExpression[expr]', attrs['expr'].type, expr)
2582
- ta.assert_instance_of('Puppet::AST::SubLocatedExpression[line_offsets]', attrs['line_offsets'].type, line_offsets)
2583
- ta.assert_instance_of('Puppet::AST::SubLocatedExpression[leading_line_count]', attrs['leading_line_count'].type, leading_line_count)
2584
- ta.assert_instance_of('Puppet::AST::SubLocatedExpression[leading_line_offset]', attrs['leading_line_offset'].type, leading_line_offset)
2585
- new(locator, offset, length, expr, line_offsets, leading_line_count, leading_line_offset)
2586
- end
2587
-
2588
- attr_reader :expr
2589
- attr_reader :line_offsets
2590
- attr_reader :leading_line_count
2591
- attr_reader :leading_line_offset
2592
-
2593
- def initialize(locator, offset, length, expr, line_offsets = _pcore_type['line_offsets'].value, leading_line_count = nil, leading_line_offset = nil)
2594
- super(locator, offset, length)
2595
- @hash = @hash ^ expr.hash ^ line_offsets.hash ^ leading_line_count.hash ^ leading_line_offset.hash
2596
- @expr = expr
2597
- @line_offsets = line_offsets
2598
- @leading_line_count = leading_line_count
2599
- @leading_line_offset = leading_line_offset
2600
- end
2601
-
2602
- def _pcore_init_hash
2603
- result = super
2604
- result['expr'] = @expr
2605
- result['line_offsets'] = @line_offsets unless _pcore_type['line_offsets'].default_value?(@line_offsets)
2606
- result['leading_line_count'] = @leading_line_count unless @leading_line_count == nil
2607
- result['leading_line_offset'] = @leading_line_offset unless @leading_line_offset == nil
2608
- result
2609
- end
2610
-
2611
- def _pcore_contents
2612
- yield(@expr) unless @expr.nil?
2613
- end
2614
-
2615
- def _pcore_all_contents(path, &block)
2616
- path << self
2617
- unless @expr.nil?
2618
- block.call(@expr, path)
2619
- @expr._pcore_all_contents(path, &block)
2620
- end
2621
- path.pop
2622
- end
2623
-
2624
- def eql?(o)
2625
- super &&
2626
- @expr.eql?(o.expr) &&
2627
- @line_offsets.eql?(o.line_offsets) &&
2628
- @leading_line_count.eql?(o.leading_line_count) &&
2629
- @leading_line_offset.eql?(o.leading_line_offset)
2630
- end
2631
- alias == eql?
2632
- end
2633
-
2634
2443
  class HeredocExpression < Expression
2635
2444
  def self._pcore_type
2636
2445
  @_pcore_type ||= Types::PObjectType.new('Puppet::AST::HeredocExpression', {
@@ -4284,101 +4093,6 @@ class ResourceExpression < AbstractResource
4284
4093
  alias == eql?
4285
4094
  end
4286
4095
 
4287
- class CapabilityMapping < Definition
4288
- def self._pcore_type
4289
- @_pcore_type ||= Types::PObjectType.new('Puppet::AST::CapabilityMapping', {
4290
- 'parent' => Definition._pcore_type,
4291
- 'attributes' => {
4292
- 'kind' => Types::PStringType::DEFAULT,
4293
- 'capability' => Types::PStringType::DEFAULT,
4294
- 'component' => Expression._pcore_type,
4295
- 'mappings' => {
4296
- 'type' => Types::PArrayType.new(AbstractAttributeOperation._pcore_type),
4297
- 'value' => []
4298
- }
4299
- }
4300
- })
4301
- end
4302
-
4303
- def self.from_hash(init_hash)
4304
- from_asserted_hash(Types::TypeAsserter.assert_instance_of('Puppet::AST::CapabilityMapping initializer', _pcore_type.init_hash_type, init_hash))
4305
- end
4306
-
4307
- def self.from_asserted_hash(init_hash)
4308
- new(
4309
- init_hash['locator'],
4310
- init_hash['offset'],
4311
- init_hash['length'],
4312
- init_hash['kind'],
4313
- init_hash['capability'],
4314
- init_hash['component'],
4315
- init_hash.fetch('mappings') { _pcore_type['mappings'].value })
4316
- end
4317
-
4318
- def self.create(locator, offset, length, kind, capability, component, mappings = _pcore_type['mappings'].value)
4319
- ta = Types::TypeAsserter
4320
- attrs = _pcore_type.attributes(true)
4321
- ta.assert_instance_of('Puppet::AST::Positioned[locator]', attrs['locator'].type, locator)
4322
- ta.assert_instance_of('Puppet::AST::Positioned[offset]', attrs['offset'].type, offset)
4323
- ta.assert_instance_of('Puppet::AST::Positioned[length]', attrs['length'].type, length)
4324
- ta.assert_instance_of('Puppet::AST::CapabilityMapping[kind]', attrs['kind'].type, kind)
4325
- ta.assert_instance_of('Puppet::AST::CapabilityMapping[capability]', attrs['capability'].type, capability)
4326
- ta.assert_instance_of('Puppet::AST::CapabilityMapping[component]', attrs['component'].type, component)
4327
- ta.assert_instance_of('Puppet::AST::CapabilityMapping[mappings]', attrs['mappings'].type, mappings)
4328
- new(locator, offset, length, kind, capability, component, mappings)
4329
- end
4330
-
4331
- attr_reader :kind
4332
- attr_reader :capability
4333
- attr_reader :component
4334
- attr_reader :mappings
4335
-
4336
- def initialize(locator, offset, length, kind, capability, component, mappings = _pcore_type['mappings'].value)
4337
- super(locator, offset, length)
4338
- @hash = @hash ^ kind.hash ^ capability.hash ^ component.hash ^ mappings.hash
4339
- @kind = kind
4340
- @capability = capability
4341
- @component = component
4342
- @mappings = mappings
4343
- end
4344
-
4345
- def _pcore_init_hash
4346
- result = super
4347
- result['kind'] = @kind
4348
- result['capability'] = @capability
4349
- result['component'] = @component
4350
- result['mappings'] = @mappings unless _pcore_type['mappings'].default_value?(@mappings)
4351
- result
4352
- end
4353
-
4354
- def _pcore_contents
4355
- yield(@component) unless @component.nil?
4356
- @mappings.each { |value| yield(value) }
4357
- end
4358
-
4359
- def _pcore_all_contents(path, &block)
4360
- path << self
4361
- unless @component.nil?
4362
- block.call(@component, path)
4363
- @component._pcore_all_contents(path, &block)
4364
- end
4365
- @mappings.each do |value|
4366
- block.call(value, path)
4367
- value._pcore_all_contents(path, &block)
4368
- end
4369
- path.pop
4370
- end
4371
-
4372
- def eql?(o)
4373
- super &&
4374
- @kind.eql?(o.kind) &&
4375
- @capability.eql?(o.capability) &&
4376
- @component.eql?(o.component) &&
4377
- @mappings.eql?(o.mappings)
4378
- end
4379
- alias == eql?
4380
- end
4381
-
4382
4096
  class ResourceDefaultsExpression < AbstractResource
4383
4097
  def self._pcore_type
4384
4098
  @_pcore_type ||= Types::PObjectType.new('Puppet::AST::ResourceDefaultsExpression', {
@@ -4895,14 +4609,11 @@ def self.register_pcore_types
4895
4609
  Model::NamedDefinition,
4896
4610
  Model::FunctionDefinition,
4897
4611
  Model::ResourceTypeDefinition,
4898
- Model::Application,
4899
4612
  Model::QRefDefinition,
4900
4613
  Model::TypeAlias,
4901
4614
  Model::TypeMapping,
4902
4615
  Model::TypeDefinition,
4903
4616
  Model::NodeDefinition,
4904
- Model::SiteDefinition,
4905
- Model::SubLocatedExpression,
4906
4617
  Model::HeredocExpression,
4907
4618
  Model::HostClassDefinition,
4908
4619
  Model::PlanDefinition,
@@ -4936,7 +4647,6 @@ def self.register_pcore_types
4936
4647
  Model::ResourceBody,
4937
4648
  Model::AbstractResource,
4938
4649
  Model::ResourceExpression,
4939
- Model::CapabilityMapping,
4940
4650
  Model::ResourceDefaultsExpression,
4941
4651
  Model::ResourceOverrideExpression,
4942
4652
  Model::SelectorEntry,