puppet 6.19.1 → 7.0.0

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 (440) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/Gemfile.lock +19 -20
  4. data/README.md +1 -1
  5. data/conf/fileserver.conf +5 -10
  6. data/ext/build_defaults.yaml +1 -1
  7. data/ext/osx/file_mapping.yaml +0 -5
  8. data/ext/project_data.yaml +1 -14
  9. data/ext/redhat/puppet.spec.erb +0 -1
  10. data/ext/windows/service/daemon.rb +6 -5
  11. data/install.rb +21 -17
  12. data/lib/puppet.rb +11 -20
  13. data/lib/puppet/application.rb +172 -98
  14. data/lib/puppet/application/device.rb +100 -104
  15. data/lib/puppet/application/filebucket.rb +15 -11
  16. data/lib/puppet/application/ssl.rb +1 -1
  17. data/lib/puppet/configurer.rb +28 -33
  18. data/lib/puppet/configurer/plugin_handler.rb +21 -19
  19. data/lib/puppet/defaults.rb +95 -159
  20. data/lib/puppet/environments.rb +10 -25
  21. data/lib/puppet/face/config.rb +10 -0
  22. data/lib/puppet/face/epp.rb +12 -2
  23. data/lib/puppet/face/facts.rb +66 -6
  24. data/lib/puppet/face/help.rb +1 -1
  25. data/lib/puppet/face/plugin.rb +5 -8
  26. data/lib/puppet/ffi/windows.rb +12 -0
  27. data/lib/puppet/ffi/windows/api_types.rb +311 -0
  28. data/lib/puppet/ffi/windows/constants.rb +404 -0
  29. data/lib/puppet/ffi/windows/functions.rb +628 -0
  30. data/lib/puppet/ffi/windows/structs.rb +338 -0
  31. data/lib/puppet/file_serving/configuration.rb +0 -5
  32. data/lib/puppet/file_serving/configuration/parser.rb +3 -32
  33. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  34. data/lib/puppet/file_serving/mount.rb +1 -2
  35. data/lib/puppet/forge/repository.rb +0 -1
  36. data/lib/puppet/functions/epp.rb +1 -0
  37. data/lib/puppet/functions/inline_epp.rb +1 -0
  38. data/lib/puppet/generate/models/type/type.rb +4 -1
  39. data/lib/puppet/http.rb +22 -13
  40. data/lib/puppet/http/client.rb +164 -114
  41. data/lib/puppet/{network/resolver.rb → http/dns.rb} +2 -2
  42. data/lib/puppet/http/errors.rb +16 -0
  43. data/lib/puppet/http/external_client.rb +5 -7
  44. data/lib/puppet/{network/http → http}/factory.rb +8 -11
  45. data/lib/puppet/{network/http → http}/pool.rb +61 -26
  46. data/lib/puppet/{network/http/session.rb → http/pool_entry.rb} +2 -3
  47. data/lib/puppet/http/proxy.rb +137 -0
  48. data/lib/puppet/http/redirector.rb +4 -12
  49. data/lib/puppet/http/resolver.rb +5 -15
  50. data/lib/puppet/http/resolver/server_list.rb +6 -10
  51. data/lib/puppet/http/resolver/settings.rb +4 -7
  52. data/lib/puppet/http/resolver/srv.rb +7 -11
  53. data/lib/puppet/http/response.rb +36 -54
  54. data/lib/puppet/http/response_converter.rb +24 -0
  55. data/lib/puppet/http/response_net_http.rb +42 -0
  56. data/lib/puppet/http/retry_after_handler.rb +4 -13
  57. data/lib/puppet/http/service.rb +12 -26
  58. data/lib/puppet/http/service/ca.rb +11 -22
  59. data/lib/puppet/http/service/compiler.rb +22 -69
  60. data/lib/puppet/http/service/file_server.rb +18 -27
  61. data/lib/puppet/http/service/puppetserver.rb +26 -12
  62. data/lib/puppet/http/service/report.rb +8 -10
  63. data/lib/puppet/http/session.rb +11 -20
  64. data/lib/puppet/{network/http → http}/site.rb +1 -2
  65. data/lib/puppet/indirector/catalog/rest.rb +2 -4
  66. data/lib/puppet/indirector/fact_search.rb +60 -0
  67. data/lib/puppet/indirector/facts/facter.rb +24 -3
  68. data/lib/puppet/indirector/facts/json.rb +27 -0
  69. data/lib/puppet/indirector/facts/rest.rb +3 -22
  70. data/lib/puppet/indirector/facts/yaml.rb +3 -58
  71. data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -9
  72. data/lib/puppet/indirector/file_content/rest.rb +2 -6
  73. data/lib/puppet/indirector/file_metadata/rest.rb +3 -9
  74. data/lib/puppet/indirector/file_server.rb +1 -8
  75. data/lib/puppet/indirector/generic_http.rb +0 -11
  76. data/lib/puppet/indirector/json.rb +5 -1
  77. data/lib/puppet/indirector/node/json.rb +8 -0
  78. data/lib/puppet/indirector/node/rest.rb +2 -4
  79. data/lib/puppet/indirector/report/json.rb +34 -0
  80. data/lib/puppet/indirector/report/rest.rb +3 -8
  81. data/lib/puppet/indirector/request.rb +0 -101
  82. data/lib/puppet/indirector/rest.rb +12 -263
  83. data/lib/puppet/module_tool/applications.rb +0 -1
  84. data/lib/puppet/network/authconfig.rb +2 -96
  85. data/lib/puppet/network/authorization.rb +13 -35
  86. data/lib/puppet/network/formats.rb +2 -1
  87. data/lib/puppet/network/http.rb +3 -3
  88. data/lib/puppet/network/http/api/indirected_routes.rb +2 -20
  89. data/lib/puppet/network/http/api/master/v3.rb +11 -13
  90. data/lib/puppet/network/http/connection.rb +247 -316
  91. data/lib/puppet/network/http/handler.rb +0 -1
  92. data/lib/puppet/network/http_pool.rb +16 -34
  93. data/lib/puppet/node.rb +1 -30
  94. data/lib/puppet/pal/json_catalog_encoder.rb +4 -0
  95. data/lib/puppet/pal/pal_impl.rb +73 -18
  96. data/lib/puppet/parser/ast/pops_bridge.rb +0 -38
  97. data/lib/puppet/parser/compiler.rb +0 -198
  98. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +14 -39
  99. data/lib/puppet/parser/resource.rb +0 -69
  100. data/lib/puppet/pops/evaluator/evaluator_impl.rb +22 -8
  101. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +3 -3
  102. data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
  103. data/lib/puppet/pops/issues.rb +0 -5
  104. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +6 -8
  105. data/lib/puppet/pops/model/ast.pp +0 -42
  106. data/lib/puppet/pops/model/ast.rb +0 -290
  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/dpkg.rb +0 -10
  125. data/lib/puppet/provider/package/gem.rb +23 -3
  126. data/lib/puppet/provider/package/pip.rb +0 -1
  127. data/lib/puppet/provider/package/pkg.rb +0 -4
  128. data/lib/puppet/provider/package/portage.rb +1 -1
  129. data/lib/puppet/provider/package/puppet_gem.rb +1 -4
  130. data/lib/puppet/provider/service/smf.rb +191 -73
  131. data/lib/puppet/provider/user/directoryservice.rb +0 -10
  132. data/lib/puppet/reference/configuration.rb +2 -0
  133. data/lib/puppet/reference/indirection.rb +1 -1
  134. data/lib/puppet/resource.rb +1 -89
  135. data/lib/puppet/resource/catalog.rb +1 -14
  136. data/lib/puppet/resource/type.rb +3 -119
  137. data/lib/puppet/resource/type_collection.rb +3 -48
  138. data/lib/puppet/runtime.rb +1 -2
  139. data/lib/puppet/settings.rb +45 -33
  140. data/lib/puppet/settings/base_setting.rb +26 -2
  141. data/lib/puppet/settings/integer_setting.rb +17 -0
  142. data/lib/puppet/settings/port_setting.rb +15 -0
  143. data/lib/puppet/settings/priority_setting.rb +5 -4
  144. data/lib/puppet/ssl.rb +10 -6
  145. data/lib/puppet/ssl/base.rb +3 -5
  146. data/lib/puppet/ssl/certificate.rb +0 -6
  147. data/lib/puppet/ssl/certificate_request.rb +1 -12
  148. data/lib/puppet/ssl/certificate_signer.rb +6 -0
  149. data/lib/puppet/ssl/oids.rb +3 -1
  150. data/lib/puppet/ssl/ssl_provider.rb +17 -0
  151. data/lib/puppet/ssl/state_machine.rb +3 -1
  152. data/lib/puppet/ssl/verifier.rb +2 -0
  153. data/lib/puppet/test/test_helper.rb +1 -3
  154. data/lib/puppet/transaction.rb +1 -7
  155. data/lib/puppet/transaction/report.rb +2 -4
  156. data/lib/puppet/type.rb +0 -76
  157. data/lib/puppet/type/file.rb +5 -7
  158. data/lib/puppet/type/file/checksum.rb +1 -1
  159. data/lib/puppet/type/file/source.rb +1 -1
  160. data/lib/puppet/type/filebucket.rb +3 -3
  161. data/lib/puppet/type/package.rb +5 -13
  162. data/lib/puppet/util/execution.rb +0 -11
  163. data/lib/puppet/util/http_proxy.rb +2 -215
  164. data/lib/puppet/util/monkey_patches.rb +0 -46
  165. data/lib/puppet/util/rdoc.rb +0 -7
  166. data/lib/puppet/util/retry_action.rb +1 -1
  167. data/lib/puppet/util/rubygems.rb +5 -1
  168. data/lib/puppet/util/run_mode.rb +9 -1
  169. data/lib/puppet/util/windows.rb +3 -8
  170. data/lib/puppet/util/windows/daemon.rb +360 -0
  171. data/lib/puppet/util/windows/error.rb +1 -0
  172. data/lib/puppet/util/windows/eventlog.rb +4 -9
  173. data/lib/puppet/util/windows/file.rb +8 -242
  174. data/lib/puppet/util/windows/monkey_patches/process.rb +414 -0
  175. data/lib/puppet/util/windows/process.rb +4 -226
  176. data/lib/puppet/util/windows/service.rb +9 -460
  177. data/lib/puppet/util/windows/string.rb +12 -13
  178. data/lib/puppet/util/yaml.rb +0 -22
  179. data/lib/puppet/vendor/require_vendored.rb +0 -1
  180. data/lib/puppet/version.rb +1 -1
  181. data/lib/puppet/x509.rb +5 -1
  182. data/lib/puppet/x509/cert_provider.rb +29 -1
  183. data/locales/puppet.pot +531 -1232
  184. data/man/man5/puppet.conf.5 +37 -97
  185. data/man/man8/puppet-agent.8 +1 -1
  186. data/man/man8/puppet-apply.8 +1 -1
  187. data/man/man8/puppet-catalog.8 +1 -1
  188. data/man/man8/puppet-config.8 +1 -1
  189. data/man/man8/puppet-describe.8 +1 -1
  190. data/man/man8/puppet-device.8 +1 -1
  191. data/man/man8/puppet-doc.8 +1 -1
  192. data/man/man8/puppet-epp.8 +1 -1
  193. data/man/man8/puppet-facts.8 +55 -9
  194. data/man/man8/puppet-filebucket.8 +6 -6
  195. data/man/man8/puppet-generate.8 +1 -1
  196. data/man/man8/puppet-help.8 +1 -1
  197. data/man/man8/puppet-lookup.8 +1 -1
  198. data/man/man8/puppet-module.8 +1 -58
  199. data/man/man8/puppet-node.8 +4 -1
  200. data/man/man8/puppet-parser.8 +1 -1
  201. data/man/man8/puppet-plugin.8 +1 -1
  202. data/man/man8/puppet-report.8 +4 -1
  203. data/man/man8/puppet-resource.8 +1 -1
  204. data/man/man8/puppet-script.8 +1 -1
  205. data/man/man8/puppet-ssl.8 +1 -1
  206. data/man/man8/puppet.8 +2 -2
  207. data/spec/fixtures/unit/provider/service/smf/{svcs.out → svcs_instances.out} +0 -0
  208. data/spec/integration/application/agent_spec.rb +24 -11
  209. data/spec/integration/application/apply_spec.rb +1 -1
  210. data/spec/integration/application/filebucket_spec.rb +16 -16
  211. data/spec/integration/application/help_spec.rb +2 -0
  212. data/spec/integration/application/plugin_spec.rb +23 -1
  213. data/spec/integration/defaults_spec.rb +7 -3
  214. data/spec/integration/environments/setting_hooks_spec.rb +1 -1
  215. data/spec/integration/network/http_pool_spec.rb +3 -21
  216. data/spec/integration/parser/catalog_spec.rb +0 -38
  217. data/spec/integration/parser/node_spec.rb +0 -9
  218. data/spec/integration/parser/pcore_resource_spec.rb +0 -37
  219. data/spec/integration/type/file_spec.rb +5 -4
  220. data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
  221. data/spec/integration/util/windows/security_spec.rb +1 -1
  222. data/spec/lib/puppet_spec/puppetserver.rb +1 -1
  223. data/spec/lib/puppet_spec/settings.rb +7 -1
  224. data/spec/spec_helper.rb +2 -0
  225. data/spec/unit/agent_spec.rb +0 -2
  226. data/spec/unit/application/config_spec.rb +224 -4
  227. data/spec/unit/application/facts_spec.rb +35 -0
  228. data/spec/unit/application/filebucket_spec.rb +41 -39
  229. data/spec/unit/application/ssl_spec.rb +2 -2
  230. data/spec/unit/certificate_factory_spec.rb +1 -1
  231. data/spec/unit/configurer/downloader_spec.rb +6 -2
  232. data/spec/unit/configurer/plugin_handler_spec.rb +56 -18
  233. data/spec/unit/configurer_spec.rb +12 -9
  234. data/spec/unit/context/trusted_information_spec.rb +2 -6
  235. data/spec/unit/defaults_spec.rb +77 -28
  236. data/spec/unit/environments_spec.rb +0 -3
  237. data/spec/unit/face/config_spec.rb +27 -32
  238. data/spec/unit/face/facts_spec.rb +4 -0
  239. data/spec/unit/face/plugin_spec.rb +73 -33
  240. data/spec/unit/file_bucket/file_spec.rb +1 -1
  241. data/spec/unit/file_serving/configuration/parser_spec.rb +14 -18
  242. data/spec/unit/file_serving/configuration_spec.rb +6 -12
  243. data/spec/unit/functions/camelcase_spec.rb +1 -1
  244. data/spec/unit/functions/capitalize_spec.rb +1 -1
  245. data/spec/unit/functions/downcase_spec.rb +1 -1
  246. data/spec/unit/functions/inline_epp_spec.rb +26 -1
  247. data/spec/unit/functions/upcase_spec.rb +1 -1
  248. data/spec/unit/http/client_spec.rb +7 -8
  249. data/spec/unit/{network/resolver_spec.rb → http/dns_spec.rb} +3 -3
  250. data/spec/unit/http/external_client_spec.rb +4 -4
  251. data/spec/unit/{network/http → http}/factory_spec.rb +5 -11
  252. data/spec/unit/{network/http/session_spec.rb → http/pool_entry_spec.rb} +3 -3
  253. data/spec/unit/{network/http → http}/pool_spec.rb +12 -17
  254. data/spec/unit/{util/http_proxy_spec.rb → http/proxy_spec.rb} +2 -69
  255. data/spec/unit/http/resolver_spec.rb +13 -13
  256. data/spec/unit/http/service/compiler_spec.rb +49 -62
  257. data/spec/unit/http/service/file_server_spec.rb +3 -3
  258. data/spec/unit/http/service/puppetserver_spec.rb +34 -4
  259. data/spec/unit/http/service_spec.rb +1 -2
  260. data/spec/unit/http/session_spec.rb +16 -14
  261. data/spec/unit/{network/http → http}/site_spec.rb +3 -3
  262. data/spec/unit/indirector/facts/facter_spec.rb +97 -0
  263. data/spec/unit/indirector/facts/json_spec.rb +255 -0
  264. data/spec/unit/indirector/file_bucket_file/file_spec.rb +5 -3
  265. data/spec/unit/indirector/file_content/rest_spec.rb +0 -4
  266. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -4
  267. data/spec/unit/indirector/file_server_spec.rb +1 -15
  268. data/spec/unit/indirector/node/json_spec.rb +33 -0
  269. data/spec/{integration/indirector/report/yaml.rb → unit/indirector/report/json_spec.rb} +13 -24
  270. data/spec/unit/indirector/report/rest_spec.rb +2 -17
  271. data/spec/unit/indirector/report/yaml_spec.rb +72 -8
  272. data/spec/unit/indirector/request_spec.rb +0 -264
  273. data/spec/unit/indirector/rest_spec.rb +98 -752
  274. data/spec/unit/network/authconfig_spec.rb +2 -132
  275. data/spec/unit/network/authorization_spec.rb +2 -55
  276. data/spec/unit/network/formats_spec.rb +4 -4
  277. data/spec/unit/network/http/api/indirected_routes_spec.rb +1 -97
  278. data/spec/unit/network/http/api/master/v3_spec.rb +28 -7
  279. data/spec/unit/network/http/api_spec.rb +10 -0
  280. data/spec/unit/network/http/connection_spec.rb +19 -41
  281. data/spec/unit/network/http/handler_spec.rb +0 -6
  282. data/spec/unit/network/http_pool_spec.rb +0 -4
  283. data/spec/unit/node/environment_spec.rb +33 -21
  284. data/spec/unit/node_spec.rb +2 -54
  285. data/spec/unit/parser/functions/create_resources_spec.rb +2 -20
  286. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +4 -7
  287. data/spec/unit/pops/loaders/loaders_spec.rb +6 -21
  288. data/spec/unit/pops/parser/parse_application_spec.rb +4 -22
  289. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
  290. data/spec/unit/pops/parser/parse_capabilities_spec.rb +8 -21
  291. data/spec/unit/pops/parser/parse_site_spec.rb +20 -24
  292. data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -71
  293. data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
  294. data/spec/unit/pops/types/type_calculator_spec.rb +6 -6
  295. data/spec/unit/pops/types/type_factory_spec.rb +1 -1
  296. data/spec/unit/pops/validator/validator_spec.rb +61 -46
  297. data/spec/unit/pops/visitor_spec.rb +1 -1
  298. data/spec/unit/provider/nameservice_spec.rb +0 -57
  299. data/spec/unit/provider/package/dpkg_spec.rb +0 -48
  300. data/spec/unit/provider/package/gem_spec.rb +32 -0
  301. data/spec/unit/provider/package/puppet_gem_spec.rb +3 -2
  302. data/spec/unit/provider/service/smf_spec.rb +401 -165
  303. data/spec/unit/provider/service/windows_spec.rb +0 -1
  304. data/spec/unit/provider_spec.rb +0 -12
  305. data/spec/unit/puppet_pal_catalog_spec.rb +45 -0
  306. data/spec/unit/resource/type_collection_spec.rb +2 -22
  307. data/spec/unit/resource_spec.rb +0 -56
  308. data/spec/unit/settings/http_extra_headers_spec.rb +2 -4
  309. data/spec/unit/settings/integer_setting_spec.rb +42 -0
  310. data/spec/unit/settings/port_setting_spec.rb +31 -0
  311. data/spec/unit/settings/priority_setting_spec.rb +4 -4
  312. data/spec/unit/settings_spec.rb +423 -236
  313. data/spec/unit/ssl/base_spec.rb +36 -3
  314. data/spec/unit/ssl/certificate_request_spec.rb +15 -45
  315. data/spec/unit/ssl/certificate_spec.rb +2 -11
  316. data/spec/unit/ssl/ssl_provider_spec.rb +11 -8
  317. data/spec/unit/ssl/state_machine_spec.rb +0 -1
  318. data/spec/unit/ssl/verifier_spec.rb +0 -21
  319. data/spec/unit/transaction/report_spec.rb +0 -2
  320. data/spec/unit/transaction/resource_harness_spec.rb +2 -2
  321. data/spec/unit/transaction_spec.rb +45 -79
  322. data/spec/unit/type/file/checksum_spec.rb +6 -6
  323. data/spec/unit/type/file/content_spec.rb +1 -1
  324. data/spec/unit/type/file/ensure_spec.rb +1 -1
  325. data/spec/unit/type/file/mode_spec.rb +1 -1
  326. data/spec/unit/type/file/source_spec.rb +0 -1
  327. data/spec/unit/type/file_spec.rb +12 -6
  328. data/spec/unit/type/package_spec.rb +1 -1
  329. data/spec/unit/type_spec.rb +20 -0
  330. data/spec/unit/util/backups_spec.rb +0 -2
  331. data/spec/unit/util/execution_spec.rb +0 -29
  332. data/spec/unit/util/monkey_patches_spec.rb +0 -6
  333. data/spec/unit/util/rubygems_spec.rb +2 -2
  334. data/spec/unit/util/run_mode_spec.rb +21 -121
  335. data/spec/unit/util/windows/string_spec.rb +1 -3
  336. data/spec/unit/util/yaml_spec.rb +0 -54
  337. data/spec/unit/util_spec.rb +0 -18
  338. metadata +50 -176
  339. data/conf/auth.conf +0 -150
  340. data/lib/puppet/application/cert.rb +0 -76
  341. data/lib/puppet/application/key.rb +0 -4
  342. data/lib/puppet/application/man.rb +0 -4
  343. data/lib/puppet/application/status.rb +0 -4
  344. data/lib/puppet/face/key.rb +0 -16
  345. data/lib/puppet/face/man.rb +0 -145
  346. data/lib/puppet/face/module/build.rb +0 -14
  347. data/lib/puppet/face/module/generate.rb +0 -14
  348. data/lib/puppet/face/module/search.rb +0 -103
  349. data/lib/puppet/face/status.rb +0 -51
  350. data/lib/puppet/indirector/certificate/file.rb +0 -9
  351. data/lib/puppet/indirector/certificate/rest.rb +0 -18
  352. data/lib/puppet/indirector/certificate_request/file.rb +0 -9
  353. data/lib/puppet/indirector/certificate_request/memory.rb +0 -7
  354. data/lib/puppet/indirector/certificate_request/rest.rb +0 -11
  355. data/lib/puppet/indirector/file_content/http.rb +0 -22
  356. data/lib/puppet/indirector/key/file.rb +0 -46
  357. data/lib/puppet/indirector/key/memory.rb +0 -7
  358. data/lib/puppet/indirector/ssl_file.rb +0 -162
  359. data/lib/puppet/indirector/status.rb +0 -3
  360. data/lib/puppet/indirector/status/local.rb +0 -12
  361. data/lib/puppet/indirector/status/rest.rb +0 -27
  362. data/lib/puppet/module_tool/applications/searcher.rb +0 -29
  363. data/lib/puppet/network/auth_config_parser.rb +0 -90
  364. data/lib/puppet/network/authstore.rb +0 -283
  365. data/lib/puppet/network/http/api/master/v3/authorization.rb +0 -18
  366. data/lib/puppet/network/http/api/master/v3/environment.rb +0 -88
  367. data/lib/puppet/network/http/base_pool.rb +0 -36
  368. data/lib/puppet/network/http/compression.rb +0 -127
  369. data/lib/puppet/network/http/connection_adapter.rb +0 -184
  370. data/lib/puppet/network/http/nocache_pool.rb +0 -28
  371. data/lib/puppet/network/rest_controller.rb +0 -2
  372. data/lib/puppet/network/rights.rb +0 -210
  373. data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -66
  374. data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -22
  375. data/lib/puppet/parser/environment_compiler.rb +0 -202
  376. data/lib/puppet/pops/types/enumeration.rb +0 -16
  377. data/lib/puppet/resource/capability_finder.rb +0 -154
  378. data/lib/puppet/rest/errors.rb +0 -15
  379. data/lib/puppet/rest/response.rb +0 -35
  380. data/lib/puppet/rest/route.rb +0 -85
  381. data/lib/puppet/rest/routes.rb +0 -135
  382. data/lib/puppet/ssl/host.rb +0 -505
  383. data/lib/puppet/ssl/key.rb +0 -61
  384. data/lib/puppet/ssl/validator.rb +0 -61
  385. data/lib/puppet/ssl/validator/default_validator.rb +0 -209
  386. data/lib/puppet/ssl/validator/no_validator.rb +0 -22
  387. data/lib/puppet/ssl/verifier_adapter.rb +0 -58
  388. data/lib/puppet/status.rb +0 -40
  389. data/lib/puppet/util/connection.rb +0 -88
  390. data/lib/puppet/util/ssl.rb +0 -83
  391. data/lib/puppet/util/windows/api_types.rb +0 -309
  392. data/lib/puppet/util/windows/monkey_patches/dir.rb +0 -40
  393. data/lib/puppet/vendor/load_pathspec.rb +0 -1
  394. data/lib/puppet/vendor/pathspec/CHANGELOG.md +0 -2
  395. data/lib/puppet/vendor/pathspec/LICENSE +0 -201
  396. data/lib/puppet/vendor/pathspec/PUPPET_README.md +0 -6
  397. data/lib/puppet/vendor/pathspec/README.md +0 -53
  398. data/lib/puppet/vendor/pathspec/lib/pathspec.rb +0 -122
  399. data/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +0 -275
  400. data/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +0 -17
  401. data/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +0 -14
  402. data/man/man8/puppet-key.8 +0 -126
  403. data/man/man8/puppet-man.8 +0 -76
  404. data/man/man8/puppet-status.8 +0 -108
  405. data/spec/integration/application/config_spec.rb +0 -74
  406. data/spec/integration/network/authconfig_spec.rb +0 -256
  407. data/spec/integration/util/windows/monkey_patches/dir_spec.rb +0 -11
  408. data/spec/unit/application/man_spec.rb +0 -52
  409. data/spec/unit/capability_spec.rb +0 -414
  410. data/spec/unit/face/catalog_spec.rb +0 -6
  411. data/spec/unit/face/key_spec.rb +0 -9
  412. data/spec/unit/face/module/search_spec.rb +0 -231
  413. data/spec/unit/face/module_spec.rb +0 -3
  414. data/spec/unit/face/status_spec.rb +0 -9
  415. data/spec/unit/indirector/certificate/file_spec.rb +0 -14
  416. data/spec/unit/indirector/certificate/rest_spec.rb +0 -61
  417. data/spec/unit/indirector/certificate_request/file_spec.rb +0 -14
  418. data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -25
  419. data/spec/unit/indirector/key/file_spec.rb +0 -79
  420. data/spec/unit/indirector/ssl_file_spec.rb +0 -305
  421. data/spec/unit/indirector/status/local_spec.rb +0 -10
  422. data/spec/unit/indirector/status/rest_spec.rb +0 -50
  423. data/spec/unit/module_tool/applications/searcher_spec.rb +0 -38
  424. data/spec/unit/network/auth_config_parser_spec.rb +0 -115
  425. data/spec/unit/network/authstore_spec.rb +0 -422
  426. data/spec/unit/network/http/api/master/v3/authorization_spec.rb +0 -57
  427. data/spec/unit/network/http/api/master/v3/environment_spec.rb +0 -185
  428. data/spec/unit/network/http/compression_spec.rb +0 -240
  429. data/spec/unit/network/http/nocache_pool_spec.rb +0 -64
  430. data/spec/unit/network/http_spec.rb +0 -9
  431. data/spec/unit/network/rights_spec.rb +0 -439
  432. data/spec/unit/parser/environment_compiler_spec.rb +0 -730
  433. data/spec/unit/pops/types/enumeration_spec.rb +0 -51
  434. data/spec/unit/resource/capability_finder_spec.rb +0 -143
  435. data/spec/unit/rest/route_spec.rb +0 -132
  436. data/spec/unit/ssl/host_spec.rb +0 -650
  437. data/spec/unit/ssl/key_spec.rb +0 -173
  438. data/spec/unit/ssl/validator_spec.rb +0 -278
  439. data/spec/unit/status_spec.rb +0 -45
  440. 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
