bolt 0.19.1 → 0.20.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 (1261) hide show
  1. checksums.yaml +4 -4
  2. data/bolt-modules/boltlib/lib/puppet/functions/puppetdb_query.rb +25 -0
  3. data/bolt-modules/boltlib/lib/puppet/functions/without_default_logging.rb +18 -0
  4. data/lib/bolt/cli.rb +1 -1
  5. data/lib/bolt/config.rb +1 -1
  6. data/lib/bolt/executor.rb +1 -1
  7. data/lib/bolt/puppetdb/client.rb +26 -19
  8. data/lib/bolt/transport/ssh/connection.rb +3 -1
  9. data/lib/bolt/version.rb +1 -1
  10. data/modules/canary/plans/init.pp +22 -1
  11. data/modules/facts/tasks/bash.sh +1 -1
  12. data/modules/facts/tasks/powershell.ps1 +1 -1
  13. data/modules/facts/tasks/ruby.rb +1 -1
  14. metadata +4 -1249
  15. data/modules/apply/tasks/resource.json +0 -18
  16. data/modules/apply/tasks/resource.rb +0 -98
  17. data/modules/package/tasks/init.json +0 -22
  18. data/modules/package/tasks/init.rb +0 -69
  19. data/modules/puppet_conf/tasks/init.json +0 -22
  20. data/modules/puppet_conf/tasks/init.rb +0 -43
  21. data/modules/service/tasks/init.json +0 -18
  22. data/modules/service/tasks/init.rb +0 -71
  23. data/modules/service/tasks/linux.json +0 -14
  24. data/modules/service/tasks/linux.sh +0 -45
  25. data/modules/service/tasks/windows.json +0 -14
  26. data/modules/service/tasks/windows.ps1 +0 -85
  27. data/vendored/facter/lib/facter.rb +0 -261
  28. data/vendored/facter/lib/facter/Cfkey.rb +0 -42
  29. data/vendored/facter/lib/facter/application.rb +0 -206
  30. data/vendored/facter/lib/facter/architecture.rb +0 -50
  31. data/vendored/facter/lib/facter/augeasversion.rb +0 -28
  32. data/vendored/facter/lib/facter/blockdevices.rb +0 -105
  33. data/vendored/facter/lib/facter/core/aggregate.rb +0 -220
  34. data/vendored/facter/lib/facter/core/directed_graph.rb +0 -46
  35. data/vendored/facter/lib/facter/core/execution.rb +0 -123
  36. data/vendored/facter/lib/facter/core/execution/base.rb +0 -81
  37. data/vendored/facter/lib/facter/core/execution/posix.rb +0 -50
  38. data/vendored/facter/lib/facter/core/execution/windows.rb +0 -57
  39. data/vendored/facter/lib/facter/core/logging.rb +0 -197
  40. data/vendored/facter/lib/facter/core/resolvable.rb +0 -94
  41. data/vendored/facter/lib/facter/core/suitable.rb +0 -113
  42. data/vendored/facter/lib/facter/dhcp_servers.rb +0 -45
  43. data/vendored/facter/lib/facter/domain.rb +0 -99
  44. data/vendored/facter/lib/facter/ec2.rb +0 -68
  45. data/vendored/facter/lib/facter/ec2/rest.rb +0 -137
  46. data/vendored/facter/lib/facter/facterversion.rb +0 -15
  47. data/vendored/facter/lib/facter/filesystems.rb +0 -45
  48. data/vendored/facter/lib/facter/fqdn.rb +0 -24
  49. data/vendored/facter/lib/facter/gce.rb +0 -16
  50. data/vendored/facter/lib/facter/gce/metadata.rb +0 -87
  51. data/vendored/facter/lib/facter/gid.rb +0 -25
  52. data/vendored/facter/lib/facter/hardwareisa.rb +0 -20
  53. data/vendored/facter/lib/facter/hardwaremodel.rb +0 -67
  54. data/vendored/facter/lib/facter/hostname.rb +0 -31
  55. data/vendored/facter/lib/facter/id.rb +0 -21
  56. data/vendored/facter/lib/facter/interfaces.rb +0 -58
  57. data/vendored/facter/lib/facter/ipaddress.rb +0 -169
  58. data/vendored/facter/lib/facter/ipaddress6.rb +0 -82
  59. data/vendored/facter/lib/facter/iphostnumber.rb +0 -29
  60. data/vendored/facter/lib/facter/kernel.rb +0 -22
  61. data/vendored/facter/lib/facter/kernelmajversion.rb +0 -23
  62. data/vendored/facter/lib/facter/kernelrelease.rb +0 -45
  63. data/vendored/facter/lib/facter/kernelversion.rb +0 -22
  64. data/vendored/facter/lib/facter/ldom.rb +0 -51
  65. data/vendored/facter/lib/facter/lsbdistcodename.rb +0 -20
  66. data/vendored/facter/lib/facter/lsbdistdescription.rb +0 -21
  67. data/vendored/facter/lib/facter/lsbdistid.rb +0 -20
  68. data/vendored/facter/lib/facter/lsbdistrelease.rb +0 -20
  69. data/vendored/facter/lib/facter/lsbmajdistrelease.rb +0 -22
  70. data/vendored/facter/lib/facter/lsbminordistrelease.rb +0 -22
  71. data/vendored/facter/lib/facter/lsbrelease.rb +0 -20
  72. data/vendored/facter/lib/facter/macaddress.rb +0 -99
  73. data/vendored/facter/lib/facter/macosx.rb +0 -56
  74. data/vendored/facter/lib/facter/manufacturer.rb +0 -68
  75. data/vendored/facter/lib/facter/memory.rb +0 -168
  76. data/vendored/facter/lib/facter/netmask.rb +0 -43
  77. data/vendored/facter/lib/facter/network.rb +0 -20
  78. data/vendored/facter/lib/facter/operatingsystem.rb +0 -24
  79. data/vendored/facter/lib/facter/operatingsystem/base.rb +0 -61
  80. data/vendored/facter/lib/facter/operatingsystem/cumuluslinux.rb +0 -27
  81. data/vendored/facter/lib/facter/operatingsystem/implementation.rb +0 -33
  82. data/vendored/facter/lib/facter/operatingsystem/linux.rb +0 -484
  83. data/vendored/facter/lib/facter/operatingsystem/osreleaselinux.rb +0 -28
  84. data/vendored/facter/lib/facter/operatingsystem/sunos.rb +0 -54
  85. data/vendored/facter/lib/facter/operatingsystem/vmkernel.rb +0 -11
  86. data/vendored/facter/lib/facter/operatingsystem/windows.rb +0 -43
  87. data/vendored/facter/lib/facter/operatingsystemmajrelease.rb +0 -31
  88. data/vendored/facter/lib/facter/operatingsystemrelease.rb +0 -29
  89. data/vendored/facter/lib/facter/os.rb +0 -98
  90. data/vendored/facter/lib/facter/osfamily.rb +0 -18
  91. data/vendored/facter/lib/facter/partitions.rb +0 -39
  92. data/vendored/facter/lib/facter/path.rb +0 -14
  93. data/vendored/facter/lib/facter/physicalprocessorcount.rb +0 -27
  94. data/vendored/facter/lib/facter/processor.rb +0 -52
  95. data/vendored/facter/lib/facter/processors.rb +0 -66
  96. data/vendored/facter/lib/facter/processors/os.rb +0 -244
  97. data/vendored/facter/lib/facter/ps.rb +0 -31
  98. data/vendored/facter/lib/facter/puppetversion.rb +0 -20
  99. data/vendored/facter/lib/facter/rackspace.rb +0 -37
  100. data/vendored/facter/lib/facter/rubyplatform.rb +0 -12
  101. data/vendored/facter/lib/facter/rubysitedir.rb +0 -15
  102. data/vendored/facter/lib/facter/rubyversion.rb +0 -12
  103. data/vendored/facter/lib/facter/selinux.rb +0 -154
  104. data/vendored/facter/lib/facter/ssh.rb +0 -73
  105. data/vendored/facter/lib/facter/system32.rb +0 -21
  106. data/vendored/facter/lib/facter/system_uptime.rb +0 -44
  107. data/vendored/facter/lib/facter/timezone.rb +0 -14
  108. data/vendored/facter/lib/facter/uniqueid.rb +0 -4
  109. data/vendored/facter/lib/facter/uptime.rb +0 -16
  110. data/vendored/facter/lib/facter/uptime_days.rb +0 -13
  111. data/vendored/facter/lib/facter/uptime_hours.rb +0 -13
  112. data/vendored/facter/lib/facter/uptime_seconds.rb +0 -20
  113. data/vendored/facter/lib/facter/util/architecture.rb +0 -19
  114. data/vendored/facter/lib/facter/util/collection.rb +0 -161
  115. data/vendored/facter/lib/facter/util/composite_loader.rb +0 -12
  116. data/vendored/facter/lib/facter/util/config.rb +0 -88
  117. data/vendored/facter/lib/facter/util/confine.rb +0 -66
  118. data/vendored/facter/lib/facter/util/dhcp_servers.rb +0 -58
  119. data/vendored/facter/lib/facter/util/directory_loader.rb +0 -88
  120. data/vendored/facter/lib/facter/util/ec2.rb +0 -106
  121. data/vendored/facter/lib/facter/util/fact.rb +0 -204
  122. data/vendored/facter/lib/facter/util/file_read.rb +0 -37
  123. data/vendored/facter/lib/facter/util/formatter.rb +0 -39
  124. data/vendored/facter/lib/facter/util/ip.rb +0 -340
  125. data/vendored/facter/lib/facter/util/ip/windows.rb +0 -215
  126. data/vendored/facter/lib/facter/util/loader.rb +0 -155
  127. data/vendored/facter/lib/facter/util/macaddress.rb +0 -43
  128. data/vendored/facter/lib/facter/util/macosx.rb +0 -73
  129. data/vendored/facter/lib/facter/util/manufacturer.rb +0 -99
  130. data/vendored/facter/lib/facter/util/memory.rb +0 -228
  131. data/vendored/facter/lib/facter/util/netmask.rb +0 -40
  132. data/vendored/facter/lib/facter/util/normalization.rb +0 -94
  133. data/vendored/facter/lib/facter/util/nothing_loader.rb +0 -12
  134. data/vendored/facter/lib/facter/util/operatingsystem.rb +0 -21
  135. data/vendored/facter/lib/facter/util/parser.rb +0 -168
  136. data/vendored/facter/lib/facter/util/partitions.rb +0 -47
  137. data/vendored/facter/lib/facter/util/partitions/linux.rb +0 -71
  138. data/vendored/facter/lib/facter/util/partitions/openbsd.rb +0 -40
  139. data/vendored/facter/lib/facter/util/plist.rb +0 -24
  140. data/vendored/facter/lib/facter/util/plist/generator.rb +0 -228
  141. data/vendored/facter/lib/facter/util/plist/parser.rb +0 -226
  142. data/vendored/facter/lib/facter/util/posix.rb +0 -16
  143. data/vendored/facter/lib/facter/util/processor.rb +0 -289
  144. data/vendored/facter/lib/facter/util/registry.rb +0 -11
  145. data/vendored/facter/lib/facter/util/resolution.rb +0 -160
  146. data/vendored/facter/lib/facter/util/solaris_zones.rb +0 -158
  147. data/vendored/facter/lib/facter/util/unix_root.rb +0 -5
  148. data/vendored/facter/lib/facter/util/uptime.rb +0 -83
  149. data/vendored/facter/lib/facter/util/values.rb +0 -109
  150. data/vendored/facter/lib/facter/util/virtual.rb +0 -212
  151. data/vendored/facter/lib/facter/util/vlans.rb +0 -21
  152. data/vendored/facter/lib/facter/util/windows.rb +0 -10
  153. data/vendored/facter/lib/facter/util/windows/api_types.rb +0 -135
  154. data/vendored/facter/lib/facter/util/windows/dir.rb +0 -43
  155. data/vendored/facter/lib/facter/util/windows/error.rb +0 -87
  156. data/vendored/facter/lib/facter/util/windows/process.rb +0 -294
  157. data/vendored/facter/lib/facter/util/windows/user.rb +0 -186
  158. data/vendored/facter/lib/facter/util/windows_root.rb +0 -7
  159. data/vendored/facter/lib/facter/util/wmi.rb +0 -49
  160. data/vendored/facter/lib/facter/util/xendomains.rb +0 -28
  161. data/vendored/facter/lib/facter/version.rb +0 -86
  162. data/vendored/facter/lib/facter/virtual.rb +0 -330
  163. data/vendored/facter/lib/facter/vlans.rb +0 -17
  164. data/vendored/facter/lib/facter/xendomains.rb +0 -20
  165. data/vendored/facter/lib/facter/zfs_version.rb +0 -14
  166. data/vendored/facter/lib/facter/zonename.rb +0 -6
  167. data/vendored/facter/lib/facter/zones.rb +0 -18
  168. data/vendored/facter/lib/facter/zpool_version.rb +0 -10
  169. data/vendored/hiera/lib/hiera.rb +0 -119
  170. data/vendored/hiera/lib/hiera/backend.rb +0 -360
  171. data/vendored/hiera/lib/hiera/backend/json_backend.rb +0 -58
  172. data/vendored/hiera/lib/hiera/backend/yaml_backend.rb +0 -63
  173. data/vendored/hiera/lib/hiera/config.rb +0 -97
  174. data/vendored/hiera/lib/hiera/console_logger.rb +0 -13
  175. data/vendored/hiera/lib/hiera/error.rb +0 -4
  176. data/vendored/hiera/lib/hiera/fallback_logger.rb +0 -41
  177. data/vendored/hiera/lib/hiera/filecache.rb +0 -86
  178. data/vendored/hiera/lib/hiera/interpolate.rb +0 -121
  179. data/vendored/hiera/lib/hiera/noop_logger.rb +0 -8
  180. data/vendored/hiera/lib/hiera/puppet_logger.rb +0 -17
  181. data/vendored/hiera/lib/hiera/recursive_guard.rb +0 -20
  182. data/vendored/hiera/lib/hiera/util.rb +0 -65
  183. data/vendored/hiera/lib/hiera/util/win32.rb +0 -40
  184. data/vendored/hiera/lib/hiera/version.rb +0 -89
  185. data/vendored/puppet/lib/hiera/puppet_function.rb +0 -84
  186. data/vendored/puppet/lib/hiera/scope.rb +0 -61
  187. data/vendored/puppet/lib/hiera_puppet.rb +0 -79
  188. data/vendored/puppet/lib/puppet.rb +0 -307
  189. data/vendored/puppet/lib/puppet/agent.rb +0 -134
  190. data/vendored/puppet/lib/puppet/agent/disabler.rb +0 -53
  191. data/vendored/puppet/lib/puppet/agent/locker.rb +0 -53
  192. data/vendored/puppet/lib/puppet/application.rb +0 -502
  193. data/vendored/puppet/lib/puppet/application/agent.rb +0 -473
  194. data/vendored/puppet/lib/puppet/application/apply.rb +0 -356
  195. data/vendored/puppet/lib/puppet/application/ca.rb +0 -11
  196. data/vendored/puppet/lib/puppet/application/catalog.rb +0 -4
  197. data/vendored/puppet/lib/puppet/application/cert.rb +0 -339
  198. data/vendored/puppet/lib/puppet/application/certificate.rb +0 -17
  199. data/vendored/puppet/lib/puppet/application/certificate_request.rb +0 -7
  200. data/vendored/puppet/lib/puppet/application/certificate_revocation_list.rb +0 -7
  201. data/vendored/puppet/lib/puppet/application/config.rb +0 -5
  202. data/vendored/puppet/lib/puppet/application/describe.rb +0 -257
  203. data/vendored/puppet/lib/puppet/application/device.rb +0 -378
  204. data/vendored/puppet/lib/puppet/application/doc.rb +0 -230
  205. data/vendored/puppet/lib/puppet/application/epp.rb +0 -5
  206. data/vendored/puppet/lib/puppet/application/face_base.rb +0 -268
  207. data/vendored/puppet/lib/puppet/application/facts.rb +0 -9
  208. data/vendored/puppet/lib/puppet/application/filebucket.rb +0 -300
  209. data/vendored/puppet/lib/puppet/application/generate.rb +0 -5
  210. data/vendored/puppet/lib/puppet/application/help.rb +0 -5
  211. data/vendored/puppet/lib/puppet/application/indirection_base.rb +0 -4
  212. data/vendored/puppet/lib/puppet/application/key.rb +0 -4
  213. data/vendored/puppet/lib/puppet/application/lookup.rb +0 -369
  214. data/vendored/puppet/lib/puppet/application/man.rb +0 -4
  215. data/vendored/puppet/lib/puppet/application/master.rb +0 -317
  216. data/vendored/puppet/lib/puppet/application/module.rb +0 -4
  217. data/vendored/puppet/lib/puppet/application/node.rb +0 -4
  218. data/vendored/puppet/lib/puppet/application/parser.rb +0 -5
  219. data/vendored/puppet/lib/puppet/application/plugin.rb +0 -3
  220. data/vendored/puppet/lib/puppet/application/report.rb +0 -4
  221. data/vendored/puppet/lib/puppet/application/resource.rb +0 -231
  222. data/vendored/puppet/lib/puppet/application/script.rb +0 -261
  223. data/vendored/puppet/lib/puppet/application/status.rb +0 -4
  224. data/vendored/puppet/lib/puppet/application_support.rb +0 -62
  225. data/vendored/puppet/lib/puppet/coercion.rb +0 -40
  226. data/vendored/puppet/lib/puppet/compilable_resource_type.rb +0 -15
  227. data/vendored/puppet/lib/puppet/configurer.rb +0 -464
  228. data/vendored/puppet/lib/puppet/configurer/downloader.rb +0 -67
  229. data/vendored/puppet/lib/puppet/configurer/fact_handler.rb +0 -46
  230. data/vendored/puppet/lib/puppet/configurer/plugin_handler.rb +0 -49
  231. data/vendored/puppet/lib/puppet/confine.rb +0 -80
  232. data/vendored/puppet/lib/puppet/confine/any.rb +0 -26
  233. data/vendored/puppet/lib/puppet/confine/exists.rb +0 -19
  234. data/vendored/puppet/lib/puppet/confine/false.rb +0 -19
  235. data/vendored/puppet/lib/puppet/confine/feature.rb +0 -17
  236. data/vendored/puppet/lib/puppet/confine/true.rb +0 -20
  237. data/vendored/puppet/lib/puppet/confine/variable.rb +0 -59
  238. data/vendored/puppet/lib/puppet/confine_collection.rb +0 -50
  239. data/vendored/puppet/lib/puppet/confiner.rb +0 -46
  240. data/vendored/puppet/lib/puppet/context.rb +0 -116
  241. data/vendored/puppet/lib/puppet/context/trusted_information.rb +0 -76
  242. data/vendored/puppet/lib/puppet/daemon.rb +0 -195
  243. data/vendored/puppet/lib/puppet/data_binding.rb +0 -14
  244. data/vendored/puppet/lib/puppet/datatypes.rb +0 -213
  245. data/vendored/puppet/lib/puppet/datatypes/error.rb +0 -21
  246. data/vendored/puppet/lib/puppet/datatypes/impl/error.rb +0 -40
  247. data/vendored/puppet/lib/puppet/defaults.rb +0 -2071
  248. data/vendored/puppet/lib/puppet/environments.rb +0 -511
  249. data/vendored/puppet/lib/puppet/error.rb +0 -110
  250. data/vendored/puppet/lib/puppet/etc.rb +0 -161
  251. data/vendored/puppet/lib/puppet/external/dot.rb +0 -319
  252. data/vendored/puppet/lib/puppet/external/nagios.rb +0 -46
  253. data/vendored/puppet/lib/puppet/external/nagios/base.rb +0 -472
  254. data/vendored/puppet/lib/puppet/external/nagios/parser.rb +0 -400
  255. data/vendored/puppet/lib/puppet/external/pson/common.rb +0 -374
  256. data/vendored/puppet/lib/puppet/external/pson/pure.rb +0 -15
  257. data/vendored/puppet/lib/puppet/external/pson/pure/generator.rb +0 -395
  258. data/vendored/puppet/lib/puppet/external/pson/pure/parser.rb +0 -307
  259. data/vendored/puppet/lib/puppet/external/pson/version.rb +0 -8
  260. data/vendored/puppet/lib/puppet/face.rb +0 -12
  261. data/vendored/puppet/lib/puppet/face/ca.rb +0 -266
  262. data/vendored/puppet/lib/puppet/face/catalog.rb +0 -130
  263. data/vendored/puppet/lib/puppet/face/catalog/select.rb +0 -49
  264. data/vendored/puppet/lib/puppet/face/certificate.rb +0 -165
  265. data/vendored/puppet/lib/puppet/face/certificate_request.rb +0 -56
  266. data/vendored/puppet/lib/puppet/face/certificate_revocation_list.rb +0 -56
  267. data/vendored/puppet/lib/puppet/face/config.rb +0 -210
  268. data/vendored/puppet/lib/puppet/face/epp.rb +0 -554
  269. data/vendored/puppet/lib/puppet/face/facts.rb +0 -87
  270. data/vendored/puppet/lib/puppet/face/generate.rb +0 -64
  271. data/vendored/puppet/lib/puppet/face/help.rb +0 -201
  272. data/vendored/puppet/lib/puppet/face/key.rb +0 -16
  273. data/vendored/puppet/lib/puppet/face/man.rb +0 -145
  274. data/vendored/puppet/lib/puppet/face/module.rb +0 -19
  275. data/vendored/puppet/lib/puppet/face/module/build.rb +0 -64
  276. data/vendored/puppet/lib/puppet/face/module/changes.rb +0 -42
  277. data/vendored/puppet/lib/puppet/face/module/generate.rb +0 -256
  278. data/vendored/puppet/lib/puppet/face/module/install.rb +0 -150
  279. data/vendored/puppet/lib/puppet/face/module/list.rb +0 -268
  280. data/vendored/puppet/lib/puppet/face/module/search.rb +0 -98
  281. data/vendored/puppet/lib/puppet/face/module/uninstall.rb +0 -93
  282. data/vendored/puppet/lib/puppet/face/module/upgrade.rb +0 -91
  283. data/vendored/puppet/lib/puppet/face/node.rb +0 -43
  284. data/vendored/puppet/lib/puppet/face/node/clean.rb +0 -96
  285. data/vendored/puppet/lib/puppet/face/parser.rb +0 -187
  286. data/vendored/puppet/lib/puppet/face/plugin.rb +0 -56
  287. data/vendored/puppet/lib/puppet/face/report.rb +0 -54
  288. data/vendored/puppet/lib/puppet/face/resource.rb +0 -53
  289. data/vendored/puppet/lib/puppet/face/status.rb +0 -51
  290. data/vendored/puppet/lib/puppet/feature/base.rb +0 -95
  291. data/vendored/puppet/lib/puppet/feature/bolt.rb +0 -3
  292. data/vendored/puppet/lib/puppet/feature/cfpropertylist.rb +0 -3
  293. data/vendored/puppet/lib/puppet/feature/eventlog.rb +0 -5
  294. data/vendored/puppet/lib/puppet/feature/hiera_eyaml.rb +0 -3
  295. data/vendored/puppet/lib/puppet/feature/hocon.rb +0 -3
  296. data/vendored/puppet/lib/puppet/feature/libuser.rb +0 -8
  297. data/vendored/puppet/lib/puppet/feature/msgpack.rb +0 -3
  298. data/vendored/puppet/lib/puppet/feature/pe_license.rb +0 -4
  299. data/vendored/puppet/lib/puppet/feature/rack.rb +0 -19
  300. data/vendored/puppet/lib/puppet/feature/selinux.rb +0 -3
  301. data/vendored/puppet/lib/puppet/feature/ssh.rb +0 -3
  302. data/vendored/puppet/lib/puppet/feature/telnet.rb +0 -9
  303. data/vendored/puppet/lib/puppet/feature/zlib.rb +0 -5
  304. data/vendored/puppet/lib/puppet/file_bucket.rb +0 -4
  305. data/vendored/puppet/lib/puppet/file_bucket/dipper.rb +0 -173
  306. data/vendored/puppet/lib/puppet/file_bucket/file.rb +0 -129
  307. data/vendored/puppet/lib/puppet/file_serving.rb +0 -3
  308. data/vendored/puppet/lib/puppet/file_serving/base.rb +0 -86
  309. data/vendored/puppet/lib/puppet/file_serving/configuration.rb +0 -115
  310. data/vendored/puppet/lib/puppet/file_serving/configuration/parser.rb +0 -137
  311. data/vendored/puppet/lib/puppet/file_serving/content.rb +0 -43
  312. data/vendored/puppet/lib/puppet/file_serving/fileset.rb +0 -174
  313. data/vendored/puppet/lib/puppet/file_serving/http_metadata.rb +0 -46
  314. data/vendored/puppet/lib/puppet/file_serving/metadata.rb +0 -163
  315. data/vendored/puppet/lib/puppet/file_serving/mount.rb +0 -39
  316. data/vendored/puppet/lib/puppet/file_serving/mount/file.rb +0 -121
  317. data/vendored/puppet/lib/puppet/file_serving/mount/locales.rb +0 -35
  318. data/vendored/puppet/lib/puppet/file_serving/mount/modules.rb +0 -24
  319. data/vendored/puppet/lib/puppet/file_serving/mount/pluginfacts.rb +0 -35
  320. data/vendored/puppet/lib/puppet/file_serving/mount/plugins.rb +0 -35
  321. data/vendored/puppet/lib/puppet/file_serving/mount/tasks.rb +0 -21
  322. data/vendored/puppet/lib/puppet/file_serving/terminus_helper.rb +0 -31
  323. data/vendored/puppet/lib/puppet/file_serving/terminus_selector.rb +0 -32
  324. data/vendored/puppet/lib/puppet/file_system.rb +0 -404
  325. data/vendored/puppet/lib/puppet/file_system/file_impl.rb +0 -154
  326. data/vendored/puppet/lib/puppet/file_system/memory_file.rb +0 -66
  327. data/vendored/puppet/lib/puppet/file_system/memory_impl.rb +0 -86
  328. data/vendored/puppet/lib/puppet/file_system/path_pattern.rb +0 -98
  329. data/vendored/puppet/lib/puppet/file_system/posix.rb +0 -46
  330. data/vendored/puppet/lib/puppet/file_system/uniquefile.rb +0 -190
  331. data/vendored/puppet/lib/puppet/file_system/windows.rb +0 -130
  332. data/vendored/puppet/lib/puppet/forge.rb +0 -242
  333. data/vendored/puppet/lib/puppet/forge/cache.rb +0 -60
  334. data/vendored/puppet/lib/puppet/forge/errors.rb +0 -114
  335. data/vendored/puppet/lib/puppet/forge/repository.rb +0 -155
  336. data/vendored/puppet/lib/puppet/functions.rb +0 -725
  337. data/vendored/puppet/lib/puppet/functions/alert.rb +0 -14
  338. data/vendored/puppet/lib/puppet/functions/all.rb +0 -104
  339. data/vendored/puppet/lib/puppet/functions/annotate.rb +0 -108
  340. data/vendored/puppet/lib/puppet/functions/any.rb +0 -109
  341. data/vendored/puppet/lib/puppet/functions/assert_type.rb +0 -93
  342. data/vendored/puppet/lib/puppet/functions/binary_file.rb +0 -32
  343. data/vendored/puppet/lib/puppet/functions/break.rb +0 -51
  344. data/vendored/puppet/lib/puppet/functions/call.rb +0 -42
  345. data/vendored/puppet/lib/puppet/functions/contain.rb +0 -55
  346. data/vendored/puppet/lib/puppet/functions/convert_to.rb +0 -33
  347. data/vendored/puppet/lib/puppet/functions/crit.rb +0 -14
  348. data/vendored/puppet/lib/puppet/functions/debug.rb +0 -14
  349. data/vendored/puppet/lib/puppet/functions/defined.rb +0 -159
  350. data/vendored/puppet/lib/puppet/functions/dig.rb +0 -47
  351. data/vendored/puppet/lib/puppet/functions/each.rb +0 -169
  352. data/vendored/puppet/lib/puppet/functions/emerg.rb +0 -14
  353. data/vendored/puppet/lib/puppet/functions/empty.rb +0 -79
  354. data/vendored/puppet/lib/puppet/functions/epp.rb +0 -48
  355. data/vendored/puppet/lib/puppet/functions/err.rb +0 -14
  356. data/vendored/puppet/lib/puppet/functions/eyaml_lookup_key.rb +0 -96
  357. data/vendored/puppet/lib/puppet/functions/filter.rb +0 -143
  358. data/vendored/puppet/lib/puppet/functions/find_file.rb +0 -44
  359. data/vendored/puppet/lib/puppet/functions/flatten.rb +0 -64
  360. data/vendored/puppet/lib/puppet/functions/hiera.rb +0 -88
  361. data/vendored/puppet/lib/puppet/functions/hiera_array.rb +0 -81
  362. data/vendored/puppet/lib/puppet/functions/hiera_hash.rb +0 -92
  363. data/vendored/puppet/lib/puppet/functions/hiera_include.rb +0 -104
  364. data/vendored/puppet/lib/puppet/functions/hocon_data.rb +0 -41
  365. data/vendored/puppet/lib/puppet/functions/import.rb +0 -7
  366. data/vendored/puppet/lib/puppet/functions/include.rb +0 -53
  367. data/vendored/puppet/lib/puppet/functions/info.rb +0 -14
  368. data/vendored/puppet/lib/puppet/functions/inline_epp.rb +0 -59
  369. data/vendored/puppet/lib/puppet/functions/join.rb +0 -56
  370. data/vendored/puppet/lib/puppet/functions/json_data.rb +0 -33
  371. data/vendored/puppet/lib/puppet/functions/keys.rb +0 -25
  372. data/vendored/puppet/lib/puppet/functions/length.rb +0 -44
  373. data/vendored/puppet/lib/puppet/functions/lest.rb +0 -55
  374. data/vendored/puppet/lib/puppet/functions/lookup.rb +0 -223
  375. data/vendored/puppet/lib/puppet/functions/map.rb +0 -136
  376. data/vendored/puppet/lib/puppet/functions/match.rb +0 -120
  377. data/vendored/puppet/lib/puppet/functions/module_directory.rb +0 -41
  378. data/vendored/puppet/lib/puppet/functions/new.rb +0 -1022
  379. data/vendored/puppet/lib/puppet/functions/next.rb +0 -23
  380. data/vendored/puppet/lib/puppet/functions/notice.rb +0 -14
  381. data/vendored/puppet/lib/puppet/functions/reduce.rb +0 -164
  382. data/vendored/puppet/lib/puppet/functions/regsubst.rb +0 -82
  383. data/vendored/puppet/lib/puppet/functions/require.rb +0 -77
  384. data/vendored/puppet/lib/puppet/functions/return.rb +0 -22
  385. data/vendored/puppet/lib/puppet/functions/reverse_each.rb +0 -94
  386. data/vendored/puppet/lib/puppet/functions/scanf.rb +0 -44
  387. data/vendored/puppet/lib/puppet/functions/slice.rb +0 -124
  388. data/vendored/puppet/lib/puppet/functions/split.rb +0 -49
  389. data/vendored/puppet/lib/puppet/functions/step.rb +0 -98
  390. data/vendored/puppet/lib/puppet/functions/strftime.rb +0 -217
  391. data/vendored/puppet/lib/puppet/functions/then.rb +0 -77
  392. data/vendored/puppet/lib/puppet/functions/tree_each.rb +0 -200
  393. data/vendored/puppet/lib/puppet/functions/type.rb +0 -72
  394. data/vendored/puppet/lib/puppet/functions/unique.rb +0 -132
  395. data/vendored/puppet/lib/puppet/functions/unwrap.rb +0 -44
  396. data/vendored/puppet/lib/puppet/functions/values.rb +0 -25
  397. data/vendored/puppet/lib/puppet/functions/versioncmp.rb +0 -36
  398. data/vendored/puppet/lib/puppet/functions/warning.rb +0 -14
  399. data/vendored/puppet/lib/puppet/functions/with.rb +0 -32
  400. data/vendored/puppet/lib/puppet/functions/yaml_data.rb +0 -42
  401. data/vendored/puppet/lib/puppet/generate/models/type/property.rb +0 -70
  402. data/vendored/puppet/lib/puppet/generate/models/type/type.rb +0 -62
  403. data/vendored/puppet/lib/puppet/generate/type.rb +0 -239
  404. data/vendored/puppet/lib/puppet/gettext/config.rb +0 -252
  405. data/vendored/puppet/lib/puppet/gettext/module_translations.rb +0 -42
  406. data/vendored/puppet/lib/puppet/gettext/stubs.rb +0 -11
  407. data/vendored/puppet/lib/puppet/graph.rb +0 -11
  408. data/vendored/puppet/lib/puppet/graph/key.rb +0 -26
  409. data/vendored/puppet/lib/puppet/graph/prioritizer.rb +0 -29
  410. data/vendored/puppet/lib/puppet/graph/random_prioritizer.rb +0 -16
  411. data/vendored/puppet/lib/puppet/graph/rb_tree_map.rb +0 -388
  412. data/vendored/puppet/lib/puppet/graph/relationship_graph.rb +0 -283
  413. data/vendored/puppet/lib/puppet/graph/sequential_prioritizer.rb +0 -31
  414. data/vendored/puppet/lib/puppet/graph/simple_graph.rb +0 -539
  415. data/vendored/puppet/lib/puppet/graph/title_hash_prioritizer.rb +0 -16
  416. data/vendored/puppet/lib/puppet/indirector.rb +0 -61
  417. data/vendored/puppet/lib/puppet/indirector/catalog/compiler.rb +0 -418
  418. data/vendored/puppet/lib/puppet/indirector/catalog/json.rb +0 -24
  419. data/vendored/puppet/lib/puppet/indirector/catalog/msgpack.rb +0 -6
  420. data/vendored/puppet/lib/puppet/indirector/catalog/rest.rb +0 -6
  421. data/vendored/puppet/lib/puppet/indirector/catalog/store_configs.rb +0 -8
  422. data/vendored/puppet/lib/puppet/indirector/catalog/yaml.rb +0 -22
  423. data/vendored/puppet/lib/puppet/indirector/certificate/ca.rb +0 -9
  424. data/vendored/puppet/lib/puppet/indirector/certificate/disabled_ca.rb +0 -22
  425. data/vendored/puppet/lib/puppet/indirector/certificate/file.rb +0 -9
  426. data/vendored/puppet/lib/puppet/indirector/certificate/rest.rb +0 -16
  427. data/vendored/puppet/lib/puppet/indirector/certificate_request/ca.rb +0 -22
  428. data/vendored/puppet/lib/puppet/indirector/certificate_request/disabled_ca.rb +0 -22
  429. data/vendored/puppet/lib/puppet/indirector/certificate_request/file.rb +0 -8
  430. data/vendored/puppet/lib/puppet/indirector/certificate_request/memory.rb +0 -6
  431. data/vendored/puppet/lib/puppet/indirector/certificate_request/rest.rb +0 -10
  432. data/vendored/puppet/lib/puppet/indirector/certificate_revocation_list/ca.rb +0 -8
  433. data/vendored/puppet/lib/puppet/indirector/certificate_revocation_list/disabled_ca.rb +0 -22
  434. data/vendored/puppet/lib/puppet/indirector/certificate_revocation_list/file.rb +0 -8
  435. data/vendored/puppet/lib/puppet/indirector/certificate_revocation_list/rest.rb +0 -22
  436. data/vendored/puppet/lib/puppet/indirector/certificate_status.rb +0 -4
  437. data/vendored/puppet/lib/puppet/indirector/certificate_status/file.rb +0 -91
  438. data/vendored/puppet/lib/puppet/indirector/certificate_status/rest.rb +0 -11
  439. data/vendored/puppet/lib/puppet/indirector/code.rb +0 -6
  440. data/vendored/puppet/lib/puppet/indirector/data_binding/hiera.rb +0 -7
  441. data/vendored/puppet/lib/puppet/indirector/data_binding/none.rb +0 -8
  442. data/vendored/puppet/lib/puppet/indirector/direct_file_server.rb +0 -17
  443. data/vendored/puppet/lib/puppet/indirector/envelope.rb +0 -11
  444. data/vendored/puppet/lib/puppet/indirector/errors.rb +0 -5
  445. data/vendored/puppet/lib/puppet/indirector/exec.rb +0 -38
  446. data/vendored/puppet/lib/puppet/indirector/face.rb +0 -153
  447. data/vendored/puppet/lib/puppet/indirector/facts/facter.rb +0 -88
  448. data/vendored/puppet/lib/puppet/indirector/facts/memory.rb +0 -9
  449. data/vendored/puppet/lib/puppet/indirector/facts/network_device.rb +0 -27
  450. data/vendored/puppet/lib/puppet/indirector/facts/rest.rb +0 -21
  451. data/vendored/puppet/lib/puppet/indirector/facts/store_configs.rb +0 -11
  452. data/vendored/puppet/lib/puppet/indirector/facts/yaml.rb +0 -82
  453. data/vendored/puppet/lib/puppet/indirector/file_bucket_file/file.rb +0 -262
  454. data/vendored/puppet/lib/puppet/indirector/file_bucket_file/rest.rb +0 -8
  455. data/vendored/puppet/lib/puppet/indirector/file_bucket_file/selector.rb +0 -53
  456. data/vendored/puppet/lib/puppet/indirector/file_content.rb +0 -5
  457. data/vendored/puppet/lib/puppet/indirector/file_content/file.rb +0 -7
  458. data/vendored/puppet/lib/puppet/indirector/file_content/file_server.rb +0 -7
  459. data/vendored/puppet/lib/puppet/indirector/file_content/http.rb +0 -17
  460. data/vendored/puppet/lib/puppet/indirector/file_content/rest.rb +0 -9
  461. data/vendored/puppet/lib/puppet/indirector/file_content/selector.rb +0 -30
  462. data/vendored/puppet/lib/puppet/indirector/file_metadata.rb +0 -5
  463. data/vendored/puppet/lib/puppet/indirector/file_metadata/file.rb +0 -7
  464. data/vendored/puppet/lib/puppet/indirector/file_metadata/file_server.rb +0 -7
  465. data/vendored/puppet/lib/puppet/indirector/file_metadata/http.rb +0 -27
  466. data/vendored/puppet/lib/puppet/indirector/file_metadata/rest.rb +0 -9
  467. data/vendored/puppet/lib/puppet/indirector/file_metadata/selector.rb +0 -30
  468. data/vendored/puppet/lib/puppet/indirector/file_server.rb +0 -59
  469. data/vendored/puppet/lib/puppet/indirector/generic_http.rb +0 -16
  470. data/vendored/puppet/lib/puppet/indirector/hiera.rb +0 -94
  471. data/vendored/puppet/lib/puppet/indirector/indirection.rb +0 -344
  472. data/vendored/puppet/lib/puppet/indirector/json.rb +0 -75
  473. data/vendored/puppet/lib/puppet/indirector/key/ca.rb +0 -16
  474. data/vendored/puppet/lib/puppet/indirector/key/disabled_ca.rb +0 -22
  475. data/vendored/puppet/lib/puppet/indirector/key/file.rb +0 -50
  476. data/vendored/puppet/lib/puppet/indirector/key/memory.rb +0 -6
  477. data/vendored/puppet/lib/puppet/indirector/ldap.rb +0 -80
  478. data/vendored/puppet/lib/puppet/indirector/memory.rb +0 -34
  479. data/vendored/puppet/lib/puppet/indirector/msgpack.rb +0 -83
  480. data/vendored/puppet/lib/puppet/indirector/node/exec.rb +0 -71
  481. data/vendored/puppet/lib/puppet/indirector/node/ldap.rb +0 -275
  482. data/vendored/puppet/lib/puppet/indirector/node/memory.rb +0 -10
  483. data/vendored/puppet/lib/puppet/indirector/node/msgpack.rb +0 -7
  484. data/vendored/puppet/lib/puppet/indirector/node/plain.rb +0 -21
  485. data/vendored/puppet/lib/puppet/indirector/node/rest.rb +0 -7
  486. data/vendored/puppet/lib/puppet/indirector/node/store_configs.rb +0 -8
  487. data/vendored/puppet/lib/puppet/indirector/node/write_only_yaml.rb +0 -39
  488. data/vendored/puppet/lib/puppet/indirector/node/yaml.rb +0 -13
  489. data/vendored/puppet/lib/puppet/indirector/none.rb +0 -9
  490. data/vendored/puppet/lib/puppet/indirector/plain.rb +0 -9
  491. data/vendored/puppet/lib/puppet/indirector/report/msgpack.rb +0 -11
  492. data/vendored/puppet/lib/puppet/indirector/report/processor.rb +0 -59
  493. data/vendored/puppet/lib/puppet/indirector/report/rest.rb +0 -28
  494. data/vendored/puppet/lib/puppet/indirector/report/yaml.rb +0 -11
  495. data/vendored/puppet/lib/puppet/indirector/request.rb +0 -278
  496. data/vendored/puppet/lib/puppet/indirector/resource/ral.rb +0 -63
  497. data/vendored/puppet/lib/puppet/indirector/resource/store_configs.rb +0 -12
  498. data/vendored/puppet/lib/puppet/indirector/resource/validator.rb +0 -8
  499. data/vendored/puppet/lib/puppet/indirector/rest.rb +0 -350
  500. data/vendored/puppet/lib/puppet/indirector/ssl_file.rb +0 -201
  501. data/vendored/puppet/lib/puppet/indirector/status.rb +0 -3
  502. data/vendored/puppet/lib/puppet/indirector/status/local.rb +0 -12
  503. data/vendored/puppet/lib/puppet/indirector/status/rest.rb +0 -9
  504. data/vendored/puppet/lib/puppet/indirector/store_configs.rb +0 -30
  505. data/vendored/puppet/lib/puppet/indirector/terminus.rb +0 -169
  506. data/vendored/puppet/lib/puppet/indirector/yaml.rb +0 -63
  507. data/vendored/puppet/lib/puppet/info_service.rb +0 -17
  508. data/vendored/puppet/lib/puppet/info_service/class_information_service.rb +0 -110
  509. data/vendored/puppet/lib/puppet/info_service/task_information_service.rb +0 -32
  510. data/vendored/puppet/lib/puppet/interface.rb +0 -237
  511. data/vendored/puppet/lib/puppet/interface/action.rb +0 -402
  512. data/vendored/puppet/lib/puppet/interface/action_builder.rb +0 -166
  513. data/vendored/puppet/lib/puppet/interface/action_manager.rb +0 -97
  514. data/vendored/puppet/lib/puppet/interface/documentation.rb +0 -353
  515. data/vendored/puppet/lib/puppet/interface/face_collection.rb +0 -132
  516. data/vendored/puppet/lib/puppet/interface/option.rb +0 -171
  517. data/vendored/puppet/lib/puppet/interface/option_builder.rb +0 -105
  518. data/vendored/puppet/lib/puppet/interface/option_manager.rb +0 -104
  519. data/vendored/puppet/lib/puppet/loaders.rb +0 -27
  520. data/vendored/puppet/lib/puppet/metatype/manager.rb +0 -199
  521. data/vendored/puppet/lib/puppet/module.rb +0 -467
  522. data/vendored/puppet/lib/puppet/module/task.rb +0 -90
  523. data/vendored/puppet/lib/puppet/module_tool.rb +0 -196
  524. data/vendored/puppet/lib/puppet/module_tool/applications.rb +0 -14
  525. data/vendored/puppet/lib/puppet/module_tool/applications/application.rb +0 -90
  526. data/vendored/puppet/lib/puppet/module_tool/applications/builder.rb +0 -152
  527. data/vendored/puppet/lib/puppet/module_tool/applications/checksummer.rb +0 -62
  528. data/vendored/puppet/lib/puppet/module_tool/applications/installer.rb +0 -355
  529. data/vendored/puppet/lib/puppet/module_tool/applications/searcher.rb +0 -29
  530. data/vendored/puppet/lib/puppet/module_tool/applications/uninstaller.rb +0 -121
  531. data/vendored/puppet/lib/puppet/module_tool/applications/unpacker.rb +0 -100
  532. data/vendored/puppet/lib/puppet/module_tool/applications/upgrader.rb +0 -281
  533. data/vendored/puppet/lib/puppet/module_tool/checksums.rb +0 -49
  534. data/vendored/puppet/lib/puppet/module_tool/contents_description.rb +0 -88
  535. data/vendored/puppet/lib/puppet/module_tool/dependency.rb +0 -41
  536. data/vendored/puppet/lib/puppet/module_tool/errors.rb +0 -11
  537. data/vendored/puppet/lib/puppet/module_tool/errors/base.rb +0 -15
  538. data/vendored/puppet/lib/puppet/module_tool/errors/installer.rb +0 -93
  539. data/vendored/puppet/lib/puppet/module_tool/errors/shared.rb +0 -195
  540. data/vendored/puppet/lib/puppet/module_tool/errors/uninstaller.rb +0 -50
  541. data/vendored/puppet/lib/puppet/module_tool/errors/upgrader.rb +0 -63
  542. data/vendored/puppet/lib/puppet/module_tool/install_directory.rb +0 -45
  543. data/vendored/puppet/lib/puppet/module_tool/installed_modules.rb +0 -96
  544. data/vendored/puppet/lib/puppet/module_tool/local_tarball.rb +0 -90
  545. data/vendored/puppet/lib/puppet/module_tool/metadata.rb +0 -223
  546. data/vendored/puppet/lib/puppet/module_tool/shared_behaviors.rb +0 -180
  547. data/vendored/puppet/lib/puppet/module_tool/skeleton/templates/generator/spec/spec_helper.rb +0 -1
  548. data/vendored/puppet/lib/puppet/module_tool/tar.rb +0 -18
  549. data/vendored/puppet/lib/puppet/module_tool/tar/gnu.rb +0 -19
  550. data/vendored/puppet/lib/puppet/module_tool/tar/mini.rb +0 -106
  551. data/vendored/puppet/lib/puppet/network.rb +0 -3
  552. data/vendored/puppet/lib/puppet/network/auth_config_parser.rb +0 -90
  553. data/vendored/puppet/lib/puppet/network/authconfig.rb +0 -112
  554. data/vendored/puppet/lib/puppet/network/authorization.rb +0 -41
  555. data/vendored/puppet/lib/puppet/network/authstore.rb +0 -282
  556. data/vendored/puppet/lib/puppet/network/client_request.rb +0 -29
  557. data/vendored/puppet/lib/puppet/network/format.rb +0 -110
  558. data/vendored/puppet/lib/puppet/network/format_handler.rb +0 -108
  559. data/vendored/puppet/lib/puppet/network/format_support.rb +0 -134
  560. data/vendored/puppet/lib/puppet/network/formats.rb +0 -171
  561. data/vendored/puppet/lib/puppet/network/http.rb +0 -30
  562. data/vendored/puppet/lib/puppet/network/http/api.rb +0 -44
  563. data/vendored/puppet/lib/puppet/network/http/api/ca.rb +0 -2
  564. data/vendored/puppet/lib/puppet/network/http/api/ca/v1.rb +0 -11
  565. data/vendored/puppet/lib/puppet/network/http/api/indirected_routes.rb +0 -279
  566. data/vendored/puppet/lib/puppet/network/http/api/indirection_type.rb +0 -32
  567. data/vendored/puppet/lib/puppet/network/http/api/master.rb +0 -2
  568. data/vendored/puppet/lib/puppet/network/http/api/master/v3.rb +0 -28
  569. data/vendored/puppet/lib/puppet/network/http/api/master/v3/authorization.rb +0 -18
  570. data/vendored/puppet/lib/puppet/network/http/api/master/v3/environment.rb +0 -85
  571. data/vendored/puppet/lib/puppet/network/http/api/master/v3/environments.rb +0 -35
  572. data/vendored/puppet/lib/puppet/network/http/compression.rb +0 -120
  573. data/vendored/puppet/lib/puppet/network/http/connection.rb +0 -332
  574. data/vendored/puppet/lib/puppet/network/http/error.rb +0 -73
  575. data/vendored/puppet/lib/puppet/network/http/factory.rb +0 -56
  576. data/vendored/puppet/lib/puppet/network/http/handler.rb +0 -183
  577. data/vendored/puppet/lib/puppet/network/http/issues.rb +0 -12
  578. data/vendored/puppet/lib/puppet/network/http/memory_response.rb +0 -13
  579. data/vendored/puppet/lib/puppet/network/http/nocache_pool.rb +0 -21
  580. data/vendored/puppet/lib/puppet/network/http/pool.rb +0 -129
  581. data/vendored/puppet/lib/puppet/network/http/rack.rb +0 -33
  582. data/vendored/puppet/lib/puppet/network/http/rack/rest.rb +0 -162
  583. data/vendored/puppet/lib/puppet/network/http/request.rb +0 -70
  584. data/vendored/puppet/lib/puppet/network/http/response.rb +0 -23
  585. data/vendored/puppet/lib/puppet/network/http/route.rb +0 -100
  586. data/vendored/puppet/lib/puppet/network/http/session.rb +0 -17
  587. data/vendored/puppet/lib/puppet/network/http/site.rb +0 -39
  588. data/vendored/puppet/lib/puppet/network/http/webrick.rb +0 -124
  589. data/vendored/puppet/lib/puppet/network/http/webrick/rest.rb +0 -114
  590. data/vendored/puppet/lib/puppet/network/http_pool.rb +0 -61
  591. data/vendored/puppet/lib/puppet/network/resolver.rb +0 -85
  592. data/vendored/puppet/lib/puppet/network/rest_controller.rb +0 -2
  593. data/vendored/puppet/lib/puppet/network/rights.rb +0 -209
  594. data/vendored/puppet/lib/puppet/network/server.rb +0 -39
  595. data/vendored/puppet/lib/puppet/node.rb +0 -282
  596. data/vendored/puppet/lib/puppet/node/environment.rb +0 -586
  597. data/vendored/puppet/lib/puppet/node/facts.rb +0 -137
  598. data/vendored/puppet/lib/puppet/parameter.rb +0 -567
  599. data/vendored/puppet/lib/puppet/parameter/boolean.rb +0 -15
  600. data/vendored/puppet/lib/puppet/parameter/package_options.rb +0 -31
  601. data/vendored/puppet/lib/puppet/parameter/path.rb +0 -57
  602. data/vendored/puppet/lib/puppet/parameter/value.rb +0 -91
  603. data/vendored/puppet/lib/puppet/parameter/value_collection.rb +0 -212
  604. data/vendored/puppet/lib/puppet/parser.rb +0 -20
  605. data/vendored/puppet/lib/puppet/parser/abstract_compiler.rb +0 -36
  606. data/vendored/puppet/lib/puppet/parser/ast.rb +0 -65
  607. data/vendored/puppet/lib/puppet/parser/ast/block_expression.rb +0 -15
  608. data/vendored/puppet/lib/puppet/parser/ast/branch.rb +0 -19
  609. data/vendored/puppet/lib/puppet/parser/ast/hostclass.rb +0 -27
  610. data/vendored/puppet/lib/puppet/parser/ast/leaf.rb +0 -75
  611. data/vendored/puppet/lib/puppet/parser/ast/node.rb +0 -17
  612. data/vendored/puppet/lib/puppet/parser/ast/pops_bridge.rb +0 -273
  613. data/vendored/puppet/lib/puppet/parser/ast/resource.rb +0 -66
  614. data/vendored/puppet/lib/puppet/parser/ast/resource_instance.rb +0 -10
  615. data/vendored/puppet/lib/puppet/parser/ast/resourceparam.rb +0 -31
  616. data/vendored/puppet/lib/puppet/parser/ast/top_level_construct.rb +0 -4
  617. data/vendored/puppet/lib/puppet/parser/compiler.rb +0 -797
  618. data/vendored/puppet/lib/puppet/parser/compiler/catalog_validator.rb +0 -33
  619. data/vendored/puppet/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -64
  620. data/vendored/puppet/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +0 -57
  621. data/vendored/puppet/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -20
  622. data/vendored/puppet/lib/puppet/parser/e4_parser_adapter.rb +0 -60
  623. data/vendored/puppet/lib/puppet/parser/environment_compiler.rb +0 -199
  624. data/vendored/puppet/lib/puppet/parser/files.rb +0 -92
  625. data/vendored/puppet/lib/puppet/parser/functions.rb +0 -277
  626. data/vendored/puppet/lib/puppet/parser/functions/assert_type.rb +0 -60
  627. data/vendored/puppet/lib/puppet/parser/functions/binary_file.rb +0 -24
  628. data/vendored/puppet/lib/puppet/parser/functions/break.rb +0 -39
  629. data/vendored/puppet/lib/puppet/parser/functions/contain.rb +0 -30
  630. data/vendored/puppet/lib/puppet/parser/functions/create_resources.rb +0 -112
  631. data/vendored/puppet/lib/puppet/parser/functions/defined.rb +0 -107
  632. data/vendored/puppet/lib/puppet/parser/functions/dig.rb +0 -38
  633. data/vendored/puppet/lib/puppet/parser/functions/digest.rb +0 -5
  634. data/vendored/puppet/lib/puppet/parser/functions/each.rb +0 -104
  635. data/vendored/puppet/lib/puppet/parser/functions/epp.rb +0 -39
  636. data/vendored/puppet/lib/puppet/parser/functions/fail.rb +0 -4
  637. data/vendored/puppet/lib/puppet/parser/functions/file.rb +0 -33
  638. data/vendored/puppet/lib/puppet/parser/functions/filter.rb +0 -78
  639. data/vendored/puppet/lib/puppet/parser/functions/find_file.rb +0 -28
  640. data/vendored/puppet/lib/puppet/parser/functions/fqdn_rand.rb +0 -36
  641. data/vendored/puppet/lib/puppet/parser/functions/generate.rb +0 -36
  642. data/vendored/puppet/lib/puppet/parser/functions/hiera.rb +0 -103
  643. data/vendored/puppet/lib/puppet/parser/functions/hiera_array.rb +0 -92
  644. data/vendored/puppet/lib/puppet/parser/functions/hiera_hash.rb +0 -102
  645. data/vendored/puppet/lib/puppet/parser/functions/hiera_include.rb +0 -102
  646. data/vendored/puppet/lib/puppet/parser/functions/include.rb +0 -34
  647. data/vendored/puppet/lib/puppet/parser/functions/inline_epp.rb +0 -51
  648. data/vendored/puppet/lib/puppet/parser/functions/inline_template.rb +0 -26
  649. data/vendored/puppet/lib/puppet/parser/functions/lest.rb +0 -49
  650. data/vendored/puppet/lib/puppet/parser/functions/lookup.rb +0 -132
  651. data/vendored/puppet/lib/puppet/parser/functions/map.rb +0 -76
  652. data/vendored/puppet/lib/puppet/parser/functions/match.rb +0 -43
  653. data/vendored/puppet/lib/puppet/parser/functions/md5.rb +0 -5
  654. data/vendored/puppet/lib/puppet/parser/functions/new.rb +0 -991
  655. data/vendored/puppet/lib/puppet/parser/functions/next.rb +0 -38
  656. data/vendored/puppet/lib/puppet/parser/functions/realize.rb +0 -20
  657. data/vendored/puppet/lib/puppet/parser/functions/reduce.rb +0 -137
  658. data/vendored/puppet/lib/puppet/parser/functions/regsubst.rb +0 -62
  659. data/vendored/puppet/lib/puppet/parser/functions/require.rb +0 -40
  660. data/vendored/puppet/lib/puppet/parser/functions/return.rb +0 -71
  661. data/vendored/puppet/lib/puppet/parser/functions/reverse_each.rb +0 -83
  662. data/vendored/puppet/lib/puppet/parser/functions/scanf.rb +0 -38
  663. data/vendored/puppet/lib/puppet/parser/functions/sha1.rb +0 -5
  664. data/vendored/puppet/lib/puppet/parser/functions/sha256.rb +0 -5
  665. data/vendored/puppet/lib/puppet/parser/functions/shellquote.rb +0 -61
  666. data/vendored/puppet/lib/puppet/parser/functions/slice.rb +0 -39
  667. data/vendored/puppet/lib/puppet/parser/functions/split.rb +0 -28
  668. data/vendored/puppet/lib/puppet/parser/functions/sprintf.rb +0 -50
  669. data/vendored/puppet/lib/puppet/parser/functions/step.rb +0 -84
  670. data/vendored/puppet/lib/puppet/parser/functions/strftime.rb +0 -185
  671. data/vendored/puppet/lib/puppet/parser/functions/tag.rb +0 -12
  672. data/vendored/puppet/lib/puppet/parser/functions/tagged.rb +0 -24
  673. data/vendored/puppet/lib/puppet/parser/functions/template.rb +0 -39
  674. data/vendored/puppet/lib/puppet/parser/functions/then.rb +0 -73
  675. data/vendored/puppet/lib/puppet/parser/functions/type.rb +0 -53
  676. data/vendored/puppet/lib/puppet/parser/functions/versioncmp.rb +0 -30
  677. data/vendored/puppet/lib/puppet/parser/functions/with.rb +0 -28
  678. data/vendored/puppet/lib/puppet/parser/parser_factory.rb +0 -30
  679. data/vendored/puppet/lib/puppet/parser/relationship.rb +0 -83
  680. data/vendored/puppet/lib/puppet/parser/resource.rb +0 -417
  681. data/vendored/puppet/lib/puppet/parser/resource/param.rb +0 -22
  682. data/vendored/puppet/lib/puppet/parser/scope.rb +0 -1125
  683. data/vendored/puppet/lib/puppet/parser/script_compiler.rb +0 -118
  684. data/vendored/puppet/lib/puppet/parser/templatewrapper.rb +0 -102
  685. data/vendored/puppet/lib/puppet/parser/type_loader.rb +0 -149
  686. data/vendored/puppet/lib/puppet/plugins.rb +0 -9
  687. data/vendored/puppet/lib/puppet/plugins/configuration.rb +0 -25
  688. data/vendored/puppet/lib/puppet/plugins/syntax_checkers.rb +0 -98
  689. data/vendored/puppet/lib/puppet/pops.rb +0 -120
  690. data/vendored/puppet/lib/puppet/pops/adaptable.rb +0 -206
  691. data/vendored/puppet/lib/puppet/pops/adapters.rb +0 -138
  692. data/vendored/puppet/lib/puppet/pops/evaluator/access_operator.rb +0 -719
  693. data/vendored/puppet/lib/puppet/pops/evaluator/callable_signature.rb +0 -107
  694. data/vendored/puppet/lib/puppet/pops/evaluator/closure.rb +0 -373
  695. data/vendored/puppet/lib/puppet/pops/evaluator/collector_transformer.rb +0 -234
  696. data/vendored/puppet/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +0 -86
  697. data/vendored/puppet/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +0 -29
  698. data/vendored/puppet/lib/puppet/pops/evaluator/collectors/exported_collector.rb +0 -69
  699. data/vendored/puppet/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +0 -37
  700. data/vendored/puppet/lib/puppet/pops/evaluator/compare_operator.rb +0 -252
  701. data/vendored/puppet/lib/puppet/pops/evaluator/epp_evaluator.rb +0 -120
  702. data/vendored/puppet/lib/puppet/pops/evaluator/evaluator_impl.rb +0 -1284
  703. data/vendored/puppet/lib/puppet/pops/evaluator/external_syntax_support.rb +0 -45
  704. data/vendored/puppet/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +0 -82
  705. data/vendored/puppet/lib/puppet/pops/evaluator/literal_evaluator.rb +0 -87
  706. data/vendored/puppet/lib/puppet/pops/evaluator/puppet_proc.rb +0 -69
  707. data/vendored/puppet/lib/puppet/pops/evaluator/relationship_operator.rb +0 -185
  708. data/vendored/puppet/lib/puppet/pops/evaluator/runtime3_converter.rb +0 -202
  709. data/vendored/puppet/lib/puppet/pops/evaluator/runtime3_resource_support.rb +0 -117
  710. data/vendored/puppet/lib/puppet/pops/evaluator/runtime3_support.rb +0 -540
  711. data/vendored/puppet/lib/puppet/pops/functions/dispatch.rb +0 -101
  712. data/vendored/puppet/lib/puppet/pops/functions/dispatcher.rb +0 -71
  713. data/vendored/puppet/lib/puppet/pops/functions/function.rb +0 -141
  714. data/vendored/puppet/lib/puppet/pops/issue_reporter.rb +0 -137
  715. data/vendored/puppet/lib/puppet/pops/issues.rb +0 -901
  716. data/vendored/puppet/lib/puppet/pops/label_provider.rb +0 -90
  717. data/vendored/puppet/lib/puppet/pops/loader/base_loader.rb +0 -166
  718. data/vendored/puppet/lib/puppet/pops/loader/dependency_loader.rb +0 -92
  719. data/vendored/puppet/lib/puppet/pops/loader/gem_support.rb +0 -49
  720. data/vendored/puppet/lib/puppet/pops/loader/loader.rb +0 -209
  721. data/vendored/puppet/lib/puppet/pops/loader/loader_paths.rb +0 -375
  722. data/vendored/puppet/lib/puppet/pops/loader/module_loaders.rb +0 -523
  723. data/vendored/puppet/lib/puppet/pops/loader/null_loader.rb +0 -60
  724. data/vendored/puppet/lib/puppet/pops/loader/predefined_loader.rb +0 -24
  725. data/vendored/puppet/lib/puppet/pops/loader/puppet_function_instantiator.rb +0 -84
  726. data/vendored/puppet/lib/puppet/pops/loader/puppet_plan_instantiator.rb +0 -84
  727. data/vendored/puppet/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +0 -79
  728. data/vendored/puppet/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +0 -39
  729. data/vendored/puppet/lib/puppet/pops/loader/ruby_function_instantiator.rb +0 -45
  730. data/vendored/puppet/lib/puppet/pops/loader/runtime3_type_loader.rb +0 -101
  731. data/vendored/puppet/lib/puppet/pops/loader/simple_environment_loader.rb +0 -20
  732. data/vendored/puppet/lib/puppet/pops/loader/static_loader.rb +0 -163
  733. data/vendored/puppet/lib/puppet/pops/loader/task_instantiator.rb +0 -69
  734. data/vendored/puppet/lib/puppet/pops/loader/type_definition_instantiator.rb +0 -100
  735. data/vendored/puppet/lib/puppet/pops/loader/typed_name.rb +0 -54
  736. data/vendored/puppet/lib/puppet/pops/loader/uri_helper.rb +0 -22
  737. data/vendored/puppet/lib/puppet/pops/loaders.rb +0 -545
  738. data/vendored/puppet/lib/puppet/pops/lookup.rb +0 -96
  739. data/vendored/puppet/lib/puppet/pops/lookup/configured_data_provider.rb +0 -93
  740. data/vendored/puppet/lib/puppet/pops/lookup/context.rb +0 -200
  741. data/vendored/puppet/lib/puppet/pops/lookup/data_adapter.rb +0 -27
  742. data/vendored/puppet/lib/puppet/pops/lookup/data_dig_function_provider.rb +0 -145
  743. data/vendored/puppet/lib/puppet/pops/lookup/data_hash_function_provider.rb +0 -126
  744. data/vendored/puppet/lib/puppet/pops/lookup/data_provider.rb +0 -92
  745. data/vendored/puppet/lib/puppet/pops/lookup/environment_data_provider.rb +0 -35
  746. data/vendored/puppet/lib/puppet/pops/lookup/explainer.rb +0 -595
  747. data/vendored/puppet/lib/puppet/pops/lookup/function_provider.rb +0 -110
  748. data/vendored/puppet/lib/puppet/pops/lookup/global_data_provider.rb +0 -75
  749. data/vendored/puppet/lib/puppet/pops/lookup/hiera_config.rb +0 -761
  750. data/vendored/puppet/lib/puppet/pops/lookup/interpolation.rb +0 -154
  751. data/vendored/puppet/lib/puppet/pops/lookup/invocation.rb +0 -261
  752. data/vendored/puppet/lib/puppet/pops/lookup/location_resolver.rb +0 -99
  753. data/vendored/puppet/lib/puppet/pops/lookup/lookup_adapter.rb +0 -471
  754. data/vendored/puppet/lib/puppet/pops/lookup/lookup_key.rb +0 -99
  755. data/vendored/puppet/lib/puppet/pops/lookup/lookup_key_function_provider.rb +0 -92
  756. data/vendored/puppet/lib/puppet/pops/lookup/module_data_provider.rb +0 -89
  757. data/vendored/puppet/lib/puppet/pops/lookup/sub_lookup.rb +0 -92
  758. data/vendored/puppet/lib/puppet/pops/merge_strategy.rb +0 -437
  759. data/vendored/puppet/lib/puppet/pops/migration/migration_checker.rb +0 -58
  760. data/vendored/puppet/lib/puppet/pops/model/ast.rb +0 -4870
  761. data/vendored/puppet/lib/puppet/pops/model/ast_transformer.rb +0 -131
  762. data/vendored/puppet/lib/puppet/pops/model/factory.rb +0 -1150
  763. data/vendored/puppet/lib/puppet/pops/model/model_label_provider.rb +0 -132
  764. data/vendored/puppet/lib/puppet/pops/model/model_tree_dumper.rb +0 -467
  765. data/vendored/puppet/lib/puppet/pops/model/pn_transformer.rb +0 -400
  766. data/vendored/puppet/lib/puppet/pops/model/tree_dumper.rb +0 -59
  767. data/vendored/puppet/lib/puppet/pops/parser/code_merger.rb +0 -29
  768. data/vendored/puppet/lib/puppet/pops/parser/eparser.rb +0 -3315
  769. data/vendored/puppet/lib/puppet/pops/parser/epp_parser.rb +0 -51
  770. data/vendored/puppet/lib/puppet/pops/parser/epp_support.rb +0 -260
  771. data/vendored/puppet/lib/puppet/pops/parser/evaluating_parser.rb +0 -165
  772. data/vendored/puppet/lib/puppet/pops/parser/heredoc_support.rb +0 -143
  773. data/vendored/puppet/lib/puppet/pops/parser/interpolation_support.rb +0 -244
  774. data/vendored/puppet/lib/puppet/pops/parser/lexer2.rb +0 -772
  775. data/vendored/puppet/lib/puppet/pops/parser/lexer_support.rb +0 -221
  776. data/vendored/puppet/lib/puppet/pops/parser/locatable.rb +0 -23
  777. data/vendored/puppet/lib/puppet/pops/parser/locator.rb +0 -336
  778. data/vendored/puppet/lib/puppet/pops/parser/parser_support.rb +0 -247
  779. data/vendored/puppet/lib/puppet/pops/parser/pn_parser.rb +0 -316
  780. data/vendored/puppet/lib/puppet/pops/parser/slurp_support.rb +0 -117
  781. data/vendored/puppet/lib/puppet/pops/patterns.rb +0 -60
  782. data/vendored/puppet/lib/puppet/pops/pcore.rb +0 -147
  783. data/vendored/puppet/lib/puppet/pops/pn.rb +0 -236
  784. data/vendored/puppet/lib/puppet/pops/puppet_stack.rb +0 -43
  785. data/vendored/puppet/lib/puppet/pops/resource/param.rb +0 -55
  786. data/vendored/puppet/lib/puppet/pops/resource/resource_type_impl.rb +0 -314
  787. data/vendored/puppet/lib/puppet/pops/semantic_error.rb +0 -29
  788. data/vendored/puppet/lib/puppet/pops/serialization.rb +0 -41
  789. data/vendored/puppet/lib/puppet/pops/serialization/abstract_reader.rb +0 -180
  790. data/vendored/puppet/lib/puppet/pops/serialization/abstract_writer.rb +0 -222
  791. data/vendored/puppet/lib/puppet/pops/serialization/deserializer.rb +0 -80
  792. data/vendored/puppet/lib/puppet/pops/serialization/extension.rb +0 -158
  793. data/vendored/puppet/lib/puppet/pops/serialization/from_data_converter.rb +0 -223
  794. data/vendored/puppet/lib/puppet/pops/serialization/instance_reader.rb +0 -19
  795. data/vendored/puppet/lib/puppet/pops/serialization/instance_writer.rb +0 -14
  796. data/vendored/puppet/lib/puppet/pops/serialization/json.rb +0 -297
  797. data/vendored/puppet/lib/puppet/pops/serialization/json_path.rb +0 -127
  798. data/vendored/puppet/lib/puppet/pops/serialization/object.rb +0 -70
  799. data/vendored/puppet/lib/puppet/pops/serialization/serializer.rb +0 -140
  800. data/vendored/puppet/lib/puppet/pops/serialization/time_factory.rb +0 -67
  801. data/vendored/puppet/lib/puppet/pops/serialization/to_data_converter.rb +0 -305
  802. data/vendored/puppet/lib/puppet/pops/time/timespan.rb +0 -718
  803. data/vendored/puppet/lib/puppet/pops/time/timestamp.rb +0 -160
  804. data/vendored/puppet/lib/puppet/pops/types/annotatable.rb +0 -36
  805. data/vendored/puppet/lib/puppet/pops/types/annotation.rb +0 -71
  806. data/vendored/puppet/lib/puppet/pops/types/class_loader.rb +0 -132
  807. data/vendored/puppet/lib/puppet/pops/types/enumeration.rb +0 -16
  808. data/vendored/puppet/lib/puppet/pops/types/implementation_registry.rb +0 -134
  809. data/vendored/puppet/lib/puppet/pops/types/iterable.rb +0 -339
  810. data/vendored/puppet/lib/puppet/pops/types/p_binary_type.rb +0 -233
  811. data/vendored/puppet/lib/puppet/pops/types/p_init_type.rb +0 -238
  812. data/vendored/puppet/lib/puppet/pops/types/p_meta_type.rb +0 -94
  813. data/vendored/puppet/lib/puppet/pops/types/p_object_type.rb +0 -1114
  814. data/vendored/puppet/lib/puppet/pops/types/p_object_type_extension.rb +0 -218
  815. data/vendored/puppet/lib/puppet/pops/types/p_runtime_type.rb +0 -115
  816. data/vendored/puppet/lib/puppet/pops/types/p_sem_ver_range_type.rb +0 -190
  817. data/vendored/puppet/lib/puppet/pops/types/p_sem_ver_type.rb +0 -149
  818. data/vendored/puppet/lib/puppet/pops/types/p_sensitive_type.rb +0 -73
  819. data/vendored/puppet/lib/puppet/pops/types/p_timespan_type.rb +0 -192
  820. data/vendored/puppet/lib/puppet/pops/types/p_timestamp_type.rb +0 -73
  821. data/vendored/puppet/lib/puppet/pops/types/p_type_set_type.rb +0 -383
  822. data/vendored/puppet/lib/puppet/pops/types/p_uri_type.rb +0 -190
  823. data/vendored/puppet/lib/puppet/pops/types/puppet_object.rb +0 -40
  824. data/vendored/puppet/lib/puppet/pops/types/recursion_guard.rb +0 -136
  825. data/vendored/puppet/lib/puppet/pops/types/ruby_generator.rb +0 -472
  826. data/vendored/puppet/lib/puppet/pops/types/ruby_method.rb +0 -31
  827. data/vendored/puppet/lib/puppet/pops/types/string_converter.rb +0 -1123
  828. data/vendored/puppet/lib/puppet/pops/types/tree_iterators.rb +0 -254
  829. data/vendored/puppet/lib/puppet/pops/types/type_acceptor.rb +0 -25
  830. data/vendored/puppet/lib/puppet/pops/types/type_asserter.rb +0 -47
  831. data/vendored/puppet/lib/puppet/pops/types/type_assertion_error.rb +0 -27
  832. data/vendored/puppet/lib/puppet/pops/types/type_calculator.rb +0 -809
  833. data/vendored/puppet/lib/puppet/pops/types/type_conversion_error.rb +0 -15
  834. data/vendored/puppet/lib/puppet/pops/types/type_factory.rb +0 -614
  835. data/vendored/puppet/lib/puppet/pops/types/type_formatter.rb +0 -802
  836. data/vendored/puppet/lib/puppet/pops/types/type_mismatch_describer.rb +0 -1075
  837. data/vendored/puppet/lib/puppet/pops/types/type_parser.rb +0 -685
  838. data/vendored/puppet/lib/puppet/pops/types/type_set_reference.rb +0 -59
  839. data/vendored/puppet/lib/puppet/pops/types/type_with_members.rb +0 -43
  840. data/vendored/puppet/lib/puppet/pops/types/types.rb +0 -3650
  841. data/vendored/puppet/lib/puppet/pops/utils.rb +0 -119
  842. data/vendored/puppet/lib/puppet/pops/validation.rb +0 -466
  843. data/vendored/puppet/lib/puppet/pops/validation/checker4_0.rb +0 -998
  844. data/vendored/puppet/lib/puppet/pops/validation/tasks_checker.rb +0 -60
  845. data/vendored/puppet/lib/puppet/pops/validation/validator_factory_4_0.rb +0 -43
  846. data/vendored/puppet/lib/puppet/pops/visitable.rb +0 -6
  847. data/vendored/puppet/lib/puppet/pops/visitor.rb +0 -116
  848. data/vendored/puppet/lib/puppet/property.rb +0 -608
  849. data/vendored/puppet/lib/puppet/property/boolean.rb +0 -7
  850. data/vendored/puppet/lib/puppet/property/ensure.rb +0 -105
  851. data/vendored/puppet/lib/puppet/property/keyvalue.rb +0 -95
  852. data/vendored/puppet/lib/puppet/property/list.rb +0 -69
  853. data/vendored/puppet/lib/puppet/property/ordered_list.rb +0 -29
  854. data/vendored/puppet/lib/puppet/provider.rb +0 -613
  855. data/vendored/puppet/lib/puppet/provider/aixobject.rb +0 -392
  856. data/vendored/puppet/lib/puppet/provider/augeas/augeas.rb +0 -566
  857. data/vendored/puppet/lib/puppet/provider/cisco.rb +0 -9
  858. data/vendored/puppet/lib/puppet/provider/command.rb +0 -25
  859. data/vendored/puppet/lib/puppet/provider/computer/computer.rb +0 -20
  860. data/vendored/puppet/lib/puppet/provider/confine.rb +0 -6
  861. data/vendored/puppet/lib/puppet/provider/cron/crontab.rb +0 -297
  862. data/vendored/puppet/lib/puppet/provider/exec.rb +0 -96
  863. data/vendored/puppet/lib/puppet/provider/exec/posix.rb +0 -48
  864. data/vendored/puppet/lib/puppet/provider/exec/shell.rb +0 -25
  865. data/vendored/puppet/lib/puppet/provider/exec/windows.rb +0 -55
  866. data/vendored/puppet/lib/puppet/provider/file/posix.rb +0 -136
  867. data/vendored/puppet/lib/puppet/provider/file/windows.rb +0 -104
  868. data/vendored/puppet/lib/puppet/provider/group/aix.rb +0 -143
  869. data/vendored/puppet/lib/puppet/provider/group/directoryservice.rb +0 -22
  870. data/vendored/puppet/lib/puppet/provider/group/groupadd.rb +0 -111
  871. data/vendored/puppet/lib/puppet/provider/group/ldap.rb +0 -45
  872. data/vendored/puppet/lib/puppet/provider/group/pw.rb +0 -49
  873. data/vendored/puppet/lib/puppet/provider/group/windows_adsi.rb +0 -106
  874. data/vendored/puppet/lib/puppet/provider/host/parsed.rb +0 -46
  875. data/vendored/puppet/lib/puppet/provider/interface/cisco.rb +0 -27
  876. data/vendored/puppet/lib/puppet/provider/ldap.rb +0 -137
  877. data/vendored/puppet/lib/puppet/provider/macauthorization/macauthorization.rb +0 -298
  878. data/vendored/puppet/lib/puppet/provider/mailalias/aliases.rb +0 -50
  879. data/vendored/puppet/lib/puppet/provider/maillist/mailman.rb +0 -108
  880. data/vendored/puppet/lib/puppet/provider/mcx/mcxcontent.rb +0 -173
  881. data/vendored/puppet/lib/puppet/provider/mount.rb +0 -76
  882. data/vendored/puppet/lib/puppet/provider/mount/parsed.rb +0 -282
  883. data/vendored/puppet/lib/puppet/provider/naginator.rb +0 -63
  884. data/vendored/puppet/lib/puppet/provider/nameservice.rb +0 -325
  885. data/vendored/puppet/lib/puppet/provider/nameservice/directoryservice.rb +0 -508
  886. data/vendored/puppet/lib/puppet/provider/nameservice/objectadd.rb +0 -22
  887. data/vendored/puppet/lib/puppet/provider/nameservice/pw.rb +0 -21
  888. data/vendored/puppet/lib/puppet/provider/network_device.rb +0 -72
  889. data/vendored/puppet/lib/puppet/provider/package.rb +0 -56
  890. data/vendored/puppet/lib/puppet/provider/package/aix.rb +0 -152
  891. data/vendored/puppet/lib/puppet/provider/package/appdmg.rb +0 -109
  892. data/vendored/puppet/lib/puppet/provider/package/apple.rb +0 -46
  893. data/vendored/puppet/lib/puppet/provider/package/apt.rb +0 -116
  894. data/vendored/puppet/lib/puppet/provider/package/aptitude.rb +0 -29
  895. data/vendored/puppet/lib/puppet/provider/package/aptrpm.rb +0 -83
  896. data/vendored/puppet/lib/puppet/provider/package/blastwave.rb +0 -111
  897. data/vendored/puppet/lib/puppet/provider/package/dnf.rb +0 -46
  898. data/vendored/puppet/lib/puppet/provider/package/dpkg.rb +0 -165
  899. data/vendored/puppet/lib/puppet/provider/package/fink.rb +0 -79
  900. data/vendored/puppet/lib/puppet/provider/package/freebsd.rb +0 -47
  901. data/vendored/puppet/lib/puppet/provider/package/gem.rb +0 -175
  902. data/vendored/puppet/lib/puppet/provider/package/hpux.rb +0 -44
  903. data/vendored/puppet/lib/puppet/provider/package/macports.rb +0 -107
  904. data/vendored/puppet/lib/puppet/provider/package/nim.rb +0 -282
  905. data/vendored/puppet/lib/puppet/provider/package/openbsd.rb +0 -242
  906. data/vendored/puppet/lib/puppet/provider/package/opkg.rb +0 -81
  907. data/vendored/puppet/lib/puppet/provider/package/pacman.rb +0 -267
  908. data/vendored/puppet/lib/puppet/provider/package/pip.rb +0 -188
  909. data/vendored/puppet/lib/puppet/provider/package/pip3.rb +0 -20
  910. data/vendored/puppet/lib/puppet/provider/package/pkg.rb +0 -255
  911. data/vendored/puppet/lib/puppet/provider/package/pkgdmg.rb +0 -151
  912. data/vendored/puppet/lib/puppet/provider/package/pkgin.rb +0 -87
  913. data/vendored/puppet/lib/puppet/provider/package/pkgng.rb +0 -143
  914. data/vendored/puppet/lib/puppet/provider/package/pkgutil.rb +0 -186
  915. data/vendored/puppet/lib/puppet/provider/package/portage.rb +0 -300
  916. data/vendored/puppet/lib/puppet/provider/package/ports.rb +0 -91
  917. data/vendored/puppet/lib/puppet/provider/package/portupgrade.rb +0 -239
  918. data/vendored/puppet/lib/puppet/provider/package/puppet_gem.rb +0 -17
  919. data/vendored/puppet/lib/puppet/provider/package/rpm.rb +0 -405
  920. data/vendored/puppet/lib/puppet/provider/package/rug.rb +0 -51
  921. data/vendored/puppet/lib/puppet/provider/package/sun.rb +0 -133
  922. data/vendored/puppet/lib/puppet/provider/package/sunfreeware.rb +0 -9
  923. data/vendored/puppet/lib/puppet/provider/package/tdnf.rb +0 -28
  924. data/vendored/puppet/lib/puppet/provider/package/up2date.rb +0 -40
  925. data/vendored/puppet/lib/puppet/provider/package/urpmi.rb +0 -55
  926. data/vendored/puppet/lib/puppet/provider/package/windows.rb +0 -113
  927. data/vendored/puppet/lib/puppet/provider/package/windows/exe_package.rb +0 -71
  928. data/vendored/puppet/lib/puppet/provider/package/windows/msi_package.rb +0 -62
  929. data/vendored/puppet/lib/puppet/provider/package/windows/package.rb +0 -100
  930. data/vendored/puppet/lib/puppet/provider/package/yum.rb +0 -293
  931. data/vendored/puppet/lib/puppet/provider/package/zypper.rb +0 -145
  932. data/vendored/puppet/lib/puppet/provider/parsedfile.rb +0 -459
  933. data/vendored/puppet/lib/puppet/provider/scheduled_task/win32_taskscheduler.rb +0 -590
  934. data/vendored/puppet/lib/puppet/provider/selboolean/getsetsebool.rb +0 -47
  935. data/vendored/puppet/lib/puppet/provider/selmodule/semodule.rb +0 -140
  936. data/vendored/puppet/lib/puppet/provider/service/base.rb +0 -134
  937. data/vendored/puppet/lib/puppet/provider/service/bsd.rb +0 -51
  938. data/vendored/puppet/lib/puppet/provider/service/daemontools.rb +0 -194
  939. data/vendored/puppet/lib/puppet/provider/service/debian.rb +0 -74
  940. data/vendored/puppet/lib/puppet/provider/service/freebsd.rb +0 -143
  941. data/vendored/puppet/lib/puppet/provider/service/gentoo.rb +0 -45
  942. data/vendored/puppet/lib/puppet/provider/service/init.rb +0 -194
  943. data/vendored/puppet/lib/puppet/provider/service/launchd.rb +0 -345
  944. data/vendored/puppet/lib/puppet/provider/service/openbsd.rb +0 -100
  945. data/vendored/puppet/lib/puppet/provider/service/openrc.rb +0 -71
  946. data/vendored/puppet/lib/puppet/provider/service/openwrt.rb +0 -36
  947. data/vendored/puppet/lib/puppet/provider/service/rcng.rb +0 -51
  948. data/vendored/puppet/lib/puppet/provider/service/redhat.rb +0 -72
  949. data/vendored/puppet/lib/puppet/provider/service/runit.rb +0 -112
  950. data/vendored/puppet/lib/puppet/provider/service/service.rb +0 -42
  951. data/vendored/puppet/lib/puppet/provider/service/smf.rb +0 -170
  952. data/vendored/puppet/lib/puppet/provider/service/src.rb +0 -147
  953. data/vendored/puppet/lib/puppet/provider/service/systemd.rb +0 -187
  954. data/vendored/puppet/lib/puppet/provider/service/upstart.rb +0 -359
  955. data/vendored/puppet/lib/puppet/provider/service/windows.rb +0 -106
  956. data/vendored/puppet/lib/puppet/provider/ssh_authorized_key/parsed.rb +0 -105
  957. data/vendored/puppet/lib/puppet/provider/sshkey/parsed.rb +0 -50
  958. data/vendored/puppet/lib/puppet/provider/user/aix.rb +0 -383
  959. data/vendored/puppet/lib/puppet/provider/user/directoryservice.rb +0 -632
  960. data/vendored/puppet/lib/puppet/provider/user/hpux.rb +0 -95
  961. data/vendored/puppet/lib/puppet/provider/user/ldap.rb +0 -128
  962. data/vendored/puppet/lib/puppet/provider/user/openbsd.rb +0 -76
  963. data/vendored/puppet/lib/puppet/provider/user/pw.rb +0 -98
  964. data/vendored/puppet/lib/puppet/provider/user/user_role_add.rb +0 -233
  965. data/vendored/puppet/lib/puppet/provider/user/useradd.rb +0 -265
  966. data/vendored/puppet/lib/puppet/provider/user/windows_adsi.rb +0 -148
  967. data/vendored/puppet/lib/puppet/provider/vlan/cisco.rb +0 -28
  968. data/vendored/puppet/lib/puppet/provider/yumrepo/inifile.rb +0 -303
  969. data/vendored/puppet/lib/puppet/provider/zfs/zfs.rb +0 -108
  970. data/vendored/puppet/lib/puppet/provider/zone/solaris.rb +0 -364
  971. data/vendored/puppet/lib/puppet/provider/zpool/zpool.rb +0 -125
  972. data/vendored/puppet/lib/puppet/reference/configuration.rb +0 -86
  973. data/vendored/puppet/lib/puppet/reference/function.rb +0 -17
  974. data/vendored/puppet/lib/puppet/reference/indirection.rb +0 -71
  975. data/vendored/puppet/lib/puppet/reference/metaparameter.rb +0 -35
  976. data/vendored/puppet/lib/puppet/reference/providers.rb +0 -118
  977. data/vendored/puppet/lib/puppet/reference/report.rb +0 -20
  978. data/vendored/puppet/lib/puppet/reference/type.rb +0 -113
  979. data/vendored/puppet/lib/puppet/relationship.rb +0 -89
  980. data/vendored/puppet/lib/puppet/reports.rb +0 -93
  981. data/vendored/puppet/lib/puppet/reports/http.rb +0 -37
  982. data/vendored/puppet/lib/puppet/reports/log.rb +0 -14
  983. data/vendored/puppet/lib/puppet/reports/store.rb +0 -68
  984. data/vendored/puppet/lib/puppet/resource.rb +0 -670
  985. data/vendored/puppet/lib/puppet/resource/capability_finder.rb +0 -150
  986. data/vendored/puppet/lib/puppet/resource/catalog.rb +0 -682
  987. data/vendored/puppet/lib/puppet/resource/status.rb +0 -227
  988. data/vendored/puppet/lib/puppet/resource/type.rb +0 -524
  989. data/vendored/puppet/lib/puppet/resource/type_collection.rb +0 -263
  990. data/vendored/puppet/lib/puppet/scheduler.rb +0 -16
  991. data/vendored/puppet/lib/puppet/scheduler/job.rb +0 -53
  992. data/vendored/puppet/lib/puppet/scheduler/scheduler.rb +0 -44
  993. data/vendored/puppet/lib/puppet/scheduler/splay_job.rb +0 -32
  994. data/vendored/puppet/lib/puppet/scheduler/timer.rb +0 -13
  995. data/vendored/puppet/lib/puppet/settings.rb +0 -1475
  996. data/vendored/puppet/lib/puppet/settings/array_setting.rb +0 -17
  997. data/vendored/puppet/lib/puppet/settings/autosign_setting.rb +0 -22
  998. data/vendored/puppet/lib/puppet/settings/base_setting.rb +0 -197
  999. data/vendored/puppet/lib/puppet/settings/boolean_setting.rb +0 -32
  1000. data/vendored/puppet/lib/puppet/settings/certificate_revocation_setting.rb +0 -21
  1001. data/vendored/puppet/lib/puppet/settings/config_file.rb +0 -153
  1002. data/vendored/puppet/lib/puppet/settings/directory_setting.rb +0 -18
  1003. data/vendored/puppet/lib/puppet/settings/duration_setting.rb +0 -32
  1004. data/vendored/puppet/lib/puppet/settings/enum_setting.rb +0 -16
  1005. data/vendored/puppet/lib/puppet/settings/environment_conf.rb +0 -213
  1006. data/vendored/puppet/lib/puppet/settings/errors.rb +0 -11
  1007. data/vendored/puppet/lib/puppet/settings/file_or_directory_setting.rb +0 -40
  1008. data/vendored/puppet/lib/puppet/settings/file_setting.rb +0 -245
  1009. data/vendored/puppet/lib/puppet/settings/ini_file.rb +0 -225
  1010. data/vendored/puppet/lib/puppet/settings/path_setting.rb +0 -8
  1011. data/vendored/puppet/lib/puppet/settings/priority_setting.rb +0 -42
  1012. data/vendored/puppet/lib/puppet/settings/server_list_setting.rb +0 -20
  1013. data/vendored/puppet/lib/puppet/settings/string_setting.rb +0 -9
  1014. data/vendored/puppet/lib/puppet/settings/symbolic_enum_setting.rb +0 -17
  1015. data/vendored/puppet/lib/puppet/settings/terminus_setting.rb +0 -14
  1016. data/vendored/puppet/lib/puppet/settings/ttl_setting.rb +0 -51
  1017. data/vendored/puppet/lib/puppet/settings/value_translator.rb +0 -15
  1018. data/vendored/puppet/lib/puppet/ssl.rb +0 -13
  1019. data/vendored/puppet/lib/puppet/ssl/base.rb +0 -158
  1020. data/vendored/puppet/lib/puppet/ssl/certificate.rb +0 -95
  1021. data/vendored/puppet/lib/puppet/ssl/certificate_authority.rb +0 -553
  1022. data/vendored/puppet/lib/puppet/ssl/certificate_authority/autosign_command.rb +0 -45
  1023. data/vendored/puppet/lib/puppet/ssl/certificate_authority/interface.rb +0 -324
  1024. data/vendored/puppet/lib/puppet/ssl/certificate_factory.rb +0 -219
  1025. data/vendored/puppet/lib/puppet/ssl/certificate_request.rb +0 -325
  1026. data/vendored/puppet/lib/puppet/ssl/certificate_request_attributes.rb +0 -37
  1027. data/vendored/puppet/lib/puppet/ssl/certificate_revocation_list.rb +0 -111
  1028. data/vendored/puppet/lib/puppet/ssl/certificate_signer.rb +0 -33
  1029. data/vendored/puppet/lib/puppet/ssl/configuration.rb +0 -61
  1030. data/vendored/puppet/lib/puppet/ssl/digest.rb +0 -20
  1031. data/vendored/puppet/lib/puppet/ssl/host.rb +0 -400
  1032. data/vendored/puppet/lib/puppet/ssl/inventory.rb +0 -55
  1033. data/vendored/puppet/lib/puppet/ssl/key.rb +0 -63
  1034. data/vendored/puppet/lib/puppet/ssl/oids.rb +0 -193
  1035. data/vendored/puppet/lib/puppet/ssl/validator.rb +0 -60
  1036. data/vendored/puppet/lib/puppet/ssl/validator/default_validator.rb +0 -173
  1037. data/vendored/puppet/lib/puppet/ssl/validator/no_validator.rb +0 -20
  1038. data/vendored/puppet/lib/puppet/status.rb +0 -40
  1039. data/vendored/puppet/lib/puppet/syntax_checkers.rb +0 -3
  1040. data/vendored/puppet/lib/puppet/syntax_checkers/base64.rb +0 -40
  1041. data/vendored/puppet/lib/puppet/syntax_checkers/json.rb +0 -35
  1042. data/vendored/puppet/lib/puppet/test/test_helper.rb +0 -252
  1043. data/vendored/puppet/lib/puppet/transaction.rb +0 -444
  1044. data/vendored/puppet/lib/puppet/transaction/additional_resource_generator.rb +0 -220
  1045. data/vendored/puppet/lib/puppet/transaction/event.rb +0 -144
  1046. data/vendored/puppet/lib/puppet/transaction/event_manager.rb +0 -167
  1047. data/vendored/puppet/lib/puppet/transaction/persistence.rb +0 -99
  1048. data/vendored/puppet/lib/puppet/transaction/report.rb +0 -468
  1049. data/vendored/puppet/lib/puppet/transaction/resource_harness.rb +0 -318
  1050. data/vendored/puppet/lib/puppet/type.rb +0 -2665
  1051. data/vendored/puppet/lib/puppet/type/augeas.rb +0 -211
  1052. data/vendored/puppet/lib/puppet/type/component.rb +0 -88
  1053. data/vendored/puppet/lib/puppet/type/computer.rb +0 -66
  1054. data/vendored/puppet/lib/puppet/type/cron.rb +0 -480
  1055. data/vendored/puppet/lib/puppet/type/exec.rb +0 -623
  1056. data/vendored/puppet/lib/puppet/type/file.rb +0 -1039
  1057. data/vendored/puppet/lib/puppet/type/file/checksum.rb +0 -50
  1058. data/vendored/puppet/lib/puppet/type/file/checksum_value.rb +0 -54
  1059. data/vendored/puppet/lib/puppet/type/file/content.rb +0 -160
  1060. data/vendored/puppet/lib/puppet/type/file/ctime.rb +0 -20
  1061. data/vendored/puppet/lib/puppet/type/file/data_sync.rb +0 -93
  1062. data/vendored/puppet/lib/puppet/type/file/ensure.rb +0 -192
  1063. data/vendored/puppet/lib/puppet/type/file/group.rb +0 -41
  1064. data/vendored/puppet/lib/puppet/type/file/mode.rb +0 -177
  1065. data/vendored/puppet/lib/puppet/type/file/mtime.rb +0 -18
  1066. data/vendored/puppet/lib/puppet/type/file/owner.rb +0 -44
  1067. data/vendored/puppet/lib/puppet/type/file/selcontext.rb +0 -141
  1068. data/vendored/puppet/lib/puppet/type/file/source.rb +0 -356
  1069. data/vendored/puppet/lib/puppet/type/file/target.rb +0 -87
  1070. data/vendored/puppet/lib/puppet/type/file/type.rb +0 -19
  1071. data/vendored/puppet/lib/puppet/type/filebucket.rb +0 -117
  1072. data/vendored/puppet/lib/puppet/type/group.rb +0 -209
  1073. data/vendored/puppet/lib/puppet/type/host.rb +0 -95
  1074. data/vendored/puppet/lib/puppet/type/interface.rb +0 -121
  1075. data/vendored/puppet/lib/puppet/type/k5login.rb +0 -165
  1076. data/vendored/puppet/lib/puppet/type/macauthorization.rb +0 -167
  1077. data/vendored/puppet/lib/puppet/type/mailalias.rb +0 -46
  1078. data/vendored/puppet/lib/puppet/type/maillist.rb +0 -62
  1079. data/vendored/puppet/lib/puppet/type/mcx.rb +0 -98
  1080. data/vendored/puppet/lib/puppet/type/mount.rb +0 -314
  1081. data/vendored/puppet/lib/puppet/type/nagios_command.rb +0 -3
  1082. data/vendored/puppet/lib/puppet/type/nagios_contact.rb +0 -3
  1083. data/vendored/puppet/lib/puppet/type/nagios_contactgroup.rb +0 -3
  1084. data/vendored/puppet/lib/puppet/type/nagios_host.rb +0 -3
  1085. data/vendored/puppet/lib/puppet/type/nagios_hostdependency.rb +0 -3
  1086. data/vendored/puppet/lib/puppet/type/nagios_hostescalation.rb +0 -3
  1087. data/vendored/puppet/lib/puppet/type/nagios_hostextinfo.rb +0 -3
  1088. data/vendored/puppet/lib/puppet/type/nagios_hostgroup.rb +0 -3
  1089. data/vendored/puppet/lib/puppet/type/nagios_service.rb +0 -3
  1090. data/vendored/puppet/lib/puppet/type/nagios_servicedependency.rb +0 -3
  1091. data/vendored/puppet/lib/puppet/type/nagios_serviceescalation.rb +0 -3
  1092. data/vendored/puppet/lib/puppet/type/nagios_serviceextinfo.rb +0 -3
  1093. data/vendored/puppet/lib/puppet/type/nagios_servicegroup.rb +0 -3
  1094. data/vendored/puppet/lib/puppet/type/nagios_timeperiod.rb +0 -3
  1095. data/vendored/puppet/lib/puppet/type/notify.rb +0 -46
  1096. data/vendored/puppet/lib/puppet/type/package.rb +0 -571
  1097. data/vendored/puppet/lib/puppet/type/resources.rb +0 -180
  1098. data/vendored/puppet/lib/puppet/type/router.rb +0 -17
  1099. data/vendored/puppet/lib/puppet/type/schedule.rb +0 -481
  1100. data/vendored/puppet/lib/puppet/type/scheduled_task.rb +0 -183
  1101. data/vendored/puppet/lib/puppet/type/selboolean.rb +0 -26
  1102. data/vendored/puppet/lib/puppet/type/selmodule.rb +0 -59
  1103. data/vendored/puppet/lib/puppet/type/service.rb +0 -258
  1104. data/vendored/puppet/lib/puppet/type/ssh_authorized_key.rb +0 -143
  1105. data/vendored/puppet/lib/puppet/type/sshkey.rb +0 -83
  1106. data/vendored/puppet/lib/puppet/type/stage.rb +0 -27
  1107. data/vendored/puppet/lib/puppet/type/tidy.rb +0 -345
  1108. data/vendored/puppet/lib/puppet/type/user.rb +0 -794
  1109. data/vendored/puppet/lib/puppet/type/vlan.rb +0 -26
  1110. data/vendored/puppet/lib/puppet/type/whit.rb +0 -34
  1111. data/vendored/puppet/lib/puppet/type/yumrepo.rb +0 -439
  1112. data/vendored/puppet/lib/puppet/type/zfs.rb +0 -154
  1113. data/vendored/puppet/lib/puppet/type/zone.rb +0 -382
  1114. data/vendored/puppet/lib/puppet/type/zpool.rb +0 -91
  1115. data/vendored/puppet/lib/puppet/util.rb +0 -700
  1116. data/vendored/puppet/lib/puppet/util/at_fork.rb +0 -35
  1117. data/vendored/puppet/lib/puppet/util/at_fork/noop.rb +0 -18
  1118. data/vendored/puppet/lib/puppet/util/at_fork/solaris.rb +0 -160
  1119. data/vendored/puppet/lib/puppet/util/autoload.rb +0 -226
  1120. data/vendored/puppet/lib/puppet/util/backups.rb +0 -86
  1121. data/vendored/puppet/lib/puppet/util/character_encoding.rb +0 -98
  1122. data/vendored/puppet/lib/puppet/util/checksums.rb +0 -363
  1123. data/vendored/puppet/lib/puppet/util/classgen.rb +0 -228
  1124. data/vendored/puppet/lib/puppet/util/colors.rb +0 -100
  1125. data/vendored/puppet/lib/puppet/util/command_line.rb +0 -190
  1126. data/vendored/puppet/lib/puppet/util/command_line/puppet_option_parser.rb +0 -87
  1127. data/vendored/puppet/lib/puppet/util/command_line/trollop.rb +0 -825
  1128. data/vendored/puppet/lib/puppet/util/constant_inflector.rb +0 -24
  1129. data/vendored/puppet/lib/puppet/util/diff.rb +0 -79
  1130. data/vendored/puppet/lib/puppet/util/docs.rb +0 -128
  1131. data/vendored/puppet/lib/puppet/util/errors.rb +0 -159
  1132. data/vendored/puppet/lib/puppet/util/execution.rb +0 -412
  1133. data/vendored/puppet/lib/puppet/util/execution_stub.rb +0 -26
  1134. data/vendored/puppet/lib/puppet/util/feature.rb +0 -95
  1135. data/vendored/puppet/lib/puppet/util/file_watcher.rb +0 -28
  1136. data/vendored/puppet/lib/puppet/util/fileparsing.rb +0 -375
  1137. data/vendored/puppet/lib/puppet/util/filetype.rb +0 -309
  1138. data/vendored/puppet/lib/puppet/util/http_proxy.rb +0 -207
  1139. data/vendored/puppet/lib/puppet/util/inifile.rb +0 -340
  1140. data/vendored/puppet/lib/puppet/util/instance_loader.rb +0 -79
  1141. data/vendored/puppet/lib/puppet/util/json_lockfile.rb +0 -44
  1142. data/vendored/puppet/lib/puppet/util/ldap.rb +0 -2
  1143. data/vendored/puppet/lib/puppet/util/ldap/connection.rb +0 -71
  1144. data/vendored/puppet/lib/puppet/util/ldap/generator.rb +0 -42
  1145. data/vendored/puppet/lib/puppet/util/ldap/manager.rb +0 -281
  1146. data/vendored/puppet/lib/puppet/util/libuser.rb +0 -12
  1147. data/vendored/puppet/lib/puppet/util/limits.rb +0 -12
  1148. data/vendored/puppet/lib/puppet/util/lockfile.rb +0 -66
  1149. data/vendored/puppet/lib/puppet/util/log.rb +0 -415
  1150. data/vendored/puppet/lib/puppet/util/log/destination.rb +0 -49
  1151. data/vendored/puppet/lib/puppet/util/log/destinations.rb +0 -258
  1152. data/vendored/puppet/lib/puppet/util/logging.rb +0 -311
  1153. data/vendored/puppet/lib/puppet/util/metaid.rb +0 -21
  1154. data/vendored/puppet/lib/puppet/util/methodhelper.rb +0 -32
  1155. data/vendored/puppet/lib/puppet/util/metric.rb +0 -64
  1156. data/vendored/puppet/lib/puppet/util/monkey_patches.rb +0 -108
  1157. data/vendored/puppet/lib/puppet/util/multi_match.rb +0 -51
  1158. data/vendored/puppet/lib/puppet/util/nagios_maker.rb +0 -85
  1159. data/vendored/puppet/lib/puppet/util/network_device.rb +0 -17
  1160. data/vendored/puppet/lib/puppet/util/network_device/base.rb +0 -23
  1161. data/vendored/puppet/lib/puppet/util/network_device/cisco.rb +0 -4
  1162. data/vendored/puppet/lib/puppet/util/network_device/cisco/device.rb +0 -285
  1163. data/vendored/puppet/lib/puppet/util/network_device/cisco/facts.rb +0 -72
  1164. data/vendored/puppet/lib/puppet/util/network_device/cisco/interface.rb +0 -94
  1165. data/vendored/puppet/lib/puppet/util/network_device/config.rb +0 -105
  1166. data/vendored/puppet/lib/puppet/util/network_device/ipcalc.rb +0 -68
  1167. data/vendored/puppet/lib/puppet/util/network_device/transport.rb +0 -5
  1168. data/vendored/puppet/lib/puppet/util/network_device/transport/base.rb +0 -26
  1169. data/vendored/puppet/lib/puppet/util/network_device/transport/ssh.rb +0 -126
  1170. data/vendored/puppet/lib/puppet/util/network_device/transport/telnet.rb +0 -47
  1171. data/vendored/puppet/lib/puppet/util/package.rb +0 -31
  1172. data/vendored/puppet/lib/puppet/util/pidlock.rb +0 -62
  1173. data/vendored/puppet/lib/puppet/util/platform.rb +0 -35
  1174. data/vendored/puppet/lib/puppet/util/plist.rb +0 -155
  1175. data/vendored/puppet/lib/puppet/util/posix.rb +0 -137
  1176. data/vendored/puppet/lib/puppet/util/profiler.rb +0 -53
  1177. data/vendored/puppet/lib/puppet/util/profiler/aggregate.rb +0 -85
  1178. data/vendored/puppet/lib/puppet/util/profiler/around_profiler.rb +0 -67
  1179. data/vendored/puppet/lib/puppet/util/profiler/logging.rb +0 -48
  1180. data/vendored/puppet/lib/puppet/util/profiler/object_counts.rb +0 -17
  1181. data/vendored/puppet/lib/puppet/util/profiler/wall_clock.rb +0 -35
  1182. data/vendored/puppet/lib/puppet/util/provider_features.rb +0 -184
  1183. data/vendored/puppet/lib/puppet/util/psych_support.rb +0 -30
  1184. data/vendored/puppet/lib/puppet/util/rdoc.rb +0 -60
  1185. data/vendored/puppet/lib/puppet/util/rdoc/code_objects.rb +0 -294
  1186. data/vendored/puppet/lib/puppet/util/rdoc/generators/puppet_generator.rb +0 -910
  1187. data/vendored/puppet/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +0 -1085
  1188. data/vendored/puppet/lib/puppet/util/rdoc/parser.rb +0 -12
  1189. data/vendored/puppet/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +0 -259
  1190. data/vendored/puppet/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +0 -14
  1191. data/vendored/puppet/lib/puppet/util/reference.rb +0 -118
  1192. data/vendored/puppet/lib/puppet/util/resource_template.rb +0 -61
  1193. data/vendored/puppet/lib/puppet/util/retry_action.rb +0 -46
  1194. data/vendored/puppet/lib/puppet/util/rubygems.rb +0 -75
  1195. data/vendored/puppet/lib/puppet/util/run_mode.rb +0 -110
  1196. data/vendored/puppet/lib/puppet/util/selinux.rb +0 -264
  1197. data/vendored/puppet/lib/puppet/util/skip_tags.rb +0 -9
  1198. data/vendored/puppet/lib/puppet/util/splayer.rb +0 -18
  1199. data/vendored/puppet/lib/puppet/util/ssl.rb +0 -53
  1200. data/vendored/puppet/lib/puppet/util/storage.rb +0 -89
  1201. data/vendored/puppet/lib/puppet/util/suidmanager.rb +0 -165
  1202. data/vendored/puppet/lib/puppet/util/symbolic_file_mode.rb +0 -144
  1203. data/vendored/puppet/lib/puppet/util/tag_set.rb +0 -27
  1204. data/vendored/puppet/lib/puppet/util/tagging.rb +0 -118
  1205. data/vendored/puppet/lib/puppet/util/terminal.rb +0 -16
  1206. data/vendored/puppet/lib/puppet/util/user_attr.rb +0 -21
  1207. data/vendored/puppet/lib/puppet/util/warnings.rb +0 -31
  1208. data/vendored/puppet/lib/puppet/util/watched_file.rb +0 -37
  1209. data/vendored/puppet/lib/puppet/util/watcher.rb +0 -17
  1210. data/vendored/puppet/lib/puppet/util/watcher/change_watcher.rb +0 -33
  1211. data/vendored/puppet/lib/puppet/util/watcher/periodic_watcher.rb +0 -37
  1212. data/vendored/puppet/lib/puppet/util/watcher/timer.rb +0 -19
  1213. data/vendored/puppet/lib/puppet/util/windows.rb +0 -35
  1214. data/vendored/puppet/lib/puppet/util/windows/access_control_entry.rb +0 -84
  1215. data/vendored/puppet/lib/puppet/util/windows/access_control_list.rb +0 -113
  1216. data/vendored/puppet/lib/puppet/util/windows/adsi.rb +0 -545
  1217. data/vendored/puppet/lib/puppet/util/windows/api_types.rb +0 -282
  1218. data/vendored/puppet/lib/puppet/util/windows/com.rb +0 -225
  1219. data/vendored/puppet/lib/puppet/util/windows/error.rb +0 -83
  1220. data/vendored/puppet/lib/puppet/util/windows/eventlog.rb +0 -197
  1221. data/vendored/puppet/lib/puppet/util/windows/file.rb +0 -571
  1222. data/vendored/puppet/lib/puppet/util/windows/principal.rb +0 -192
  1223. data/vendored/puppet/lib/puppet/util/windows/process.rb +0 -497
  1224. data/vendored/puppet/lib/puppet/util/windows/registry.rb +0 -374
  1225. data/vendored/puppet/lib/puppet/util/windows/root_certs.rb +0 -108
  1226. data/vendored/puppet/lib/puppet/util/windows/security.rb +0 -857
  1227. data/vendored/puppet/lib/puppet/util/windows/security_descriptor.rb +0 -62
  1228. data/vendored/puppet/lib/puppet/util/windows/sid.rb +0 -282
  1229. data/vendored/puppet/lib/puppet/util/windows/string.rb +0 -16
  1230. data/vendored/puppet/lib/puppet/util/windows/taskscheduler.rb +0 -1267
  1231. data/vendored/puppet/lib/puppet/util/windows/user.rb +0 -309
  1232. data/vendored/puppet/lib/puppet/util/yaml.rb +0 -36
  1233. data/vendored/puppet/lib/puppet/vendor.rb +0 -57
  1234. data/vendored/puppet/lib/puppet/vendor/deep_merge/lib/deep_merge.rb +0 -2
  1235. data/vendored/puppet/lib/puppet/vendor/deep_merge/lib/deep_merge/core.rb +0 -210
  1236. data/vendored/puppet/lib/puppet/vendor/deep_merge/lib/deep_merge/deep_merge_hash.rb +0 -28
  1237. data/vendored/puppet/lib/puppet/vendor/deep_merge/lib/deep_merge/rails_compat.rb +0 -27
  1238. data/vendored/puppet/lib/puppet/vendor/deep_merge/test/test_deep_merge.rb +0 -608
  1239. data/vendored/puppet/lib/puppet/vendor/load_deep_merge.rb +0 -1
  1240. data/vendored/puppet/lib/puppet/vendor/load_pathspec.rb +0 -1
  1241. data/vendored/puppet/lib/puppet/vendor/load_semantic.rb +0 -1
  1242. data/vendored/puppet/lib/puppet/vendor/load_semantic_puppet.rb +0 -1
  1243. data/vendored/puppet/lib/puppet/vendor/pathspec/lib/pathspec.rb +0 -122
  1244. data/vendored/puppet/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +0 -275
  1245. data/vendored/puppet/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +0 -17
  1246. data/vendored/puppet/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +0 -14
  1247. data/vendored/puppet/lib/puppet/vendor/require_vendored.rb +0 -6
  1248. data/vendored/puppet/lib/puppet/vendor/semantic/lib/semantic.rb +0 -5
  1249. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet.rb +0 -11
  1250. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency.rb +0 -181
  1251. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/graph.rb +0 -60
  1252. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/graph_node.rb +0 -117
  1253. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/module_release.rb +0 -58
  1254. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/source.rb +0 -25
  1255. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/unsatisfiable_graph.rb +0 -31
  1256. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/gem_version.rb +0 -3
  1257. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/version.rb +0 -203
  1258. data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/version_range.rb +0 -758
  1259. data/vendored/puppet/lib/puppet/version.rb +0 -93
  1260. data/vendored/puppet/lib/puppet_pal.rb +0 -879
  1261. data/vendored/puppet/lib/puppet_x.rb +0 -14
