bolt 0.24.0 → 0.25.0

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

Potentially problematic release.


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

Files changed (1155) hide show
  1. checksums.yaml +4 -4
  2. data/bolt-modules/boltlib/lib/puppet/datatypes/applyresult.rb +19 -0
  3. data/bolt-modules/boltlib/lib/puppet/datatypes/resultset.rb +3 -3
  4. data/bolt-modules/boltlib/lib/puppet/functions/apply_prep.rb +2 -1
  5. data/lib/bolt/analytics.rb +0 -1
  6. data/lib/bolt/applicator.rb +7 -54
  7. data/lib/bolt/apply_result.rb +116 -0
  8. data/lib/bolt/outputter/human.rb +13 -8
  9. data/lib/bolt/pal.rb +6 -2
  10. data/lib/bolt/transport/ssh.rb +2 -1
  11. data/lib/bolt/version.rb +1 -1
  12. data/lib/bolt_spec/run.rb +1 -0
  13. data/libexec/apply_catalog.rb +25 -30
  14. metadata +37 -1212
  15. data/vendored/facter/lib/facter.rb +0 -261
  16. data/vendored/facter/lib/facter/Cfkey.rb +0 -42
  17. data/vendored/facter/lib/facter/application.rb +0 -206
  18. data/vendored/facter/lib/facter/architecture.rb +0 -50
  19. data/vendored/facter/lib/facter/augeasversion.rb +0 -28
  20. data/vendored/facter/lib/facter/blockdevices.rb +0 -105
  21. data/vendored/facter/lib/facter/core/aggregate.rb +0 -220
  22. data/vendored/facter/lib/facter/core/directed_graph.rb +0 -46
  23. data/vendored/facter/lib/facter/core/execution.rb +0 -123
  24. data/vendored/facter/lib/facter/core/execution/base.rb +0 -81
  25. data/vendored/facter/lib/facter/core/execution/posix.rb +0 -50
  26. data/vendored/facter/lib/facter/core/execution/windows.rb +0 -57
  27. data/vendored/facter/lib/facter/core/logging.rb +0 -197
  28. data/vendored/facter/lib/facter/core/resolvable.rb +0 -94
  29. data/vendored/facter/lib/facter/core/suitable.rb +0 -113
  30. data/vendored/facter/lib/facter/dhcp_servers.rb +0 -45
  31. data/vendored/facter/lib/facter/domain.rb +0 -99
  32. data/vendored/facter/lib/facter/ec2.rb +0 -68
  33. data/vendored/facter/lib/facter/ec2/rest.rb +0 -137
  34. data/vendored/facter/lib/facter/facterversion.rb +0 -15
  35. data/vendored/facter/lib/facter/filesystems.rb +0 -45
  36. data/vendored/facter/lib/facter/fqdn.rb +0 -24
  37. data/vendored/facter/lib/facter/gce.rb +0 -16
  38. data/vendored/facter/lib/facter/gce/metadata.rb +0 -87
  39. data/vendored/facter/lib/facter/gid.rb +0 -25
  40. data/vendored/facter/lib/facter/hardwareisa.rb +0 -20
  41. data/vendored/facter/lib/facter/hardwaremodel.rb +0 -67
  42. data/vendored/facter/lib/facter/hostname.rb +0 -31
  43. data/vendored/facter/lib/facter/id.rb +0 -21
  44. data/vendored/facter/lib/facter/interfaces.rb +0 -58
  45. data/vendored/facter/lib/facter/ipaddress.rb +0 -169
  46. data/vendored/facter/lib/facter/ipaddress6.rb +0 -82
  47. data/vendored/facter/lib/facter/iphostnumber.rb +0 -29
  48. data/vendored/facter/lib/facter/kernel.rb +0 -22
  49. data/vendored/facter/lib/facter/kernelmajversion.rb +0 -23
  50. data/vendored/facter/lib/facter/kernelrelease.rb +0 -45
  51. data/vendored/facter/lib/facter/kernelversion.rb +0 -22
  52. data/vendored/facter/lib/facter/ldom.rb +0 -51
  53. data/vendored/facter/lib/facter/lsbdistcodename.rb +0 -20
  54. data/vendored/facter/lib/facter/lsbdistdescription.rb +0 -21
  55. data/vendored/facter/lib/facter/lsbdistid.rb +0 -20
  56. data/vendored/facter/lib/facter/lsbdistrelease.rb +0 -20
  57. data/vendored/facter/lib/facter/lsbmajdistrelease.rb +0 -22
  58. data/vendored/facter/lib/facter/lsbminordistrelease.rb +0 -22
  59. data/vendored/facter/lib/facter/lsbrelease.rb +0 -20
  60. data/vendored/facter/lib/facter/macaddress.rb +0 -99
  61. data/vendored/facter/lib/facter/macosx.rb +0 -56
  62. data/vendored/facter/lib/facter/manufacturer.rb +0 -68
  63. data/vendored/facter/lib/facter/memory.rb +0 -168
  64. data/vendored/facter/lib/facter/netmask.rb +0 -43
  65. data/vendored/facter/lib/facter/network.rb +0 -20
  66. data/vendored/facter/lib/facter/operatingsystem.rb +0 -24
  67. data/vendored/facter/lib/facter/operatingsystem/base.rb +0 -61
  68. data/vendored/facter/lib/facter/operatingsystem/cumuluslinux.rb +0 -27
  69. data/vendored/facter/lib/facter/operatingsystem/implementation.rb +0 -33
  70. data/vendored/facter/lib/facter/operatingsystem/linux.rb +0 -484
  71. data/vendored/facter/lib/facter/operatingsystem/osreleaselinux.rb +0 -28
  72. data/vendored/facter/lib/facter/operatingsystem/sunos.rb +0 -54
  73. data/vendored/facter/lib/facter/operatingsystem/vmkernel.rb +0 -11
  74. data/vendored/facter/lib/facter/operatingsystem/windows.rb +0 -43
  75. data/vendored/facter/lib/facter/operatingsystemmajrelease.rb +0 -31
  76. data/vendored/facter/lib/facter/operatingsystemrelease.rb +0 -29
  77. data/vendored/facter/lib/facter/os.rb +0 -98
  78. data/vendored/facter/lib/facter/osfamily.rb +0 -18
  79. data/vendored/facter/lib/facter/partitions.rb +0 -39
  80. data/vendored/facter/lib/facter/path.rb +0 -14
  81. data/vendored/facter/lib/facter/physicalprocessorcount.rb +0 -27
  82. data/vendored/facter/lib/facter/processor.rb +0 -52
  83. data/vendored/facter/lib/facter/processors.rb +0 -66
  84. data/vendored/facter/lib/facter/processors/os.rb +0 -244
  85. data/vendored/facter/lib/facter/ps.rb +0 -31
  86. data/vendored/facter/lib/facter/puppetversion.rb +0 -20
  87. data/vendored/facter/lib/facter/rackspace.rb +0 -37
  88. data/vendored/facter/lib/facter/rubyplatform.rb +0 -12
  89. data/vendored/facter/lib/facter/rubysitedir.rb +0 -15
  90. data/vendored/facter/lib/facter/rubyversion.rb +0 -12
  91. data/vendored/facter/lib/facter/selinux.rb +0 -154
  92. data/vendored/facter/lib/facter/ssh.rb +0 -73
  93. data/vendored/facter/lib/facter/system32.rb +0 -21
  94. data/vendored/facter/lib/facter/system_uptime.rb +0 -44
  95. data/vendored/facter/lib/facter/timezone.rb +0 -14
  96. data/vendored/facter/lib/facter/uniqueid.rb +0 -4
  97. data/vendored/facter/lib/facter/uptime.rb +0 -16
  98. data/vendored/facter/lib/facter/uptime_days.rb +0 -13
  99. data/vendored/facter/lib/facter/uptime_hours.rb +0 -13
  100. data/vendored/facter/lib/facter/uptime_seconds.rb +0 -20
  101. data/vendored/facter/lib/facter/util/architecture.rb +0 -19
  102. data/vendored/facter/lib/facter/util/collection.rb +0 -161
  103. data/vendored/facter/lib/facter/util/composite_loader.rb +0 -12
  104. data/vendored/facter/lib/facter/util/config.rb +0 -88
  105. data/vendored/facter/lib/facter/util/confine.rb +0 -66
  106. data/vendored/facter/lib/facter/util/dhcp_servers.rb +0 -58
  107. data/vendored/facter/lib/facter/util/directory_loader.rb +0 -88
  108. data/vendored/facter/lib/facter/util/ec2.rb +0 -106
  109. data/vendored/facter/lib/facter/util/fact.rb +0 -204
  110. data/vendored/facter/lib/facter/util/file_read.rb +0 -37
  111. data/vendored/facter/lib/facter/util/formatter.rb +0 -39
  112. data/vendored/facter/lib/facter/util/ip.rb +0 -340
  113. data/vendored/facter/lib/facter/util/ip/windows.rb +0 -215
  114. data/vendored/facter/lib/facter/util/loader.rb +0 -155
  115. data/vendored/facter/lib/facter/util/macaddress.rb +0 -43
  116. data/vendored/facter/lib/facter/util/macosx.rb +0 -73
  117. data/vendored/facter/lib/facter/util/manufacturer.rb +0 -99
  118. data/vendored/facter/lib/facter/util/memory.rb +0 -228
  119. data/vendored/facter/lib/facter/util/netmask.rb +0 -40
  120. data/vendored/facter/lib/facter/util/normalization.rb +0 -94
  121. data/vendored/facter/lib/facter/util/nothing_loader.rb +0 -12
  122. data/vendored/facter/lib/facter/util/operatingsystem.rb +0 -21
  123. data/vendored/facter/lib/facter/util/parser.rb +0 -168
  124. data/vendored/facter/lib/facter/util/partitions.rb +0 -47
  125. data/vendored/facter/lib/facter/util/partitions/linux.rb +0 -71
  126. data/vendored/facter/lib/facter/util/partitions/openbsd.rb +0 -40
  127. data/vendored/facter/lib/facter/util/plist.rb +0 -24
  128. data/vendored/facter/lib/facter/util/plist/generator.rb +0 -228
  129. data/vendored/facter/lib/facter/util/plist/parser.rb +0 -226
  130. data/vendored/facter/lib/facter/util/posix.rb +0 -16
  131. data/vendored/facter/lib/facter/util/processor.rb +0 -289
  132. data/vendored/facter/lib/facter/util/registry.rb +0 -11
  133. data/vendored/facter/lib/facter/util/resolution.rb +0 -160
  134. data/vendored/facter/lib/facter/util/solaris_zones.rb +0 -158
  135. data/vendored/facter/lib/facter/util/unix_root.rb +0 -5
  136. data/vendored/facter/lib/facter/util/uptime.rb +0 -83
  137. data/vendored/facter/lib/facter/util/values.rb +0 -109
  138. data/vendored/facter/lib/facter/util/virtual.rb +0 -212
  139. data/vendored/facter/lib/facter/util/vlans.rb +0 -21
  140. data/vendored/facter/lib/facter/util/windows.rb +0 -10
  141. data/vendored/facter/lib/facter/util/windows/api_types.rb +0 -135
  142. data/vendored/facter/lib/facter/util/windows/dir.rb +0 -43
  143. data/vendored/facter/lib/facter/util/windows/error.rb +0 -87
  144. data/vendored/facter/lib/facter/util/windows/process.rb +0 -294
  145. data/vendored/facter/lib/facter/util/windows/user.rb +0 -186
  146. data/vendored/facter/lib/facter/util/windows_root.rb +0 -7
  147. data/vendored/facter/lib/facter/util/wmi.rb +0 -49
  148. data/vendored/facter/lib/facter/util/xendomains.rb +0 -28
  149. data/vendored/facter/lib/facter/version.rb +0 -86
  150. data/vendored/facter/lib/facter/virtual.rb +0 -330
  151. data/vendored/facter/lib/facter/vlans.rb +0 -17
  152. data/vendored/facter/lib/facter/xendomains.rb +0 -20
  153. data/vendored/facter/lib/facter/zfs_version.rb +0 -14
  154. data/vendored/facter/lib/facter/zonename.rb +0 -6
  155. data/vendored/facter/lib/facter/zones.rb +0 -18
  156. data/vendored/facter/lib/facter/zpool_version.rb +0 -10
  157. data/vendored/hiera/lib/hiera.rb +0 -119
  158. data/vendored/hiera/lib/hiera/backend.rb +0 -360
  159. data/vendored/hiera/lib/hiera/backend/json_backend.rb +0 -58
  160. data/vendored/hiera/lib/hiera/backend/yaml_backend.rb +0 -63
  161. data/vendored/hiera/lib/hiera/config.rb +0 -97
  162. data/vendored/hiera/lib/hiera/console_logger.rb +0 -13
  163. data/vendored/hiera/lib/hiera/error.rb +0 -4
  164. data/vendored/hiera/lib/hiera/fallback_logger.rb +0 -41
  165. data/vendored/hiera/lib/hiera/filecache.rb +0 -86
  166. data/vendored/hiera/lib/hiera/interpolate.rb +0 -121
  167. data/vendored/hiera/lib/hiera/noop_logger.rb +0 -8
  168. data/vendored/hiera/lib/hiera/puppet_logger.rb +0 -17
  169. data/vendored/hiera/lib/hiera/recursive_guard.rb +0 -20
  170. data/vendored/hiera/lib/hiera/util.rb +0 -65
  171. data/vendored/hiera/lib/hiera/util/win32.rb +0 -40
  172. data/vendored/hiera/lib/hiera/version.rb +0 -89
  173. data/vendored/puppet/lib/hiera/puppet_function.rb +0 -84
  174. data/vendored/puppet/lib/hiera/scope.rb +0 -83
  175. data/vendored/puppet/lib/hiera_puppet.rb +0 -79
  176. data/vendored/puppet/lib/puppet.rb +0 -299
  177. data/vendored/puppet/lib/puppet/agent.rb +0 -134
  178. data/vendored/puppet/lib/puppet/agent/disabler.rb +0 -53
  179. data/vendored/puppet/lib/puppet/agent/locker.rb +0 -53
  180. data/vendored/puppet/lib/puppet/application.rb +0 -509
  181. data/vendored/puppet/lib/puppet/application/agent.rb +0 -469
  182. data/vendored/puppet/lib/puppet/application/apply.rb +0 -407
  183. data/vendored/puppet/lib/puppet/application/catalog.rb +0 -4
  184. data/vendored/puppet/lib/puppet/application/cert.rb +0 -76
  185. data/vendored/puppet/lib/puppet/application/config.rb +0 -5
  186. data/vendored/puppet/lib/puppet/application/describe.rb +0 -257
  187. data/vendored/puppet/lib/puppet/application/device.rb +0 -386
  188. data/vendored/puppet/lib/puppet/application/doc.rb +0 -232
  189. data/vendored/puppet/lib/puppet/application/epp.rb +0 -5
  190. data/vendored/puppet/lib/puppet/application/face_base.rb +0 -268
  191. data/vendored/puppet/lib/puppet/application/facts.rb +0 -9
  192. data/vendored/puppet/lib/puppet/application/filebucket.rb +0 -300
  193. data/vendored/puppet/lib/puppet/application/generate.rb +0 -5
  194. data/vendored/puppet/lib/puppet/application/help.rb +0 -5
  195. data/vendored/puppet/lib/puppet/application/indirection_base.rb +0 -4
  196. data/vendored/puppet/lib/puppet/application/key.rb +0 -4
  197. data/vendored/puppet/lib/puppet/application/lookup.rb +0 -369
  198. data/vendored/puppet/lib/puppet/application/man.rb +0 -4
  199. data/vendored/puppet/lib/puppet/application/module.rb +0 -4
  200. data/vendored/puppet/lib/puppet/application/node.rb +0 -4
  201. data/vendored/puppet/lib/puppet/application/parser.rb +0 -5
  202. data/vendored/puppet/lib/puppet/application/plugin.rb +0 -3
  203. data/vendored/puppet/lib/puppet/application/report.rb +0 -4
  204. data/vendored/puppet/lib/puppet/application/resource.rb +0 -231
  205. data/vendored/puppet/lib/puppet/application/script.rb +0 -261
  206. data/vendored/puppet/lib/puppet/application/ssl.rb +0 -133
  207. data/vendored/puppet/lib/puppet/application/status.rb +0 -4
  208. data/vendored/puppet/lib/puppet/application_support.rb +0 -61
  209. data/vendored/puppet/lib/puppet/coercion.rb +0 -40
  210. data/vendored/puppet/lib/puppet/compilable_resource_type.rb +0 -15
  211. data/vendored/puppet/lib/puppet/configurer.rb +0 -484
  212. data/vendored/puppet/lib/puppet/configurer/downloader.rb +0 -67
  213. data/vendored/puppet/lib/puppet/configurer/fact_handler.rb +0 -50
  214. data/vendored/puppet/lib/puppet/configurer/plugin_handler.rb +0 -48
  215. data/vendored/puppet/lib/puppet/confine.rb +0 -83
  216. data/vendored/puppet/lib/puppet/confine/any.rb +0 -26
  217. data/vendored/puppet/lib/puppet/confine/exists.rb +0 -19
  218. data/vendored/puppet/lib/puppet/confine/false.rb +0 -19
  219. data/vendored/puppet/lib/puppet/confine/feature.rb +0 -17
  220. data/vendored/puppet/lib/puppet/confine/true.rb +0 -20
  221. data/vendored/puppet/lib/puppet/confine/variable.rb +0 -59
  222. data/vendored/puppet/lib/puppet/confine_collection.rb +0 -50
  223. data/vendored/puppet/lib/puppet/confiner.rb +0 -46
  224. data/vendored/puppet/lib/puppet/context.rb +0 -116
  225. data/vendored/puppet/lib/puppet/context/trusted_information.rb +0 -76
  226. data/vendored/puppet/lib/puppet/daemon.rb +0 -195
  227. data/vendored/puppet/lib/puppet/data_binding.rb +0 -14
  228. data/vendored/puppet/lib/puppet/datatypes.rb +0 -213
  229. data/vendored/puppet/lib/puppet/datatypes/error.rb +0 -21
  230. data/vendored/puppet/lib/puppet/datatypes/impl/error.rb +0 -40
  231. data/vendored/puppet/lib/puppet/defaults.rb +0 -2003
  232. data/vendored/puppet/lib/puppet/environments.rb +0 -505
  233. data/vendored/puppet/lib/puppet/error.rb +0 -117
  234. data/vendored/puppet/lib/puppet/etc.rb +0 -160
  235. data/vendored/puppet/lib/puppet/external/dot.rb +0 -325
  236. data/vendored/puppet/lib/puppet/external/pson/common.rb +0 -374
  237. data/vendored/puppet/lib/puppet/external/pson/pure.rb +0 -15
  238. data/vendored/puppet/lib/puppet/external/pson/pure/generator.rb +0 -395
  239. data/vendored/puppet/lib/puppet/external/pson/pure/parser.rb +0 -307
  240. data/vendored/puppet/lib/puppet/external/pson/version.rb +0 -8
  241. data/vendored/puppet/lib/puppet/face.rb +0 -12
  242. data/vendored/puppet/lib/puppet/face/catalog.rb +0 -130
  243. data/vendored/puppet/lib/puppet/face/catalog/select.rb +0 -49
  244. data/vendored/puppet/lib/puppet/face/config.rb +0 -265
  245. data/vendored/puppet/lib/puppet/face/epp.rb +0 -554
  246. data/vendored/puppet/lib/puppet/face/facts.rb +0 -87
  247. data/vendored/puppet/lib/puppet/face/generate.rb +0 -64
  248. data/vendored/puppet/lib/puppet/face/help.rb +0 -215
  249. data/vendored/puppet/lib/puppet/face/key.rb +0 -16
  250. data/vendored/puppet/lib/puppet/face/man.rb +0 -145
  251. data/vendored/puppet/lib/puppet/face/module.rb +0 -19
  252. data/vendored/puppet/lib/puppet/face/module/build.rb +0 -14
  253. data/vendored/puppet/lib/puppet/face/module/changes.rb +0 -42
  254. data/vendored/puppet/lib/puppet/face/module/generate.rb +0 -14
  255. data/vendored/puppet/lib/puppet/face/module/install.rb +0 -146
  256. data/vendored/puppet/lib/puppet/face/module/list.rb +0 -263
  257. data/vendored/puppet/lib/puppet/face/module/search.rb +0 -98
  258. data/vendored/puppet/lib/puppet/face/module/uninstall.rb +0 -89
  259. data/vendored/puppet/lib/puppet/face/module/upgrade.rb +0 -87
  260. data/vendored/puppet/lib/puppet/face/node.rb +0 -43
  261. data/vendored/puppet/lib/puppet/face/node/clean.rb +0 -100
  262. data/vendored/puppet/lib/puppet/face/parser.rb +0 -187
  263. data/vendored/puppet/lib/puppet/face/plugin.rb +0 -56
  264. data/vendored/puppet/lib/puppet/face/report.rb +0 -54
  265. data/vendored/puppet/lib/puppet/face/resource.rb +0 -53
  266. data/vendored/puppet/lib/puppet/face/status.rb +0 -51
  267. data/vendored/puppet/lib/puppet/feature/base.rb +0 -76
  268. data/vendored/puppet/lib/puppet/feature/bolt.rb +0 -3
  269. data/vendored/puppet/lib/puppet/feature/cfpropertylist.rb +0 -3
  270. data/vendored/puppet/lib/puppet/feature/eventlog.rb +0 -5
  271. data/vendored/puppet/lib/puppet/feature/hiera_eyaml.rb +0 -3
  272. data/vendored/puppet/lib/puppet/feature/hocon.rb +0 -3
  273. data/vendored/puppet/lib/puppet/feature/libuser.rb +0 -8
  274. data/vendored/puppet/lib/puppet/feature/msgpack.rb +0 -3
  275. data/vendored/puppet/lib/puppet/feature/pe_license.rb +0 -4
  276. data/vendored/puppet/lib/puppet/feature/selinux.rb +0 -3
  277. data/vendored/puppet/lib/puppet/feature/ssh.rb +0 -3
  278. data/vendored/puppet/lib/puppet/feature/telnet.rb +0 -9
  279. data/vendored/puppet/lib/puppet/feature/zlib.rb +0 -5
  280. data/vendored/puppet/lib/puppet/file_bucket.rb +0 -4
  281. data/vendored/puppet/lib/puppet/file_bucket/dipper.rb +0 -173
  282. data/vendored/puppet/lib/puppet/file_bucket/file.rb +0 -129
  283. data/vendored/puppet/lib/puppet/file_serving.rb +0 -3
  284. data/vendored/puppet/lib/puppet/file_serving/base.rb +0 -86
  285. data/vendored/puppet/lib/puppet/file_serving/configuration.rb +0 -115
  286. data/vendored/puppet/lib/puppet/file_serving/configuration/parser.rb +0 -137
  287. data/vendored/puppet/lib/puppet/file_serving/content.rb +0 -43
  288. data/vendored/puppet/lib/puppet/file_serving/fileset.rb +0 -174
  289. data/vendored/puppet/lib/puppet/file_serving/http_metadata.rb +0 -46
  290. data/vendored/puppet/lib/puppet/file_serving/metadata.rb +0 -164
  291. data/vendored/puppet/lib/puppet/file_serving/mount.rb +0 -39
  292. data/vendored/puppet/lib/puppet/file_serving/mount/file.rb +0 -121
  293. data/vendored/puppet/lib/puppet/file_serving/mount/locales.rb +0 -35
  294. data/vendored/puppet/lib/puppet/file_serving/mount/modules.rb +0 -24
  295. data/vendored/puppet/lib/puppet/file_serving/mount/pluginfacts.rb +0 -35
  296. data/vendored/puppet/lib/puppet/file_serving/mount/plugins.rb +0 -35
  297. data/vendored/puppet/lib/puppet/file_serving/mount/tasks.rb +0 -21
  298. data/vendored/puppet/lib/puppet/file_serving/terminus_helper.rb +0 -31
  299. data/vendored/puppet/lib/puppet/file_serving/terminus_selector.rb +0 -32
  300. data/vendored/puppet/lib/puppet/file_system.rb +0 -404
  301. data/vendored/puppet/lib/puppet/file_system/file_impl.rb +0 -154
  302. data/vendored/puppet/lib/puppet/file_system/memory_file.rb +0 -66
  303. data/vendored/puppet/lib/puppet/file_system/memory_impl.rb +0 -86
  304. data/vendored/puppet/lib/puppet/file_system/path_pattern.rb +0 -98
  305. data/vendored/puppet/lib/puppet/file_system/posix.rb +0 -46
  306. data/vendored/puppet/lib/puppet/file_system/uniquefile.rb +0 -190
  307. data/vendored/puppet/lib/puppet/file_system/windows.rb +0 -130
  308. data/vendored/puppet/lib/puppet/forge.rb +0 -241
  309. data/vendored/puppet/lib/puppet/forge/cache.rb +0 -60
  310. data/vendored/puppet/lib/puppet/forge/errors.rb +0 -114
  311. data/vendored/puppet/lib/puppet/forge/repository.rb +0 -155
  312. data/vendored/puppet/lib/puppet/functions.rb +0 -863
  313. data/vendored/puppet/lib/puppet/functions/abs.rb +0 -61
  314. data/vendored/puppet/lib/puppet/functions/alert.rb +0 -14
  315. data/vendored/puppet/lib/puppet/functions/all.rb +0 -104
  316. data/vendored/puppet/lib/puppet/functions/annotate.rb +0 -108
  317. data/vendored/puppet/lib/puppet/functions/any.rb +0 -109
  318. data/vendored/puppet/lib/puppet/functions/assert_type.rb +0 -93
  319. data/vendored/puppet/lib/puppet/functions/binary_file.rb +0 -32
  320. data/vendored/puppet/lib/puppet/functions/break.rb +0 -47
  321. data/vendored/puppet/lib/puppet/functions/call.rb +0 -79
  322. data/vendored/puppet/lib/puppet/functions/camelcase.rb +0 -62
  323. data/vendored/puppet/lib/puppet/functions/capitalize.rb +0 -61
  324. data/vendored/puppet/lib/puppet/functions/ceiling.rb +0 -37
  325. data/vendored/puppet/lib/puppet/functions/chomp.rb +0 -57
  326. data/vendored/puppet/lib/puppet/functions/chop.rb +0 -67
  327. data/vendored/puppet/lib/puppet/functions/compare.rb +0 -125
  328. data/vendored/puppet/lib/puppet/functions/contain.rb +0 -55
  329. data/vendored/puppet/lib/puppet/functions/convert_to.rb +0 -34
  330. data/vendored/puppet/lib/puppet/functions/crit.rb +0 -14
  331. data/vendored/puppet/lib/puppet/functions/debug.rb +0 -14
  332. data/vendored/puppet/lib/puppet/functions/defined.rb +0 -159
  333. data/vendored/puppet/lib/puppet/functions/dig.rb +0 -67
  334. data/vendored/puppet/lib/puppet/functions/downcase.rb +0 -89
  335. data/vendored/puppet/lib/puppet/functions/each.rb +0 -169
  336. data/vendored/puppet/lib/puppet/functions/emerg.rb +0 -14
  337. data/vendored/puppet/lib/puppet/functions/empty.rb +0 -77
  338. data/vendored/puppet/lib/puppet/functions/epp.rb +0 -48
  339. data/vendored/puppet/lib/puppet/functions/err.rb +0 -14
  340. data/vendored/puppet/lib/puppet/functions/eyaml_lookup_key.rb +0 -97
  341. data/vendored/puppet/lib/puppet/functions/filter.rb +0 -144
  342. data/vendored/puppet/lib/puppet/functions/find_file.rb +0 -44
  343. data/vendored/puppet/lib/puppet/functions/flatten.rb +0 -64
  344. data/vendored/puppet/lib/puppet/functions/floor.rb +0 -37
  345. data/vendored/puppet/lib/puppet/functions/get.rb +0 -150
  346. data/vendored/puppet/lib/puppet/functions/getvar.rb +0 -87
  347. data/vendored/puppet/lib/puppet/functions/hiera.rb +0 -88
  348. data/vendored/puppet/lib/puppet/functions/hiera_array.rb +0 -81
  349. data/vendored/puppet/lib/puppet/functions/hiera_hash.rb +0 -92
  350. data/vendored/puppet/lib/puppet/functions/hiera_include.rb +0 -104
  351. data/vendored/puppet/lib/puppet/functions/hocon_data.rb +0 -41
  352. data/vendored/puppet/lib/puppet/functions/import.rb +0 -7
  353. data/vendored/puppet/lib/puppet/functions/include.rb +0 -53
  354. data/vendored/puppet/lib/puppet/functions/info.rb +0 -14
  355. data/vendored/puppet/lib/puppet/functions/inline_epp.rb +0 -59
  356. data/vendored/puppet/lib/puppet/functions/join.rb +0 -56
  357. data/vendored/puppet/lib/puppet/functions/json_data.rb +0 -33
  358. data/vendored/puppet/lib/puppet/functions/keys.rb +0 -25
  359. data/vendored/puppet/lib/puppet/functions/length.rb +0 -44
  360. data/vendored/puppet/lib/puppet/functions/lest.rb +0 -55
  361. data/vendored/puppet/lib/puppet/functions/lookup.rb +0 -224
  362. data/vendored/puppet/lib/puppet/functions/lstrip.rb +0 -58
  363. data/vendored/puppet/lib/puppet/functions/map.rb +0 -136
  364. data/vendored/puppet/lib/puppet/functions/match.rb +0 -131
  365. data/vendored/puppet/lib/puppet/functions/max.rb +0 -183
  366. data/vendored/puppet/lib/puppet/functions/min.rb +0 -182
  367. data/vendored/puppet/lib/puppet/functions/module_directory.rb +0 -41
  368. data/vendored/puppet/lib/puppet/functions/new.rb +0 -1006
  369. data/vendored/puppet/lib/puppet/functions/next.rb +0 -16
  370. data/vendored/puppet/lib/puppet/functions/notice.rb +0 -14
  371. data/vendored/puppet/lib/puppet/functions/reduce.rb +0 -164
  372. data/vendored/puppet/lib/puppet/functions/regsubst.rb +0 -82
  373. data/vendored/puppet/lib/puppet/functions/require.rb +0 -77
  374. data/vendored/puppet/lib/puppet/functions/return.rb +0 -15
  375. data/vendored/puppet/lib/puppet/functions/reverse_each.rb +0 -94
  376. data/vendored/puppet/lib/puppet/functions/round.rb +0 -24
  377. data/vendored/puppet/lib/puppet/functions/rstrip.rb +0 -58
  378. data/vendored/puppet/lib/puppet/functions/scanf.rb +0 -44
  379. data/vendored/puppet/lib/puppet/functions/size.rb +0 -15
  380. data/vendored/puppet/lib/puppet/functions/slice.rb +0 -124
  381. data/vendored/puppet/lib/puppet/functions/sort.rb +0 -74
  382. data/vendored/puppet/lib/puppet/functions/split.rb +0 -49
  383. data/vendored/puppet/lib/puppet/functions/step.rb +0 -98
  384. data/vendored/puppet/lib/puppet/functions/strftime.rb +0 -211
  385. data/vendored/puppet/lib/puppet/functions/strip.rb +0 -58
  386. data/vendored/puppet/lib/puppet/functions/then.rb +0 -77
  387. data/vendored/puppet/lib/puppet/functions/tree_each.rb +0 -200
  388. data/vendored/puppet/lib/puppet/functions/type.rb +0 -72
  389. data/vendored/puppet/lib/puppet/functions/unique.rb +0 -132
  390. data/vendored/puppet/lib/puppet/functions/unwrap.rb +0 -44
  391. data/vendored/puppet/lib/puppet/functions/upcase.rb +0 -89
  392. data/vendored/puppet/lib/puppet/functions/values.rb +0 -25
  393. data/vendored/puppet/lib/puppet/functions/versioncmp.rb +0 -36
  394. data/vendored/puppet/lib/puppet/functions/warning.rb +0 -14
  395. data/vendored/puppet/lib/puppet/functions/with.rb +0 -32
  396. data/vendored/puppet/lib/puppet/functions/yaml_data.rb +0 -43
  397. data/vendored/puppet/lib/puppet/generate/models/type/property.rb +0 -70
  398. data/vendored/puppet/lib/puppet/generate/models/type/type.rb +0 -62
  399. data/vendored/puppet/lib/puppet/generate/type.rb +0 -239
  400. data/vendored/puppet/lib/puppet/gettext/config.rb +0 -275
  401. data/vendored/puppet/lib/puppet/gettext/module_translations.rb +0 -42
  402. data/vendored/puppet/lib/puppet/gettext/stubs.rb +0 -11
  403. data/vendored/puppet/lib/puppet/graph.rb +0 -9
  404. data/vendored/puppet/lib/puppet/graph/key.rb +0 -26
  405. data/vendored/puppet/lib/puppet/graph/prioritizer.rb +0 -29
  406. data/vendored/puppet/lib/puppet/graph/rb_tree_map.rb +0 -388
  407. data/vendored/puppet/lib/puppet/graph/relationship_graph.rb +0 -283
  408. data/vendored/puppet/lib/puppet/graph/sequential_prioritizer.rb +0 -31
  409. data/vendored/puppet/lib/puppet/graph/simple_graph.rb +0 -543
  410. data/vendored/puppet/lib/puppet/indirector.rb +0 -61
  411. data/vendored/puppet/lib/puppet/indirector/catalog/compiler.rb +0 -416
  412. data/vendored/puppet/lib/puppet/indirector/catalog/json.rb +0 -35
  413. data/vendored/puppet/lib/puppet/indirector/catalog/msgpack.rb +0 -6
  414. data/vendored/puppet/lib/puppet/indirector/catalog/rest.rb +0 -6
  415. data/vendored/puppet/lib/puppet/indirector/catalog/store_configs.rb +0 -8
  416. data/vendored/puppet/lib/puppet/indirector/catalog/yaml.rb +0 -6
  417. data/vendored/puppet/lib/puppet/indirector/certificate/file.rb +0 -8
  418. data/vendored/puppet/lib/puppet/indirector/certificate/rest.rb +0 -16
  419. data/vendored/puppet/lib/puppet/indirector/certificate_request/file.rb +0 -8
  420. data/vendored/puppet/lib/puppet/indirector/certificate_request/memory.rb +0 -6
  421. data/vendored/puppet/lib/puppet/indirector/certificate_request/rest.rb +0 -10
  422. data/vendored/puppet/lib/puppet/indirector/code.rb +0 -6
  423. data/vendored/puppet/lib/puppet/indirector/data_binding/hiera.rb +0 -7
  424. data/vendored/puppet/lib/puppet/indirector/data_binding/none.rb +0 -8
  425. data/vendored/puppet/lib/puppet/indirector/direct_file_server.rb +0 -17
  426. data/vendored/puppet/lib/puppet/indirector/envelope.rb +0 -11
  427. data/vendored/puppet/lib/puppet/indirector/errors.rb +0 -5
  428. data/vendored/puppet/lib/puppet/indirector/exec.rb +0 -38
  429. data/vendored/puppet/lib/puppet/indirector/face.rb +0 -153
  430. data/vendored/puppet/lib/puppet/indirector/facts/facter.rb +0 -88
  431. data/vendored/puppet/lib/puppet/indirector/facts/memory.rb +0 -9
  432. data/vendored/puppet/lib/puppet/indirector/facts/network_device.rb +0 -27
  433. data/vendored/puppet/lib/puppet/indirector/facts/rest.rb +0 -21
  434. data/vendored/puppet/lib/puppet/indirector/facts/store_configs.rb +0 -11
  435. data/vendored/puppet/lib/puppet/indirector/facts/yaml.rb +0 -84
  436. data/vendored/puppet/lib/puppet/indirector/file_bucket_file/file.rb +0 -262
  437. data/vendored/puppet/lib/puppet/indirector/file_bucket_file/rest.rb +0 -8
  438. data/vendored/puppet/lib/puppet/indirector/file_bucket_file/selector.rb +0 -53
  439. data/vendored/puppet/lib/puppet/indirector/file_content.rb +0 -5
  440. data/vendored/puppet/lib/puppet/indirector/file_content/file.rb +0 -7
  441. data/vendored/puppet/lib/puppet/indirector/file_content/file_server.rb +0 -7
  442. data/vendored/puppet/lib/puppet/indirector/file_content/http.rb +0 -17
  443. data/vendored/puppet/lib/puppet/indirector/file_content/rest.rb +0 -9
  444. data/vendored/puppet/lib/puppet/indirector/file_content/selector.rb +0 -30
  445. data/vendored/puppet/lib/puppet/indirector/file_metadata.rb +0 -5
  446. data/vendored/puppet/lib/puppet/indirector/file_metadata/file.rb +0 -7
  447. data/vendored/puppet/lib/puppet/indirector/file_metadata/file_server.rb +0 -7
  448. data/vendored/puppet/lib/puppet/indirector/file_metadata/http.rb +0 -27
  449. data/vendored/puppet/lib/puppet/indirector/file_metadata/rest.rb +0 -9
  450. data/vendored/puppet/lib/puppet/indirector/file_metadata/selector.rb +0 -30
  451. data/vendored/puppet/lib/puppet/indirector/file_server.rb +0 -59
  452. data/vendored/puppet/lib/puppet/indirector/generic_http.rb +0 -16
  453. data/vendored/puppet/lib/puppet/indirector/hiera.rb +0 -94
  454. data/vendored/puppet/lib/puppet/indirector/indirection.rb +0 -340
  455. data/vendored/puppet/lib/puppet/indirector/json.rb +0 -75
  456. data/vendored/puppet/lib/puppet/indirector/key/file.rb +0 -45
  457. data/vendored/puppet/lib/puppet/indirector/key/memory.rb +0 -6
  458. data/vendored/puppet/lib/puppet/indirector/memory.rb +0 -34
  459. data/vendored/puppet/lib/puppet/indirector/msgpack.rb +0 -83
  460. data/vendored/puppet/lib/puppet/indirector/node/exec.rb +0 -69
  461. data/vendored/puppet/lib/puppet/indirector/node/memory.rb +0 -10
  462. data/vendored/puppet/lib/puppet/indirector/node/msgpack.rb +0 -7
  463. data/vendored/puppet/lib/puppet/indirector/node/plain.rb +0 -21
  464. data/vendored/puppet/lib/puppet/indirector/node/rest.rb +0 -7
  465. data/vendored/puppet/lib/puppet/indirector/node/store_configs.rb +0 -8
  466. data/vendored/puppet/lib/puppet/indirector/node/yaml.rb +0 -7
  467. data/vendored/puppet/lib/puppet/indirector/none.rb +0 -9
  468. data/vendored/puppet/lib/puppet/indirector/plain.rb +0 -9
  469. data/vendored/puppet/lib/puppet/indirector/report/msgpack.rb +0 -11
  470. data/vendored/puppet/lib/puppet/indirector/report/processor.rb +0 -59
  471. data/vendored/puppet/lib/puppet/indirector/report/rest.rb +0 -28
  472. data/vendored/puppet/lib/puppet/indirector/report/yaml.rb +0 -11
  473. data/vendored/puppet/lib/puppet/indirector/request.rb +0 -278
  474. data/vendored/puppet/lib/puppet/indirector/resource/ral.rb +0 -63
  475. data/vendored/puppet/lib/puppet/indirector/resource/store_configs.rb +0 -12
  476. data/vendored/puppet/lib/puppet/indirector/resource/validator.rb +0 -8
  477. data/vendored/puppet/lib/puppet/indirector/rest.rb +0 -301
  478. data/vendored/puppet/lib/puppet/indirector/ssl_file.rb +0 -160
  479. data/vendored/puppet/lib/puppet/indirector/status.rb +0 -3
  480. data/vendored/puppet/lib/puppet/indirector/status/local.rb +0 -12
  481. data/vendored/puppet/lib/puppet/indirector/status/rest.rb +0 -9
  482. data/vendored/puppet/lib/puppet/indirector/store_configs.rb +0 -30
  483. data/vendored/puppet/lib/puppet/indirector/terminus.rb +0 -169
  484. data/vendored/puppet/lib/puppet/indirector/yaml.rb +0 -63
  485. data/vendored/puppet/lib/puppet/info_service.rb +0 -17
  486. data/vendored/puppet/lib/puppet/info_service/class_information_service.rb +0 -110
  487. data/vendored/puppet/lib/puppet/info_service/task_information_service.rb +0 -36
  488. data/vendored/puppet/lib/puppet/interface.rb +0 -237
  489. data/vendored/puppet/lib/puppet/interface/action.rb +0 -399
  490. data/vendored/puppet/lib/puppet/interface/action_builder.rb +0 -166
  491. data/vendored/puppet/lib/puppet/interface/action_manager.rb +0 -97
  492. data/vendored/puppet/lib/puppet/interface/documentation.rb +0 -353
  493. data/vendored/puppet/lib/puppet/interface/face_collection.rb +0 -134
  494. data/vendored/puppet/lib/puppet/interface/option.rb +0 -171
  495. data/vendored/puppet/lib/puppet/interface/option_builder.rb +0 -105
  496. data/vendored/puppet/lib/puppet/interface/option_manager.rb +0 -104
  497. data/vendored/puppet/lib/puppet/loaders.rb +0 -28
  498. data/vendored/puppet/lib/puppet/metatype/manager.rb +0 -197
  499. data/vendored/puppet/lib/puppet/module.rb +0 -441
  500. data/vendored/puppet/lib/puppet/module/task.rb +0 -258
  501. data/vendored/puppet/lib/puppet/module_tool.rb +0 -193
  502. data/vendored/puppet/lib/puppet/module_tool/applications.rb +0 -13
  503. data/vendored/puppet/lib/puppet/module_tool/applications/application.rb +0 -90
  504. data/vendored/puppet/lib/puppet/module_tool/applications/checksummer.rb +0 -62
  505. data/vendored/puppet/lib/puppet/module_tool/applications/installer.rb +0 -354
  506. data/vendored/puppet/lib/puppet/module_tool/applications/searcher.rb +0 -29
  507. data/vendored/puppet/lib/puppet/module_tool/applications/uninstaller.rb +0 -120
  508. data/vendored/puppet/lib/puppet/module_tool/applications/unpacker.rb +0 -100
  509. data/vendored/puppet/lib/puppet/module_tool/applications/upgrader.rb +0 -280
  510. data/vendored/puppet/lib/puppet/module_tool/checksums.rb +0 -49
  511. data/vendored/puppet/lib/puppet/module_tool/contents_description.rb +0 -88
  512. data/vendored/puppet/lib/puppet/module_tool/dependency.rb +0 -41
  513. data/vendored/puppet/lib/puppet/module_tool/errors.rb +0 -11
  514. data/vendored/puppet/lib/puppet/module_tool/errors/base.rb +0 -15
  515. data/vendored/puppet/lib/puppet/module_tool/errors/installer.rb +0 -93
  516. data/vendored/puppet/lib/puppet/module_tool/errors/shared.rb +0 -195
  517. data/vendored/puppet/lib/puppet/module_tool/errors/uninstaller.rb +0 -50
  518. data/vendored/puppet/lib/puppet/module_tool/errors/upgrader.rb +0 -63
  519. data/vendored/puppet/lib/puppet/module_tool/install_directory.rb +0 -45
  520. data/vendored/puppet/lib/puppet/module_tool/installed_modules.rb +0 -96
  521. data/vendored/puppet/lib/puppet/module_tool/local_tarball.rb +0 -90
  522. data/vendored/puppet/lib/puppet/module_tool/metadata.rb +0 -222
  523. data/vendored/puppet/lib/puppet/module_tool/shared_behaviors.rb +0 -180
  524. data/vendored/puppet/lib/puppet/module_tool/tar.rb +0 -18
  525. data/vendored/puppet/lib/puppet/module_tool/tar/gnu.rb +0 -19
  526. data/vendored/puppet/lib/puppet/module_tool/tar/mini.rb +0 -106
  527. data/vendored/puppet/lib/puppet/network.rb +0 -3
  528. data/vendored/puppet/lib/puppet/network/auth_config_parser.rb +0 -90
  529. data/vendored/puppet/lib/puppet/network/authconfig.rb +0 -99
  530. data/vendored/puppet/lib/puppet/network/authorization.rb +0 -41
  531. data/vendored/puppet/lib/puppet/network/authstore.rb +0 -282
  532. data/vendored/puppet/lib/puppet/network/client_request.rb +0 -29
  533. data/vendored/puppet/lib/puppet/network/format.rb +0 -110
  534. data/vendored/puppet/lib/puppet/network/format_handler.rb +0 -108
  535. data/vendored/puppet/lib/puppet/network/format_support.rb +0 -139
  536. data/vendored/puppet/lib/puppet/network/formats.rb +0 -260
  537. data/vendored/puppet/lib/puppet/network/http.rb +0 -28
  538. data/vendored/puppet/lib/puppet/network/http/api.rb +0 -35
  539. data/vendored/puppet/lib/puppet/network/http/api/indirected_routes.rb +0 -286
  540. data/vendored/puppet/lib/puppet/network/http/api/indirection_type.rb +0 -32
  541. data/vendored/puppet/lib/puppet/network/http/api/master.rb +0 -2
  542. data/vendored/puppet/lib/puppet/network/http/api/master/v3.rb +0 -28
  543. data/vendored/puppet/lib/puppet/network/http/api/master/v3/authorization.rb +0 -18
  544. data/vendored/puppet/lib/puppet/network/http/api/master/v3/environment.rb +0 -85
  545. data/vendored/puppet/lib/puppet/network/http/api/master/v3/environments.rb +0 -35
  546. data/vendored/puppet/lib/puppet/network/http/compression.rb +0 -120
  547. data/vendored/puppet/lib/puppet/network/http/connection.rb +0 -319
  548. data/vendored/puppet/lib/puppet/network/http/error.rb +0 -73
  549. data/vendored/puppet/lib/puppet/network/http/factory.rb +0 -55
  550. data/vendored/puppet/lib/puppet/network/http/handler.rb +0 -215
  551. data/vendored/puppet/lib/puppet/network/http/issues.rb +0 -12
  552. data/vendored/puppet/lib/puppet/network/http/memory_response.rb +0 -13
  553. data/vendored/puppet/lib/puppet/network/http/nocache_pool.rb +0 -21
  554. data/vendored/puppet/lib/puppet/network/http/pool.rb +0 -129
  555. data/vendored/puppet/lib/puppet/network/http/request.rb +0 -70
  556. data/vendored/puppet/lib/puppet/network/http/response.rb +0 -23
  557. data/vendored/puppet/lib/puppet/network/http/route.rb +0 -100
  558. data/vendored/puppet/lib/puppet/network/http/session.rb +0 -17
  559. data/vendored/puppet/lib/puppet/network/http/site.rb +0 -39
  560. data/vendored/puppet/lib/puppet/network/http_pool.rb +0 -61
  561. data/vendored/puppet/lib/puppet/network/resolver.rb +0 -158
  562. data/vendored/puppet/lib/puppet/network/rest_controller.rb +0 -2
  563. data/vendored/puppet/lib/puppet/network/rights.rb +0 -209
  564. data/vendored/puppet/lib/puppet/node.rb +0 -281
  565. data/vendored/puppet/lib/puppet/node/environment.rb +0 -575
  566. data/vendored/puppet/lib/puppet/node/facts.rb +0 -147
  567. data/vendored/puppet/lib/puppet/parameter.rb +0 -572
  568. data/vendored/puppet/lib/puppet/parameter/boolean.rb +0 -15
  569. data/vendored/puppet/lib/puppet/parameter/package_options.rb +0 -31
  570. data/vendored/puppet/lib/puppet/parameter/path.rb +0 -57
  571. data/vendored/puppet/lib/puppet/parameter/value.rb +0 -91
  572. data/vendored/puppet/lib/puppet/parameter/value_collection.rb +0 -212
  573. data/vendored/puppet/lib/puppet/parser.rb +0 -20
  574. data/vendored/puppet/lib/puppet/parser/abstract_compiler.rb +0 -36
  575. data/vendored/puppet/lib/puppet/parser/ast.rb +0 -61
  576. data/vendored/puppet/lib/puppet/parser/ast/block_expression.rb +0 -15
  577. data/vendored/puppet/lib/puppet/parser/ast/branch.rb +0 -19
  578. data/vendored/puppet/lib/puppet/parser/ast/hostclass.rb +0 -27
  579. data/vendored/puppet/lib/puppet/parser/ast/leaf.rb +0 -80
  580. data/vendored/puppet/lib/puppet/parser/ast/node.rb +0 -17
  581. data/vendored/puppet/lib/puppet/parser/ast/pops_bridge.rb +0 -291
  582. data/vendored/puppet/lib/puppet/parser/ast/resource.rb +0 -66
  583. data/vendored/puppet/lib/puppet/parser/ast/resource_instance.rb +0 -10
  584. data/vendored/puppet/lib/puppet/parser/ast/resourceparam.rb +0 -31
  585. data/vendored/puppet/lib/puppet/parser/ast/top_level_construct.rb +0 -4
  586. data/vendored/puppet/lib/puppet/parser/catalog_compiler.rb +0 -56
  587. data/vendored/puppet/lib/puppet/parser/compiler.rb +0 -798
  588. data/vendored/puppet/lib/puppet/parser/compiler/catalog_validator.rb +0 -33
  589. data/vendored/puppet/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -64
  590. data/vendored/puppet/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +0 -64
  591. data/vendored/puppet/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -20
  592. data/vendored/puppet/lib/puppet/parser/e4_parser_adapter.rb +0 -60
  593. data/vendored/puppet/lib/puppet/parser/environment_compiler.rb +0 -199
  594. data/vendored/puppet/lib/puppet/parser/files.rb +0 -92
  595. data/vendored/puppet/lib/puppet/parser/functions.rb +0 -311
  596. data/vendored/puppet/lib/puppet/parser/functions/assert_type.rb +0 -60
  597. data/vendored/puppet/lib/puppet/parser/functions/binary_file.rb +0 -24
  598. data/vendored/puppet/lib/puppet/parser/functions/break.rb +0 -39
  599. data/vendored/puppet/lib/puppet/parser/functions/contain.rb +0 -30
  600. data/vendored/puppet/lib/puppet/parser/functions/create_resources.rb +0 -106
  601. data/vendored/puppet/lib/puppet/parser/functions/defined.rb +0 -107
  602. data/vendored/puppet/lib/puppet/parser/functions/dig.rb +0 -38
  603. data/vendored/puppet/lib/puppet/parser/functions/digest.rb +0 -5
  604. data/vendored/puppet/lib/puppet/parser/functions/each.rb +0 -104
  605. data/vendored/puppet/lib/puppet/parser/functions/epp.rb +0 -39
  606. data/vendored/puppet/lib/puppet/parser/functions/fail.rb +0 -4
  607. data/vendored/puppet/lib/puppet/parser/functions/file.rb +0 -33
  608. data/vendored/puppet/lib/puppet/parser/functions/filter.rb +0 -78
  609. data/vendored/puppet/lib/puppet/parser/functions/find_file.rb +0 -28
  610. data/vendored/puppet/lib/puppet/parser/functions/fqdn_rand.rb +0 -36
  611. data/vendored/puppet/lib/puppet/parser/functions/generate.rb +0 -36
  612. data/vendored/puppet/lib/puppet/parser/functions/hiera.rb +0 -103
  613. data/vendored/puppet/lib/puppet/parser/functions/hiera_array.rb +0 -92
  614. data/vendored/puppet/lib/puppet/parser/functions/hiera_hash.rb +0 -102
  615. data/vendored/puppet/lib/puppet/parser/functions/hiera_include.rb +0 -101
  616. data/vendored/puppet/lib/puppet/parser/functions/include.rb +0 -34
  617. data/vendored/puppet/lib/puppet/parser/functions/inline_epp.rb +0 -51
  618. data/vendored/puppet/lib/puppet/parser/functions/inline_template.rb +0 -26
  619. data/vendored/puppet/lib/puppet/parser/functions/lest.rb +0 -49
  620. data/vendored/puppet/lib/puppet/parser/functions/lookup.rb +0 -132
  621. data/vendored/puppet/lib/puppet/parser/functions/map.rb +0 -76
  622. data/vendored/puppet/lib/puppet/parser/functions/match.rb +0 -43
  623. data/vendored/puppet/lib/puppet/parser/functions/md5.rb +0 -5
  624. data/vendored/puppet/lib/puppet/parser/functions/new.rb +0 -991
  625. data/vendored/puppet/lib/puppet/parser/functions/next.rb +0 -38
  626. data/vendored/puppet/lib/puppet/parser/functions/realize.rb +0 -20
  627. data/vendored/puppet/lib/puppet/parser/functions/reduce.rb +0 -137
  628. data/vendored/puppet/lib/puppet/parser/functions/regsubst.rb +0 -62
  629. data/vendored/puppet/lib/puppet/parser/functions/require.rb +0 -40
  630. data/vendored/puppet/lib/puppet/parser/functions/return.rb +0 -92
  631. data/vendored/puppet/lib/puppet/parser/functions/reverse_each.rb +0 -83
  632. data/vendored/puppet/lib/puppet/parser/functions/scanf.rb +0 -38
  633. data/vendored/puppet/lib/puppet/parser/functions/sha1.rb +0 -5
  634. data/vendored/puppet/lib/puppet/parser/functions/sha256.rb +0 -5
  635. data/vendored/puppet/lib/puppet/parser/functions/shellquote.rb +0 -61
  636. data/vendored/puppet/lib/puppet/parser/functions/slice.rb +0 -39
  637. data/vendored/puppet/lib/puppet/parser/functions/split.rb +0 -28
  638. data/vendored/puppet/lib/puppet/parser/functions/sprintf.rb +0 -61
  639. data/vendored/puppet/lib/puppet/parser/functions/step.rb +0 -84
  640. data/vendored/puppet/lib/puppet/parser/functions/strftime.rb +0 -185
  641. data/vendored/puppet/lib/puppet/parser/functions/tag.rb +0 -12
  642. data/vendored/puppet/lib/puppet/parser/functions/tagged.rb +0 -21
  643. data/vendored/puppet/lib/puppet/parser/functions/template.rb +0 -39
  644. data/vendored/puppet/lib/puppet/parser/functions/then.rb +0 -73
  645. data/vendored/puppet/lib/puppet/parser/functions/type.rb +0 -53
  646. data/vendored/puppet/lib/puppet/parser/functions/versioncmp.rb +0 -30
  647. data/vendored/puppet/lib/puppet/parser/functions/with.rb +0 -28
  648. data/vendored/puppet/lib/puppet/parser/parser_factory.rb +0 -30
  649. data/vendored/puppet/lib/puppet/parser/relationship.rb +0 -83
  650. data/vendored/puppet/lib/puppet/parser/resource.rb +0 -416
  651. data/vendored/puppet/lib/puppet/parser/resource/param.rb +0 -29
  652. data/vendored/puppet/lib/puppet/parser/scope.rb +0 -1123
  653. data/vendored/puppet/lib/puppet/parser/script_compiler.rb +0 -123
  654. data/vendored/puppet/lib/puppet/parser/templatewrapper.rb +0 -102
  655. data/vendored/puppet/lib/puppet/parser/type_loader.rb +0 -149
  656. data/vendored/puppet/lib/puppet/plugins.rb +0 -9
  657. data/vendored/puppet/lib/puppet/plugins/configuration.rb +0 -25
  658. data/vendored/puppet/lib/puppet/plugins/syntax_checkers.rb +0 -98
  659. data/vendored/puppet/lib/puppet/pops.rb +0 -121
  660. data/vendored/puppet/lib/puppet/pops/adaptable.rb +0 -206
  661. data/vendored/puppet/lib/puppet/pops/adapters.rb +0 -152
  662. data/vendored/puppet/lib/puppet/pops/evaluator/access_operator.rb +0 -719
  663. data/vendored/puppet/lib/puppet/pops/evaluator/callable_signature.rb +0 -107
  664. data/vendored/puppet/lib/puppet/pops/evaluator/closure.rb +0 -373
  665. data/vendored/puppet/lib/puppet/pops/evaluator/collector_transformer.rb +0 -234
  666. data/vendored/puppet/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +0 -86
  667. data/vendored/puppet/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +0 -29
  668. data/vendored/puppet/lib/puppet/pops/evaluator/collectors/exported_collector.rb +0 -69
  669. data/vendored/puppet/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +0 -37
  670. data/vendored/puppet/lib/puppet/pops/evaluator/compare_operator.rb +0 -254
  671. data/vendored/puppet/lib/puppet/pops/evaluator/deferred_resolver.rb +0 -130
  672. data/vendored/puppet/lib/puppet/pops/evaluator/epp_evaluator.rb +0 -120
  673. data/vendored/puppet/lib/puppet/pops/evaluator/evaluator_impl.rb +0 -1299
  674. data/vendored/puppet/lib/puppet/pops/evaluator/external_syntax_support.rb +0 -45
  675. data/vendored/puppet/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +0 -82
  676. data/vendored/puppet/lib/puppet/pops/evaluator/literal_evaluator.rb +0 -87
  677. data/vendored/puppet/lib/puppet/pops/evaluator/puppet_proc.rb +0 -69
  678. data/vendored/puppet/lib/puppet/pops/evaluator/relationship_operator.rb +0 -185
  679. data/vendored/puppet/lib/puppet/pops/evaluator/runtime3_converter.rb +0 -221
  680. data/vendored/puppet/lib/puppet/pops/evaluator/runtime3_resource_support.rb +0 -117
  681. data/vendored/puppet/lib/puppet/pops/evaluator/runtime3_support.rb +0 -534
  682. data/vendored/puppet/lib/puppet/pops/functions/dispatch.rb +0 -107
  683. data/vendored/puppet/lib/puppet/pops/functions/dispatcher.rb +0 -71
  684. data/vendored/puppet/lib/puppet/pops/functions/function.rb +0 -141
  685. data/vendored/puppet/lib/puppet/pops/issue_reporter.rb +0 -137
  686. data/vendored/puppet/lib/puppet/pops/issues.rb +0 -921
  687. data/vendored/puppet/lib/puppet/pops/label_provider.rb +0 -90
  688. data/vendored/puppet/lib/puppet/pops/loader/base_loader.rb +0 -166
  689. data/vendored/puppet/lib/puppet/pops/loader/dependency_loader.rb +0 -92
  690. data/vendored/puppet/lib/puppet/pops/loader/gem_support.rb +0 -49
  691. data/vendored/puppet/lib/puppet/pops/loader/loader.rb +0 -209
  692. data/vendored/puppet/lib/puppet/pops/loader/loader_paths.rb +0 -377
  693. data/vendored/puppet/lib/puppet/pops/loader/module_loaders.rb +0 -549
  694. data/vendored/puppet/lib/puppet/pops/loader/null_loader.rb +0 -60
  695. data/vendored/puppet/lib/puppet/pops/loader/predefined_loader.rb +0 -24
  696. data/vendored/puppet/lib/puppet/pops/loader/puppet_function_instantiator.rb +0 -84
  697. data/vendored/puppet/lib/puppet/pops/loader/puppet_plan_instantiator.rb +0 -84
  698. data/vendored/puppet/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +0 -79
  699. data/vendored/puppet/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +0 -39
  700. data/vendored/puppet/lib/puppet/pops/loader/ruby_function_instantiator.rb +0 -45
  701. data/vendored/puppet/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +0 -62
  702. data/vendored/puppet/lib/puppet/pops/loader/runtime3_type_loader.rb +0 -101
  703. data/vendored/puppet/lib/puppet/pops/loader/simple_environment_loader.rb +0 -20
  704. data/vendored/puppet/lib/puppet/pops/loader/static_loader.rb +0 -127
  705. data/vendored/puppet/lib/puppet/pops/loader/task_instantiator.rb +0 -40
  706. data/vendored/puppet/lib/puppet/pops/loader/type_definition_instantiator.rb +0 -100
  707. data/vendored/puppet/lib/puppet/pops/loader/typed_name.rb +0 -54
  708. data/vendored/puppet/lib/puppet/pops/loader/uri_helper.rb +0 -22
  709. data/vendored/puppet/lib/puppet/pops/loaders.rb +0 -533
  710. data/vendored/puppet/lib/puppet/pops/lookup.rb +0 -96
  711. data/vendored/puppet/lib/puppet/pops/lookup/configured_data_provider.rb +0 -93
  712. data/vendored/puppet/lib/puppet/pops/lookup/context.rb +0 -200
  713. data/vendored/puppet/lib/puppet/pops/lookup/data_adapter.rb +0 -27
  714. data/vendored/puppet/lib/puppet/pops/lookup/data_dig_function_provider.rb +0 -145
  715. data/vendored/puppet/lib/puppet/pops/lookup/data_hash_function_provider.rb +0 -126
  716. data/vendored/puppet/lib/puppet/pops/lookup/data_provider.rb +0 -92
  717. data/vendored/puppet/lib/puppet/pops/lookup/environment_data_provider.rb +0 -35
  718. data/vendored/puppet/lib/puppet/pops/lookup/explainer.rb +0 -595
  719. data/vendored/puppet/lib/puppet/pops/lookup/function_provider.rb +0 -110
  720. data/vendored/puppet/lib/puppet/pops/lookup/global_data_provider.rb +0 -75
  721. data/vendored/puppet/lib/puppet/pops/lookup/hiera_config.rb +0 -761
  722. data/vendored/puppet/lib/puppet/pops/lookup/interpolation.rb +0 -154
  723. data/vendored/puppet/lib/puppet/pops/lookup/invocation.rb +0 -261
  724. data/vendored/puppet/lib/puppet/pops/lookup/location_resolver.rb +0 -99
  725. data/vendored/puppet/lib/puppet/pops/lookup/lookup_adapter.rb +0 -520
  726. data/vendored/puppet/lib/puppet/pops/lookup/lookup_key.rb +0 -99
  727. data/vendored/puppet/lib/puppet/pops/lookup/lookup_key_function_provider.rb +0 -92
  728. data/vendored/puppet/lib/puppet/pops/lookup/module_data_provider.rb +0 -89
  729. data/vendored/puppet/lib/puppet/pops/lookup/sub_lookup.rb +0 -92
  730. data/vendored/puppet/lib/puppet/pops/merge_strategy.rb +0 -437
  731. data/vendored/puppet/lib/puppet/pops/migration/migration_checker.rb +0 -58
  732. data/vendored/puppet/lib/puppet/pops/model/ast.rb +0 -4964
  733. data/vendored/puppet/lib/puppet/pops/model/ast_transformer.rb +0 -131
  734. data/vendored/puppet/lib/puppet/pops/model/factory.rb +0 -1163
  735. data/vendored/puppet/lib/puppet/pops/model/model_label_provider.rb +0 -139
  736. data/vendored/puppet/lib/puppet/pops/model/model_tree_dumper.rb +0 -467
  737. data/vendored/puppet/lib/puppet/pops/model/pn_transformer.rb +0 -400
  738. data/vendored/puppet/lib/puppet/pops/model/tree_dumper.rb +0 -59
  739. data/vendored/puppet/lib/puppet/pops/parser/code_merger.rb +0 -29
  740. data/vendored/puppet/lib/puppet/pops/parser/eparser.rb +0 -3361
  741. data/vendored/puppet/lib/puppet/pops/parser/epp_parser.rb +0 -51
  742. data/vendored/puppet/lib/puppet/pops/parser/epp_support.rb +0 -264
  743. data/vendored/puppet/lib/puppet/pops/parser/evaluating_parser.rb +0 -165
  744. data/vendored/puppet/lib/puppet/pops/parser/heredoc_support.rb +0 -143
  745. data/vendored/puppet/lib/puppet/pops/parser/interpolation_support.rb +0 -244
  746. data/vendored/puppet/lib/puppet/pops/parser/lexer2.rb +0 -772
  747. data/vendored/puppet/lib/puppet/pops/parser/lexer_support.rb +0 -221
  748. data/vendored/puppet/lib/puppet/pops/parser/locatable.rb +0 -23
  749. data/vendored/puppet/lib/puppet/pops/parser/locator.rb +0 -336
  750. data/vendored/puppet/lib/puppet/pops/parser/parser_support.rb +0 -247
  751. data/vendored/puppet/lib/puppet/pops/parser/pn_parser.rb +0 -316
  752. data/vendored/puppet/lib/puppet/pops/parser/slurp_support.rb +0 -117
  753. data/vendored/puppet/lib/puppet/pops/patterns.rb +0 -60
  754. data/vendored/puppet/lib/puppet/pops/pcore.rb +0 -135
  755. data/vendored/puppet/lib/puppet/pops/pn.rb +0 -236
  756. data/vendored/puppet/lib/puppet/pops/puppet_stack.rb +0 -57
  757. data/vendored/puppet/lib/puppet/pops/resource/param.rb +0 -55
  758. data/vendored/puppet/lib/puppet/pops/resource/resource_type_impl.rb +0 -314
  759. data/vendored/puppet/lib/puppet/pops/semantic_error.rb +0 -29
  760. data/vendored/puppet/lib/puppet/pops/serialization.rb +0 -43
  761. data/vendored/puppet/lib/puppet/pops/serialization/abstract_reader.rb +0 -180
  762. data/vendored/puppet/lib/puppet/pops/serialization/abstract_writer.rb +0 -222
  763. data/vendored/puppet/lib/puppet/pops/serialization/deserializer.rb +0 -80
  764. data/vendored/puppet/lib/puppet/pops/serialization/extension.rb +0 -158
  765. data/vendored/puppet/lib/puppet/pops/serialization/from_data_converter.rb +0 -224
  766. data/vendored/puppet/lib/puppet/pops/serialization/instance_reader.rb +0 -19
  767. data/vendored/puppet/lib/puppet/pops/serialization/instance_writer.rb +0 -14
  768. data/vendored/puppet/lib/puppet/pops/serialization/json.rb +0 -297
  769. data/vendored/puppet/lib/puppet/pops/serialization/json_path.rb +0 -127
  770. data/vendored/puppet/lib/puppet/pops/serialization/object.rb +0 -70
  771. data/vendored/puppet/lib/puppet/pops/serialization/serializer.rb +0 -140
  772. data/vendored/puppet/lib/puppet/pops/serialization/time_factory.rb +0 -67
  773. data/vendored/puppet/lib/puppet/pops/serialization/to_data_converter.rb +0 -313
  774. data/vendored/puppet/lib/puppet/pops/serialization/to_stringified_converter.rb +0 -226
  775. data/vendored/puppet/lib/puppet/pops/time/timespan.rb +0 -718
  776. data/vendored/puppet/lib/puppet/pops/time/timestamp.rb +0 -160
  777. data/vendored/puppet/lib/puppet/pops/types/annotatable.rb +0 -36
  778. data/vendored/puppet/lib/puppet/pops/types/annotation.rb +0 -71
  779. data/vendored/puppet/lib/puppet/pops/types/class_loader.rb +0 -132
  780. data/vendored/puppet/lib/puppet/pops/types/enumeration.rb +0 -16
  781. data/vendored/puppet/lib/puppet/pops/types/implementation_registry.rb +0 -134
  782. data/vendored/puppet/lib/puppet/pops/types/iterable.rb +0 -339
  783. data/vendored/puppet/lib/puppet/pops/types/p_binary_type.rb +0 -232
  784. data/vendored/puppet/lib/puppet/pops/types/p_init_type.rb +0 -238
  785. data/vendored/puppet/lib/puppet/pops/types/p_meta_type.rb +0 -94
  786. data/vendored/puppet/lib/puppet/pops/types/p_object_type.rb +0 -1117
  787. data/vendored/puppet/lib/puppet/pops/types/p_object_type_extension.rb +0 -218
  788. data/vendored/puppet/lib/puppet/pops/types/p_runtime_type.rb +0 -115
  789. data/vendored/puppet/lib/puppet/pops/types/p_sem_ver_range_type.rb +0 -190
  790. data/vendored/puppet/lib/puppet/pops/types/p_sem_ver_type.rb +0 -149
  791. data/vendored/puppet/lib/puppet/pops/types/p_sensitive_type.rb +0 -73
  792. data/vendored/puppet/lib/puppet/pops/types/p_timespan_type.rb +0 -192
  793. data/vendored/puppet/lib/puppet/pops/types/p_timestamp_type.rb +0 -73
  794. data/vendored/puppet/lib/puppet/pops/types/p_type_set_type.rb +0 -383
  795. data/vendored/puppet/lib/puppet/pops/types/p_uri_type.rb +0 -190
  796. data/vendored/puppet/lib/puppet/pops/types/puppet_object.rb +0 -40
  797. data/vendored/puppet/lib/puppet/pops/types/recursion_guard.rb +0 -136
  798. data/vendored/puppet/lib/puppet/pops/types/ruby_generator.rb +0 -472
  799. data/vendored/puppet/lib/puppet/pops/types/ruby_method.rb +0 -31
  800. data/vendored/puppet/lib/puppet/pops/types/string_converter.rb +0 -1123
  801. data/vendored/puppet/lib/puppet/pops/types/tree_iterators.rb +0 -254
  802. data/vendored/puppet/lib/puppet/pops/types/type_acceptor.rb +0 -25
  803. data/vendored/puppet/lib/puppet/pops/types/type_asserter.rb +0 -47
  804. data/vendored/puppet/lib/puppet/pops/types/type_assertion_error.rb +0 -27
  805. data/vendored/puppet/lib/puppet/pops/types/type_calculator.rb +0 -809
  806. data/vendored/puppet/lib/puppet/pops/types/type_conversion_error.rb +0 -15
  807. data/vendored/puppet/lib/puppet/pops/types/type_factory.rb +0 -631
  808. data/vendored/puppet/lib/puppet/pops/types/type_formatter.rb +0 -802
  809. data/vendored/puppet/lib/puppet/pops/types/type_mismatch_describer.rb +0 -1075
  810. data/vendored/puppet/lib/puppet/pops/types/type_parser.rb +0 -685
  811. data/vendored/puppet/lib/puppet/pops/types/type_set_reference.rb +0 -59
  812. data/vendored/puppet/lib/puppet/pops/types/type_with_members.rb +0 -43
  813. data/vendored/puppet/lib/puppet/pops/types/types.rb +0 -3631
  814. data/vendored/puppet/lib/puppet/pops/utils.rb +0 -119
  815. data/vendored/puppet/lib/puppet/pops/validation.rb +0 -466
  816. data/vendored/puppet/lib/puppet/pops/validation/checker4_0.rb +0 -1127
  817. data/vendored/puppet/lib/puppet/pops/validation/tasks_checker.rb +0 -101
  818. data/vendored/puppet/lib/puppet/pops/validation/validator_factory_4_0.rb +0 -43
  819. data/vendored/puppet/lib/puppet/pops/visitable.rb +0 -6
  820. data/vendored/puppet/lib/puppet/pops/visitor.rb +0 -116
  821. data/vendored/puppet/lib/puppet/property.rb +0 -608
  822. data/vendored/puppet/lib/puppet/property/boolean.rb +0 -7
  823. data/vendored/puppet/lib/puppet/property/ensure.rb +0 -105
  824. data/vendored/puppet/lib/puppet/property/keyvalue.rb +0 -157
  825. data/vendored/puppet/lib/puppet/property/list.rb +0 -69
  826. data/vendored/puppet/lib/puppet/property/ordered_list.rb +0 -29
  827. data/vendored/puppet/lib/puppet/provider.rb +0 -624
  828. data/vendored/puppet/lib/puppet/provider/aix_object.rb +0 -483
  829. data/vendored/puppet/lib/puppet/provider/command.rb +0 -25
  830. data/vendored/puppet/lib/puppet/provider/confine.rb +0 -6
  831. data/vendored/puppet/lib/puppet/provider/exec.rb +0 -96
  832. data/vendored/puppet/lib/puppet/provider/exec/posix.rb +0 -48
  833. data/vendored/puppet/lib/puppet/provider/exec/shell.rb +0 -25
  834. data/vendored/puppet/lib/puppet/provider/exec/windows.rb +0 -55
  835. data/vendored/puppet/lib/puppet/provider/file/posix.rb +0 -136
  836. data/vendored/puppet/lib/puppet/provider/file/windows.rb +0 -104
  837. data/vendored/puppet/lib/puppet/provider/group/aix.rb +0 -82
  838. data/vendored/puppet/lib/puppet/provider/group/directoryservice.rb +0 -22
  839. data/vendored/puppet/lib/puppet/provider/group/groupadd.rb +0 -111
  840. data/vendored/puppet/lib/puppet/provider/group/ldap.rb +0 -45
  841. data/vendored/puppet/lib/puppet/provider/group/pw.rb +0 -49
  842. data/vendored/puppet/lib/puppet/provider/group/windows_adsi.rb +0 -106
  843. data/vendored/puppet/lib/puppet/provider/ldap.rb +0 -137
  844. data/vendored/puppet/lib/puppet/provider/nameservice.rb +0 -325
  845. data/vendored/puppet/lib/puppet/provider/nameservice/directoryservice.rb +0 -508
  846. data/vendored/puppet/lib/puppet/provider/nameservice/objectadd.rb +0 -22
  847. data/vendored/puppet/lib/puppet/provider/nameservice/pw.rb +0 -21
  848. data/vendored/puppet/lib/puppet/provider/network_device.rb +0 -72
  849. data/vendored/puppet/lib/puppet/provider/package.rb +0 -56
  850. data/vendored/puppet/lib/puppet/provider/package/aix.rb +0 -152
  851. data/vendored/puppet/lib/puppet/provider/package/appdmg.rb +0 -109
  852. data/vendored/puppet/lib/puppet/provider/package/apple.rb +0 -46
  853. data/vendored/puppet/lib/puppet/provider/package/apt.rb +0 -116
  854. data/vendored/puppet/lib/puppet/provider/package/aptitude.rb +0 -29
  855. data/vendored/puppet/lib/puppet/provider/package/aptrpm.rb +0 -83
  856. data/vendored/puppet/lib/puppet/provider/package/blastwave.rb +0 -111
  857. data/vendored/puppet/lib/puppet/provider/package/dnf.rb +0 -47
  858. data/vendored/puppet/lib/puppet/provider/package/dpkg.rb +0 -165
  859. data/vendored/puppet/lib/puppet/provider/package/fink.rb +0 -79
  860. data/vendored/puppet/lib/puppet/provider/package/freebsd.rb +0 -47
  861. data/vendored/puppet/lib/puppet/provider/package/gem.rb +0 -175
  862. data/vendored/puppet/lib/puppet/provider/package/hpux.rb +0 -44
  863. data/vendored/puppet/lib/puppet/provider/package/macports.rb +0 -107
  864. data/vendored/puppet/lib/puppet/provider/package/nim.rb +0 -282
  865. data/vendored/puppet/lib/puppet/provider/package/openbsd.rb +0 -242
  866. data/vendored/puppet/lib/puppet/provider/package/opkg.rb +0 -81
  867. data/vendored/puppet/lib/puppet/provider/package/pacman.rb +0 -267
  868. data/vendored/puppet/lib/puppet/provider/package/pip.rb +0 -188
  869. data/vendored/puppet/lib/puppet/provider/package/pip3.rb +0 -20
  870. data/vendored/puppet/lib/puppet/provider/package/pkg.rb +0 -255
  871. data/vendored/puppet/lib/puppet/provider/package/pkgdmg.rb +0 -151
  872. data/vendored/puppet/lib/puppet/provider/package/pkgin.rb +0 -87
  873. data/vendored/puppet/lib/puppet/provider/package/pkgng.rb +0 -143
  874. data/vendored/puppet/lib/puppet/provider/package/pkgutil.rb +0 -186
  875. data/vendored/puppet/lib/puppet/provider/package/portage.rb +0 -300
  876. data/vendored/puppet/lib/puppet/provider/package/ports.rb +0 -91
  877. data/vendored/puppet/lib/puppet/provider/package/portupgrade.rb +0 -239
  878. data/vendored/puppet/lib/puppet/provider/package/puppet_gem.rb +0 -17
  879. data/vendored/puppet/lib/puppet/provider/package/rpm.rb +0 -405
  880. data/vendored/puppet/lib/puppet/provider/package/rug.rb +0 -51
  881. data/vendored/puppet/lib/puppet/provider/package/sun.rb +0 -133
  882. data/vendored/puppet/lib/puppet/provider/package/sunfreeware.rb +0 -9
  883. data/vendored/puppet/lib/puppet/provider/package/tdnf.rb +0 -28
  884. data/vendored/puppet/lib/puppet/provider/package/up2date.rb +0 -40
  885. data/vendored/puppet/lib/puppet/provider/package/urpmi.rb +0 -55
  886. data/vendored/puppet/lib/puppet/provider/package/windows.rb +0 -113
  887. data/vendored/puppet/lib/puppet/provider/package/windows/exe_package.rb +0 -71
  888. data/vendored/puppet/lib/puppet/provider/package/windows/msi_package.rb +0 -62
  889. data/vendored/puppet/lib/puppet/provider/package/windows/package.rb +0 -100
  890. data/vendored/puppet/lib/puppet/provider/package/yum.rb +0 -293
  891. data/vendored/puppet/lib/puppet/provider/package/zypper.rb +0 -145
  892. data/vendored/puppet/lib/puppet/provider/parsedfile.rb +0 -459
  893. data/vendored/puppet/lib/puppet/provider/service/base.rb +0 -134
  894. data/vendored/puppet/lib/puppet/provider/service/bsd.rb +0 -51
  895. data/vendored/puppet/lib/puppet/provider/service/daemontools.rb +0 -194
  896. data/vendored/puppet/lib/puppet/provider/service/debian.rb +0 -75
  897. data/vendored/puppet/lib/puppet/provider/service/freebsd.rb +0 -143
  898. data/vendored/puppet/lib/puppet/provider/service/gentoo.rb +0 -45
  899. data/vendored/puppet/lib/puppet/provider/service/init.rb +0 -194
  900. data/vendored/puppet/lib/puppet/provider/service/launchd.rb +0 -345
  901. data/vendored/puppet/lib/puppet/provider/service/openbsd.rb +0 -100
  902. data/vendored/puppet/lib/puppet/provider/service/openrc.rb +0 -71
  903. data/vendored/puppet/lib/puppet/provider/service/openwrt.rb +0 -36
  904. data/vendored/puppet/lib/puppet/provider/service/rcng.rb +0 -51
  905. data/vendored/puppet/lib/puppet/provider/service/redhat.rb +0 -72
  906. data/vendored/puppet/lib/puppet/provider/service/runit.rb +0 -112
  907. data/vendored/puppet/lib/puppet/provider/service/service.rb +0 -42
  908. data/vendored/puppet/lib/puppet/provider/service/smf.rb +0 -169
  909. data/vendored/puppet/lib/puppet/provider/service/src.rb +0 -147
  910. data/vendored/puppet/lib/puppet/provider/service/systemd.rb +0 -189
  911. data/vendored/puppet/lib/puppet/provider/service/upstart.rb +0 -369
  912. data/vendored/puppet/lib/puppet/provider/service/windows.rb +0 -103
  913. data/vendored/puppet/lib/puppet/provider/user/aix.rb +0 -271
  914. data/vendored/puppet/lib/puppet/provider/user/directoryservice.rb +0 -632
  915. data/vendored/puppet/lib/puppet/provider/user/hpux.rb +0 -95
  916. data/vendored/puppet/lib/puppet/provider/user/ldap.rb +0 -128
  917. data/vendored/puppet/lib/puppet/provider/user/openbsd.rb +0 -76
  918. data/vendored/puppet/lib/puppet/provider/user/pw.rb +0 -98
  919. data/vendored/puppet/lib/puppet/provider/user/user_role_add.rb +0 -233
  920. data/vendored/puppet/lib/puppet/provider/user/useradd.rb +0 -265
  921. data/vendored/puppet/lib/puppet/provider/user/windows_adsi.rb +0 -148
  922. data/vendored/puppet/lib/puppet/reference/configuration.rb +0 -92
  923. data/vendored/puppet/lib/puppet/reference/function.rb +0 -17
  924. data/vendored/puppet/lib/puppet/reference/indirection.rb +0 -71
  925. data/vendored/puppet/lib/puppet/reference/metaparameter.rb +0 -35
  926. data/vendored/puppet/lib/puppet/reference/providers.rb +0 -118
  927. data/vendored/puppet/lib/puppet/reference/report.rb +0 -20
  928. data/vendored/puppet/lib/puppet/reference/type.rb +0 -113
  929. data/vendored/puppet/lib/puppet/relationship.rb +0 -89
  930. data/vendored/puppet/lib/puppet/reports.rb +0 -93
  931. data/vendored/puppet/lib/puppet/reports/http.rb +0 -37
  932. data/vendored/puppet/lib/puppet/reports/log.rb +0 -14
  933. data/vendored/puppet/lib/puppet/reports/store.rb +0 -68
  934. data/vendored/puppet/lib/puppet/resource.rb +0 -687
  935. data/vendored/puppet/lib/puppet/resource/capability_finder.rb +0 -150
  936. data/vendored/puppet/lib/puppet/resource/catalog.rb +0 -675
  937. data/vendored/puppet/lib/puppet/resource/status.rb +0 -229
  938. data/vendored/puppet/lib/puppet/resource/type.rb +0 -528
  939. data/vendored/puppet/lib/puppet/resource/type_collection.rb +0 -263
  940. data/vendored/puppet/lib/puppet/rest/client.rb +0 -83
  941. data/vendored/puppet/lib/puppet/rest/errors.rb +0 -14
  942. data/vendored/puppet/lib/puppet/rest/response.rb +0 -34
  943. data/vendored/puppet/lib/puppet/rest/route.rb +0 -84
  944. data/vendored/puppet/lib/puppet/rest/routes.rb +0 -154
  945. data/vendored/puppet/lib/puppet/rest/ssl_context.rb +0 -13
  946. data/vendored/puppet/lib/puppet/scheduler.rb +0 -16
  947. data/vendored/puppet/lib/puppet/scheduler/job.rb +0 -53
  948. data/vendored/puppet/lib/puppet/scheduler/scheduler.rb +0 -44
  949. data/vendored/puppet/lib/puppet/scheduler/splay_job.rb +0 -32
  950. data/vendored/puppet/lib/puppet/scheduler/timer.rb +0 -13
  951. data/vendored/puppet/lib/puppet/settings.rb +0 -1485
  952. data/vendored/puppet/lib/puppet/settings/array_setting.rb +0 -17
  953. data/vendored/puppet/lib/puppet/settings/autosign_setting.rb +0 -22
  954. data/vendored/puppet/lib/puppet/settings/base_setting.rb +0 -197
  955. data/vendored/puppet/lib/puppet/settings/boolean_setting.rb +0 -32
  956. data/vendored/puppet/lib/puppet/settings/certificate_revocation_setting.rb +0 -21
  957. data/vendored/puppet/lib/puppet/settings/config_file.rb +0 -152
  958. data/vendored/puppet/lib/puppet/settings/directory_setting.rb +0 -18
  959. data/vendored/puppet/lib/puppet/settings/duration_setting.rb +0 -32
  960. data/vendored/puppet/lib/puppet/settings/enum_setting.rb +0 -16
  961. data/vendored/puppet/lib/puppet/settings/environment_conf.rb +0 -222
  962. data/vendored/puppet/lib/puppet/settings/errors.rb +0 -11
  963. data/vendored/puppet/lib/puppet/settings/file_or_directory_setting.rb +0 -40
  964. data/vendored/puppet/lib/puppet/settings/file_setting.rb +0 -245
  965. data/vendored/puppet/lib/puppet/settings/ini_file.rb +0 -225
  966. data/vendored/puppet/lib/puppet/settings/path_setting.rb +0 -8
  967. data/vendored/puppet/lib/puppet/settings/priority_setting.rb +0 -42
  968. data/vendored/puppet/lib/puppet/settings/server_list_setting.rb +0 -20
  969. data/vendored/puppet/lib/puppet/settings/string_setting.rb +0 -9
  970. data/vendored/puppet/lib/puppet/settings/symbolic_enum_setting.rb +0 -17
  971. data/vendored/puppet/lib/puppet/settings/terminus_setting.rb +0 -14
  972. data/vendored/puppet/lib/puppet/settings/ttl_setting.rb +0 -51
  973. data/vendored/puppet/lib/puppet/settings/value_translator.rb +0 -15
  974. data/vendored/puppet/lib/puppet/ssl.rb +0 -12
  975. data/vendored/puppet/lib/puppet/ssl/base.rb +0 -150
  976. data/vendored/puppet/lib/puppet/ssl/certificate.rb +0 -99
  977. data/vendored/puppet/lib/puppet/ssl/certificate_request.rb +0 -325
  978. data/vendored/puppet/lib/puppet/ssl/certificate_request_attributes.rb +0 -37
  979. data/vendored/puppet/lib/puppet/ssl/certificate_signer.rb +0 -33
  980. data/vendored/puppet/lib/puppet/ssl/digest.rb +0 -20
  981. data/vendored/puppet/lib/puppet/ssl/host.rb +0 -626
  982. data/vendored/puppet/lib/puppet/ssl/key.rb +0 -59
  983. data/vendored/puppet/lib/puppet/ssl/oids.rb +0 -193
  984. data/vendored/puppet/lib/puppet/ssl/validator.rb +0 -60
  985. data/vendored/puppet/lib/puppet/ssl/validator/default_validator.rb +0 -187
  986. data/vendored/puppet/lib/puppet/ssl/validator/no_validator.rb +0 -20
  987. data/vendored/puppet/lib/puppet/status.rb +0 -40
  988. data/vendored/puppet/lib/puppet/syntax_checkers.rb +0 -3
  989. data/vendored/puppet/lib/puppet/syntax_checkers/base64.rb +0 -40
  990. data/vendored/puppet/lib/puppet/syntax_checkers/json.rb +0 -35
  991. data/vendored/puppet/lib/puppet/test/test_helper.rb +0 -251
  992. data/vendored/puppet/lib/puppet/transaction.rb +0 -444
  993. data/vendored/puppet/lib/puppet/transaction/additional_resource_generator.rb +0 -220
  994. data/vendored/puppet/lib/puppet/transaction/event.rb +0 -167
  995. data/vendored/puppet/lib/puppet/transaction/event_manager.rb +0 -169
  996. data/vendored/puppet/lib/puppet/transaction/persistence.rb +0 -99
  997. data/vendored/puppet/lib/puppet/transaction/report.rb +0 -471
  998. data/vendored/puppet/lib/puppet/transaction/resource_harness.rb +0 -318
  999. data/vendored/puppet/lib/puppet/type.rb +0 -2673
  1000. data/vendored/puppet/lib/puppet/type/component.rb +0 -88
  1001. data/vendored/puppet/lib/puppet/type/exec.rb +0 -625
  1002. data/vendored/puppet/lib/puppet/type/file.rb +0 -1042
  1003. data/vendored/puppet/lib/puppet/type/file/checksum.rb +0 -50
  1004. data/vendored/puppet/lib/puppet/type/file/checksum_value.rb +0 -54
  1005. data/vendored/puppet/lib/puppet/type/file/content.rb +0 -172
  1006. data/vendored/puppet/lib/puppet/type/file/ctime.rb +0 -20
  1007. data/vendored/puppet/lib/puppet/type/file/data_sync.rb +0 -93
  1008. data/vendored/puppet/lib/puppet/type/file/ensure.rb +0 -192
  1009. data/vendored/puppet/lib/puppet/type/file/group.rb +0 -41
  1010. data/vendored/puppet/lib/puppet/type/file/mode.rb +0 -177
  1011. data/vendored/puppet/lib/puppet/type/file/mtime.rb +0 -18
  1012. data/vendored/puppet/lib/puppet/type/file/owner.rb +0 -44
  1013. data/vendored/puppet/lib/puppet/type/file/selcontext.rb +0 -141
  1014. data/vendored/puppet/lib/puppet/type/file/source.rb +0 -369
  1015. data/vendored/puppet/lib/puppet/type/file/target.rb +0 -87
  1016. data/vendored/puppet/lib/puppet/type/file/type.rb +0 -19
  1017. data/vendored/puppet/lib/puppet/type/filebucket.rb +0 -117
  1018. data/vendored/puppet/lib/puppet/type/group.rb +0 -207
  1019. data/vendored/puppet/lib/puppet/type/notify.rb +0 -46
  1020. data/vendored/puppet/lib/puppet/type/package.rb +0 -568
  1021. data/vendored/puppet/lib/puppet/type/resources.rb +0 -180
  1022. data/vendored/puppet/lib/puppet/type/schedule.rb +0 -430
  1023. data/vendored/puppet/lib/puppet/type/service.rb +0 -255
  1024. data/vendored/puppet/lib/puppet/type/stage.rb +0 -27
  1025. data/vendored/puppet/lib/puppet/type/tidy.rb +0 -349
  1026. data/vendored/puppet/lib/puppet/type/user.rb +0 -818
  1027. data/vendored/puppet/lib/puppet/type/whit.rb +0 -34
  1028. data/vendored/puppet/lib/puppet/util.rb +0 -705
  1029. data/vendored/puppet/lib/puppet/util/at_fork.rb +0 -35
  1030. data/vendored/puppet/lib/puppet/util/at_fork/noop.rb +0 -18
  1031. data/vendored/puppet/lib/puppet/util/at_fork/solaris.rb +0 -160
  1032. data/vendored/puppet/lib/puppet/util/autoload.rb +0 -234
  1033. data/vendored/puppet/lib/puppet/util/backups.rb +0 -86
  1034. data/vendored/puppet/lib/puppet/util/character_encoding.rb +0 -76
  1035. data/vendored/puppet/lib/puppet/util/checksums.rb +0 -361
  1036. data/vendored/puppet/lib/puppet/util/classgen.rb +0 -222
  1037. data/vendored/puppet/lib/puppet/util/colors.rb +0 -100
  1038. data/vendored/puppet/lib/puppet/util/command_line.rb +0 -189
  1039. data/vendored/puppet/lib/puppet/util/command_line/puppet_option_parser.rb +0 -87
  1040. data/vendored/puppet/lib/puppet/util/command_line/trollop.rb +0 -825
  1041. data/vendored/puppet/lib/puppet/util/connection.rb +0 -74
  1042. data/vendored/puppet/lib/puppet/util/constant_inflector.rb +0 -24
  1043. data/vendored/puppet/lib/puppet/util/diff.rb +0 -79
  1044. data/vendored/puppet/lib/puppet/util/docs.rb +0 -128
  1045. data/vendored/puppet/lib/puppet/util/errors.rb +0 -159
  1046. data/vendored/puppet/lib/puppet/util/execution.rb +0 -412
  1047. data/vendored/puppet/lib/puppet/util/execution_stub.rb +0 -26
  1048. data/vendored/puppet/lib/puppet/util/feature.rb +0 -117
  1049. data/vendored/puppet/lib/puppet/util/file_watcher.rb +0 -28
  1050. data/vendored/puppet/lib/puppet/util/fileparsing.rb +0 -397
  1051. data/vendored/puppet/lib/puppet/util/filetype.rb +0 -309
  1052. data/vendored/puppet/lib/puppet/util/http_proxy.rb +0 -207
  1053. data/vendored/puppet/lib/puppet/util/inifile.rb +0 -340
  1054. data/vendored/puppet/lib/puppet/util/instance_loader.rb +0 -61
  1055. data/vendored/puppet/lib/puppet/util/json.rb +0 -69
  1056. data/vendored/puppet/lib/puppet/util/json_lockfile.rb +0 -44
  1057. data/vendored/puppet/lib/puppet/util/ldap.rb +0 -2
  1058. data/vendored/puppet/lib/puppet/util/ldap/connection.rb +0 -71
  1059. data/vendored/puppet/lib/puppet/util/ldap/generator.rb +0 -42
  1060. data/vendored/puppet/lib/puppet/util/ldap/manager.rb +0 -281
  1061. data/vendored/puppet/lib/puppet/util/libuser.rb +0 -12
  1062. data/vendored/puppet/lib/puppet/util/limits.rb +0 -12
  1063. data/vendored/puppet/lib/puppet/util/lockfile.rb +0 -66
  1064. data/vendored/puppet/lib/puppet/util/log.rb +0 -415
  1065. data/vendored/puppet/lib/puppet/util/log/destination.rb +0 -49
  1066. data/vendored/puppet/lib/puppet/util/log/destinations.rb +0 -258
  1067. data/vendored/puppet/lib/puppet/util/logging.rb +0 -311
  1068. data/vendored/puppet/lib/puppet/util/metaid.rb +0 -21
  1069. data/vendored/puppet/lib/puppet/util/metric.rb +0 -64
  1070. data/vendored/puppet/lib/puppet/util/monkey_patches.rb +0 -108
  1071. data/vendored/puppet/lib/puppet/util/multi_match.rb +0 -51
  1072. data/vendored/puppet/lib/puppet/util/network_device.rb +0 -17
  1073. data/vendored/puppet/lib/puppet/util/network_device/base.rb +0 -23
  1074. data/vendored/puppet/lib/puppet/util/network_device/config.rb +0 -105
  1075. data/vendored/puppet/lib/puppet/util/network_device/transport.rb +0 -5
  1076. data/vendored/puppet/lib/puppet/util/network_device/transport/base.rb +0 -26
  1077. data/vendored/puppet/lib/puppet/util/package.rb +0 -31
  1078. data/vendored/puppet/lib/puppet/util/pidlock.rb +0 -62
  1079. data/vendored/puppet/lib/puppet/util/platform.rb +0 -38
  1080. data/vendored/puppet/lib/puppet/util/plist.rb +0 -155
  1081. data/vendored/puppet/lib/puppet/util/posix.rb +0 -137
  1082. data/vendored/puppet/lib/puppet/util/profiler.rb +0 -53
  1083. data/vendored/puppet/lib/puppet/util/profiler/aggregate.rb +0 -85
  1084. data/vendored/puppet/lib/puppet/util/profiler/around_profiler.rb +0 -67
  1085. data/vendored/puppet/lib/puppet/util/profiler/logging.rb +0 -48
  1086. data/vendored/puppet/lib/puppet/util/profiler/object_counts.rb +0 -17
  1087. data/vendored/puppet/lib/puppet/util/profiler/wall_clock.rb +0 -35
  1088. data/vendored/puppet/lib/puppet/util/provider_features.rb +0 -181
  1089. data/vendored/puppet/lib/puppet/util/psych_support.rb +0 -30
  1090. data/vendored/puppet/lib/puppet/util/rdoc.rb +0 -60
  1091. data/vendored/puppet/lib/puppet/util/rdoc/code_objects.rb +0 -294
  1092. data/vendored/puppet/lib/puppet/util/rdoc/generators/puppet_generator.rb +0 -910
  1093. data/vendored/puppet/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +0 -1085
  1094. data/vendored/puppet/lib/puppet/util/rdoc/parser.rb +0 -12
  1095. data/vendored/puppet/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +0 -259
  1096. data/vendored/puppet/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +0 -14
  1097. data/vendored/puppet/lib/puppet/util/reference.rb +0 -119
  1098. data/vendored/puppet/lib/puppet/util/resource_template.rb +0 -61
  1099. data/vendored/puppet/lib/puppet/util/retry_action.rb +0 -46
  1100. data/vendored/puppet/lib/puppet/util/rubygems.rb +0 -63
  1101. data/vendored/puppet/lib/puppet/util/run_mode.rb +0 -110
  1102. data/vendored/puppet/lib/puppet/util/selinux.rb +0 -264
  1103. data/vendored/puppet/lib/puppet/util/skip_tags.rb +0 -9
  1104. data/vendored/puppet/lib/puppet/util/splayer.rb +0 -18
  1105. data/vendored/puppet/lib/puppet/util/ssl.rb +0 -92
  1106. data/vendored/puppet/lib/puppet/util/storage.rb +0 -89
  1107. data/vendored/puppet/lib/puppet/util/suidmanager.rb +0 -167
  1108. data/vendored/puppet/lib/puppet/util/symbolic_file_mode.rb +0 -144
  1109. data/vendored/puppet/lib/puppet/util/tag_set.rb +0 -27
  1110. data/vendored/puppet/lib/puppet/util/tagging.rb +0 -131
  1111. data/vendored/puppet/lib/puppet/util/terminal.rb +0 -16
  1112. data/vendored/puppet/lib/puppet/util/user_attr.rb +0 -21
  1113. data/vendored/puppet/lib/puppet/util/warnings.rb +0 -31
  1114. data/vendored/puppet/lib/puppet/util/watched_file.rb +0 -37
  1115. data/vendored/puppet/lib/puppet/util/watcher.rb +0 -17
  1116. data/vendored/puppet/lib/puppet/util/watcher/change_watcher.rb +0 -33
  1117. data/vendored/puppet/lib/puppet/util/watcher/periodic_watcher.rb +0 -37
  1118. data/vendored/puppet/lib/puppet/util/watcher/timer.rb +0 -19
  1119. data/vendored/puppet/lib/puppet/util/windows.rb +0 -52
  1120. data/vendored/puppet/lib/puppet/util/windows/access_control_entry.rb +0 -84
  1121. data/vendored/puppet/lib/puppet/util/windows/access_control_list.rb +0 -113
  1122. data/vendored/puppet/lib/puppet/util/windows/adsi.rb +0 -494
  1123. data/vendored/puppet/lib/puppet/util/windows/api_types.rb +0 -282
  1124. data/vendored/puppet/lib/puppet/util/windows/com.rb +0 -225
  1125. data/vendored/puppet/lib/puppet/util/windows/error.rb +0 -83
  1126. data/vendored/puppet/lib/puppet/util/windows/eventlog.rb +0 -197
  1127. data/vendored/puppet/lib/puppet/util/windows/file.rb +0 -589
  1128. data/vendored/puppet/lib/puppet/util/windows/principal.rb +0 -192
  1129. data/vendored/puppet/lib/puppet/util/windows/process.rb +0 -497
  1130. data/vendored/puppet/lib/puppet/util/windows/registry.rb +0 -374
  1131. data/vendored/puppet/lib/puppet/util/windows/root_certs.rb +0 -108
  1132. data/vendored/puppet/lib/puppet/util/windows/security.rb +0 -869
  1133. data/vendored/puppet/lib/puppet/util/windows/security_descriptor.rb +0 -62
  1134. data/vendored/puppet/lib/puppet/util/windows/service.rb +0 -770
  1135. data/vendored/puppet/lib/puppet/util/windows/sid.rb +0 -282
  1136. data/vendored/puppet/lib/puppet/util/windows/string.rb +0 -16
  1137. data/vendored/puppet/lib/puppet/util/windows/user.rb +0 -309
  1138. data/vendored/puppet/lib/puppet/util/yaml.rb +0 -72
  1139. data/vendored/puppet/lib/puppet/vendor.rb +0 -57
  1140. data/vendored/puppet/lib/puppet/vendor/deep_merge/lib/deep_merge.rb +0 -2
  1141. data/vendored/puppet/lib/puppet/vendor/deep_merge/lib/deep_merge/core.rb +0 -210
  1142. data/vendored/puppet/lib/puppet/vendor/deep_merge/lib/deep_merge/deep_merge_hash.rb +0 -28
  1143. data/vendored/puppet/lib/puppet/vendor/deep_merge/lib/deep_merge/rails_compat.rb +0 -27
  1144. data/vendored/puppet/lib/puppet/vendor/deep_merge/test/test_deep_merge.rb +0 -608
  1145. data/vendored/puppet/lib/puppet/vendor/load_deep_merge.rb +0 -1
  1146. data/vendored/puppet/lib/puppet/vendor/load_pathspec.rb +0 -1
  1147. data/vendored/puppet/lib/puppet/vendor/pathspec/lib/pathspec.rb +0 -122
  1148. data/vendored/puppet/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +0 -275
  1149. data/vendored/puppet/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +0 -17
  1150. data/vendored/puppet/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +0 -14
  1151. data/vendored/puppet/lib/puppet/vendor/require_vendored.rb +0 -6
  1152. data/vendored/puppet/lib/puppet/version.rb +0 -93
  1153. data/vendored/puppet/lib/puppet_pal.rb +0 -1135
  1154. data/vendored/puppet/lib/puppet_x.rb +0 -14
  1155. data/vendored/require_vendored.rb +0 -3