@@ -462,10 +462,24 @@ class EvaluatorImpl
462
462
  end
463
463
 
464
464
  def eval_EppExpression(o, scope)
465
+ contains_sensitive = false
466
+
465
467
  scope["@epp"] = []
466
468
  evaluate(o.body, scope)
467
- result = scope["@epp"].join
468
- result
469
+ result = scope["@epp"].map do |r|
470
+ if r.instance_of?(Puppet::Pops::Types::PSensitiveType::Sensitive)
471
+ contains_sensitive = true
472
+ string(r.unwrap, scope)
473
+ else
474
+ r
475
+ end
476
+ end.join
477
+
478
+ if contains_sensitive
479
+ Puppet::Pops::Types::PSensitiveType::Sensitive.new(result)
480
+ else
481
+ result
482
+ end
469
483
  end
470
484
 
471
485
  def eval_RenderStringExpression(o, scope)
@@ -474,7 +488,12 @@ class EvaluatorImpl
474
488
  end
475
489
 
476
490
  def eval_RenderExpression(o, scope)
477
- scope["@epp"] << string(evaluate(o.expr, scope), scope)
491
+ result = evaluate(o.expr, scope)
492
+ if result.instance_of?(Puppet::Pops::Types::PSensitiveType::Sensitive)
493
+ scope["@epp"] << result
494
+ else
495
+ scope["@epp"] << string(result, scope)
496
+ end
478
497
  nil
479
498
  end
480
499
 
@@ -1021,11 +1040,6 @@ class EvaluatorImpl
1021
1040
  end
1022
1041
  end
1023
1042
 
1024
- # SubLocatable is simply an expression that holds location information
1025
- def eval_SubLocatedExpression o, scope
1026
- evaluate(o.expr, scope)
1027
- end
1028
-
1029
1043
  # Evaluates Puppet DSL Heredoc
1030
1044
  def eval_HeredocExpression o, scope
1031
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,