@@ -1,60 +0,0 @@
1
- require 'uri'
2
-
3
- require 'puppet/forge'
4
-
5
- class Puppet::Forge
6
- # = Cache
7
- #
8
- # Provides methods for reading files from local cache, filesystem or network.
9
- class Cache
10
-
11
- # Instantiate new cache for the +repository+ instance.
12
- def initialize(repository, options = {})
13
- @repository = repository
14
- @options = options
15
- end
16
-
17
- # Return filename retrieved from +uri+ instance. Will download this file and
18
- # cache it if needed.
19
- #
20
- # TODO: Add checksum support.
21
- # TODO: Add error checking.
22
- def retrieve(url)
23
- (path + File.basename(url.to_s)).tap do |cached_file|
24
- uri = url.is_a?(::URI) ? url : ::URI.parse(url)
25
- unless cached_file.file?
26
- if uri.scheme == 'file'
27
- # CGI.unescape butchers Uris that are escaped properly
28
- FileUtils.cp(URI.unescape(uri.path), cached_file)
29
- else
30
- # TODO: Handle HTTPS; probably should use repository.contact
31
- data = read_retrieve(uri)
32
- cached_file.open('wb') { |f| f.write data }
33
- end
34
- end
35
- end
36
- end
37
-
38
- # Return contents of file at the given URI's +uri+.
39
- def read_retrieve(uri)
40
- return uri.read
41
- end
42
-
43
- # Return Pathname for repository's cache directory, create it if needed.
44
- def path
45
- (self.class.base_path + @repository.cache_key).tap{ |o| o.mkpath }
46
- end
47
-
48
- # Return the base Pathname for all the caches.
49
- def self.base_path
50
- (Pathname(Puppet.settings[:module_working_dir]) + 'cache').tap do |o|
51
- o.mkpath unless o.exist?
52
- end
53
- end
54
-
55
- # Clean out all the caches.
56
- def self.clean
57
- base_path.rmtree if base_path.exist?
58
- end
59
- end
60
- end
@@ -1,114 +0,0 @@
1
- require 'json'
2
- require 'puppet/error'
3
- require 'puppet/forge'
4
-
5
- # Puppet::Forge specific exceptions
6
- module Puppet::Forge::Errors
7
-
8
- # This exception is the parent for all Forge API errors
9
- class ForgeError < Puppet::Error
10
- # This is normally set by the child class, but if it is not this will
11
- # fall back to displaying the message as a multiline.
12
- #
13
- # @return [String] the multiline version of the error message
14
- def multiline
15
- self.message
16
- end
17
- end
18
-
19
- # This exception is raised when there is an SSL verification error when
20
- # communicating with the forge.
21
- class SSLVerifyError < ForgeError
22
- # @option options [String] :uri The URI that failed
23
- # @option options [String] :original the original exception
24
- def initialize(options)
25
- @uri = options[:uri]
26
- original = options[:original]
27
-
28
- super(_("Unable to verify the SSL certificate at %{uri}") % { uri: @uri }, original)
29
- end
30
-
31
- # Return a multiline version of the error message
32
- #
33
- # @return [String] the multiline version of the error message
34
- def multiline
35
- message = []
36
- message << _('Could not connect via HTTPS to %{uri}') % { uri: @uri }
37
- message << _(' Unable to verify the SSL certificate')
38
- message << _(' The certificate may not be signed by a valid CA')
39
- message << _(' The CA bundle included with OpenSSL may not be valid or up to date')
40
- message.join("\n")
41
- end
42
- end
43
-
44
- # This exception is raised when there is a communication error when connecting
45
- # to the forge
46
- class CommunicationError < ForgeError
47
- # @option options [String] :uri The URI that failed
48
- # @option options [String] :original the original exception
49
- def initialize(options)
50
- @uri = options[:uri]
51
- original = options[:original]
52
- @detail = original.message
53
-
54
- message = _("Unable to connect to the server at %{uri}. Detail: %{detail}.") % { uri: @uri, detail: @detail }
55
- super(message, original)
56
- end
57
-
58
- # Return a multiline version of the error message
59
- #
60
- # @return [String] the multiline version of the error message
61
- def multiline
62
- message = []
63
- message << _('Could not connect to %{uri}') % { uri: @uri }
64
- message << _(' There was a network communications problem')
65
- message << _(" The error we caught said '%{detail}'") % { detail: @detail }
66
- message << _(' Check your network connection and try again')
67
- message.join("\n")
68
- end
69
- end
70
-
71
- # This exception is raised when there is a bad HTTP response from the forge
72
- # and optionally a message in the response.
73
- class ResponseError < ForgeError
74
- # @option options [String] :uri The URI that failed
75
- # @option options [String] :input The user's input (e.g. module name)
76
- # @option options [String] :message Error from the API response (optional)
77
- # @option options [Net::HTTPResponse] :response The original HTTP response
78
- def initialize(options)
79
- @uri = options[:uri]
80
- @message = options[:message]
81
- response = options[:response]
82
- @response = "#{response.code} #{response.message.strip}"
83
-
84
- begin
85
- body = JSON.parse(response.body)
86
- if body['message']
87
- @message ||= body['message'].strip
88
- end
89
- rescue JSON::ParserError
90
- end
91
-
92
- message = if @message
93
- _("Request to Puppet Forge failed.") + ' ' + _("Detail: %{detail}.") % { detail: "#{@message} / #{@response}" }
94
- else
95
- _("Request to Puppet Forge failed.") + ' ' + _("Detail: %{detail}.") % { detail: @response }
96
- end
97
- super(message, original)
98
- end
99
-
100
- # Return a multiline version of the error message
101
- #
102
- # @return [String] the multiline version of the error message
103
- def multiline
104
-
105
- message = []
106
- message << _('Request to Puppet Forge failed.')
107
- message << _(' The server being queried was %{uri}') % { uri: @uri }
108
- message << _(" The HTTP response we received was '%{response}'") % { response: @response }
109
- message << _(" The message we received said '%{message}'") % { message: @message } if @message
110
- message.join("\n")
111
- end
112
- end
113
-
114
- end
@@ -1,155 +0,0 @@
1
- require 'net/https'
2
- require 'digest/sha1'
3
- require 'uri'
4
- require 'puppet/util/http_proxy'
5
- require 'puppet/forge'
6
- require 'puppet/forge/errors'
7
- require 'puppet/network/http'
8
-
9
- class Puppet::Forge
10
- # = Repository
11
- #
12
- # This class is a file for accessing remote repositories with modules.
13
- class Repository
14
- include Puppet::Forge::Errors
15
-
16
- attr_reader :uri, :cache
17
-
18
- # List of Net::HTTP exceptions to catch
19
- NET_HTTP_EXCEPTIONS = [
20
- EOFError,
21
- Errno::ECONNABORTED,
22
- Errno::ECONNREFUSED,
23
- Errno::ECONNRESET,
24
- Errno::EINVAL,
25
- Errno::ETIMEDOUT,
26
- Net::HTTPBadResponse,
27
- Net::HTTPHeaderSyntaxError,
28
- Net::ProtocolError,
29
- SocketError,
30
- ]
31
-
32
- if Puppet.features.zlib?
33
- NET_HTTP_EXCEPTIONS << Zlib::GzipFile::Error
34
- end
35
-
36
- # Instantiate a new repository instance rooted at the +url+.
37
- # The library will report +for_agent+ in the User-Agent to the repository.
38
- def initialize(host, for_agent)
39
- @host = host
40
- @agent = for_agent
41
- @cache = Cache.new(self)
42
- @uri = URI.parse(host)
43
- end
44
-
45
- # Return a Net::HTTPResponse read for this +path+.
46
- def make_http_request(path, io = nil)
47
- request = get_request_object(@uri.path.chomp('/')+path)
48
- Puppet.debug "HTTP GET #{@host}#{request.path}"
49
- return read_response(request, io)
50
- end
51
-
52
- def forge_authorization
53
- if Puppet[:forge_authorization]
54
- Puppet[:forge_authorization]
55
- elsif Puppet.features.pe_license?
56
- PELicense.load_license_key.authorization_token
57
- end
58
- end
59
-
60
- # responsible for properly encoding a URI
61
- def get_request_object(path)
62
- headers = {
63
- "User-Agent" => user_agent,
64
- }
65
-
66
- if Puppet.features.zlib?
67
- headers = headers.merge({
68
- "Accept-Encoding" => Puppet::Network::HTTP::Compression::ACCEPT_ENCODING
69
- })
70
- end
71
-
72
- if forge_authorization
73
- headers = headers.merge({"Authorization" => forge_authorization})
74
- end
75
-
76
- request = Net::HTTP::Get.new(Puppet::Util.uri_encode(path), headers)
77
-
78
- unless @uri.user.nil? || @uri.password.nil? || forge_authorization
79
- request.basic_auth(@uri.user, @uri.password)
80
- end
81
-
82
- return request
83
- end
84
-
85
- # Return a Net::HTTPResponse read from this HTTPRequest +request+.
86
- #
87
- # @param request [Net::HTTPRequest] request to make
88
- # @return [Net::HTTPResponse] response from request
89
- # @raise [Puppet::Forge::Errors::CommunicationError] if there is a network
90
- # related error
91
- # @raise [Puppet::Forge::Errors::SSLVerifyError] if there is a problem
92
- # verifying the remote SSL certificate
93
- def read_response(request, io = nil)
94
- http_object = Puppet::Util::HttpProxy.get_http_object(uri)
95
-
96
- http_object.start do |http|
97
- response = http.request(request)
98
-
99
- if Puppet.features.zlib?
100
- if response && response.key?("content-encoding")
101
- case response["content-encoding"]
102
- when "gzip"
103
- response.body = Zlib::GzipReader.new(StringIO.new(response.read_body), :encoding => "ASCII-8BIT").read
104
- response.delete("content-encoding")
105
- when "deflate"
106
- response.body = Zlib::Inflate.inflate(response.read_body)
107
- response.delete("content-encoding")
108
- end
109
- end
110
- end
111
-
112
- io.write(response.body) if io.respond_to? :write
113
- response
114
- end
115
- rescue *NET_HTTP_EXCEPTIONS => e
116
- raise CommunicationError.new(:uri => @uri.to_s, :original => e)
117
- rescue OpenSSL::SSL::SSLError => e
118
- if e.message =~ /certificate verify failed/
119
- raise SSLVerifyError.new(:uri => @uri.to_s, :original => e)
120
- else
121
- raise e
122
- end
123
- end
124
-
125
- # Return the local file name containing the data downloaded from the
126
- # repository at +release+ (e.g. "myuser-mymodule").
127
- def retrieve(release)
128
- path = @host.chomp('/') + release
129
- return cache.retrieve(path)
130
- end
131
-
132
- # Return the URI string for this repository.
133
- def to_s
134
- "#<#{self.class} #{@host}>"
135
- end
136
-
137
- # Return the cache key for this repository, this a hashed string based on
138
- # the URI.
139
- def cache_key
140
- return @cache_key ||= [
141
- @host.to_s.gsub(/[^[:alnum:]]+/, '_').sub(/_$/, ''),
142
- Digest::SHA1.hexdigest(@host.to_s)
143
- ].join('-').freeze
144
- end
145
-
146
- private
147
-
148
- def user_agent
149
- @user_agent ||= [
150
- @agent,
151
- Puppet[:http_user_agent]
152
- ].join(' ').freeze
153
- end
154
- end
155
- end
@@ -1,725 +0,0 @@
1
- # Functions in the puppet language can be written in Ruby and distributed in
2
- # puppet modules. The function is written by creating a file in the module's
3
- # `lib/puppet/functions/<modulename>` directory, where `<modulename>` is
4
- # replaced with the module's name. The file should have the name of the function.
5
- # For example, to create a function named `min` in a module named `math` create
6
- # a file named `lib/puppet/functions/math/min.rb` in the module.
7
- #
8
- # A function is implemented by calling {Puppet::Functions.create_function}, and
9
- # passing it a block that defines the implementation of the function.
10
- #
11
- # Functions are namespaced inside the module that contains them. The name of
12
- # the function is prefixed with the name of the module. For example,
13
- # `math::min`.
14
- #
15
- # @example A simple function
16
- # Puppet::Functions.create_function('math::min') do
17
- # def min(a, b)
18
- # a <= b ? a : b
19
- # end
20
- # end
21
- #
22
- # Anatomy of a function
23
- # ---
24
- #
25
- # Functions are composed of four parts: the name, the implementation methods,
26
- # the signatures, and the dispatches.
27
- #
28
- # The name is the string given to the {Puppet::Functions.create_function}
29
- # method. It specifies the name to use when calling the function in the puppet
30
- # language, or from other functions.
31
- #
32
- # The implementation methods are ruby methods (there can be one or more) that
33
- # provide that actual implementation of the function's behavior. In the
34
- # simplest case the name of the function (excluding any namespace) and the name
35
- # of the method are the same. When that is done no other parts (signatures and
36
- # dispatches) need to be used.
37
- #
38
- # Signatures are a way of specifying the types of the function's parameters.
39
- # The types of any arguments will be checked against the types declared in the
40
- # signature and an error will be produced if they don't match. The types are
41
- # defined by using the same syntax for types as in the puppet language.
42
- #
43
- # Dispatches are how signatures and implementation methods are tied together.
44
- # When the function is called, puppet searches the signatures for one that
45
- # matches the supplied arguments. Each signature is part of a dispatch, which
46
- # specifies the method that should be called for that signature. When a
47
- # matching signature is found, the corresponding method is called.
48
- #
49
- # Special dispatches designed to create error messages for an argument mismatch
50
- # can be added using the keyword `argument_mismatch` instead of `dispatch`. The
51
- # method appointed by an `argument_mismatch` will be called with arguments
52
- # just like a normal `dispatch` would, but the method must produce a string.
53
- # The string is then used as the message in the `ArgumentError` that is raised
54
- # when the method returns. A block parameter can be given, but it is not
55
- # propagated in the method call.
56
- #
57
- # Documentation for the function should be placed as comments to the
58
- # implementation method(s).
59
- #
60
- # @todo Documentation for individual instances of these new functions is not
61
- # yet tied into the puppet doc system.
62
- #
63
- # @example Dispatching to different methods by type
64
- # Puppet::Functions.create_function('math::min') do
65
- # dispatch :numeric_min do
66
- # param 'Numeric', :a
67
- # param 'Numeric', :b
68
- # end
69
- #
70
- # dispatch :string_min do
71
- # param 'String', :a
72
- # param 'String', :b
73
- # end
74
- #
75
- # def numeric_min(a, b)
76
- # a <= b ? a : b
77
- # end
78
- #
79
- # def string_min(a, b)
80
- # a.downcase <= b.downcase ? a : b
81
- # end
82
- # end
83
- #
84
- # @example Using an argument mismatch handler
85
- # Puppet::Functions.create_function('math::min') do
86
- # dispatch :numeric_min do
87
- # param 'Numeric', :a
88
- # param 'Numeric', :b
89
- # end
90
- #
91
- # argument_mismatch :on_error do
92
- # param 'Any', :a
93
- # param 'Any', :b
94
- # end
95
- #
96
- # def numeric_min(a, b)
97
- # a <= b ? a : b
98
- # end
99
- #
100
- # def on_error(a, b)
101
- # 'both arguments must be of type Numeric'
102
- # end
103
- # end
104
- #
105
- # Specifying Signatures
106
- # ---
107
- #
108
- # If nothing is specified, the number of arguments given to the function must
109
- # be the same as the number of parameters, and all of the parameters are of
110
- # type 'Any'.
111
- #
112
- # The following methods can be used to define a parameter
113
- #
114
- # - _param_ - the argument must be given in the call.
115
- # - _optional_param_ - the argument may be missing in the call. May not be followed by a required parameter
116
- # - _repeated_param_ - the type specifies a repeating type that occurs 0 to "infinite" number of times. It may only appear last or just before a block parameter.
117
- # - _block_param_ - a block must be given in the call. May only appear last.
118
- # - _optional_block_param_ - a block may be given in the call. May only appear last.
119
- #
120
- # The method name _required_param_ is an alias for _param_ and _required_block_param_ is an alias for _block_param_
121
- #
122
- # A parameter definition takes 2 arguments:
123
- # - _type_ A string that must conform to a type in the puppet language
124
- # - _name_ A symbol denoting the parameter name
125
- #
126
- # Both arguments are optional when defining a block parameter. The _type_ defaults to "Callable"
127
- # and the _name_ to :block.
128
- #
129
- # Note that the dispatch definition is used to match arguments given in a call to the function with the defined
130
- # parameters. It then dispatches the call to the implementation method simply passing the given arguments on to
131
- # that method without any further processing and it is the responsibility of that method's implementor to ensure
132
- # that it can handle those arguments.
133
- #
134
- # @example Variable number of arguments
135
- # Puppet::Functions.create_function('foo') do
136
- # dispatch :foo do
137
- # param 'Numeric', :first
138
- # repeated_param 'Numeric', :values
139
- # end
140
- #
141
- # def foo(first, *values)
142
- # # do something
143
- # end
144
- # end
145
- #
146
- # There is no requirement for direct mapping between parameter definitions and the parameters in the
147
- # receiving implementation method so the following example is also legal. Here the dispatch will ensure
148
- # that `*values` in the receiver will be an array with at least one entry of type String and that any
149
- # remaining entries are of type Numeric:
150
- #
151
- # @example Inexact mapping or parameters
152
- # Puppet::Functions.create_function('foo') do
153
- # dispatch :foo do
154
- # param 'String', :first
155
- # repeated_param 'Numeric', :values
156
- # end
157
- #
158
- # def foo(*values)
159
- # # do something
160
- # end
161
- # end
162
- #
163
- # Access to Scope
164
- # ---
165
- # In general, functions should not need access to scope; they should be
166
- # written to act on their given input only. If they absolutely must look up
167
- # variable values, they should do so via the closure scope (the scope where
168
- # they are defined) - this is done by calling `closure_scope()`.
169
- #
170
- # Calling other Functions
171
- # ---
172
- # Calling other functions by name is directly supported via
173
- # {Puppet::Pops::Functions::Function#call_function}. This allows a function to
174
- # call other functions visible from its loader.
175
- #
176
- # @api public
177
- module Puppet::Functions
178
- # @param func_name [String, Symbol] a simple or qualified function name
179
- # @param block [Proc] the block that defines the methods and dispatch of the
180
- # Function to create
181
- # @return [Class<Function>] the newly created Function class
182
- #
183
- # @api public
184
- def self.create_function(func_name, function_base = Function, &block)
185
- # Ruby < 2.1.0 does not have method on Binding, can only do eval
186
- # and it will fail unless protected with an if defined? if the local
187
- # variable does not exist in the block's binder.
188
- #
189
- begin
190
- loader = block.binding.eval('loader_injected_arg if defined?(loader_injected_arg)')
191
- create_loaded_function(func_name, loader, function_base, &block)
192
- rescue StandardError => e
193
- raise ArgumentError, _("Function Load Error for function '%{function_name}': %{message}") % {function_name: func_name, message: e.message}
194
- end
195
- end
196
-
197
- # Creates a function in, or in a local loader under the given loader.
198
- # This method should only be used when manually creating functions
199
- # for the sake of testing. Functions that are autoloaded should
200
- # always use the `create_function` method and the autoloader will supply
201
- # the correct loader.
202
- #
203
- # @param func_name [String, Symbol] a simple or qualified function name
204
- # @param loader [Puppet::Pops::Loaders::Loader] the loader loading the function
205
- # @param block [Proc] the block that defines the methods and dispatch of the
206
- # Function to create
207
- # @return [Class<Function>] the newly created Function class
208
- #
209
- # @api public
210
- def self.create_loaded_function(func_name, loader, function_base = Function, &block)
211
- if function_base.ancestors.none? { |s| s == Puppet::Pops::Functions::Function }
212
- raise ArgumentError, _("Functions must be based on Puppet::Pops::Functions::Function. Got %{function_base}") % { function_base: function_base }
213
- end
214
-
215
- func_name = func_name.to_s
216
- # Creates an anonymous class to represent the function
217
- # The idea being that it is garbage collected when there are no more
218
- # references to it.
219
- #
220
- # (Do not give the class the block here, as instance variables should be set first)
221
- the_class = Class.new(function_base)
222
-
223
- unless loader.nil?
224
- the_class.instance_variable_set(:'@loader', loader.private_loader)
225
- end
226
-
227
- # Make the anonymous class appear to have the class-name <func_name>
228
- # Even if this class is not bound to such a symbol in a global ruby scope and
229
- # must be resolved via the loader.
230
- # This also overrides any attempt to define a name method in the given block
231
- # (Since it redefines it)
232
- #
233
- # TODO, enforce name in lower case (to further make it stand out since Ruby
234
- # class names are upper case)
235
- #
236
- the_class.instance_eval do
237
- @func_name = func_name
238
-
239
- def name
240
- @func_name
241
- end
242
-
243
- def loader
244
- @loader
245
- end
246
- end
247
-
248
- # The given block can now be evaluated and have access to name and loader
249
- #
250
- the_class.class_eval(&block)
251
-
252
- # Automatically create an object dispatcher based on introspection if the
253
- # loaded user code did not define any dispatchers. Fail if function name
254
- # does not match a given method name in user code.
255
- #
256
- if the_class.dispatcher.empty?
257
- simple_name = func_name.split(/::/)[-1]
258
- type, names = default_dispatcher(the_class, simple_name)
259
- last_captures_rest = (type.size_range[1] == Float::INFINITY)
260
- the_class.dispatcher.add(Puppet::Pops::Functions::Dispatch.new(type, simple_name, names, last_captures_rest))
261
- end
262
-
263
- # The function class is returned as the result of the create function method
264
- the_class
265
- end
266
-
267
- # Creates a default dispatcher configured from a method with the same name as the function
268
- #
269
- # @api private
270
- def self.default_dispatcher(the_class, func_name)
271
- unless the_class.method_defined?(func_name)
272
- raise ArgumentError, _("Function Creation Error, cannot create a default dispatcher for function '%{func_name}', no method with this name found") % { func_name: func_name }
273
- end
274
- any_signature(*min_max_param(the_class.instance_method(func_name)))
275
- end
276
-
277
- # @api private
278
- def self.min_max_param(method)
279
- result = {:req => 0, :opt => 0, :rest => 0 }
280
- # count per parameter kind, and get array of names
281
- names = method.parameters.map { |p| result[p[0]] += 1 ; p[1].to_s }
282
- from = result[:req]
283
- to = result[:rest] > 0 ? :default : from + result[:opt]
284
- [from, to, names]
285
- end
286
-
287
- # Construct a signature consisting of Object type, with min, and max, and given names.
288
- # (there is only one type entry).
289
- #
290
- # @api private
291
- def self.any_signature(from, to, names)
292
- # Construct the type for the signature
293
- # Tuple[Object, from, to]
294
- param_types = Puppet::Pops::Types::PTupleType.new([Puppet::Pops::Types::PAnyType::DEFAULT], Puppet::Pops::Types::PIntegerType.new(from, to))
295
- [Puppet::Pops::Types::PCallableType.new(param_types), names]
296
- end
297
-
298
- # Function
299
- # ===
300
- # This class is the base class for all Puppet 4x Function API functions. A
301
- # specialized class is created for each puppet function.
302
- #
303
- # @api public
304
- class Function < Puppet::Pops::Functions::Function
305
-
306
- # @api private
307
- def self.builder
308
- DispatcherBuilder.new(dispatcher, Puppet::Pops::Types::PCallableType::DEFAULT, loader)
309
- end
310
-
311
- # Dispatch any calls that match the signature to the provided method name.
312
- #
313
- # @param meth_name [Symbol] The name of the implementation method to call
314
- # when the signature defined in the block matches the arguments to a call
315
- # to the function.
316
- # @return [Void]
317
- #
318
- # @api public
319
- def self.dispatch(meth_name, &block)
320
- builder().instance_eval do
321
- dispatch(meth_name, false, &block)
322
- end
323
- end
324
-
325
- # Like `dispatch` but used for a specific type of argument mismatch. Will not be include in the list of valid
326
- # parameter overloads for the function.
327
- #
328
- # @param meth_name [Symbol] The name of the implementation method to call
329
- # when the signature defined in the block matches the arguments to a call
330
- # to the function.
331
- # @return [Void]
332
- #
333
- # @api public
334
- def self.argument_mismatch(meth_name, &block)
335
- builder().instance_eval do
336
- dispatch(meth_name, true, &block)
337
- end
338
- end
339
-
340
- # Allows types local to the function to be defined to ease the use of complex types
341
- # in a 4.x function. Within the given block, calls to `type` can be made with a string
342
- # 'AliasType = ExistingType` can be made to define aliases. The defined aliases are
343
- # available for further aliases, and in all dispatchers.
344
- #
345
- # @since 4.5.0
346
- # @api public
347
- #
348
- def self.local_types(&block)
349
- if loader.nil?
350
- raise ArgumentError, _("No loader present. Call create_loaded_function(:myname, loader,...), instead of 'create_function' if running tests")
351
- end
352
- aliases = LocalTypeAliasesBuilder.new(loader, name)
353
- aliases.instance_eval(&block)
354
- # Add the loaded types to the builder
355
- aliases.local_types.each do |type_alias_expr|
356
- # Bind the type alias to the local_loader using the alias
357
- t = Puppet::Pops::Loader::TypeDefinitionInstantiator.create_from_model(type_alias_expr, aliases.loader)
358
-
359
- # Also define a method for convenient access to the defined type alias.
360
- # Since initial capital letter in Ruby means a Constant these names use a prefix of
361
- # `type`. As an example, the type 'MyType' is accessed by calling `type_MyType`.
362
- define_method("type_#{t.name}") { t }
363
- end
364
- # Store the loader in the class
365
- @loader = aliases.loader
366
- end
367
-
368
- # Creates a new function instance in the given closure scope (visibility to variables), and a loader
369
- # (visibility to other definitions). The created function will either use the `given_loader` or
370
- # (if it has local type aliases) a loader that was constructed from the loader used when loading
371
- # the function's class.
372
- #
373
- # TODO: It would be of value to get rid of the second parameter here, but that would break API.
374
- #
375
- def self.new(closure_scope, given_loader)
376
- super(closure_scope, @loader || given_loader)
377
- end
378
- end
379
-
380
- # Base class for all functions implemented in the puppet language
381
- class PuppetFunction < Function
382
- def self.init_dispatch(a_closure)
383
- # A closure is compatible with a dispatcher - they are both callable signatures
384
- dispatcher.add(a_closure)
385
- end
386
- end
387
-
388
- # Public api methods of the DispatcherBuilder are available within dispatch()
389
- # blocks declared in a Puppet::Function.create_function() call.
390
- #
391
- # @api public
392
- class DispatcherBuilder
393
- attr_reader :loader
394
-
395
- # @api private
396
- def initialize(dispatcher, all_callables, loader)
397
- @all_callables = all_callables
398
- @dispatcher = dispatcher
399
- @loader = loader
400
- end
401
-
402
- # Defines a required positional parameter with _type_ and _name_.
403
- #
404
- # @param type [String] The type specification for the parameter.
405
- # @param name [Symbol] The name of the parameter. This is primarily used
406
- # for error message output and does not have to match an implementation
407
- # method parameter.
408
- # @return [Void]
409
- #
410
- # @api public
411
- def param(type, name)
412
- internal_param(type, name)
413
- raise ArgumentError, _('A required parameter cannot be added after an optional parameter') if @min != @max
414
- @min += 1
415
- @max += 1
416
- end
417
- alias required_param param
418
-
419
- # Defines an optional positional parameter with _type_ and _name_.
420
- # May not be followed by a required parameter.
421
- #
422
- # @param type [String] The type specification for the parameter.
423
- # @param name [Symbol] The name of the parameter. This is primarily used
424
- # for error message output and does not have to match an implementation
425
- # method parameter.
426
- # @return [Void]
427
- #
428
- # @api public
429
- def optional_param(type, name)
430
- internal_param(type, name)
431
- @max += 1
432
- end
433
-
434
- # Defines a repeated positional parameter with _type_ and _name_ that may occur 0 to "infinite" number of times.
435
- # It may only appear last or just before a block parameter.
436
- #
437
- # @param type [String] The type specification for the parameter.
438
- # @param name [Symbol] The name of the parameter. This is primarily used
439
- # for error message output and does not have to match an implementation
440
- # method parameter.
441
- # @return [Void]
442
- #
443
- # @api public
444
- def repeated_param(type, name)
445
- internal_param(type, name, true)
446
- @max = :default
447
- end
448
- alias optional_repeated_param repeated_param
449
-
450
- # Defines a repeated positional parameter with _type_ and _name_ that may occur 1 to "infinite" number of times.
451
- # It may only appear last or just before a block parameter.
452
- #
453
- # @param type [String] The type specification for the parameter.
454
- # @param name [Symbol] The name of the parameter. This is primarily used
455
- # for error message output and does not have to match an implementation
456
- # method parameter.
457
- # @return [Void]
458
- #
459
- # @api public
460
- def required_repeated_param(type, name)
461
- internal_param(type, name, true)
462
- raise ArgumentError, _('A required repeated parameter cannot be added after an optional parameter') if @min != @max
463
- @min += 1
464
- @max = :default
465
- end
466
-
467
- # Defines one required block parameter that may appear last. If type and name is missing the
468
- # default type is "Callable", and the name is "block". If only one
469
- # parameter is given, then that is the name and the type is "Callable".
470
- #
471
- # @api public
472
- def block_param(*type_and_name)
473
- case type_and_name.size
474
- when 0
475
- type = @all_callables
476
- name = :block
477
- when 1
478
- type = @all_callables
479
- name = type_and_name[0]
480
- when 2
481
- type, name = type_and_name
482
- type = Puppet::Pops::Types::TypeParser.singleton.parse(type, loader) unless type.is_a?(Puppet::Pops::Types::PAnyType)
483
- else
484
- raise ArgumentError, _("block_param accepts max 2 arguments (type, name), got %{size}.") % { size: type_and_name.size }
485
- end
486
-
487
- unless Puppet::Pops::Types::TypeCalculator.is_kind_of_callable?(type, false)
488
- raise ArgumentError, _("Expected PCallableType or PVariantType thereof, got %{type_class}") % { type_class: type.class }
489
- end
490
-
491
- unless name.is_a?(Symbol)
492
- raise ArgumentError, _("Expected block_param name to be a Symbol, got %{name_class}") % { name_class: name.class }
493
- end
494
-
495
- if @block_type.nil?
496
- @block_type = type
497
- @block_name = name
498
- else
499
- raise ArgumentError, _('Attempt to redefine block')
500
- end
501
- end
502
- alias required_block_param block_param
503
-
504
- # Defines one optional block parameter that may appear last. If type or name is missing the
505
- # defaults are "any callable", and the name is "block". The implementor of the dispatch target
506
- # must use block = nil when it is optional (or an error is raised when the call is made).
507
- #
508
- # @api public
509
- def optional_block_param(*type_and_name)
510
- # same as required, only wrap the result in an optional type
511
- required_block_param(*type_and_name)
512
- @block_type = Puppet::Pops::Types::TypeFactory.optional(@block_type)
513
- end
514
-
515
- # Defines the return type. Defaults to 'Any'
516
- # @param [String] type a reference to a Puppet Data Type
517
- #
518
- # @api public
519
- def return_type(type)
520
- unless type.is_a?(String) || type.is_a?(Puppet::Pops::Types::PAnyType)
521
- raise ArgumentError, _("Argument to 'return_type' must be a String reference to a Puppet Data Type. Got %{type_class}") % { type_class: type.class }
522
- end
523
- @return_type = type
524
- end
525
-
526
- private
527
-
528
- # @api private
529
- def internal_param(type, name, repeat = false)
530
- raise ArgumentError, _('Parameters cannot be added after a block parameter') unless @block_type.nil?
531
- raise ArgumentError, _('Parameters cannot be added after a repeated parameter') if @max == :default
532
-
533
- if name.is_a?(String)
534
- raise ArgumentError, _("Parameter name argument must be a Symbol. Got %{name_class}") % { name_class: name.class }
535
- end
536
-
537
- if type.is_a?(String) || type.is_a?(Puppet::Pops::Types::PAnyType)
538
- @types << type
539
- @names << name
540
- # mark what should be picked for this position when dispatching
541
- if repeat
542
- @weaving << -@names.size()
543
- else
544
- @weaving << @names.size()-1
545
- end
546
- else
547
- raise ArgumentError, _("Parameter 'type' must be a String reference to a Puppet Data Type. Got %{type_class}") % { type_class: type.class }
548
- end
549
- end
550
-
551
- # @api private
552
- def dispatch(meth_name, argument_mismatch_handler, &block)
553
- # an array of either an index into names/types, or an array with
554
- # injection information [type, name, injection_name] used when the call
555
- # is being made to weave injections into the given arguments.
556
- #
557
- @types = []
558
- @names = []
559
- @weaving = []
560
- @injections = []
561
- @min = 0
562
- @max = 0
563
- @block_type = nil
564
- @block_name = nil
565
- @return_type = nil
566
- @argument_mismatch_hander = argument_mismatch_handler
567
- self.instance_eval(&block)
568
- callable_t = create_callable(@types, @block_type, @return_type, @min, @max)
569
- @dispatcher.add(Puppet::Pops::Functions::Dispatch.new(callable_t, meth_name, @names, @max == :default, @block_name, @injections, @weaving, @argument_mismatch_hander))
570
- end
571
-
572
- # Handles creation of a callable type from strings specifications of puppet
573
- # types and allows the min/max occurs of the given types to be given as one
574
- # or two integer values at the end. The given block_type should be
575
- # Optional[Callable], Callable, or nil.
576
- #
577
- # @api private
578
- def create_callable(types, block_type, return_type, from, to)
579
- mapped_types = types.map do |t|
580
- t.is_a?(Puppet::Pops::Types::PAnyType) ? t : internal_type_parse(t, loader)
581
- end
582
- param_types = Puppet::Pops::Types::PTupleType.new(mapped_types, from > 0 && from == to ? nil : Puppet::Pops::Types::PIntegerType.new(from, to))
583
- return_type = internal_type_parse(return_type, loader) unless return_type.nil? || return_type.is_a?(Puppet::Pops::Types::PAnyType)
584
- Puppet::Pops::Types::PCallableType.new(param_types, block_type, return_type)
585
- end
586
-
587
- def internal_type_parse(type_string, loader)
588
- begin
589
- Puppet::Pops::Types::TypeParser.singleton.parse(type_string, loader)
590
- rescue StandardError => e
591
- raise ArgumentError, _("Parsing of type string '\"%{type_string}\"' failed with message: <%{message}>.\n") % {
592
- type_string: type_string,
593
- message: e.message
594
- }
595
- end
596
- end
597
- private :internal_type_parse
598
- end
599
-
600
-
601
- # The LocalTypeAliasBuilder is used by the 'local_types' method to collect the individual
602
- # type aliases given by the function's author.
603
- #
604
- class LocalTypeAliasesBuilder
605
- attr_reader :local_types, :parser, :loader
606
-
607
- def initialize(loader, name)
608
- @loader = Puppet::Pops::Loader::PredefinedLoader.new(loader, :"local_function_#{name}")
609
- @local_types = []
610
- # get the shared parser used by puppet's compiler
611
- @parser = Puppet::Pops::Parser::EvaluatingParser.singleton()
612
- end
613
-
614
- # Defines a local type alias, the given string should be a Puppet Language type alias expression
615
- # in string form without the leading 'type' keyword.
616
- # Calls to local_type must be made before the first parameter definition or an error will
617
- # be raised.
618
- #
619
- # @param assignment_string [String] a string on the form 'AliasType = ExistingType'
620
- # @api public
621
- #
622
- def type(assignment_string)
623
- # Get location to use in case of error - this produces ruby filename and where call to 'type' occurred
624
- # but strips off the rest of the internal "where" as it is not meaningful to user.
625
- #
626
- rb_location = caller[0]
627
-
628
- begin
629
- result = parser.parse_string("type #{assignment_string}", nil)
630
- rescue StandardError => e
631
- rb_location = rb_location.gsub(/:in.*$/, '')
632
- # Create a meaningful location for parse errors - show both what went wrong with the parsing
633
- # and in which ruby file it was found.
634
- raise ArgumentError, _("Parsing of 'type \"%{assignment_string}\"' failed with message: <%{message}>.\n" +
635
- "Called from <%{ruby_file_location}>") % {
636
- assignment_string: assignment_string,
637
- message: e.message,
638
- ruby_file_location: rb_location
639
- }
640
- end
641
- unless result.body.kind_of?(Puppet::Pops::Model::TypeAlias)
642
- rb_location = rb_location.gsub(/:in.*$/, '')
643
- raise ArgumentError, _("Expected a type alias assignment on the form 'AliasType = T', got '%{assignment_string}'.\n"+
644
- "Called from <%{ruby_file_location}>") % {
645
- assignment_string: assignment_string,
646
- ruby_file_location: rb_location
647
- }
648
- end
649
- @local_types << result.body
650
- end
651
- end
652
-
653
- # @note WARNING: This style of creating functions is not public. It is a system
654
- # under development that will be used for creating "system" functions.
655
- #
656
- # This is a private, internal, system for creating functions. It supports
657
- # everything that the public function definition system supports as well as a
658
- # few extra features such as injection of well known parameters.
659
- #
660
- # @api private
661
- class InternalFunction < Function
662
- # @api private
663
- def self.builder
664
- InternalDispatchBuilder.new(dispatcher, Puppet::Pops::Types::PCallableType::DEFAULT, loader)
665
- end
666
-
667
- # Allows the implementation of a function to call other functions by name and pass the caller
668
- # scope. The callable functions are those visible to the same loader that loaded this function
669
- # (the calling function).
670
- #
671
- # @param scope [Puppet::Parser::Scope] The caller scope
672
- # @param function_name [String] The name of the function
673
- # @param *args [Object] splat of arguments
674
- # @return [Object] The result returned by the called function
675
- #
676
- # @api public
677
- def call_function_with_scope(scope, function_name, *args, &block)
678
- internal_call_function(scope, function_name, args, &block)
679
- end
680
- end
681
-
682
- # Injection and Weaving of parameters
683
- # ---
684
- # It is possible to inject and weave a set of well known parameters into a call.
685
- # These extra parameters are not part of the parameters passed from the Puppet
686
- # logic, and they can not be overridden by parameters given as arguments in the
687
- # call. They are invisible to the Puppet Language.
688
- #
689
- # @example using injected parameters
690
- # Puppet::Functions.create_function('test') do
691
- # dispatch :test do
692
- # param 'Scalar', 'a'
693
- # param 'Scalar', 'b'
694
- # scope_param
695
- # end
696
- # def test(a, b, scope)
697
- # a > b ? scope['a'] : scope['b']
698
- # end
699
- # end
700
- #
701
- # The function in the example above is called like this:
702
- #
703
- # test(10, 20)
704
- #
705
- # @api private
706
- class InternalDispatchBuilder < DispatcherBuilder
707
- # Inject parameter for `Puppet::Parser::Scope`
708
- def scope_param
709
- inject(:scope)
710
- end
711
-
712
- # Inject parameter for `Puppet::Pal::ScriptCompiler`
713
- def script_compiler_param
714
- inject(:pal_script_compiler)
715
- end
716
-
717
- private
718
-
719
- def inject(injection_name)
720
- @injections << injection_name
721
- # mark what should be picked for this position when dispatching
722
- @weaving << [@injections.size()-1]
723
- end
724
- end
725
- end