@@ -1,1299 +0,0 @@
1
- require 'puppet/parser/scope'
2
- require 'puppet/pops/evaluator/compare_operator'
3
- require 'puppet/pops/evaluator/relationship_operator'
4
- require 'puppet/pops/evaluator/access_operator'
5
- require 'puppet/pops/evaluator/closure'
6
- require 'puppet/pops/evaluator/external_syntax_support'
7
- require 'puppet/pops/types/iterable'
8
-
9
- module Puppet::Pops
10
- module Evaluator
11
- # This implementation of {Evaluator} performs evaluation using the puppet 3.x runtime system
12
- # in a manner largely compatible with Puppet 3.x, but adds new features and introduces constraints.
13
- #
14
- # The evaluation uses _polymorphic dispatch_ which works by dispatching to the first found method named after
15
- # the class or one of its super-classes. The EvaluatorImpl itself mainly deals with evaluation (it currently
16
- # also handles assignment), and it uses a delegation pattern to more specialized handlers of some operators
17
- # that in turn use polymorphic dispatch; this to not clutter EvaluatorImpl with too much responsibility).
18
- #
19
- # Since a pattern is used, only the main entry points are fully documented. The parameters _o_ and _scope_ are
20
- # the same in all the polymorphic methods, (the type of the parameter _o_ is reflected in the method's name;
21
- # either the actual class, or one of its super classes). The _scope_ parameter is always the scope in which
22
- # the evaluation takes place. If nothing else is mentioned, the return is always the result of evaluation.
23
- #
24
- # See {Visitable} and {Visitor} for more information about
25
- # polymorphic calling.
26
- #
27
- class EvaluatorImpl
28
- include Utils
29
-
30
- # Provides access to the Puppet 3.x runtime (scope, etc.)
31
- # This separation has been made to make it easier to later migrate the evaluator to an improved runtime.
32
- #
33
- include Runtime3Support
34
- include ExternalSyntaxSupport
35
-
36
- COMMA_SEPARATOR = ', '.freeze
37
-
38
- # Reference to Issues name space makes it easier to refer to issues
39
- # (Issues are shared with the validator).
40
- #
41
- Issues = Issues
42
-
43
- def initialize
44
- @@initialized ||= static_initialize
45
-
46
- # Use null migration checker unless given in context
47
- @migration_checker = Puppet.lookup(:migration_checker) { Migration::MigrationChecker.singleton }
48
- end
49
-
50
- # @api private
51
- def static_initialize
52
- @@eval_visitor ||= Visitor.new(self, "eval", 1, 1)
53
- @@lvalue_visitor ||= Visitor.new(self, "lvalue", 1, 1)
54
- @@assign_visitor ||= Visitor.new(self, "assign", 3, 3)
55
- @@string_visitor ||= Visitor.new(self, "string", 1, 1)
56
-
57
- @@type_calculator ||= Types::TypeCalculator.singleton
58
-
59
- @@compare_operator ||= CompareOperator.new
60
- @@relationship_operator ||= RelationshipOperator.new
61
- true
62
- end
63
- private :static_initialize
64
-
65
- # @api private
66
- def type_calculator
67
- @@type_calculator
68
- end
69
-
70
- # Evaluates the given _target_ object in the given scope.
71
- #
72
- # @overload evaluate(target, scope)
73
- # @param target [Object] evaluation target - see methods on the pattern assign_TYPE for actual supported types.
74
- # @param scope [Object] the runtime specific scope class where evaluation should take place
75
- # @return [Object] the result of the evaluation
76
- #
77
- # @api public
78
- #
79
- def evaluate(target, scope)
80
- begin
81
- @@eval_visitor.visit_this_1(self, target, scope)
82
-
83
- rescue SemanticError => e
84
- # A raised issue may not know the semantic target, use errors call stack, but fill in the
85
- # rest from a supplied semantic object, or the target instruction if there is not semantic
86
- # object.
87
- #
88
- fail(e.issue, e.semantic || target, e.options, e)
89
-
90
- rescue Puppet::PreformattedError => e
91
- # Already formatted with location information, and with the wanted call stack.
92
- # Note this is currently a specialized ParseError, so rescue-order is important
93
- #
94
- raise e
95
-
96
- rescue Puppet::ParseError => e
97
- # ParseError may be raised in ruby code without knowing the location
98
- # in puppet code.
99
- # Accept a ParseError that has file or line information available
100
- # as an error that should be used verbatim. (Tests typically run without
101
- # setting a file name).
102
- # ParseError can supply an original - it is impossible to determine which
103
- # call stack that should be propagated, using the ParseError's backtrace.
104
- #
105
- if e.file || e.line
106
- raise e
107
- else
108
- # Since it had no location information, treat it as user intended a general purpose
109
- # error. Pass on its call stack.
110
- fail(Issues::RUNTIME_ERROR, target, {:detail => e.message}, e)
111
- end
112
-
113
-
114
- rescue Puppet::Error => e
115
- # PuppetError has the ability to wrap an exception, if so, use the wrapped exception's
116
- # call stack instead
117
- fail(Issues::RUNTIME_ERROR, target, {:detail => e.message}, e.original || e)
118
-
119
- rescue StopIteration => e
120
- # Ensure these are not rescued as StandardError
121
- raise e
122
-
123
- rescue StandardError => e
124
- # All other errors, use its message and call stack
125
- fail(Issues::RUNTIME_ERROR, target, {:detail => e.message}, e)
126
- end
127
- end
128
-
129
- # Assigns the given _value_ to the given _target_. The additional argument _o_ is the instruction that
130
- # produced the target/value tuple and it is used to set the origin of the result.
131
- #
132
- # @param target [Object] assignment target - see methods on the pattern assign_TYPE for actual supported types.
133
- # @param value [Object] the value to assign to `target`
134
- # @param o [Model::PopsObject] originating instruction
135
- # @param scope [Object] the runtime specific scope where evaluation should take place
136
- #
137
- # @api private
138
- #
139
- def assign(target, value, o, scope)
140
- @@assign_visitor.visit_this_3(self, target, value, o, scope)
141
- end
142
-
143
- # Computes a value that can be used as the LHS in an assignment.
144
- # @param o [Object] the expression to evaluate as a left (assignable) entity
145
- # @param scope [Object] the runtime specific scope where evaluation should take place
146
- #
147
- # @api private
148
- #
149
- def lvalue(o, scope)
150
- @@lvalue_visitor.visit_this_1(self, o, scope)
151
- end
152
-
153
- # Produces a String representation of the given object _o_ as used in interpolation.
154
- # @param o [Object] the expression of which a string representation is wanted
155
- # @param scope [Object] the runtime specific scope where evaluation should take place
156
- #
157
- # @api public
158
- #
159
- def string(o, scope)
160
- @@string_visitor.visit_this_1(self, o, scope)
161
- end
162
-
163
- # Evaluate a BlockExpression in a new scope with variables bound to the
164
- # given values.
165
- #
166
- # @param scope [Puppet::Parser::Scope] the parent scope
167
- # @param variable_bindings [Hash{String => Object}] the variable names and values to bind (names are keys, bound values are values)
168
- # @param block [Model::BlockExpression] the sequence of expressions to evaluate in the new scope
169
- #
170
- # @api private
171
- #
172
- def evaluate_block_with_bindings(scope, variable_bindings, block_expr)
173
- scope.with_guarded_scope do
174
- # change to create local scope_from - cannot give it file and line -
175
- # that is the place of the call, not "here"
176
- create_local_scope_from(variable_bindings, scope)
177
- evaluate(block_expr, scope)
178
- end
179
- end
180
-
181
- # Implementation of case option matching.
182
- #
183
- # This is the type of matching performed in a case option, using == for every type
184
- # of value except regular expression where a match is performed.
185
- #
186
- def match?(left, right)
187
- @@compare_operator.match(left, right, nil)
188
- end
189
-
190
- protected
191
-
192
- def lvalue_VariableExpression(o, scope)
193
- # evaluate the name
194
- evaluate(o.expr, scope)
195
- end
196
-
197
- # Catches all illegal lvalues
198
- #
199
- def lvalue_Object(o, scope)
200
- fail(Issues::ILLEGAL_ASSIGNMENT, o)
201
- end
202
-
203
- # An array is assignable if all entries are lvalues
204
- def lvalue_LiteralList(o, scope)
205
- o.values.map {|x| lvalue(x, scope) }
206
- end
207
-
208
- # Assign value to named variable.
209
- # The '$' sign is never part of the name.
210
- # @example In Puppet DSL
211
- # $name = value
212
- # @param name [String] name of variable without $
213
- # @param value [Object] value to assign to the variable
214
- # @param o [Model::PopsObject] originating instruction
215
- # @param scope [Object] the runtime specific scope where evaluation should take place
216
- # @return [value<Object>]
217
- #
218
- def assign_String(name, value, o, scope)
219
- if name =~ /::/
220
- fail(Issues::CROSS_SCOPE_ASSIGNMENT, o.left_expr, {:name => name})
221
- end
222
- set_variable(name, value, o, scope)
223
- value
224
- end
225
-
226
- def assign_Numeric(n, value, o, scope)
227
- fail(Issues::ILLEGAL_NUMERIC_ASSIGNMENT, o.left_expr, {:varname => n.to_s})
228
- end
229
-
230
- # Catches all illegal assignment (e.g. 1 = 2, {'a'=>1} = 2, etc)
231
- #
232
- def assign_Object(name, value, o, scope)
233
- fail(Issues::ILLEGAL_ASSIGNMENT, o)
234
- end
235
-
236
- def assign_Array(lvalues, values, o, scope)
237
- if values.is_a?(Hash)
238
- lvalues.map do |lval|
239
- assign(lval,
240
- values.fetch(lval) {|k| fail(Issues::MISSING_MULTI_ASSIGNMENT_KEY, o, :key =>k)},
241
- o, scope)
242
- end
243
- elsif values.is_a?(Puppet::Pops::Types::PClassType)
244
- if Puppet[:tasks]
245
- fail(Issues::CATALOG_OPERATION_NOT_SUPPORTED_WHEN_SCRIPTING, o, {:operation => _('multi var assignment from class')})
246
- end
247
- # assign variables from class variables
248
- # lookup class resource and return one or more parameter values
249
- # TODO: behavior when class_name is nil
250
- resource = find_resource(scope, 'class', values.class_name)
251
- if resource
252
- base_name = "#{values.class_name.downcase}::"
253
- idx = -1
254
- result = lvalues.map do |lval|
255
- idx += 1
256
- varname = "#{base_name}#{lval}"
257
- if variable_exists?(varname, scope)
258
- result = get_variable_value(varname, o, scope)
259
- assign(lval, result, o, scope)
260
- else
261
- fail(Puppet::Pops::Issues::MISSING_MULTI_ASSIGNMENT_VARIABLE, o.left_expr.values[idx], {:name => varname})
262
- end
263
- end
264
- else
265
- fail(Issues::UNKNOWN_RESOURCE, o.right_expr, {:type_name => 'Class', :title => values.class_name})
266
- end
267
-
268
- else
269
- values = [values] unless values.is_a?(Array)
270
- if values.size != lvalues.size
271
- fail(Issues::ILLEGAL_MULTI_ASSIGNMENT_SIZE, o, :expected =>lvalues.size, :actual => values.size)
272
- end
273
- lvalues.zip(values).map { |lval, val| assign(lval, val, o, scope) }
274
- end
275
- end
276
-
277
- def eval_Factory(o, scope)
278
- evaluate(o.model, scope)
279
- end
280
-
281
- # Evaluates any object not evaluated to something else to itself.
282
- def eval_Object o, scope
283
- o
284
- end
285
-
286
- # Allows nil to be used as a Nop, Evaluates to nil
287
- def eval_NilClass(o, scope)
288
- nil
289
- end
290
-
291
- # Evaluates Nop to nil.
292
- def eval_Nop(o, scope)
293
- nil
294
- end
295
-
296
- # Captures all LiteralValues not handled elsewhere.
297
- #
298
- def eval_LiteralValue(o, scope)
299
- o.value
300
- end
301
-
302
- # Reserved Words fail to evaluate
303
- #
304
- def eval_ReservedWord(o, scope)
305
- if !o.future
306
- fail(Issues::RESERVED_WORD, o, {:word => o.word})
307
- else
308
- o.word
309
- end
310
- end
311
-
312
- def eval_LiteralDefault(o, scope)
313
- :default
314
- end
315
-
316
- def eval_LiteralUndef(o, scope)
317
- nil
318
- end
319
-
320
- # A QualifiedReference (i.e. a capitalized qualified name such as Foo, or Foo::Bar) evaluates to a PTypeType
321
- #
322
- def eval_QualifiedReference(o, scope)
323
- type = Types::TypeParser.singleton.interpret(o)
324
- fail(Issues::UNKNOWN_RESOURCE_TYPE, o, {:type_name => type.type_string }) if type.is_a?(Types::PTypeReferenceType)
325
- type
326
- end
327
-
328
- def eval_NotExpression(o, scope)
329
- ! is_true?(evaluate(o.expr, scope), o.expr)
330
- end
331
-
332
- def eval_UnaryMinusExpression(o, scope)
333
- - coerce_numeric(evaluate(o.expr, scope), o, scope)
334
- end
335
-
336
- def eval_UnfoldExpression(o, scope)
337
- candidate = evaluate(o.expr, scope)
338
- case candidate
339
- when nil
340
- []
341
- when Array
342
- candidate
343
- when Hash
344
- candidate.to_a
345
- when Puppet::Pops::Types::Iterable
346
- candidate.to_a
347
- else
348
- # turns anything else into an array (so result can be unfolded)
349
- [candidate]
350
- end
351
- end
352
-
353
- # Abstract evaluation, returns array [left, right] with the evaluated result of left_expr and
354
- # right_expr
355
- # @return <Array<Object, Object>> array with result of evaluating left and right expressions
356
- #
357
- def eval_BinaryExpression o, scope
358
- [ evaluate(o.left_expr, scope), evaluate(o.right_expr, scope) ]
359
- end
360
-
361
- # Evaluates assignment with operators =, +=, -= and
362
- #
363
- # @example Puppet DSL
364
- # $a = 1
365
- # $a += 1
366
- # $a -= 1
367
- #
368
- def eval_AssignmentExpression(o, scope)
369
- name = lvalue(o.left_expr, scope)
370
- value = evaluate(o.right_expr, scope)
371
-
372
- if o.operator == '='
373
- assign(name, value, o, scope)
374
- else
375
- fail(Issues::UNSUPPORTED_OPERATOR, o, {:operator => o.operator})
376
- end
377
- value
378
- end
379
-
380
- ARITHMETIC_OPERATORS = ['+', '-', '*', '/', '%', '<<', '>>'].freeze
381
- COLLECTION_OPERATORS = ['+', '-', '<<'].freeze
382
-
383
- # Handles binary expression where lhs and rhs are array/hash or numeric and operator is +, - , *, % / << >>
384
- #
385
- def eval_ArithmeticExpression(o, scope)
386
- left = evaluate(o.left_expr, scope)
387
- right = evaluate(o.right_expr, scope)
388
-
389
- begin
390
- result = calculate(left, right, o, scope)
391
- rescue ArgumentError => e
392
- fail(Issues::RUNTIME_ERROR, o, {:detail => e.message}, e)
393
- end
394
- result
395
- end
396
-
397
-
398
- # Handles binary expression where lhs and rhs are array/hash or numeric and operator is +, - , *, % / << >>
399
- #
400
- def calculate(left, right, bin_expr, scope)
401
- operator = bin_expr.operator
402
- unless ARITHMETIC_OPERATORS.include?(operator)
403
- fail(Issues::UNSUPPORTED_OPERATOR, bin_expr, {:operator => operator})
404
- end
405
-
406
- left_o = bin_expr.left_expr
407
- if (left.is_a?(URI) || left.is_a?(Types::PBinaryType::Binary)) && operator == '+'
408
- concatenate(left, right)
409
- elsif (left.is_a?(Array) || left.is_a?(Hash)) && COLLECTION_OPERATORS.include?(operator)
410
- # Handle operation on collections
411
- case operator
412
- when '+'
413
- concatenate(left, right)
414
- when '-'
415
- delete(left, right)
416
- when '<<'
417
- unless left.is_a?(Array)
418
- fail(Issues::OPERATOR_NOT_APPLICABLE, left_o, {:operator => operator, :left_value => left})
419
- end
420
- left + [right]
421
- end
422
- else
423
- # Handle operation on numeric
424
- left = coerce_numeric(left, left_o, scope)
425
- right = coerce_numeric(right, bin_expr.right_expr, scope)
426
- begin
427
- if operator == '%' && (left.is_a?(Float) || right.is_a?(Float))
428
- # Deny users the fun of seeing severe rounding errors and confusing results
429
- fail(Issues::OPERATOR_NOT_APPLICABLE, left_o, {:operator => operator, :left_value => left}) if left.is_a?(Float)
430
- fail(Issues::OPERATOR_NOT_APPLICABLE_WHEN, left_o, {:operator => operator, :left_value => left, :right_value => right})
431
- end
432
- if right.is_a?(Time::TimeData) && !left.is_a?(Time::TimeData)
433
- if operator == '+' || operator == '*' && right.is_a?(Time::Timespan)
434
- # Switch places. Let the TimeData do the arithmetic
435
- x = left
436
- left = right
437
- right = x
438
- elsif operator == '-' && right.is_a?(Time::Timespan)
439
- left = Time::Timespan.new((left * Time::NSECS_PER_SEC).to_i)
440
- else
441
- fail(Issues::OPERATOR_NOT_APPLICABLE_WHEN, left_o, {:operator => operator, :left_value => left, :right_value => right})
442
- end
443
- end
444
- result = left.send(operator, right)
445
- rescue NoMethodError
446
- fail(Issues::OPERATOR_NOT_APPLICABLE, left_o, {:operator => operator, :left_value => left})
447
- rescue ZeroDivisionError
448
- fail(Issues::DIV_BY_ZERO, bin_expr.right_expr)
449
- end
450
- case result
451
- when Float
452
- if result == Float::INFINITY || result == -Float::INFINITY
453
- fail(Issues::RESULT_IS_INFINITY, left_o, {:operator => operator})
454
- end
455
- when Integer
456
- if result < MIN_INTEGER || result > MAX_INTEGER
457
- fail(Issues::NUMERIC_OVERFLOW, bin_expr, {:value => result})
458
- end
459
- end
460
- result
461
- end
462
- end
463
-
464
- def eval_EppExpression(o, scope)
465
- scope["@epp"] = []
466
- evaluate(o.body, scope)
467
- result = scope["@epp"].join
468
- result
469
- end
470
-
471
- def eval_RenderStringExpression(o, scope)
472
- scope["@epp"] << o.value.dup
473
- nil
474
- end
475
-
476
- def eval_RenderExpression(o, scope)
477
- scope["@epp"] << string(evaluate(o.expr, scope), scope)
478
- nil
479
- end
480
-
481
- # Evaluates Puppet DSL ->, ~>, <-, and <~
482
- def eval_RelationshipExpression(o, scope)
483
- # First level evaluation, reduction to basic data types or puppet types, the relationship operator then translates this
484
- # to the final set of references (turning strings into references, which can not naturally be done by the main evaluator since
485
- # all strings should not be turned into references.
486
- #
487
- real = eval_BinaryExpression(o, scope)
488
- @@relationship_operator.evaluate(real, o, scope)
489
- end
490
-
491
- # Evaluates x[key, key, ...]
492
- #
493
- def eval_AccessExpression(o, scope)
494
- left = evaluate(o.left_expr, scope)
495
- keys = o.keys || []
496
- if left.is_a?(Types::PClassType)
497
- # Evaluate qualified references without errors no undefined types
498
- keys = keys.map {|key| key.is_a?(Model::QualifiedReference) ? Types::TypeParser.singleton.interpret(key) : evaluate(key, scope) }
499
- else
500
- keys = keys.map {|key| evaluate(key, scope) }
501
- # Resource[File] becomes File
502
- return keys[0] if Types::PResourceType::DEFAULT == left && keys.size == 1 && keys[0].is_a?(Types::PResourceType)
503
- end
504
- AccessOperator.new(o).access(left, scope, *keys)
505
- end
506
-
507
- # Evaluates <, <=, >, >=, and ==
508
- #
509
- def eval_ComparisonExpression o, scope
510
- left = evaluate(o.left_expr, scope)
511
- right = evaluate(o.right_expr, scope)
512
-
513
- begin
514
- # Left is a type
515
- if left.is_a?(Types::PAnyType)
516
- case o.operator
517
- when '=='
518
- @@type_calculator.equals(left,right)
519
-
520
- when '!='
521
- !@@type_calculator.equals(left,right)
522
-
523
- when '<'
524
- # left can be assigned to right, but they are not equal
525
- @@type_calculator.assignable?(right, left) && ! @@type_calculator.equals(left,right)
526
- when '<='
527
- # left can be assigned to right
528
- @@type_calculator.assignable?(right, left)
529
- when '>'
530
- # right can be assigned to left, but they are not equal
531
- @@type_calculator.assignable?(left,right) && ! @@type_calculator.equals(left,right)
532
- when '>='
533
- # right can be assigned to left
534
- @@type_calculator.assignable?(left, right)
535
- else
536
- fail(Issues::UNSUPPORTED_OPERATOR, o, {:operator => o.operator})
537
- end
538
- else
539
- case o.operator
540
- when '=='
541
- @@compare_operator.equals(left,right)
542
- when '!='
543
- ! @@compare_operator.equals(left,right)
544
- when '<'
545
- @@compare_operator.compare(left,right) < 0
546
- when '<='
547
- @@compare_operator.compare(left,right) <= 0
548
- when '>'
549
- @@compare_operator.compare(left,right) > 0
550
- when '>='
551
- @@compare_operator.compare(left,right) >= 0
552
- else
553
- fail(Issues::UNSUPPORTED_OPERATOR, o, {:operator => o.operator})
554
- end
555
- end
556
- rescue ArgumentError => e
557
- fail(Issues::COMPARISON_NOT_POSSIBLE, o, {
558
- :operator => o.operator,
559
- :left_value => left,
560
- :right_value => right,
561
- :detail => e.message}, e)
562
- end
563
- end
564
-
565
- # Evaluates matching expressions with type, string or regexp rhs expression.
566
- # If RHS is a type, the =~ matches compatible (instance? of) type.
567
- #
568
- # @example
569
- # x =~ /abc.*/
570
- # @example
571
- # x =~ "abc.*/"
572
- # @example
573
- # y = "abc"
574
- # x =~ "${y}.*"
575
- # @example
576
- # [1,2,3] =~ Array[Integer[1,10]]
577
- #
578
- # Note that a string is not instance? of Regexp, only Regular expressions are.
579
- # The Pattern type should instead be used as it is specified as subtype of String.
580
- #
581
- # @return [Boolean] if a match was made or not. Also sets $0..$n to matchdata in current scope.
582
- #
583
- def eval_MatchExpression o, scope
584
- left = evaluate(o.left_expr, scope)
585
- pattern = evaluate(o.right_expr, scope)
586
-
587
- # matches RHS types as instance of for all types except a parameterized Regexp[R]
588
- if pattern.is_a?(Types::PAnyType)
589
- # evaluate as instance? of type check
590
- matched = pattern.instance?(left)
591
- # convert match result to Boolean true, or false
592
- return o.operator == '=~' ? !!matched : !matched
593
- end
594
-
595
- if pattern.is_a?(SemanticPuppet::VersionRange)
596
- # evaluate if range includes version
597
- matched = Types::PSemVerRangeType.include?(pattern, left)
598
- return o.operator == '=~' ? matched : !matched
599
- end
600
-
601
- begin
602
- pattern = Regexp.new(pattern) unless pattern.is_a?(Regexp)
603
- rescue StandardError => e
604
- fail(Issues::MATCH_NOT_REGEXP, o.right_expr, {:detail => e.message}, e)
605
- end
606
- unless left.is_a?(String)
607
- fail(Issues::MATCH_NOT_STRING, o.left_expr, {:left_value => left})
608
- end
609
-
610
- matched = pattern.match(left) # nil, or MatchData
611
- set_match_data(matched,scope) # creates ephemeral
612
-
613
- # convert match result to Boolean true, or false
614
- o.operator == '=~' ? !!matched : !matched
615
- end
616
-
617
- # Evaluates Puppet DSL `in` expression
618
- #
619
- def eval_InExpression o, scope
620
- left = evaluate(o.left_expr, scope)
621
- right = evaluate(o.right_expr, scope)
622
- @@compare_operator.include?(right, left, scope)
623
- end
624
-
625
- # @example
626
- # $a and $b
627
- # b is only evaluated if a is true
628
- #
629
- def eval_AndExpression o, scope
630
- is_true?(evaluate(o.left_expr, scope), o.left_expr) ? is_true?(evaluate(o.right_expr, scope), o.right_expr) : false
631
- end
632
-
633
- # @example
634
- # a or b
635
- # b is only evaluated if a is false
636
- #
637
- def eval_OrExpression o, scope
638
- is_true?(evaluate(o.left_expr, scope), o.left_expr) ? true : is_true?(evaluate(o.right_expr, scope), o.right_expr)
639
- end
640
-
641
- # Evaluates each entry of the literal list and creates a new Array
642
- # Supports unfolding of entries
643
- # @return [Array] with the evaluated content
644
- #
645
- def eval_LiteralList o, scope
646
- unfold([], o.values, scope)
647
- end
648
-
649
- # Evaluates each entry of the literal hash and creates a new Hash.
650
- # @return [Hash] with the evaluated content
651
- #
652
- def eval_LiteralHash o, scope
653
- # optimized
654
- o.entries.reduce({}) {|h,entry| h[evaluate(entry.key, scope)] = evaluate(entry.value, scope); h }
655
- end
656
-
657
- # Evaluates all statements and produces the last evaluated value
658
- #
659
- def eval_BlockExpression o, scope
660
- o.statements.reduce(nil) {|memo, s| evaluate(s, scope)}
661
- end
662
-
663
- # Performs optimized search over case option values, lazily evaluating each
664
- # until there is a match. If no match is found, the case expression's default expression
665
- # is evaluated (it may be nil or Nop if there is no default, thus producing nil).
666
- # If an option matches, the result of evaluating that option is returned.
667
- # @return [Object, nil] what a matched option returns, or nil if nothing matched.
668
- #
669
- def eval_CaseExpression(o, scope)
670
- # memo scope level before evaluating test - don't want a match in the case test to leak $n match vars
671
- # to expressions after the case expression.
672
- #
673
- scope.with_guarded_scope do
674
- test = evaluate(o.test, scope)
675
-
676
- result = nil
677
- the_default = nil
678
- if o.options.find do |co|
679
- # the first case option that matches
680
- if co.values.find do |c|
681
- c = unwind_parentheses(c)
682
- case c
683
- when Model::LiteralDefault
684
- the_default = co.then_expr
685
- next false
686
- when Model::UnfoldExpression
687
- # not ideal for error reporting, since it is not known which unfolded result
688
- # that caused an error - the entire unfold expression is blamed (i.e. the var c, passed to is_match?)
689
- evaluate(c, scope).any? {|v| is_match?(test, v, c, co, scope) }
690
- else
691
- is_match?(test, evaluate(c, scope), c, co, scope)
692
- end
693
- end
694
- result = evaluate(co.then_expr, scope)
695
- true # the option was picked
696
- end
697
- end
698
- result # an option was picked, and produced a result
699
- else
700
- evaluate(the_default, scope) # evaluate the default (should be a nop/nil) if there is no default).
701
- end
702
- end
703
- end
704
-
705
- # Evaluates a CollectExpression by creating a collector transformer. The transformer
706
- # will evaluate the collection, create the appropriate collector, and hand it off
707
- # to the compiler to collect the resources specified by the query.
708
- #
709
- def eval_CollectExpression o, scope
710
- if o.query.is_a?(Model::ExportedQuery)
711
- optionally_fail(Issues::RT_NO_STORECONFIGS, o);
712
- end
713
- CollectorTransformer.new().transform(o,scope)
714
- end
715
-
716
- def eval_ParenthesizedExpression(o, scope)
717
- evaluate(o.expr, scope)
718
- end
719
-
720
- # This evaluates classes, nodes and resource type definitions to nil, since 3x:
721
- # instantiates them, and evaluates their parameters and body. This is achieved by
722
- # providing bridge AST classes in Puppet::Parser::AST::PopsBridge that bridges a
723
- # Pops Program and a Pops Expression.
724
- #
725
- # Since all Definitions are handled "out of band", they are treated as a no-op when
726
- # evaluated.
727
- #
728
- def eval_Definition(o, scope)
729
- nil
730
- end
731
-
732
- def eval_Program(o, scope)
733
- begin
734
- file = o.locator.file
735
- line = 0
736
- # Add stack frame for "top scope" logic. See Puppet::Pops::PuppetStack
737
- return Puppet::Pops::PuppetStack.stack(file, line, self, 'evaluate', [o.body, scope])
738
- #evaluate(o.body, scope)
739
- rescue Puppet::Pops::Evaluator::PuppetStopIteration => ex
740
- # breaking out of a file level program is not allowed
741
- #TRANSLATOR break() is a method that should not be translated
742
- raise Puppet::ParseError.new(_("break() from context where this is illegal"), ex.file, ex.line)
743
- end
744
- end
745
-
746
- # Produces Array[PAnyType], an array of resource references
747
- #
748
- def eval_ResourceExpression(o, scope)
749
- exported = o.exported
750
- virtual = o.virtual
751
-
752
- # Get the type name
753
- type_name =
754
- if (tmp_name = o.type_name).is_a?(Model::QualifiedName)
755
- tmp_name.value # already validated as a name
756
- else
757
- type_name_acceptable =
758
- case o.type_name
759
- when Model::QualifiedReference
760
- true
761
- when Model::AccessExpression
762
- o.type_name.left_expr.is_a?(Model::QualifiedReference)
763
- end
764
-
765
- evaluated_name = evaluate(tmp_name, scope)
766
- unless type_name_acceptable
767
- actual = type_calculator.generalize(type_calculator.infer(evaluated_name)).to_s
768
- fail(Issues::ILLEGAL_RESOURCE_TYPE, o.type_name, {:actual => actual})
769
- end
770
-
771
- # must be a CatalogEntry subtype
772
- case evaluated_name
773
- when Types::PClassType
774
- unless evaluated_name.class_name.nil?
775
- fail(Issues::ILLEGAL_RESOURCE_TYPE, o.type_name, {:actual=> evaluated_name.to_s})
776
- end
777
- 'class'
778
-
779
- when Types::PResourceType
780
- unless evaluated_name.title().nil?
781
- fail(Issues::ILLEGAL_RESOURCE_TYPE, o.type_name, {:actual=> evaluated_name.to_s})
782
- end
783
- evaluated_name.type_name # assume validated
784
-
785
- when Types::PTypeReferenceType
786
- fail(Issues::UNKNOWN_RESOURCE_TYPE, o.type_string, {:type_name => evaluated_name.to_s})
787
-
788
- else
789
- actual = type_calculator.generalize(type_calculator.infer(evaluated_name)).to_s
790
- fail(Issues::ILLEGAL_RESOURCE_TYPE, o.type_name, {:actual=>actual})
791
- end
792
- end
793
-
794
- # This is a runtime check - the model is valid, but will have runtime issues when evaluated
795
- # and storeconfigs is not set.
796
- if(o.exported)
797
- optionally_fail(Issues::RT_NO_STORECONFIGS_EXPORT, o);
798
- end
799
-
800
- titles_to_body = {}
801
- body_to_titles = {}
802
- body_to_params = {}
803
-
804
- # titles are evaluated before attribute operations
805
- o.bodies.map do | body |
806
- titles = evaluate(body.title, scope)
807
-
808
- # Title may not be nil
809
- # Titles may be given as an array, it is ok if it is empty, but not if it contains nil entries
810
- # Titles may not be an empty String
811
- # Titles must be unique in the same resource expression
812
- # There may be a :default entry, its entries apply with lower precedence
813
- #
814
- if titles.nil?
815
- fail(Issues::MISSING_TITLE, body.title)
816
- end
817
- titles = [titles].flatten
818
-
819
- # Check types of evaluated titles and duplicate entries
820
- titles.each_with_index do |title, index|
821
- if title.nil?
822
- fail(Issues::MISSING_TITLE_AT, body.title, {:index => index})
823
-
824
- elsif !title.is_a?(String) && title != :default
825
- actual = type_calculator.generalize(type_calculator.infer(title)).to_s
826
- fail(Issues::ILLEGAL_TITLE_TYPE_AT, body.title, {:index => index, :actual => actual})
827
-
828
- elsif title == EMPTY_STRING
829
- fail(Issues::EMPTY_STRING_TITLE_AT, body.title, {:index => index})
830
-
831
- elsif titles_to_body[title]
832
- fail(Issues::DUPLICATE_TITLE, o, {:title => title})
833
- end
834
- titles_to_body[title] = body
835
- end
836
-
837
- # Do not create a real instance from the :default case
838
- titles.delete(:default)
839
-
840
- body_to_titles[body] = titles
841
-
842
- # Store evaluated parameters in a hash associated with the body, but do not yet create resource
843
- # since the entry containing :defaults may appear later
844
- body_to_params[body] = body.operations.reduce({}) do |param_memo, op|
845
- params = evaluate(op, scope)
846
- params = [params] unless params.is_a?(Array)
847
- params.each do |p|
848
- if param_memo.include? p.name
849
- fail(Issues::DUPLICATE_ATTRIBUTE, o, {:attribute => p.name})
850
- end
851
- param_memo[p.name] = p
852
- end
853
- param_memo
854
- end
855
- end
856
-
857
- # Titles and Operations have now been evaluated and resources can be created
858
- # Each production is a PResource, and an array of all is produced as the result of
859
- # evaluating the ResourceExpression.
860
- #
861
- defaults_hash = body_to_params[titles_to_body[:default]] || {}
862
- o.bodies.map do | body |
863
- titles = body_to_titles[body]
864
- params = defaults_hash.merge(body_to_params[body] || {})
865
- create_resources(o, scope, virtual, exported, type_name, titles, params.values)
866
- end.flatten.compact
867
- end
868
-
869
- def eval_ResourceOverrideExpression(o, scope)
870
- evaluated_resources = evaluate(o.resources, scope)
871
- evaluated_parameters = o.operations.map { |op| evaluate(op, scope) }
872
- create_resource_overrides(o, scope, [evaluated_resources].flatten, evaluated_parameters)
873
- evaluated_resources
874
- end
875
-
876
- def eval_ApplyExpression(o, scope)
877
- # All expressions are wrapped in an ApplyBlockExpression so we can identify the contents of
878
- # that block. However we don't want to serialize the block expression, so unwrap here.
879
- body = if o.body.statements.count > 1
880
- Model::BlockExpression.from_asserted_hash(o.body._pcore_init_hash)
881
- else
882
- o.body.statements[0]
883
- end
884
-
885
- Puppet.lookup(:apply_executor).apply(unfold([], o.arguments, scope), body, scope)
886
- end
887
-
888
- # Produces 3x parameter
889
- def eval_AttributeOperation(o, scope)
890
- create_resource_parameter(o, scope, o.attribute_name, evaluate(o.value_expr, scope), o.operator)
891
- end
892
-
893
- def eval_AttributesOperation(o, scope)
894
- hashed_params = evaluate(o.expr, scope)
895
- unless hashed_params.is_a?(Hash)
896
- actual = type_calculator.generalize(type_calculator.infer(hashed_params)).to_s
897
- fail(Issues::TYPE_MISMATCH, o.expr, {:expected => 'Hash', :actual => actual})
898
- end
899
- hashed_params.map { |k,v| create_resource_parameter(o, scope, k, v, '=>') }
900
- end
901
-
902
- # Sets default parameter values for a type, produces the type
903
- #
904
- def eval_ResourceDefaultsExpression(o, scope)
905
- type = evaluate(o.type_ref, scope)
906
- type_name =
907
- if type.is_a?(Types::PResourceType) && !type.type_name.nil? && type.title.nil?
908
- type.type_name # assume it is a valid name
909
- else
910
- actual = type_calculator.generalize(type_calculator.infer(type))
911
- fail(Issues::ILLEGAL_RESOURCE_TYPE, o.type_ref, {:actual => actual})
912
- end
913
- evaluated_parameters = o.operations.map {|op| evaluate(op, scope) }
914
- create_resource_defaults(o, scope, type_name, evaluated_parameters)
915
- # Produce the type
916
- type
917
- end
918
-
919
- # Evaluates function call by name.
920
- #
921
- def eval_CallNamedFunctionExpression(o, scope)
922
- # If LHS is a type (i.e. Integer, or Integer[...]
923
- # the call is taken as an instantiation of the given type
924
- #
925
- functor = o.functor_expr
926
- if functor.is_a?(Model::QualifiedReference) ||
927
- functor.is_a?(Model::AccessExpression) && functor.left_expr.is_a?(Model::QualifiedReference)
928
- # instantiation
929
- type = evaluate(functor, scope)
930
- return call_function_with_block('new', unfold([type], o.arguments || [], scope), o, scope)
931
- end
932
-
933
- # The functor expression is not evaluated, it is not possible to select the function to call
934
- # via an expression like $a()
935
- case functor
936
- when Model::QualifiedName
937
- # ok
938
- when Model::RenderStringExpression
939
- # helpful to point out this easy to make Epp error
940
- fail(Issues::ILLEGAL_EPP_PARAMETERS, o)
941
- else
942
- fail(Issues::ILLEGAL_EXPRESSION, o.functor_expr, {:feature=>'function name', :container => o})
943
- end
944
- name = o.functor_expr.value
945
- call_function_with_block(name, unfold([], o.arguments, scope), o, scope)
946
- end
947
-
948
- # Evaluation of CallMethodExpression handles a NamedAccessExpression functor (receiver.function_name)
949
- #
950
- def eval_CallMethodExpression(o, scope)
951
- unless o.functor_expr.is_a? Model::NamedAccessExpression
952
- fail(Issues::ILLEGAL_EXPRESSION, o.functor_expr, {:feature=>'function accessor', :container => o})
953
- end
954
- receiver = unfold([], [o.functor_expr.left_expr], scope)
955
- name = o.functor_expr.right_expr
956
- unless name.is_a? Model::QualifiedName
957
- fail(Issues::ILLEGAL_EXPRESSION, o.functor_expr, {:feature=>'function name', :container => o})
958
- end
959
- name = name.value # the string function name
960
-
961
- obj = receiver[0]
962
- receiver_type = Types::TypeCalculator.infer(obj)
963
- if receiver_type.is_a?(Types::TypeWithMembers)
964
- member = receiver_type[name]
965
- unless member.nil?
966
- args = unfold([], o.arguments || [], scope)
967
- return o.lambda.nil? ? member.invoke(obj, scope, args) : member.invoke(obj, scope, args, &proc_from_lambda(o.lambda, scope))
968
- end
969
- end
970
-
971
- call_function_with_block(name, unfold(receiver, o.arguments || [], scope), o, scope)
972
- end
973
-
974
- def call_function_with_block(name, evaluated_arguments, o, scope)
975
- if o.lambda.nil?
976
- call_function(name, evaluated_arguments, o, scope)
977
- else
978
- call_function(name, evaluated_arguments, o, scope, &proc_from_lambda(o.lambda, scope))
979
- end
980
- end
981
- private :call_function_with_block
982
-
983
- def proc_from_lambda(lambda, scope)
984
- closure = Closure::Dynamic.new(self, lambda, scope)
985
- PuppetProc.new(closure) { |*args| closure.call(*args) }
986
- end
987
- private :proc_from_lambda
988
-
989
- # @example
990
- # $x ? { 10 => true, 20 => false, default => 0 }
991
- #
992
- def eval_SelectorExpression o, scope
993
- # memo scope level before evaluating test - don't want a match in the case test to leak $n match vars
994
- # to expressions after the selector expression.
995
- #
996
- scope.with_guarded_scope do
997
- test = evaluate(o.left_expr, scope)
998
-
999
- the_default = nil
1000
- selected = o.selectors.find do |s|
1001
- me = unwind_parentheses(s.matching_expr)
1002
- case me
1003
- when Model::LiteralDefault
1004
- the_default = s.value_expr
1005
- false
1006
- when Model::UnfoldExpression
1007
- # not ideal for error reporting, since it is not known which unfolded result
1008
- # that caused an error - the entire unfold expression is blamed (i.e. the var c, passed to is_match?)
1009
- evaluate(me, scope).any? {|v| is_match?(test, v, me, s, scope) }
1010
- else
1011
- is_match?(test, evaluate(me, scope), me, s, scope)
1012
- end
1013
- end
1014
- if selected
1015
- evaluate(selected.value_expr, scope)
1016
- elsif the_default
1017
- evaluate(the_default, scope)
1018
- else
1019
- fail(Issues::UNMATCHED_SELECTOR, o.left_expr, :param_value => test)
1020
- end
1021
- end
1022
- end
1023
-
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
- # Evaluates Puppet DSL Heredoc
1030
- def eval_HeredocExpression o, scope
1031
- result = evaluate(o.text_expr, scope)
1032
- assert_external_syntax(scope, result, o.syntax, o.text_expr)
1033
- result
1034
- end
1035
-
1036
- # Evaluates Puppet DSL `if`
1037
- def eval_IfExpression o, scope
1038
- scope.with_guarded_scope do
1039
- if is_true?(evaluate(o.test, scope), o.test)
1040
- evaluate(o.then_expr, scope)
1041
- else
1042
- evaluate(o.else_expr, scope)
1043
- end
1044
- end
1045
- end
1046
-
1047
- # Evaluates Puppet DSL `unless`
1048
- def eval_UnlessExpression o, scope
1049
- scope.with_guarded_scope do
1050
- unless is_true?(evaluate(o.test, scope), o.test)
1051
- evaluate(o.then_expr, scope)
1052
- else
1053
- evaluate(o.else_expr, scope)
1054
- end
1055
- end
1056
- end
1057
-
1058
- # Evaluates a variable (getting its value)
1059
- # The evaluator is lenient; any expression producing a String is used as a name
1060
- # of a variable.
1061
- #
1062
- def eval_VariableExpression o, scope
1063
- # Evaluator is not too fussy about what constitutes a name as long as the result
1064
- # is a String and a valid variable name
1065
- #
1066
- name = evaluate(o.expr, scope)
1067
-
1068
- # Should be caught by validation, but make this explicit here as well, or mysterious evaluation issues
1069
- # may occur for some evaluation use cases.
1070
- case name
1071
- when String
1072
- when Numeric
1073
- else
1074
- fail(Issues::ILLEGAL_VARIABLE_EXPRESSION, o.expr)
1075
- end
1076
- get_variable_value(name, o, scope)
1077
- end
1078
-
1079
- # Evaluates double quoted strings that may contain interpolation
1080
- #
1081
- def eval_ConcatenatedString o, scope
1082
- o.segments.collect {|expr| string(evaluate(expr, scope), scope)}.join
1083
- end
1084
-
1085
-
1086
- # If the wrapped expression is a QualifiedName, it is taken as the name of a variable in scope.
1087
- # Note that this is different from the 3.x implementation, where an initial qualified name
1088
- # is accepted. (e.g. `"---${var + 1}---"` is legal. This implementation requires such concrete
1089
- # syntax to be expressed in a model as `(TextExpression (+ (Variable var) 1)` - i.e. moving the decision to
1090
- # the parser.
1091
- #
1092
- # Semantics; the result of an expression is turned into a string, nil is silently transformed to empty
1093
- # string.
1094
- # @return [String] the interpolated result
1095
- #
1096
- def eval_TextExpression o, scope
1097
- if o.expr.is_a?(Model::QualifiedName)
1098
- string(get_variable_value(o.expr.value, o, scope), scope)
1099
- else
1100
- string(evaluate(o.expr, scope), scope)
1101
- end
1102
- end
1103
-
1104
- def string_Object(o, scope)
1105
- o.to_s
1106
- end
1107
-
1108
- def string_Symbol(o, scope)
1109
- if :undef == o # optimized comparison 1.44 vs 1.95
1110
- EMPTY_STRING
1111
- else
1112
- o.to_s
1113
- end
1114
- end
1115
-
1116
- def string_Array(o, scope)
1117
- "[#{o.map {|e| string(e, scope)}.join(COMMA_SEPARATOR)}]"
1118
- end
1119
-
1120
- def string_Hash(o, scope)
1121
- "{#{o.map {|k,v| "#{string(k, scope)} => #{string(v, scope)}"}.join(COMMA_SEPARATOR)}}"
1122
- end
1123
-
1124
- def string_Regexp(o, scope)
1125
- Types::PRegexpType.regexp_to_s_with_delimiters(o)
1126
- end
1127
-
1128
- def string_PAnyType(o, scope)
1129
- o.to_s
1130
- end
1131
-
1132
- # Produces concatenation / merge of x and y.
1133
- #
1134
- # When x is an Array, y of type produces:
1135
- #
1136
- # * Array => concatenation `[1,2], [3,4] => [1,2,3,4]`
1137
- # * Hash => concatenation of hash as array `[key, value, key, value, ...]`
1138
- # * any other => concatenation of single value
1139
- #
1140
- # When x is a Hash, y of type produces:
1141
- #
1142
- # * Array => merge of array interpreted as `[key, value, key, value,...]`
1143
- # * Hash => a merge, where entries in `y` overrides
1144
- # * any other => error
1145
- #
1146
- # When x is a URI, y of type produces:
1147
- #
1148
- # * String => merge of URI interpreted x + URI(y) using URI merge semantics
1149
- # * URI => merge of URI interpreted x + y using URI merge semantics
1150
- # * any other => error
1151
- #
1152
- # When x is nil, an empty array is used instead.
1153
- #
1154
- # @note to concatenate an Array, nest the array - i.e. `[1,2], [[2,3]]`
1155
- #
1156
- # @overload concatenate(obj_x, obj_y)
1157
- # @param obj_x [Object] object to wrap in an array and concatenate to; see other overloaded methods for return type
1158
- # @param ary_y [Object] array to concatenate at end of `ary_x`
1159
- # @return [Object] wraps obj_x in array before using other overloaded option based on type of obj_y
1160
- # @overload concatenate(ary_x, ary_y)
1161
- # @param ary_x [Array] array to concatenate to
1162
- # @param ary_y [Array] array to concatenate at end of `ary_x`
1163
- # @return [Array] new array with `ary_x` + `ary_y`
1164
- # @overload concatenate(ary_x, hsh_y)
1165
- # @param ary_x [Array] array to concatenate to
1166
- # @param hsh_y [Hash] converted to array form, and concatenated to array
1167
- # @return [Array] new array with `ary_x` + `hsh_y` converted to array
1168
- # @overload concatenate (ary_x, obj_y)
1169
- # @param ary_x [Array] array to concatenate to
1170
- # @param obj_y [Object] non array or hash object to add to array
1171
- # @return [Array] new array with `ary_x` + `obj_y` added as last entry
1172
- # @overload concatenate(hsh_x, ary_y)
1173
- # @param hsh_x [Hash] the hash to merge with
1174
- # @param ary_y [Array] array interpreted as even numbered sequence of key, value merged with `hsh_x`
1175
- # @return [Hash] new hash with `hsh_x` merged with `ary_y` interpreted as hash in array form
1176
- # @overload concatenate(hsh_x, hsh_y)
1177
- # @param hsh_x [Hash] the hash to merge to
1178
- # @param hsh_y [Hash] hash merged with `hsh_x`
1179
- # @return [Hash] new hash with `hsh_x` merged with `hsh_y`
1180
- # @overload concatenate(uri_x, uri_y)
1181
- # @param uri_x [URI] the uri to merge to
1182
- # @param uri_y [URI] uri to merged with `uri_x`
1183
- # @return [URI] new uri with `uri_x` merged with `uri_y`
1184
- # @overload concatenate(uri_x, string_y)
1185
- # @param uri_x [URI] the uri to merge to
1186
- # @param string_y [String] string to merge with `uri_x`
1187
- # @return [URI] new uri with `uri_x` merged with `string_y`
1188
- # @raise [ArgumentError] when `xxx_x` is neither an Array nor a Hash
1189
- # @raise [ArgumentError] when `xxx_x` is a Hash, and `xxx_y` is neither Array nor Hash.
1190
- #
1191
- def concatenate(x, y)
1192
- case x
1193
- when Array
1194
- y = case y
1195
- when Array then y
1196
- when Hash then y.to_a
1197
- else
1198
- [y]
1199
- end
1200
- x + y # new array with concatenation
1201
- when Hash
1202
- y = case y
1203
- when Hash then y
1204
- when Array
1205
- # Hash[[a, 1, b, 2]] => {}
1206
- # Hash[a,1,b,2] => {a => 1, b => 2}
1207
- # Hash[[a,1], [b,2]] => {[a,1] => [b,2]}
1208
- # Hash[[[a,1], [b,2]]] => {a => 1, b => 2}
1209
- # Use type calculator to determine if array is Array[Array[?]], and if so use second form
1210
- # of call
1211
- t = @@type_calculator.infer(y)
1212
- if t.element_type.is_a? Types::PArrayType
1213
- Hash[y]
1214
- else
1215
- Hash[*y]
1216
- end
1217
- else
1218
- raise ArgumentError.new(_('Can only append Array or Hash to a Hash'))
1219
- end
1220
- x.merge y # new hash with overwrite
1221
- when URI
1222
- raise ArgumentError.new(_('An URI can only be merged with an URI or String')) unless y.is_a?(String) || y.is_a?(URI)
1223
- x + y
1224
- when Types::PBinaryType::Binary
1225
- raise ArgumentError.new(_('Can only append Binary to a Binary')) unless y.is_a?(Types::PBinaryType::Binary)
1226
- Types::PBinaryType::Binary.from_binary_string(x.binary_buffer + y.binary_buffer)
1227
- else
1228
- concatenate([x], y)
1229
- end
1230
- end
1231
-
1232
- # Produces the result x \ y (set difference)
1233
- # When `x` is an Array, `y` is transformed to an array and then all matching elements removed from x.
1234
- # When `x` is a Hash, all contained keys are removed from x as listed in `y` if it is an Array, or all its keys if it is a Hash.
1235
- # The difference is returned. The given `x` and `y` are not modified by this operation.
1236
- # @raise [ArgumentError] when `x` is neither an Array nor a Hash
1237
- #
1238
- def delete(x, y)
1239
- result = x.dup
1240
- case x
1241
- when Array
1242
- y = case y
1243
- when Array then y
1244
- when Hash then y.to_a
1245
- else
1246
- [y]
1247
- end
1248
- y.each {|e| result.delete(e) }
1249
- when Hash
1250
- y = case y
1251
- when Array then y
1252
- when Hash then y.keys
1253
- else
1254
- [y]
1255
- end
1256
- y.each {|e| result.delete(e) }
1257
- else
1258
- raise ArgumentError.new(_("Can only delete from an Array or Hash."))
1259
- end
1260
- result
1261
- end
1262
-
1263
- # Implementation of case option matching.
1264
- #
1265
- # This is the type of matching performed in a case option, using == for every type
1266
- # of value except regular expression where a match is performed.
1267
- #
1268
- def is_match?(left, right, o, option_expr, scope)
1269
- @@compare_operator.match(left, right, scope)
1270
- end
1271
-
1272
- # Maps the expression in the given array to their product except for UnfoldExpressions which are first unfolded.
1273
- # The result is added to the given result Array.
1274
- # @param result [Array] Where to add the result (may contain information to add to)
1275
- # @param array [Array[Model::Expression] the expressions to map
1276
- # @param scope [Puppet::Parser::Scope] the scope to evaluate in
1277
- # @return [Array] the given result array with content added from the operation
1278
- #
1279
- def unfold(result, array, scope)
1280
- array.each do |x|
1281
- x = unwind_parentheses(x)
1282
- if x.is_a?(Model::UnfoldExpression)
1283
- result.concat(evaluate(x, scope))
1284
- else
1285
- result << evaluate(x, scope)
1286
- end
1287
- end
1288
- result
1289
- end
1290
- private :unfold
1291
-
1292
- def unwind_parentheses(o)
1293
- return o unless o.is_a?(Model::ParenthesizedExpression)
1294
- unwind_parentheses(o.expr)
1295
- end
1296
- private :unwind_parentheses
1297
- end
1298
- end
1299
- end