bolt 0.24.0 → 0.25.0

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

Potentially problematic release.


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

Files changed (1155) hide show
  1. checksums.yaml +4 -4
  2. data/bolt-modules/boltlib/lib/puppet/datatypes/applyresult.rb +19 -0
  3. data/bolt-modules/boltlib/lib/puppet/datatypes/resultset.rb +3 -3
  4. data/bolt-modules/boltlib/lib/puppet/functions/apply_prep.rb +2 -1
  5. data/lib/bolt/analytics.rb +0 -1
  6. data/lib/bolt/applicator.rb +7 -54
  7. data/lib/bolt/apply_result.rb +116 -0
  8. data/lib/bolt/outputter/human.rb +13 -8
  9. data/lib/bolt/pal.rb +6 -2
  10. data/lib/bolt/transport/ssh.rb +2 -1
  11. data/lib/bolt/version.rb +1 -1
  12. data/lib/bolt_spec/run.rb +1 -0
  13. data/libexec/apply_catalog.rb +25 -30
  14. metadata +37 -1212
  15. data/vendored/facter/lib/facter.rb +0 -261
  16. data/vendored/facter/lib/facter/Cfkey.rb +0 -42
  17. data/vendored/facter/lib/facter/application.rb +0 -206
  18. data/vendored/facter/lib/facter/architecture.rb +0 -50
  19. data/vendored/facter/lib/facter/augeasversion.rb +0 -28
  20. data/vendored/facter/lib/facter/blockdevices.rb +0 -105
  21. data/vendored/facter/lib/facter/core/aggregate.rb +0 -220
  22. data/vendored/facter/lib/facter/core/directed_graph.rb +0 -46
  23. data/vendored/facter/lib/facter/core/execution.rb +0 -123
  24. data/vendored/facter/lib/facter/core/execution/base.rb +0 -81
  25. data/vendored/facter/lib/facter/core/execution/posix.rb +0 -50
  26. data/vendored/facter/lib/facter/core/execution/windows.rb +0 -57
  27. data/vendored/facter/lib/facter/core/logging.rb +0 -197
  28. data/vendored/facter/lib/facter/core/resolvable.rb +0 -94
  29. data/vendored/facter/lib/facter/core/suitable.rb +0 -113
  30. data/vendored/facter/lib/facter/dhcp_servers.rb +0 -45
  31. data/vendored/facter/lib/facter/domain.rb +0 -99
  32. data/vendored/facter/lib/facter/ec2.rb +0 -68
  33. data/vendored/facter/lib/facter/ec2/rest.rb +0 -137
  34. data/vendored/facter/lib/facter/facterversion.rb +0 -15
  35. data/vendored/facter/lib/facter/filesystems.rb +0 -45
  36. data/vendored/facter/lib/facter/fqdn.rb +0 -24
  37. data/vendored/facter/lib/facter/gce.rb +0 -16
  38. data/vendored/facter/lib/facter/gce/metadata.rb +0 -87
  39. data/vendored/facter/lib/facter/gid.rb +0 -25
  40. data/vendored/facter/lib/facter/hardwareisa.rb +0 -20
  41. data/vendored/facter/lib/facter/hardwaremodel.rb +0 -67
  42. data/vendored/facter/lib/facter/hostname.rb +0 -31
  43. data/vendored/facter/lib/facter/id.rb +0 -21
  44. data/vendored/facter/lib/facter/interfaces.rb +0 -58
  45. data/vendored/facter/lib/facter/ipaddress.rb +0 -169
  46. data/vendored/facter/lib/facter/ipaddress6.rb +0 -82
  47. data/vendored/facter/lib/facter/iphostnumber.rb +0 -29
  48. data/vendored/facter/lib/facter/kernel.rb +0 -22
  49. data/vendored/facter/lib/facter/kernelmajversion.rb +0 -23
  50. data/vendored/facter/lib/facter/kernelrelease.rb +0 -45
  51. data/vendored/facter/lib/facter/kernelversion.rb +0 -22
  52. data/vendored/facter/lib/facter/ldom.rb +0 -51
  53. data/vendored/facter/lib/facter/lsbdistcodename.rb +0 -20
  54. data/vendored/facter/lib/facter/lsbdistdescription.rb +0 -21
  55. data/vendored/facter/lib/facter/lsbdistid.rb +0 -20
  56. data/vendored/facter/lib/facter/lsbdistrelease.rb +0 -20
  57. data/vendored/facter/lib/facter/lsbmajdistrelease.rb +0 -22
  58. data/vendored/facter/lib/facter/lsbminordistrelease.rb +0 -22
  59. data/vendored/facter/lib/facter/lsbrelease.rb +0 -20
  60. data/vendored/facter/lib/facter/macaddress.rb +0 -99
  61. data/vendored/facter/lib/facter/macosx.rb +0 -56
  62. data/vendored/facter/lib/facter/manufacturer.rb +0 -68
  63. data/vendored/facter/lib/facter/memory.rb +0 -168
  64. data/vendored/facter/lib/facter/netmask.rb +0 -43
  65. data/vendored/facter/lib/facter/network.rb +0 -20
  66. data/vendored/facter/lib/facter/operatingsystem.rb +0 -24
  67. data/vendored/facter/lib/facter/operatingsystem/base.rb +0 -61
  68. data/vendored/facter/lib/facter/operatingsystem/cumuluslinux.rb +0 -27
  69. data/vendored/facter/lib/facter/operatingsystem/implementation.rb +0 -33
  70. data/vendored/facter/lib/facter/operatingsystem/linux.rb +0 -484
  71. data/vendored/facter/lib/facter/operatingsystem/osreleaselinux.rb +0 -28
  72. data/vendored/facter/lib/facter/operatingsystem/sunos.rb +0 -54
  73. data/vendored/facter/lib/facter/operatingsystem/vmkernel.rb +0 -11
  74. data/vendored/facter/lib/facter/operatingsystem/windows.rb +0 -43
  75. data/vendored/facter/lib/facter/operatingsystemmajrelease.rb +0 -31
  76. data/vendored/facter/lib/facter/operatingsystemrelease.rb +0 -29
  77. data/vendored/facter/lib/facter/os.rb +0 -98
  78. data/vendored/facter/lib/facter/osfamily.rb +0 -18
  79. data/vendored/facter/lib/facter/partitions.rb +0 -39
  80. data/vendored/facter/lib/facter/path.rb +0 -14
  81. data/vendored/facter/lib/facter/physicalprocessorcount.rb +0 -27
  82. data/vendored/facter/lib/facter/processor.rb +0 -52
  83. data/vendored/facter/lib/facter/processors.rb +0 -66
  84. data/vendored/facter/lib/facter/processors/os.rb +0 -244
  85. data/vendored/facter/lib/facter/ps.rb +0 -31
  86. data/vendored/facter/lib/facter/puppetversion.rb +0 -20
  87. data/vendored/facter/lib/facter/rackspace.rb +0 -37
  88. data/vendored/facter/lib/facter/rubyplatform.rb +0 -12
  89. data/vendored/facter/lib/facter/rubysitedir.rb +0 -15
  90. data/vendored/facter/lib/facter/rubyversion.rb +0 -12
  91. data/vendored/facter/lib/facter/selinux.rb +0 -154
  92. data/vendored/facter/lib/facter/ssh.rb +0 -73
  93. data/vendored/facter/lib/facter/system32.rb +0 -21
  94. data/vendored/facter/lib/facter/system_uptime.rb +0 -44
  95. data/vendored/facter/lib/facter/timezone.rb +0 -14
  96. data/vendored/facter/lib/facter/uniqueid.rb +0 -4
  97. data/vendored/facter/lib/facter/uptime.rb +0 -16
  98. data/vendored/facter/lib/facter/uptime_days.rb +0 -13
  99. data/vendored/facter/lib/facter/uptime_hours.rb +0 -13
  100. data/vendored/facter/lib/facter/uptime_seconds.rb +0 -20
  101. data/vendored/facter/lib/facter/util/architecture.rb +0 -19
  102. data/vendored/facter/lib/facter/util/collection.rb +0 -161
  103. data/vendored/facter/lib/facter/util/composite_loader.rb +0 -12
  104. data/vendored/facter/lib/facter/util/config.rb +0 -88
  105. data/vendored/facter/lib/facter/util/confine.rb +0 -66
  106. data/vendored/facter/lib/facter/util/dhcp_servers.rb +0 -58
  107. data/vendored/facter/lib/facter/util/directory_loader.rb +0 -88
  108. data/vendored/facter/lib/facter/util/ec2.rb +0 -106
  109. data/vendored/facter/lib/facter/util/fact.rb +0 -204
  110. data/vendored/facter/lib/facter/util/file_read.rb +0 -37
  111. data/vendored/facter/lib/facter/util/formatter.rb +0 -39
  112. data/vendored/facter/lib/facter/util/ip.rb +0 -340
  113. data/vendored/facter/lib/facter/util/ip/windows.rb +0 -215
  114. data/vendored/facter/lib/facter/util/loader.rb +0 -155
  115. data/vendored/facter/lib/facter/util/macaddress.rb +0 -43
  116. data/vendored/facter/lib/facter/util/macosx.rb +0 -73
  117. data/vendored/facter/lib/facter/util/manufacturer.rb +0 -99
  118. data/vendored/facter/lib/facter/util/memory.rb +0 -228
  119. data/vendored/facter/lib/facter/util/netmask.rb +0 -40
  120. data/vendored/facter/lib/facter/util/normalization.rb +0 -94
  121. data/vendored/facter/lib/facter/util/nothing_loader.rb +0 -12
  122. data/vendored/facter/lib/facter/util/operatingsystem.rb +0 -21
  123. data/vendored/facter/lib/facter/util/parser.rb +0 -168
  124. data/vendored/facter/lib/facter/util/partitions.rb +0 -47
  125. data/vendored/facter/lib/facter/util/partitions/linux.rb +0 -71
  126. data/vendored/facter/lib/facter/util/partitions/openbsd.rb +0 -40
  127. data/vendored/facter/lib/facter/util/plist.rb +0 -24
  128. data/vendored/facter/lib/facter/util/plist/generator.rb +0 -228
  129. data/vendored/facter/lib/facter/util/plist/parser.rb +0 -226
  130. data/vendored/facter/lib/facter/util/posix.rb +0 -16
  131. data/vendored/facter/lib/facter/util/processor.rb +0 -289
  132. data/vendored/facter/lib/facter/util/registry.rb +0 -11
  133. data/vendored/facter/lib/facter/util/resolution.rb +0 -160
  134. data/vendored/facter/lib/facter/util/solaris_zones.rb +0 -158
  135. data/vendored/facter/lib/facter/util/unix_root.rb +0 -5
  136. data/vendored/facter/lib/facter/util/uptime.rb +0 -83
  137. data/vendored/facter/lib/facter/util/values.rb +0 -109
  138. data/vendored/facter/lib/facter/util/virtual.rb +0 -212
  139. data/vendored/facter/lib/facter/util/vlans.rb +0 -21
  140. data/vendored/facter/lib/facter/util/windows.rb +0 -10
  141. data/vendored/facter/lib/facter/util/windows/api_types.rb +0 -135
  142. data/vendored/facter/lib/facter/util/windows/dir.rb +0 -43
  143. data/vendored/facter/lib/facter/util/windows/error.rb +0 -87
  144. data/vendored/facter/lib/facter/util/windows/process.rb +0 -294
  145. data/vendored/facter/lib/facter/util/windows/user.rb +0 -186
  146. data/vendored/facter/lib/facter/util/windows_root.rb +0 -7
  147. data/vendored/facter/lib/facter/util/wmi.rb +0 -49
  148. data/vendored/facter/lib/facter/util/xendomains.rb +0 -28
  149. data/vendored/facter/lib/facter/version.rb +0 -86
  150. data/vendored/facter/lib/facter/virtual.rb +0 -330
  151. data/vendored/facter/lib/facter/vlans.rb +0 -17
  152. data/vendored/facter/lib/facter/xendomains.rb +0 -20
  153. data/vendored/facter/lib/facter/zfs_version.rb +0 -14
  154. data/vendored/facter/lib/facter/zonename.rb +0 -6
  155. data/vendored/facter/lib/facter/zones.rb +0 -18
  156. data/vendored/facter/lib/facter/zpool_version.rb +0 -10
  157. data/vendored/hiera/lib/hiera.rb +0 -119
  158. data/vendored/hiera/lib/hiera/backend.rb +0 -360
  159. data/vendored/hiera/lib/hiera/backend/json_backend.rb +0 -58
  160. data/vendored/hiera/lib/hiera/backend/yaml_backend.rb +0 -63
  161. data/vendored/hiera/lib/hiera/config.rb +0 -97
  162. data/vendored/hiera/lib/hiera/console_logger.rb +0 -13
  163. data/vendored/hiera/lib/hiera/error.rb +0 -4
  164. data/vendored/hiera/lib/hiera/fallback_logger.rb +0 -41
  165. data/vendored/hiera/lib/hiera/filecache.rb +0 -86
  166. data/vendored/hiera/lib/hiera/interpolate.rb +0 -121
  167. data/vendored/hiera/lib/hiera/noop_logger.rb +0 -8
  168. data/vendored/hiera/lib/hiera/puppet_logger.rb +0 -17
  169. data/vendored/hiera/lib/hiera/recursive_guard.rb +0 -20
  170. data/vendored/hiera/lib/hiera/util.rb +0 -65
  171. data/vendored/hiera/lib/hiera/util/win32.rb +0 -40
  172. data/vendored/hiera/lib/hiera/version.rb +0 -89
  173. data/vendored/puppet/lib/hiera/puppet_function.rb +0 -84
  174. data/vendored/puppet/lib/hiera/scope.rb +0 -83
  175. data/vendored/puppet/lib/hiera_puppet.rb +0 -79
  176. data/vendored/puppet/lib/puppet.rb +0 -299
  177. data/vendored/puppet/lib/puppet/agent.rb +0 -134
  178. data/vendored/puppet/lib/puppet/agent/disabler.rb +0 -53
  179. data/vendored/puppet/lib/puppet/agent/locker.rb +0 -53
  180. data/vendored/puppet/lib/puppet/application.rb +0 -509
  181. data/vendored/puppet/lib/puppet/application/agent.rb +0 -469
  182. data/vendored/puppet/lib/puppet/application/apply.rb +0 -407
  183. data/vendored/puppet/lib/puppet/application/catalog.rb +0 -4
  184. data/vendored/puppet/lib/puppet/application/cert.rb +0 -76
  185. data/vendored/puppet/lib/puppet/application/config.rb +0 -5
  186. data/vendored/puppet/lib/puppet/application/describe.rb +0 -257
  187. data/vendored/puppet/lib/puppet/application/device.rb +0 -386
  188. data/vendored/puppet/lib/puppet/application/doc.rb +0 -232
  189. data/vendored/puppet/lib/puppet/application/epp.rb +0 -5
  190. data/vendored/puppet/lib/puppet/application/face_base.rb +0 -268
  191. data/vendored/puppet/lib/puppet/application/facts.rb +0 -9
  192. data/vendored/puppet/lib/puppet/application/filebucket.rb +0 -300
  193. data/vendored/puppet/lib/puppet/application/generate.rb +0 -5
  194. data/vendored/puppet/lib/puppet/application/help.rb +0 -5
  195. data/vendored/puppet/lib/puppet/application/indirection_base.rb +0 -4
  196. data/vendored/puppet/lib/puppet/application/key.rb +0 -4
  197. data/vendored/puppet/lib/puppet/application/lookup.rb +0 -369
  198. data/vendored/puppet/lib/puppet/application/man.rb +0 -4
  199. data/vendored/puppet/lib/puppet/application/module.rb +0 -4
  200. data/vendored/puppet/lib/puppet/application/node.rb +0 -4
  201. data/vendored/puppet/lib/puppet/application/parser.rb +0 -5
  202. data/vendored/puppet/lib/puppet/application/plugin.rb +0 -3
  203. data/vendored/puppet/lib/puppet/application/report.rb +0 -4
  204. data/vendored/puppet/lib/puppet/application/resource.rb +0 -231
  205. data/vendored/puppet/lib/puppet/application/script.rb +0 -261
  206. data/vendored/puppet/lib/puppet/application/ssl.rb +0 -133
  207. data/vendored/puppet/lib/puppet/application/status.rb +0 -4
  208. data/vendored/puppet/lib/puppet/application_support.rb +0 -61
  209. data/vendored/puppet/lib/puppet/coercion.rb +0 -40
  210. data/vendored/puppet/lib/puppet/compilable_resource_type.rb +0 -15
  211. data/vendored/puppet/lib/puppet/configurer.rb +0 -484
  212. data/vendored/puppet/lib/puppet/configurer/downloader.rb +0 -67
  213. data/vendored/puppet/lib/puppet/configurer/fact_handler.rb +0 -50
  214. data/vendored/puppet/lib/puppet/configurer/plugin_handler.rb +0 -48
  215. data/vendored/puppet/lib/puppet/confine.rb +0 -83
  216. data/vendored/puppet/lib/puppet/confine/any.rb +0 -26
  217. data/vendored/puppet/lib/puppet/confine/exists.rb +0 -19
  218. data/vendored/puppet/lib/puppet/confine/false.rb +0 -19
  219. data/vendored/puppet/lib/puppet/confine/feature.rb +0 -17
  220. data/vendored/puppet/lib/puppet/confine/true.rb +0 -20
  221. data/vendored/puppet/lib/puppet/confine/variable.rb +0 -59
  222. data/vendored/puppet/lib/puppet/confine_collection.rb +0 -50
  223. data/vendored/puppet/lib/puppet/confiner.rb +0 -46
  224. data/vendored/puppet/lib/puppet/context.rb +0 -116
  225. data/vendored/puppet/lib/puppet/context/trusted_information.rb +0 -76
  226. data/vendored/puppet/lib/puppet/daemon.rb +0 -195
  227. data/vendored/puppet/lib/puppet/data_binding.rb +0 -14
  228. data/vendored/puppet/lib/puppet/datatypes.rb +0 -213
  229. data/vendored/puppet/lib/puppet/datatypes/error.rb +0 -21
  230. data/vendored/puppet/lib/puppet/datatypes/impl/error.rb +0 -40
  231. data/vendored/puppet/lib/puppet/defaults.rb +0 -2003
  232. data/vendored/puppet/lib/puppet/environments.rb +0 -505
  233. data/vendored/puppet/lib/puppet/error.rb +0 -117
  234. data/vendored/puppet/lib/puppet/etc.rb +0 -160
  235. data/vendored/puppet/lib/puppet/external/dot.rb +0 -325
  236. data/vendored/puppet/lib/puppet/external/pson/common.rb +0 -374
  237. data/vendored/puppet/lib/puppet/external/pson/pure.rb +0 -15
  238. data/vendored/puppet/lib/puppet/external/pson/pure/generator.rb +0 -395
  239. data/vendored/puppet/lib/puppet/external/pson/pure/parser.rb +0 -307
  240. data/vendored/puppet/lib/puppet/external/pson/version.rb +0 -8
  241. data/vendored/puppet/lib/puppet/face.rb +0 -12
  242. data/vendored/puppet/lib/puppet/face/catalog.rb +0 -130
  243. data/vendored/puppet/lib/puppet/face/catalog/select.rb +0 -49
  244. data/vendored/puppet/lib/puppet/face/config.rb +0 -265
  245. data/vendored/puppet/lib/puppet/face/epp.rb +0 -554
  246. data/vendored/puppet/lib/puppet/face/facts.rb +0 -87
  247. data/vendored/puppet/lib/puppet/face/generate.rb +0 -64
  248. data/vendored/puppet/lib/puppet/face/help.rb +0 -215
  249. data/vendored/puppet/lib/puppet/face/key.rb +0 -16
  250. data/vendored/puppet/lib/puppet/face/man.rb +0 -145
  251. data/vendored/puppet/lib/puppet/face/module.rb +0 -19
  252. data/vendored/puppet/lib/puppet/face/module/build.rb +0 -14
  253. data/vendored/puppet/lib/puppet/face/module/changes.rb +0 -42
  254. data/vendored/puppet/lib/puppet/face/module/generate.rb +0 -14
  255. data/vendored/puppet/lib/puppet/face/module/install.rb +0 -146
  256. data/vendored/puppet/lib/puppet/face/module/list.rb +0 -263
  257. data/vendored/puppet/lib/puppet/face/module/search.rb +0 -98
  258. data/vendored/puppet/lib/puppet/face/module/uninstall.rb +0 -89
  259. data/vendored/puppet/lib/puppet/face/module/upgrade.rb +0 -87
  260. data/vendored/puppet/lib/puppet/face/node.rb +0 -43
  261. data/vendored/puppet/lib/puppet/face/node/clean.rb +0 -100
  262. data/vendored/puppet/lib/puppet/face/parser.rb +0 -187
  263. data/vendored/puppet/lib/puppet/face/plugin.rb +0 -56
  264. data/vendored/puppet/lib/puppet/face/report.rb +0 -54
  265. data/vendored/puppet/lib/puppet/face/resource.rb +0 -53
  266. data/vendored/puppet/lib/puppet/face/status.rb +0 -51
  267. data/vendored/puppet/lib/puppet/feature/base.rb +0 -76
  268. data/vendored/puppet/lib/puppet/feature/bolt.rb +0 -3
  269. data/vendored/puppet/lib/puppet/feature/cfpropertylist.rb +0 -3
  270. data/vendored/puppet/lib/puppet/feature/eventlog.rb +0 -5
  271. data/vendored/puppet/lib/puppet/feature/hiera_eyaml.rb +0 -3
  272. data/vendored/puppet/lib/puppet/feature/hocon.rb +0 -3
  273. data/vendored/puppet/lib/puppet/feature/libuser.rb +0 -8
  274. data/vendored/puppet/lib/puppet/feature/msgpack.rb +0 -3
  275. data/vendored/puppet/lib/puppet/feature/pe_license.rb +0 -4
  276. data/vendored/puppet/lib/puppet/feature/selinux.rb +0 -3
  277. data/vendored/puppet/lib/puppet/feature/ssh.rb +0 -3
  278. data/vendored/puppet/lib/puppet/feature/telnet.rb +0 -9
  279. data/vendored/puppet/lib/puppet/feature/zlib.rb +0 -5
  280. data/vendored/puppet/lib/puppet/file_bucket.rb +0 -4
  281. data/vendored/puppet/lib/puppet/file_bucket/dipper.rb +0 -173
  282. data/vendored/puppet/lib/puppet/file_bucket/file.rb +0 -129
  283. data/vendored/puppet/lib/puppet/file_serving.rb +0 -3
  284. data/vendored/puppet/lib/puppet/file_serving/base.rb +0 -86
  285. data/vendored/puppet/lib/puppet/file_serving/configuration.rb +0 -115
  286. data/vendored/puppet/lib/puppet/file_serving/configuration/parser.rb +0 -137
  287. data/vendored/puppet/lib/puppet/file_serving/content.rb +0 -43
  288. data/vendored/puppet/lib/puppet/file_serving/fileset.rb +0 -174
  289. data/vendored/puppet/lib/puppet/file_serving/http_metadata.rb +0 -46
  290. data/vendored/puppet/lib/puppet/file_serving/metadata.rb +0 -164
  291. data/vendored/puppet/lib/puppet/file_serving/mount.rb +0 -39
  292. data/vendored/puppet/lib/puppet/file_serving/mount/file.rb +0 -121
  293. data/vendored/puppet/lib/puppet/file_serving/mount/locales.rb +0 -35
  294. data/vendored/puppet/lib/puppet/file_serving/mount/modules.rb +0 -24
  295. data/vendored/puppet/lib/puppet/file_serving/mount/pluginfacts.rb +0 -35
  296. data/vendored/puppet/lib/puppet/file_serving/mount/plugins.rb +0 -35
  297. data/vendored/puppet/lib/puppet/file_serving/mount/tasks.rb +0 -21
  298. data/vendored/puppet/lib/puppet/file_serving/terminus_helper.rb +0 -31
  299. data/vendored/puppet/lib/puppet/file_serving/terminus_selector.rb +0 -32
  300. data/vendored/puppet/lib/puppet/file_system.rb +0 -404
  301. data/vendored/puppet/lib/puppet/file_system/file_impl.rb +0 -154
  302. data/vendored/puppet/lib/puppet/file_system/memory_file.rb +0 -66
  303. data/vendored/puppet/lib/puppet/file_system/memory_impl.rb +0 -86
  304. data/vendored/puppet/lib/puppet/file_system/path_pattern.rb +0 -98
  305. data/vendored/puppet/lib/puppet/file_system/posix.rb +0 -46
  306. data/vendored/puppet/lib/puppet/file_system/uniquefile.rb +0 -190
  307. data/vendored/puppet/lib/puppet/file_system/windows.rb +0 -130
  308. data/vendored/puppet/lib/puppet/forge.rb +0 -241
  309. data/vendored/puppet/lib/puppet/forge/cache.rb +0 -60
  310. data/vendored/puppet/lib/puppet/forge/errors.rb +0 -114
  311. data/vendored/puppet/lib/puppet/forge/repository.rb +0 -155
  312. data/vendored/puppet/lib/puppet/functions.rb +0 -863
  313. data/vendored/puppet/lib/puppet/functions/abs.rb +0 -61
  314. data/vendored/puppet/lib/puppet/functions/alert.rb +0 -14
  315. data/vendored/puppet/lib/puppet/functions/all.rb +0 -104
  316. data/vendored/puppet/lib/puppet/functions/annotate.rb +0 -108
  317. data/vendored/puppet/lib/puppet/functions/any.rb +0 -109
  318. data/vendored/puppet/lib/puppet/functions/assert_type.rb +0 -93
  319. data/vendored/puppet/lib/puppet/functions/binary_file.rb +0 -32
  320. data/vendored/puppet/lib/puppet/functions/break.rb +0 -47
  321. data/vendored/puppet/lib/puppet/functions/call.rb +0 -79
  322. data/vendored/puppet/lib/puppet/functions/camelcase.rb +0 -62
  323. data/vendored/puppet/lib/puppet/functions/capitalize.rb +0 -61
  324. data/vendored/puppet/lib/puppet/functions/ceiling.rb +0 -37
  325. data/vendored/puppet/lib/puppet/functions/chomp.rb +0 -57
  326. data/vendored/puppet/lib/puppet/functions/chop.rb +0 -67
  327. data/vendored/puppet/lib/puppet/functions/compare.rb +0 -125
  328. data/vendored/puppet/lib/puppet/functions/contain.rb +0 -55
  329. data/vendored/puppet/lib/puppet/functions/convert_to.rb +0 -34
  330. data/vendored/puppet/lib/puppet/functions/crit.rb +0 -14
  331. data/vendored/puppet/lib/puppet/functions/debug.rb +0 -14
  332. data/vendored/puppet/lib/puppet/functions/defined.rb +0 -159
  333. data/vendored/puppet/lib/puppet/functions/dig.rb +0 -67
  334. data/vendored/puppet/lib/puppet/functions/downcase.rb +0 -89
  335. data/vendored/puppet/lib/puppet/functions/each.rb +0 -169
  336. data/vendored/puppet/lib/puppet/functions/emerg.rb +0 -14
  337. data/vendored/puppet/lib/puppet/functions/empty.rb +0 -77
  338. data/vendored/puppet/lib/puppet/functions/epp.rb +0 -48
  339. data/vendored/puppet/lib/puppet/functions/err.rb +0 -14
  340. data/vendored/puppet/lib/puppet/functions/eyaml_lookup_key.rb +0 -97
  341. data/vendored/puppet/lib/puppet/functions/filter.rb +0 -144
  342. data/vendored/puppet/lib/puppet/functions/find_file.rb +0 -44
  343. data/vendored/puppet/lib/puppet/functions/flatten.rb +0 -64
  344. data/vendored/puppet/lib/puppet/functions/floor.rb +0 -37
  345. data/vendored/puppet/lib/puppet/functions/get.rb +0 -150
  346. data/vendored/puppet/lib/puppet/functions/getvar.rb +0 -87
  347. data/vendored/puppet/lib/puppet/functions/hiera.rb +0 -88
  348. data/vendored/puppet/lib/puppet/functions/hiera_array.rb +0 -81
  349. data/vendored/puppet/lib/puppet/functions/hiera_hash.rb +0 -92
  350. data/vendored/puppet/lib/puppet/functions/hiera_include.rb +0 -104
  351. data/vendored/puppet/lib/puppet/functions/hocon_data.rb +0 -41
  352. data/vendored/puppet/lib/puppet/functions/import.rb +0 -7
  353. data/vendored/puppet/lib/puppet/functions/include.rb +0 -53
  354. data/vendored/puppet/lib/puppet/functions/info.rb +0 -14
  355. data/vendored/puppet/lib/puppet/functions/inline_epp.rb +0 -59
  356. data/vendored/puppet/lib/puppet/functions/join.rb +0 -56
  357. data/vendored/puppet/lib/puppet/functions/json_data.rb +0 -33
  358. data/vendored/puppet/lib/puppet/functions/keys.rb +0 -25
  359. data/vendored/puppet/lib/puppet/functions/length.rb +0 -44
  360. data/vendored/puppet/lib/puppet/functions/lest.rb +0 -55
  361. data/vendored/puppet/lib/puppet/functions/lookup.rb +0 -224
  362. data/vendored/puppet/lib/puppet/functions/lstrip.rb +0 -58
  363. data/vendored/puppet/lib/puppet/functions/map.rb +0 -136
  364. data/vendored/puppet/lib/puppet/functions/match.rb +0 -131
  365. data/vendored/puppet/lib/puppet/functions/max.rb +0 -183
  366. data/vendored/puppet/lib/puppet/functions/min.rb +0 -182
  367. data/vendored/puppet/lib/puppet/functions/module_directory.rb +0 -41
  368. data/vendored/puppet/lib/puppet/functions/new.rb +0 -1006
  369. data/vendored/puppet/lib/puppet/functions/next.rb +0 -16
  370. data/vendored/puppet/lib/puppet/functions/notice.rb +0 -14
  371. data/vendored/puppet/lib/puppet/functions/reduce.rb +0 -164
  372. data/vendored/puppet/lib/puppet/functions/regsubst.rb +0 -82
  373. data/vendored/puppet/lib/puppet/functions/require.rb +0 -77
  374. data/vendored/puppet/lib/puppet/functions/return.rb +0 -15
  375. data/vendored/puppet/lib/puppet/functions/reverse_each.rb +0 -94
  376. data/vendored/puppet/lib/puppet/functions/round.rb +0 -24
  377. data/vendored/puppet/lib/puppet/functions/rstrip.rb +0 -58
  378. data/vendored/puppet/lib/puppet/functions/scanf.rb +0 -44
  379. data/vendored/puppet/lib/puppet/functions/size.rb +0 -15
  380. data/vendored/puppet/lib/puppet/functions/slice.rb +0 -124
  381. data/vendored/puppet/lib/puppet/functions/sort.rb +0 -74
  382. data/vendored/puppet/lib/puppet/functions/split.rb +0 -49
  383. data/vendored/puppet/lib/puppet/functions/step.rb +0 -98
  384. data/vendored/puppet/lib/puppet/functions/strftime.rb +0 -211
  385. data/vendored/puppet/lib/puppet/functions/strip.rb +0 -58
  386. data/vendored/puppet/lib/puppet/functions/then.rb +0 -77
  387. data/vendored/puppet/lib/puppet/functions/tree_each.rb +0 -200
  388. data/vendored/puppet/lib/puppet/functions/type.rb +0 -72
  389. data/vendored/puppet/lib/puppet/functions/unique.rb +0 -132
  390. data/vendored/puppet/lib/puppet/functions/unwrap.rb +0 -44
  391. data/vendored/puppet/lib/puppet/functions/upcase.rb +0 -89
  392. data/vendored/puppet/lib/puppet/functions/values.rb +0 -25
  393. data/vendored/puppet/lib/puppet/functions/versioncmp.rb +0 -36
  394. data/vendored/puppet/lib/puppet/functions/warning.rb +0 -14
  395. data/vendored/puppet/lib/puppet/functions/with.rb +0 -32
  396. data/vendored/puppet/lib/puppet/functions/yaml_data.rb +0 -43
  397. data/vendored/puppet/lib/puppet/generate/models/type/property.rb +0 -70
  398. data/vendored/puppet/lib/puppet/generate/models/type/type.rb +0 -62
  399. data/vendored/puppet/lib/puppet/generate/type.rb +0 -239
  400. data/vendored/puppet/lib/puppet/gettext/config.rb +0 -275
  401. data/vendored/puppet/lib/puppet/gettext/module_translations.rb +0 -42
  402. data/vendored/puppet/lib/puppet/gettext/stubs.rb +0 -11
  403. data/vendored/puppet/lib/puppet/graph.rb +0 -9
  404. data/vendored/puppet/lib/puppet/graph/key.rb +0 -26
  405. data/vendored/puppet/lib/puppet/graph/prioritizer.rb +0 -29
  406. data/vendored/puppet/lib/puppet/graph/rb_tree_map.rb +0 -388
  407. data/vendored/puppet/lib/puppet/graph/relationship_graph.rb +0 -283
  408. data/vendored/puppet/lib/puppet/graph/sequential_prioritizer.rb +0 -31
  409. data/vendored/puppet/lib/puppet/graph/simple_graph.rb +0 -543
  410. data/vendored/puppet/lib/puppet/indirector.rb +0 -61
  411. data/vendored/puppet/lib/puppet/indirector/catalog/compiler.rb +0 -416
  412. data/vendored/puppet/lib/puppet/indirector/catalog/json.rb +0 -35
  413. data/vendored/puppet/lib/puppet/indirector/catalog/msgpack.rb +0 -6
  414. data/vendored/puppet/lib/puppet/indirector/catalog/rest.rb +0 -6
  415. data/vendored/puppet/lib/puppet/indirector/catalog/store_configs.rb +0 -8
  416. data/vendored/puppet/lib/puppet/indirector/catalog/yaml.rb +0 -6
  417. data/vendored/puppet/lib/puppet/indirector/certificate/file.rb +0 -8
  418. data/vendored/puppet/lib/puppet/indirector/certificate/rest.rb +0 -16
  419. data/vendored/puppet/lib/puppet/indirector/certificate_request/file.rb +0 -8
  420. data/vendored/puppet/lib/puppet/indirector/certificate_request/memory.rb +0 -6
  421. data/vendored/puppet/lib/puppet/indirector/certificate_request/rest.rb +0 -10
  422. data/vendored/puppet/lib/puppet/indirector/code.rb +0 -6
  423. data/vendored/puppet/lib/puppet/indirector/data_binding/hiera.rb +0 -7
  424. data/vendored/puppet/lib/puppet/indirector/data_binding/none.rb +0 -8
  425. data/vendored/puppet/lib/puppet/indirector/direct_file_server.rb +0 -17
  426. data/vendored/puppet/lib/puppet/indirector/envelope.rb +0 -11
  427. data/vendored/puppet/lib/puppet/indirector/errors.rb +0 -5
  428. data/vendored/puppet/lib/puppet/indirector/exec.rb +0 -38
  429. data/vendored/puppet/lib/puppet/indirector/face.rb +0 -153
  430. data/vendored/puppet/lib/puppet/indirector/facts/facter.rb +0 -88
  431. data/vendored/puppet/lib/puppet/indirector/facts/memory.rb +0 -9
  432. data/vendored/puppet/lib/puppet/indirector/facts/network_device.rb +0 -27
  433. data/vendored/puppet/lib/puppet/indirector/facts/rest.rb +0 -21
  434. data/vendored/puppet/lib/puppet/indirector/facts/store_configs.rb +0 -11
  435. data/vendored/puppet/lib/puppet/indirector/facts/yaml.rb +0 -84
  436. data/vendored/puppet/lib/puppet/indirector/file_bucket_file/file.rb +0 -262
  437. data/vendored/puppet/lib/puppet/indirector/file_bucket_file/rest.rb +0 -8
  438. data/vendored/puppet/lib/puppet/indirector/file_bucket_file/selector.rb +0 -53
  439. data/vendored/puppet/lib/puppet/indirector/file_content.rb +0 -5
  440. data/vendored/puppet/lib/puppet/indirector/file_content/file.rb +0 -7
  441. data/vendored/puppet/lib/puppet/indirector/file_content/file_server.rb +0 -7
  442. data/vendored/puppet/lib/puppet/indirector/file_content/http.rb +0 -17
  443. data/vendored/puppet/lib/puppet/indirector/file_content/rest.rb +0 -9
  444. data/vendored/puppet/lib/puppet/indirector/file_content/selector.rb +0 -30
  445. data/vendored/puppet/lib/puppet/indirector/file_metadata.rb +0 -5
  446. data/vendored/puppet/lib/puppet/indirector/file_metadata/file.rb +0 -7
  447. data/vendored/puppet/lib/puppet/indirector/file_metadata/file_server.rb +0 -7
  448. data/vendored/puppet/lib/puppet/indirector/file_metadata/http.rb +0 -27
  449. data/vendored/puppet/lib/puppet/indirector/file_metadata/rest.rb +0 -9
  450. data/vendored/puppet/lib/puppet/indirector/file_metadata/selector.rb +0 -30
  451. data/vendored/puppet/lib/puppet/indirector/file_server.rb +0 -59
  452. data/vendored/puppet/lib/puppet/indirector/generic_http.rb +0 -16
  453. data/vendored/puppet/lib/puppet/indirector/hiera.rb +0 -94
  454. data/vendored/puppet/lib/puppet/indirector/indirection.rb +0 -340
  455. data/vendored/puppet/lib/puppet/indirector/json.rb +0 -75
  456. data/vendored/puppet/lib/puppet/indirector/key/file.rb +0 -45
  457. data/vendored/puppet/lib/puppet/indirector/key/memory.rb +0 -6
  458. data/vendored/puppet/lib/puppet/indirector/memory.rb +0 -34
  459. data/vendored/puppet/lib/puppet/indirector/msgpack.rb +0 -83
  460. data/vendored/puppet/lib/puppet/indirector/node/exec.rb +0 -69
  461. data/vendored/puppet/lib/puppet/indirector/node/memory.rb +0 -10
  462. data/vendored/puppet/lib/puppet/indirector/node/msgpack.rb +0 -7
  463. data/vendored/puppet/lib/puppet/indirector/node/plain.rb +0 -21
  464. data/vendored/puppet/lib/puppet/indirector/node/rest.rb +0 -7
  465. data/vendored/puppet/lib/puppet/indirector/node/store_configs.rb +0 -8
  466. data/vendored/puppet/lib/puppet/indirector/node/yaml.rb +0 -7
  467. data/vendored/puppet/lib/puppet/indirector/none.rb +0 -9
  468. data/vendored/puppet/lib/puppet/indirector/plain.rb +0 -9
  469. data/vendored/puppet/lib/puppet/indirector/report/msgpack.rb +0 -11
  470. data/vendored/puppet/lib/puppet/indirector/report/processor.rb +0 -59
  471. data/vendored/puppet/lib/puppet/indirector/report/rest.rb +0 -28
  472. data/vendored/puppet/lib/puppet/indirector/report/yaml.rb +0 -11
  473. data/vendored/puppet/lib/puppet/indirector/request.rb +0 -278
  474. data/vendored/puppet/lib/puppet/indirector/resource/ral.rb +0 -63
  475. data/vendored/puppet/lib/puppet/indirector/resource/store_configs.rb +0 -12
  476. data/vendored/puppet/lib/puppet/indirector/resource/validator.rb +0 -8
  477. data/vendored/puppet/lib/puppet/indirector/rest.rb +0 -301
  478. data/vendored/puppet/lib/puppet/indirector/ssl_file.rb +0 -160
  479. data/vendored/puppet/lib/puppet/indirector/status.rb +0 -3
  480. data/vendored/puppet/lib/puppet/indirector/status/local.rb +0 -12
  481. data/vendored/puppet/lib/puppet/indirector/status/rest.rb +0 -9
  482. data/vendored/puppet/lib/puppet/indirector/store_configs.rb +0 -30
  483. data/vendored/puppet/lib/puppet/indirector/terminus.rb +0 -169
  484. data/vendored/puppet/lib/puppet/indirector/yaml.rb +0 -63
  485. data/vendored/puppet/lib/puppet/info_service.rb +0 -17
  486. data/vendored/puppet/lib/puppet/info_service/class_information_service.rb +0 -110
  487. data/vendored/puppet/lib/puppet/info_service/task_information_service.rb +0 -36
  488. data/vendored/puppet/lib/puppet/interface.rb +0 -237
  489. data/vendored/puppet/lib/puppet/interface/action.rb +0 -399
  490. data/vendored/puppet/lib/puppet/interface/action_builder.rb +0 -166
  491. data/vendored/puppet/lib/puppet/interface/action_manager.rb +0 -97
  492. data/vendored/puppet/lib/puppet/interface/documentation.rb +0 -353
  493. data/vendored/puppet/lib/puppet/interface/face_collection.rb +0 -134
  494. data/vendored/puppet/lib/puppet/interface/option.rb +0 -171
  495. data/vendored/puppet/lib/puppet/interface/option_builder.rb +0 -105
  496. data/vendored/puppet/lib/puppet/interface/option_manager.rb +0 -104
  497. data/vendored/puppet/lib/puppet/loaders.rb +0 -28
  498. data/vendored/puppet/lib/puppet/metatype/manager.rb +0 -197
  499. data/vendored/puppet/lib/puppet/module.rb +0 -441
  500. data/vendored/puppet/lib/puppet/module/task.rb +0 -258
  501. data/vendored/puppet/lib/puppet/module_tool.rb +0 -193
  502. data/vendored/puppet/lib/puppet/module_tool/applications.rb +0 -13
  503. data/vendored/puppet/lib/puppet/module_tool/applications/application.rb +0 -90
  504. data/vendored/puppet/lib/puppet/module_tool/applications/checksummer.rb +0 -62
  505. data/vendored/puppet/lib/puppet/module_tool/applications/installer.rb +0 -354
  506. data/vendored/puppet/lib/puppet/module_tool/applications/searcher.rb +0 -29
  507. data/vendored/puppet/lib/puppet/module_tool/applications/uninstaller.rb +0 -120
  508. data/vendored/puppet/lib/puppet/module_tool/applications/unpacker.rb +0 -100
  509. data/vendored/puppet/lib/puppet/module_tool/applications/upgrader.rb +0 -280
  510. data/vendored/puppet/lib/puppet/module_tool/checksums.rb +0 -49
  511. data/vendored/puppet/lib/puppet/module_tool/contents_description.rb +0 -88
  512. data/vendored/puppet/lib/puppet/module_tool/dependency.rb +0 -41
  513. data/vendored/puppet/lib/puppet/module_tool/errors.rb +0 -11
  514. data/vendored/puppet/lib/puppet/module_tool/errors/base.rb +0 -15
  515. data/vendored/puppet/lib/puppet/module_tool/errors/installer.rb +0 -93
  516. data/vendored/puppet/lib/puppet/module_tool/errors/shared.rb +0 -195
  517. data/vendored/puppet/lib/puppet/module_tool/errors/uninstaller.rb +0 -50
  518. data/vendored/puppet/lib/puppet/module_tool/errors/upgrader.rb +0 -63
  519. data/vendored/puppet/lib/puppet/module_tool/install_directory.rb +0 -45
  520. data/vendored/puppet/lib/puppet/module_tool/installed_modules.rb +0 -96
  521. data/vendored/puppet/lib/puppet/module_tool/local_tarball.rb +0 -90
  522. data/vendored/puppet/lib/puppet/module_tool/metadata.rb +0 -222
  523. data/vendored/puppet/lib/puppet/module_tool/shared_behaviors.rb +0 -180
  524. data/vendored/puppet/lib/puppet/module_tool/tar.rb +0 -18
  525. data/vendored/puppet/lib/puppet/module_tool/tar/gnu.rb +0 -19
  526. data/vendored/puppet/lib/puppet/module_tool/tar/mini.rb +0 -106
  527. data/vendored/puppet/lib/puppet/network.rb +0 -3
  528. data/vendored/puppet/lib/puppet/network/auth_config_parser.rb +0 -90
  529. data/vendored/puppet/lib/puppet/network/authconfig.rb +0 -99
  530. data/vendored/puppet/lib/puppet/network/authorization.rb +0 -41
  531. data/vendored/puppet/lib/puppet/network/authstore.rb +0 -282
  532. data/vendored/puppet/lib/puppet/network/client_request.rb +0 -29
  533. data/vendored/puppet/lib/puppet/network/format.rb +0 -110
  534. data/vendored/puppet/lib/puppet/network/format_handler.rb +0 -108
  535. data/vendored/puppet/lib/puppet/network/format_support.rb +0 -139
  536. data/vendored/puppet/lib/puppet/network/formats.rb +0 -260
  537. data/vendored/puppet/lib/puppet/network/http.rb +0 -28
  538. data/vendored/puppet/lib/puppet/network/http/api.rb +0 -35
  539. data/vendored/puppet/lib/puppet/network/http/api/indirected_routes.rb +0 -286
  540. data/vendored/puppet/lib/puppet/network/http/api/indirection_type.rb +0 -32
  541. data/vendored/puppet/lib/puppet/network/http/api/master.rb +0 -2
  542. data/vendored/puppet/lib/puppet/network/http/api/master/v3.rb +0 -28
  543. data/vendored/puppet/lib/puppet/network/http/api/master/v3/authorization.rb +0 -18
  544. data/vendored/puppet/lib/puppet/network/http/api/master/v3/environment.rb +0 -85
  545. data/vendored/puppet/lib/puppet/network/http/api/master/v3/environments.rb +0 -35
  546. data/vendored/puppet/lib/puppet/network/http/compression.rb +0 -120
  547. data/vendored/puppet/lib/puppet/network/http/connection.rb +0 -319
  548. data/vendored/puppet/lib/puppet/network/http/error.rb +0 -73
  549. data/vendored/puppet/lib/puppet/network/http/factory.rb +0 -55
  550. data/vendored/puppet/lib/puppet/network/http/handler.rb +0 -215
  551. data/vendored/puppet/lib/puppet/network/http/issues.rb +0 -12
  552. data/vendored/puppet/lib/puppet/network/http/memory_response.rb +0 -13
  553. data/vendored/puppet/lib/puppet/network/http/nocache_pool.rb +0 -21
  554. data/vendored/puppet/lib/puppet/network/http/pool.rb +0 -129
  555. data/vendored/puppet/lib/puppet/network/http/request.rb +0 -70
  556. data/vendored/puppet/lib/puppet/network/http/response.rb +0 -23
  557. data/vendored/puppet/lib/puppet/network/http/route.rb +0 -100
  558. data/vendored/puppet/lib/puppet/network/http/session.rb +0 -17
  559. data/vendored/puppet/lib/puppet/network/http/site.rb +0 -39
  560. data/vendored/puppet/lib/puppet/network/http_pool.rb +0 -61
  561. data/vendored/puppet/lib/puppet/network/resolver.rb +0 -158
  562. data/vendored/puppet/lib/puppet/network/rest_controller.rb +0 -2
  563. data/vendored/puppet/lib/puppet/network/rights.rb +0 -209
  564. data/vendored/puppet/lib/puppet/node.rb +0 -281
  565. data/vendored/puppet/lib/puppet/node/environment.rb +0 -575
  566. data/vendored/puppet/lib/puppet/node/facts.rb +0 -147
  567. data/vendored/puppet/lib/puppet/parameter.rb +0 -572
  568. data/vendored/puppet/lib/puppet/parameter/boolean.rb +0 -15
  569. data/vendored/puppet/lib/puppet/parameter/package_options.rb +0 -31
  570. data/vendored/puppet/lib/puppet/parameter/path.rb +0 -57
  571. data/vendored/puppet/lib/puppet/parameter/value.rb +0 -91
  572. data/vendored/puppet/lib/puppet/parameter/value_collection.rb +0 -212
  573. data/vendored/puppet/lib/puppet/parser.rb +0 -20
  574. data/vendored/puppet/lib/puppet/parser/abstract_compiler.rb +0 -36
  575. data/vendored/puppet/lib/puppet/parser/ast.rb +0 -61
  576. data/vendored/puppet/lib/puppet/parser/ast/block_expression.rb +0 -15
  577. data/vendored/puppet/lib/puppet/parser/ast/branch.rb +0 -19
  578. data/vendored/puppet/lib/puppet/parser/ast/hostclass.rb +0 -27
  579. data/vendored/puppet/lib/puppet/parser/ast/leaf.rb +0 -80
  580. data/vendored/puppet/lib/puppet/parser/ast/node.rb +0 -17
  581. data/vendored/puppet/lib/puppet/parser/ast/pops_bridge.rb +0 -291
  582. data/vendored/puppet/lib/puppet/parser/ast/resource.rb +0 -66
  583. data/vendored/puppet/lib/puppet/parser/ast/resource_instance.rb +0 -10
  584. data/vendored/puppet/lib/puppet/parser/ast/resourceparam.rb +0 -31
  585. data/vendored/puppet/lib/puppet/parser/ast/top_level_construct.rb +0 -4
  586. data/vendored/puppet/lib/puppet/parser/catalog_compiler.rb +0 -56
  587. data/vendored/puppet/lib/puppet/parser/compiler.rb +0 -798
  588. data/vendored/puppet/lib/puppet/parser/compiler/catalog_validator.rb +0 -33
  589. data/vendored/puppet/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -64
  590. data/vendored/puppet/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +0 -64
  591. data/vendored/puppet/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -20
  592. data/vendored/puppet/lib/puppet/parser/e4_parser_adapter.rb +0 -60
  593. data/vendored/puppet/lib/puppet/parser/environment_compiler.rb +0 -199
  594. data/vendored/puppet/lib/puppet/parser/files.rb +0 -92
  595. data/vendored/puppet/lib/puppet/parser/functions.rb +0 -311
  596. data/vendored/puppet/lib/puppet/parser/functions/assert_type.rb +0 -60
  597. data/vendored/puppet/lib/puppet/parser/functions/binary_file.rb +0 -24
  598. data/vendored/puppet/lib/puppet/parser/functions/break.rb +0 -39
  599. data/vendored/puppet/lib/puppet/parser/functions/contain.rb +0 -30
  600. data/vendored/puppet/lib/puppet/parser/functions/create_resources.rb +0 -106
  601. data/vendored/puppet/lib/puppet/parser/functions/defined.rb +0 -107
  602. data/vendored/puppet/lib/puppet/parser/functions/dig.rb +0 -38
  603. data/vendored/puppet/lib/puppet/parser/functions/digest.rb +0 -5
  604. data/vendored/puppet/lib/puppet/parser/functions/each.rb +0 -104
  605. data/vendored/puppet/lib/puppet/parser/functions/epp.rb +0 -39
  606. data/vendored/puppet/lib/puppet/parser/functions/fail.rb +0 -4
  607. data/vendored/puppet/lib/puppet/parser/functions/file.rb +0 -33
  608. data/vendored/puppet/lib/puppet/parser/functions/filter.rb +0 -78
  609. data/vendored/puppet/lib/puppet/parser/functions/find_file.rb +0 -28
  610. data/vendored/puppet/lib/puppet/parser/functions/fqdn_rand.rb +0 -36
  611. data/vendored/puppet/lib/puppet/parser/functions/generate.rb +0 -36
  612. data/vendored/puppet/lib/puppet/parser/functions/hiera.rb +0 -103
  613. data/vendored/puppet/lib/puppet/parser/functions/hiera_array.rb +0 -92
  614. data/vendored/puppet/lib/puppet/parser/functions/hiera_hash.rb +0 -102
  615. data/vendored/puppet/lib/puppet/parser/functions/hiera_include.rb +0 -101
  616. data/vendored/puppet/lib/puppet/parser/functions/include.rb +0 -34
  617. data/vendored/puppet/lib/puppet/parser/functions/inline_epp.rb +0 -51
  618. data/vendored/puppet/lib/puppet/parser/functions/inline_template.rb +0 -26
  619. data/vendored/puppet/lib/puppet/parser/functions/lest.rb +0 -49
  620. data/vendored/puppet/lib/puppet/parser/functions/lookup.rb +0 -132
  621. data/vendored/puppet/lib/puppet/parser/functions/map.rb +0 -76
  622. data/vendored/puppet/lib/puppet/parser/functions/match.rb +0 -43
  623. data/vendored/puppet/lib/puppet/parser/functions/md5.rb +0 -5
  624. data/vendored/puppet/lib/puppet/parser/functions/new.rb +0 -991
  625. data/vendored/puppet/lib/puppet/parser/functions/next.rb +0 -38
  626. data/vendored/puppet/lib/puppet/parser/functions/realize.rb +0 -20
  627. data/vendored/puppet/lib/puppet/parser/functions/reduce.rb +0 -137
  628. data/vendored/puppet/lib/puppet/parser/functions/regsubst.rb +0 -62
  629. data/vendored/puppet/lib/puppet/parser/functions/require.rb +0 -40
  630. data/vendored/puppet/lib/puppet/parser/functions/return.rb +0 -92
  631. data/vendored/puppet/lib/puppet/parser/functions/reverse_each.rb +0 -83
  632. data/vendored/puppet/lib/puppet/parser/functions/scanf.rb +0 -38
  633. data/vendored/puppet/lib/puppet/parser/functions/sha1.rb +0 -5
  634. data/vendored/puppet/lib/puppet/parser/functions/sha256.rb +0 -5
  635. data/vendored/puppet/lib/puppet/parser/functions/shellquote.rb +0 -61
  636. data/vendored/puppet/lib/puppet/parser/functions/slice.rb +0 -39
  637. data/vendored/puppet/lib/puppet/parser/functions/split.rb +0 -28
  638. data/vendored/puppet/lib/puppet/parser/functions/sprintf.rb +0 -61
  639. data/vendored/puppet/lib/puppet/parser/functions/step.rb +0 -84
  640. data/vendored/puppet/lib/puppet/parser/functions/strftime.rb +0 -185
  641. data/vendored/puppet/lib/puppet/parser/functions/tag.rb +0 -12
  642. data/vendored/puppet/lib/puppet/parser/functions/tagged.rb +0 -21
  643. data/vendored/puppet/lib/puppet/parser/functions/template.rb +0 -39
  644. data/vendored/puppet/lib/puppet/parser/functions/then.rb +0 -73
  645. data/vendored/puppet/lib/puppet/parser/functions/type.rb +0 -53
  646. data/vendored/puppet/lib/puppet/parser/functions/versioncmp.rb +0 -30
  647. data/vendored/puppet/lib/puppet/parser/functions/with.rb +0 -28
  648. data/vendored/puppet/lib/puppet/parser/parser_factory.rb +0 -30
  649. data/vendored/puppet/lib/puppet/parser/relationship.rb +0 -83
  650. data/vendored/puppet/lib/puppet/parser/resource.rb +0 -416
  651. data/vendored/puppet/lib/puppet/parser/resource/param.rb +0 -29
  652. data/vendored/puppet/lib/puppet/parser/scope.rb +0 -1123
  653. data/vendored/puppet/lib/puppet/parser/script_compiler.rb +0 -123
  654. data/vendored/puppet/lib/puppet/parser/templatewrapper.rb +0 -102
  655. data/vendored/puppet/lib/puppet/parser/type_loader.rb +0 -149
  656. data/vendored/puppet/lib/puppet/plugins.rb +0 -9
  657. data/vendored/puppet/lib/puppet/plugins/configuration.rb +0 -25
  658. data/vendored/puppet/lib/puppet/plugins/syntax_checkers.rb +0 -98
  659. data/vendored/puppet/lib/puppet/pops.rb +0 -121
  660. data/vendored/puppet/lib/puppet/pops/adaptable.rb +0 -206
  661. data/vendored/puppet/lib/puppet/pops/adapters.rb +0 -152
  662. data/vendored/puppet/lib/puppet/pops/evaluator/access_operator.rb +0 -719
  663. data/vendored/puppet/lib/puppet/pops/evaluator/callable_signature.rb +0 -107
  664. data/vendored/puppet/lib/puppet/pops/evaluator/closure.rb +0 -373
  665. data/vendored/puppet/lib/puppet/pops/evaluator/collector_transformer.rb +0 -234
  666. data/vendored/puppet/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +0 -86
  667. data/vendored/puppet/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +0 -29
  668. data/vendored/puppet/lib/puppet/pops/evaluator/collectors/exported_collector.rb +0 -69
  669. data/vendored/puppet/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +0 -37
  670. data/vendored/puppet/lib/puppet/pops/evaluator/compare_operator.rb +0 -254
  671. data/vendored/puppet/lib/puppet/pops/evaluator/deferred_resolver.rb +0 -130
  672. data/vendored/puppet/lib/puppet/pops/evaluator/epp_evaluator.rb +0 -120
  673. data/vendored/puppet/lib/puppet/pops/evaluator/evaluator_impl.rb +0 -1299
  674. data/vendored/puppet/lib/puppet/pops/evaluator/external_syntax_support.rb +0 -45
  675. data/vendored/puppet/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +0 -82
  676. data/vendored/puppet/lib/puppet/pops/evaluator/literal_evaluator.rb +0 -87
  677. data/vendored/puppet/lib/puppet/pops/evaluator/puppet_proc.rb +0 -69
  678. data/vendored/puppet/lib/puppet/pops/evaluator/relationship_operator.rb +0 -185
  679. data/vendored/puppet/lib/puppet/pops/evaluator/runtime3_converter.rb +0 -221
  680. data/vendored/puppet/lib/puppet/pops/evaluator/runtime3_resource_support.rb +0 -117
  681. data/vendored/puppet/lib/puppet/pops/evaluator/runtime3_support.rb +0 -534
  682. data/vendored/puppet/lib/puppet/pops/functions/dispatch.rb +0 -107
  683. data/vendored/puppet/lib/puppet/pops/functions/dispatcher.rb +0 -71
  684. data/vendored/puppet/lib/puppet/pops/functions/function.rb +0 -141
  685. data/vendored/puppet/lib/puppet/pops/issue_reporter.rb +0 -137
  686. data/vendored/puppet/lib/puppet/pops/issues.rb +0 -921
  687. data/vendored/puppet/lib/puppet/pops/label_provider.rb +0 -90
  688. data/vendored/puppet/lib/puppet/pops/loader/base_loader.rb +0 -166
  689. data/vendored/puppet/lib/puppet/pops/loader/dependency_loader.rb +0 -92
  690. data/vendored/puppet/lib/puppet/pops/loader/gem_support.rb +0 -49
  691. data/vendored/puppet/lib/puppet/pops/loader/loader.rb +0 -209
  692. data/vendored/puppet/lib/puppet/pops/loader/loader_paths.rb +0 -377
  693. data/vendored/puppet/lib/puppet/pops/loader/module_loaders.rb +0 -549
  694. data/vendored/puppet/lib/puppet/pops/loader/null_loader.rb +0 -60
  695. data/vendored/puppet/lib/puppet/pops/loader/predefined_loader.rb +0 -24
  696. data/vendored/puppet/lib/puppet/pops/loader/puppet_function_instantiator.rb +0 -84
  697. data/vendored/puppet/lib/puppet/pops/loader/puppet_plan_instantiator.rb +0 -84
  698. data/vendored/puppet/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +0 -79
  699. data/vendored/puppet/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +0 -39
  700. data/vendored/puppet/lib/puppet/pops/loader/ruby_function_instantiator.rb +0 -45
  701. data/vendored/puppet/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +0 -62
  702. data/vendored/puppet/lib/puppet/pops/loader/runtime3_type_loader.rb +0 -101
  703. data/vendored/puppet/lib/puppet/pops/loader/simple_environment_loader.rb +0 -20
  704. data/vendored/puppet/lib/puppet/pops/loader/static_loader.rb +0 -127
  705. data/vendored/puppet/lib/puppet/pops/loader/task_instantiator.rb +0 -40
  706. data/vendored/puppet/lib/puppet/pops/loader/type_definition_instantiator.rb +0 -100
  707. data/vendored/puppet/lib/puppet/pops/loader/typed_name.rb +0 -54
  708. data/vendored/puppet/lib/puppet/pops/loader/uri_helper.rb +0 -22
  709. data/vendored/puppet/lib/puppet/pops/loaders.rb +0 -533
  710. data/vendored/puppet/lib/puppet/pops/lookup.rb +0 -96
  711. data/vendored/puppet/lib/puppet/pops/lookup/configured_data_provider.rb +0 -93
  712. data/vendored/puppet/lib/puppet/pops/lookup/context.rb +0 -200
  713. data/vendored/puppet/lib/puppet/pops/lookup/data_adapter.rb +0 -27
  714. data/vendored/puppet/lib/puppet/pops/lookup/data_dig_function_provider.rb +0 -145
  715. data/vendored/puppet/lib/puppet/pops/lookup/data_hash_function_provider.rb +0 -126
  716. data/vendored/puppet/lib/puppet/pops/lookup/data_provider.rb +0 -92
  717. data/vendored/puppet/lib/puppet/pops/lookup/environment_data_provider.rb +0 -35
  718. data/vendored/puppet/lib/puppet/pops/lookup/explainer.rb +0 -595
  719. data/vendored/puppet/lib/puppet/pops/lookup/function_provider.rb +0 -110
  720. data/vendored/puppet/lib/puppet/pops/lookup/global_data_provider.rb +0 -75
  721. data/vendored/puppet/lib/puppet/pops/lookup/hiera_config.rb +0 -761
  722. data/vendored/puppet/lib/puppet/pops/lookup/interpolation.rb +0 -154
  723. data/vendored/puppet/lib/puppet/pops/lookup/invocation.rb +0 -261
  724. data/vendored/puppet/lib/puppet/pops/lookup/location_resolver.rb +0 -99
  725. data/vendored/puppet/lib/puppet/pops/lookup/lookup_adapter.rb +0 -520
  726. data/vendored/puppet/lib/puppet/pops/lookup/lookup_key.rb +0 -99
  727. data/vendored/puppet/lib/puppet/pops/lookup/lookup_key_function_provider.rb +0 -92
  728. data/vendored/puppet/lib/puppet/pops/lookup/module_data_provider.rb +0 -89
  729. data/vendored/puppet/lib/puppet/pops/lookup/sub_lookup.rb +0 -92
  730. data/vendored/puppet/lib/puppet/pops/merge_strategy.rb +0 -437
  731. data/vendored/puppet/lib/puppet/pops/migration/migration_checker.rb +0 -58
  732. data/vendored/puppet/lib/puppet/pops/model/ast.rb +0 -4964
  733. data/vendored/puppet/lib/puppet/pops/model/ast_transformer.rb +0 -131
  734. data/vendored/puppet/lib/puppet/pops/model/factory.rb +0 -1163
  735. data/vendored/puppet/lib/puppet/pops/model/model_label_provider.rb +0 -139
  736. data/vendored/puppet/lib/puppet/pops/model/model_tree_dumper.rb +0 -467
  737. data/vendored/puppet/lib/puppet/pops/model/pn_transformer.rb +0 -400
  738. data/vendored/puppet/lib/puppet/pops/model/tree_dumper.rb +0 -59
  739. data/vendored/puppet/lib/puppet/pops/parser/code_merger.rb +0 -29
  740. data/vendored/puppet/lib/puppet/pops/parser/eparser.rb +0 -3361
  741. data/vendored/puppet/lib/puppet/pops/parser/epp_parser.rb +0 -51
  742. data/vendored/puppet/lib/puppet/pops/parser/epp_support.rb +0 -264
  743. data/vendored/puppet/lib/puppet/pops/parser/evaluating_parser.rb +0 -165
  744. data/vendored/puppet/lib/puppet/pops/parser/heredoc_support.rb +0 -143
  745. data/vendored/puppet/lib/puppet/pops/parser/interpolation_support.rb +0 -244
  746. data/vendored/puppet/lib/puppet/pops/parser/lexer2.rb +0 -772
  747. data/vendored/puppet/lib/puppet/pops/parser/lexer_support.rb +0 -221
  748. data/vendored/puppet/lib/puppet/pops/parser/locatable.rb +0 -23
  749. data/vendored/puppet/lib/puppet/pops/parser/locator.rb +0 -336
  750. data/vendored/puppet/lib/puppet/pops/parser/parser_support.rb +0 -247
  751. data/vendored/puppet/lib/puppet/pops/parser/pn_parser.rb +0 -316
  752. data/vendored/puppet/lib/puppet/pops/parser/slurp_support.rb +0 -117
  753. data/vendored/puppet/lib/puppet/pops/patterns.rb +0 -60
  754. data/vendored/puppet/lib/puppet/pops/pcore.rb +0 -135
  755. data/vendored/puppet/lib/puppet/pops/pn.rb +0 -236
  756. data/vendored/puppet/lib/puppet/pops/puppet_stack.rb +0 -57
  757. data/vendored/puppet/lib/puppet/pops/resource/param.rb +0 -55
  758. data/vendored/puppet/lib/puppet/pops/resource/resource_type_impl.rb +0 -314
  759. data/vendored/puppet/lib/puppet/pops/semantic_error.rb +0 -29
  760. data/vendored/puppet/lib/puppet/pops/serialization.rb +0 -43
  761. data/vendored/puppet/lib/puppet/pops/serialization/abstract_reader.rb +0 -180
  762. data/vendored/puppet/lib/puppet/pops/serialization/abstract_writer.rb +0 -222
  763. data/vendored/puppet/lib/puppet/pops/serialization/deserializer.rb +0 -80
  764. data/vendored/puppet/lib/puppet/pops/serialization/extension.rb +0 -158
  765. data/vendored/puppet/lib/puppet/pops/serialization/from_data_converter.rb +0 -224
  766. data/vendored/puppet/lib/puppet/pops/serialization/instance_reader.rb +0 -19
  767. data/vendored/puppet/lib/puppet/pops/serialization/instance_writer.rb +0 -14
  768. data/vendored/puppet/lib/puppet/pops/serialization/json.rb +0 -297
  769. data/vendored/puppet/lib/puppet/pops/serialization/json_path.rb +0 -127
  770. data/vendored/puppet/lib/puppet/pops/serialization/object.rb +0 -70
  771. data/vendored/puppet/lib/puppet/pops/serialization/serializer.rb +0 -140
  772. data/vendored/puppet/lib/puppet/pops/serialization/time_factory.rb +0 -67
  773. data/vendored/puppet/lib/puppet/pops/serialization/to_data_converter.rb +0 -313
  774. data/vendored/puppet/lib/puppet/pops/serialization/to_stringified_converter.rb +0 -226
  775. data/vendored/puppet/lib/puppet/pops/time/timespan.rb +0 -718
  776. data/vendored/puppet/lib/puppet/pops/time/timestamp.rb +0 -160
  777. data/vendored/puppet/lib/puppet/pops/types/annotatable.rb +0 -36
  778. data/vendored/puppet/lib/puppet/pops/types/annotation.rb +0 -71
  779. data/vendored/puppet/lib/puppet/pops/types/class_loader.rb +0 -132
  780. data/vendored/puppet/lib/puppet/pops/types/enumeration.rb +0 -16
  781. data/vendored/puppet/lib/puppet/pops/types/implementation_registry.rb +0 -134
  782. data/vendored/puppet/lib/puppet/pops/types/iterable.rb +0 -339
  783. data/vendored/puppet/lib/puppet/pops/types/p_binary_type.rb +0 -232
  784. data/vendored/puppet/lib/puppet/pops/types/p_init_type.rb +0 -238
  785. data/vendored/puppet/lib/puppet/pops/types/p_meta_type.rb +0 -94
  786. data/vendored/puppet/lib/puppet/pops/types/p_object_type.rb +0 -1117
  787. data/vendored/puppet/lib/puppet/pops/types/p_object_type_extension.rb +0 -218
  788. data/vendored/puppet/lib/puppet/pops/types/p_runtime_type.rb +0 -115
  789. data/vendored/puppet/lib/puppet/pops/types/p_sem_ver_range_type.rb +0 -190
  790. data/vendored/puppet/lib/puppet/pops/types/p_sem_ver_type.rb +0 -149
  791. data/vendored/puppet/lib/puppet/pops/types/p_sensitive_type.rb +0 -73
  792. data/vendored/puppet/lib/puppet/pops/types/p_timespan_type.rb +0 -192
  793. data/vendored/puppet/lib/puppet/pops/types/p_timestamp_type.rb +0 -73
  794. data/vendored/puppet/lib/puppet/pops/types/p_type_set_type.rb +0 -383
  795. data/vendored/puppet/lib/puppet/pops/types/p_uri_type.rb +0 -190
  796. data/vendored/puppet/lib/puppet/pops/types/puppet_object.rb +0 -40
  797. data/vendored/puppet/lib/puppet/pops/types/recursion_guard.rb +0 -136
  798. data/vendored/puppet/lib/puppet/pops/types/ruby_generator.rb +0 -472
  799. data/vendored/puppet/lib/puppet/pops/types/ruby_method.rb +0 -31
  800. data/vendored/puppet/lib/puppet/pops/types/string_converter.rb +0 -1123
  801. data/vendored/puppet/lib/puppet/pops/types/tree_iterators.rb +0 -254
  802. data/vendored/puppet/lib/puppet/pops/types/type_acceptor.rb +0 -25
  803. data/vendored/puppet/lib/puppet/pops/types/type_asserter.rb +0 -47
  804. data/vendored/puppet/lib/puppet/pops/types/type_assertion_error.rb +0 -27
  805. data/vendored/puppet/lib/puppet/pops/types/type_calculator.rb +0 -809
  806. data/vendored/puppet/lib/puppet/pops/types/type_conversion_error.rb +0 -15
  807. data/vendored/puppet/lib/puppet/pops/types/type_factory.rb +0 -631
  808. data/vendored/puppet/lib/puppet/pops/types/type_formatter.rb +0 -802
  809. data/vendored/puppet/lib/puppet/pops/types/type_mismatch_describer.rb +0 -1075
  810. data/vendored/puppet/lib/puppet/pops/types/type_parser.rb +0 -685
  811. data/vendored/puppet/lib/puppet/pops/types/type_set_reference.rb +0 -59
  812. data/vendored/puppet/lib/puppet/pops/types/type_with_members.rb +0 -43
  813. data/vendored/puppet/lib/puppet/pops/types/types.rb +0 -3631
  814. data/vendored/puppet/lib/puppet/pops/utils.rb +0 -119
  815. data/vendored/puppet/lib/puppet/pops/validation.rb +0 -466
  816. data/vendored/puppet/lib/puppet/pops/validation/checker4_0.rb +0 -1127
  817. data/vendored/puppet/lib/puppet/pops/validation/tasks_checker.rb +0 -101
  818. data/vendored/puppet/lib/puppet/pops/validation/validator_factory_4_0.rb +0 -43
  819. data/vendored/puppet/lib/puppet/pops/visitable.rb +0 -6
  820. data/vendored/puppet/lib/puppet/pops/visitor.rb +0 -116
  821. data/vendored/puppet/lib/puppet/property.rb +0 -608
  822. data/vendored/puppet/lib/puppet/property/boolean.rb +0 -7
  823. data/vendored/puppet/lib/puppet/property/ensure.rb +0 -105
  824. data/vendored/puppet/lib/puppet/property/keyvalue.rb +0 -157
  825. data/vendored/puppet/lib/puppet/property/list.rb +0 -69
  826. data/vendored/puppet/lib/puppet/property/ordered_list.rb +0 -29
  827. data/vendored/puppet/lib/puppet/provider.rb +0 -624
  828. data/vendored/puppet/lib/puppet/provider/aix_object.rb +0 -483
  829. data/vendored/puppet/lib/puppet/provider/command.rb +0 -25
  830. data/vendored/puppet/lib/puppet/provider/confine.rb +0 -6
  831. data/vendored/puppet/lib/puppet/provider/exec.rb +0 -96
  832. data/vendored/puppet/lib/puppet/provider/exec/posix.rb +0 -48
  833. data/vendored/puppet/lib/puppet/provider/exec/shell.rb +0 -25
  834. data/vendored/puppet/lib/puppet/provider/exec/windows.rb +0 -55
  835. data/vendored/puppet/lib/puppet/provider/file/posix.rb +0 -136
  836. data/vendored/puppet/lib/puppet/provider/file/windows.rb +0 -104
  837. data/vendored/puppet/lib/puppet/provider/group/aix.rb +0 -82
  838. data/vendored/puppet/lib/puppet/provider/group/directoryservice.rb +0 -22
  839. data/vendored/puppet/lib/puppet/provider/group/groupadd.rb +0 -111
  840. data/vendored/puppet/lib/puppet/provider/group/ldap.rb +0 -45
  841. data/vendored/puppet/lib/puppet/provider/group/pw.rb +0 -49
  842. data/vendored/puppet/lib/puppet/provider/group/windows_adsi.rb +0 -106
  843. data/vendored/puppet/lib/puppet/provider/ldap.rb +0 -137
  844. data/vendored/puppet/lib/puppet/provider/nameservice.rb +0 -325
  845. data/vendored/puppet/lib/puppet/provider/nameservice/directoryservice.rb +0 -508
  846. data/vendored/puppet/lib/puppet/provider/nameservice/objectadd.rb +0 -22
  847. data/vendored/puppet/lib/puppet/provider/nameservice/pw.rb +0 -21
  848. data/vendored/puppet/lib/puppet/provider/network_device.rb +0 -72
  849. data/vendored/puppet/lib/puppet/provider/package.rb +0 -56
  850. data/vendored/puppet/lib/puppet/provider/package/aix.rb +0 -152
  851. data/vendored/puppet/lib/puppet/provider/package/appdmg.rb +0 -109
  852. data/vendored/puppet/lib/puppet/provider/package/apple.rb +0 -46
  853. data/vendored/puppet/lib/puppet/provider/package/apt.rb +0 -116
  854. data/vendored/puppet/lib/puppet/provider/package/aptitude.rb +0 -29
  855. data/vendored/puppet/lib/puppet/provider/package/aptrpm.rb +0 -83
  856. data/vendored/puppet/lib/puppet/provider/package/blastwave.rb +0 -111
  857. data/vendored/puppet/lib/puppet/provider/package/dnf.rb +0 -47
  858. data/vendored/puppet/lib/puppet/provider/package/dpkg.rb +0 -165
  859. data/vendored/puppet/lib/puppet/provider/package/fink.rb +0 -79
  860. data/vendored/puppet/lib/puppet/provider/package/freebsd.rb +0 -47
  861. data/vendored/puppet/lib/puppet/provider/package/gem.rb +0 -175
  862. data/vendored/puppet/lib/puppet/provider/package/hpux.rb +0 -44
  863. data/vendored/puppet/lib/puppet/provider/package/macports.rb +0 -107
  864. data/vendored/puppet/lib/puppet/provider/package/nim.rb +0 -282
  865. data/vendored/puppet/lib/puppet/provider/package/openbsd.rb +0 -242
  866. data/vendored/puppet/lib/puppet/provider/package/opkg.rb +0 -81
  867. data/vendored/puppet/lib/puppet/provider/package/pacman.rb +0 -267
  868. data/vendored/puppet/lib/puppet/provider/package/pip.rb +0 -188
  869. data/vendored/puppet/lib/puppet/provider/package/pip3.rb +0 -20
  870. data/vendored/puppet/lib/puppet/provider/package/pkg.rb +0 -255
  871. data/vendored/puppet/lib/puppet/provider/package/pkgdmg.rb +0 -151
  872. data/vendored/puppet/lib/puppet/provider/package/pkgin.rb +0 -87
  873. data/vendored/puppet/lib/puppet/provider/package/pkgng.rb +0 -143
  874. data/vendored/puppet/lib/puppet/provider/package/pkgutil.rb +0 -186
  875. data/vendored/puppet/lib/puppet/provider/package/portage.rb +0 -300
  876. data/vendored/puppet/lib/puppet/provider/package/ports.rb +0 -91
  877. data/vendored/puppet/lib/puppet/provider/package/portupgrade.rb +0 -239
  878. data/vendored/puppet/lib/puppet/provider/package/puppet_gem.rb +0 -17
  879. data/vendored/puppet/lib/puppet/provider/package/rpm.rb +0 -405
  880. data/vendored/puppet/lib/puppet/provider/package/rug.rb +0 -51
  881. data/vendored/puppet/lib/puppet/provider/package/sun.rb +0 -133
  882. data/vendored/puppet/lib/puppet/provider/package/sunfreeware.rb +0 -9
  883. data/vendored/puppet/lib/puppet/provider/package/tdnf.rb +0 -28
  884. data/vendored/puppet/lib/puppet/provider/package/up2date.rb +0 -40
  885. data/vendored/puppet/lib/puppet/provider/package/urpmi.rb +0 -55
  886. data/vendored/puppet/lib/puppet/provider/package/windows.rb +0 -113
  887. data/vendored/puppet/lib/puppet/provider/package/windows/exe_package.rb +0 -71
  888. data/vendored/puppet/lib/puppet/provider/package/windows/msi_package.rb +0 -62
  889. data/vendored/puppet/lib/puppet/provider/package/windows/package.rb +0 -100
  890. data/vendored/puppet/lib/puppet/provider/package/yum.rb +0 -293
  891. data/vendored/puppet/lib/puppet/provider/package/zypper.rb +0 -145
  892. data/vendored/puppet/lib/puppet/provider/parsedfile.rb +0 -459
  893. data/vendored/puppet/lib/puppet/provider/service/base.rb +0 -134
  894. data/vendored/puppet/lib/puppet/provider/service/bsd.rb +0 -51
  895. data/vendored/puppet/lib/puppet/provider/service/daemontools.rb +0 -194
  896. data/vendored/puppet/lib/puppet/provider/service/debian.rb +0 -75
  897. data/vendored/puppet/lib/puppet/provider/service/freebsd.rb +0 -143
  898. data/vendored/puppet/lib/puppet/provider/service/gentoo.rb +0 -45
  899. data/vendored/puppet/lib/puppet/provider/service/init.rb +0 -194
  900. data/vendored/puppet/lib/puppet/provider/service/launchd.rb +0 -345
  901. data/vendored/puppet/lib/puppet/provider/service/openbsd.rb +0 -100
  902. data/vendored/puppet/lib/puppet/provider/service/openrc.rb +0 -71
  903. data/vendored/puppet/lib/puppet/provider/service/openwrt.rb +0 -36
  904. data/vendored/puppet/lib/puppet/provider/service/rcng.rb +0 -51
  905. data/vendored/puppet/lib/puppet/provider/service/redhat.rb +0 -72
  906. data/vendored/puppet/lib/puppet/provider/service/runit.rb +0 -112
  907. data/vendored/puppet/lib/puppet/provider/service/service.rb +0 -42
  908. data/vendored/puppet/lib/puppet/provider/service/smf.rb +0 -169
  909. data/vendored/puppet/lib/puppet/provider/service/src.rb +0 -147
  910. data/vendored/puppet/lib/puppet/provider/service/systemd.rb +0 -189
  911. data/vendored/puppet/lib/puppet/provider/service/upstart.rb +0 -369
  912. data/vendored/puppet/lib/puppet/provider/service/windows.rb +0 -103
  913. data/vendored/puppet/lib/puppet/provider/user/aix.rb +0 -271
  914. data/vendored/puppet/lib/puppet/provider/user/directoryservice.rb +0 -632
  915. data/vendored/puppet/lib/puppet/provider/user/hpux.rb +0 -95
  916. data/vendored/puppet/lib/puppet/provider/user/ldap.rb +0 -128
  917. data/vendored/puppet/lib/puppet/provider/user/openbsd.rb +0 -76
  918. data/vendored/puppet/lib/puppet/provider/user/pw.rb +0 -98
  919. data/vendored/puppet/lib/puppet/provider/user/user_role_add.rb +0 -233
  920. data/vendored/puppet/lib/puppet/provider/user/useradd.rb +0 -265
  921. data/vendored/puppet/lib/puppet/provider/user/windows_adsi.rb +0 -148
  922. data/vendored/puppet/lib/puppet/reference/configuration.rb +0 -92
  923. data/vendored/puppet/lib/puppet/reference/function.rb +0 -17
  924. data/vendored/puppet/lib/puppet/reference/indirection.rb +0 -71
  925. data/vendored/puppet/lib/puppet/reference/metaparameter.rb +0 -35
  926. data/vendored/puppet/lib/puppet/reference/providers.rb +0 -118
  927. data/vendored/puppet/lib/puppet/reference/report.rb +0 -20
  928. data/vendored/puppet/lib/puppet/reference/type.rb +0 -113
  929. data/vendored/puppet/lib/puppet/relationship.rb +0 -89
  930. data/vendored/puppet/lib/puppet/reports.rb +0 -93
  931. data/vendored/puppet/lib/puppet/reports/http.rb +0 -37
  932. data/vendored/puppet/lib/puppet/reports/log.rb +0 -14
  933. data/vendored/puppet/lib/puppet/reports/store.rb +0 -68
  934. data/vendored/puppet/lib/puppet/resource.rb +0 -687
  935. data/vendored/puppet/lib/puppet/resource/capability_finder.rb +0 -150
  936. data/vendored/puppet/lib/puppet/resource/catalog.rb +0 -675
  937. data/vendored/puppet/lib/puppet/resource/status.rb +0 -229
  938. data/vendored/puppet/lib/puppet/resource/type.rb +0 -528
  939. data/vendored/puppet/lib/puppet/resource/type_collection.rb +0 -263
  940. data/vendored/puppet/lib/puppet/rest/client.rb +0 -83
  941. data/vendored/puppet/lib/puppet/rest/errors.rb +0 -14
  942. data/vendored/puppet/lib/puppet/rest/response.rb +0 -34
  943. data/vendored/puppet/lib/puppet/rest/route.rb +0 -84
  944. data/vendored/puppet/lib/puppet/rest/routes.rb +0 -154
  945. data/vendored/puppet/lib/puppet/rest/ssl_context.rb +0 -13
  946. data/vendored/puppet/lib/puppet/scheduler.rb +0 -16
  947. data/vendored/puppet/lib/puppet/scheduler/job.rb +0 -53
  948. data/vendored/puppet/lib/puppet/scheduler/scheduler.rb +0 -44
  949. data/vendored/puppet/lib/puppet/scheduler/splay_job.rb +0 -32
  950. data/vendored/puppet/lib/puppet/scheduler/timer.rb +0 -13
  951. data/vendored/puppet/lib/puppet/settings.rb +0 -1485
  952. data/vendored/puppet/lib/puppet/settings/array_setting.rb +0 -17
  953. data/vendored/puppet/lib/puppet/settings/autosign_setting.rb +0 -22
  954. data/vendored/puppet/lib/puppet/settings/base_setting.rb +0 -197
  955. data/vendored/puppet/lib/puppet/settings/boolean_setting.rb +0 -32
  956. data/vendored/puppet/lib/puppet/settings/certificate_revocation_setting.rb +0 -21
  957. data/vendored/puppet/lib/puppet/settings/config_file.rb +0 -152
  958. data/vendored/puppet/lib/puppet/settings/directory_setting.rb +0 -18
  959. data/vendored/puppet/lib/puppet/settings/duration_setting.rb +0 -32
  960. data/vendored/puppet/lib/puppet/settings/enum_setting.rb +0 -16
  961. data/vendored/puppet/lib/puppet/settings/environment_conf.rb +0 -222
  962. data/vendored/puppet/lib/puppet/settings/errors.rb +0 -11
  963. data/vendored/puppet/lib/puppet/settings/file_or_directory_setting.rb +0 -40
  964. data/vendored/puppet/lib/puppet/settings/file_setting.rb +0 -245
  965. data/vendored/puppet/lib/puppet/settings/ini_file.rb +0 -225
  966. data/vendored/puppet/lib/puppet/settings/path_setting.rb +0 -8
  967. data/vendored/puppet/lib/puppet/settings/priority_setting.rb +0 -42
  968. data/vendored/puppet/lib/puppet/settings/server_list_setting.rb +0 -20
  969. data/vendored/puppet/lib/puppet/settings/string_setting.rb +0 -9
  970. data/vendored/puppet/lib/puppet/settings/symbolic_enum_setting.rb +0 -17
  971. data/vendored/puppet/lib/puppet/settings/terminus_setting.rb +0 -14
  972. data/vendored/puppet/lib/puppet/settings/ttl_setting.rb +0 -51
  973. data/vendored/puppet/lib/puppet/settings/value_translator.rb +0 -15
  974. data/vendored/puppet/lib/puppet/ssl.rb +0 -12
  975. data/vendored/puppet/lib/puppet/ssl/base.rb +0 -150
  976. data/vendored/puppet/lib/puppet/ssl/certificate.rb +0 -99
  977. data/vendored/puppet/lib/puppet/ssl/certificate_request.rb +0 -325
  978. data/vendored/puppet/lib/puppet/ssl/certificate_request_attributes.rb +0 -37
  979. data/vendored/puppet/lib/puppet/ssl/certificate_signer.rb +0 -33
  980. data/vendored/puppet/lib/puppet/ssl/digest.rb +0 -20
  981. data/vendored/puppet/lib/puppet/ssl/host.rb +0 -626
  982. data/vendored/puppet/lib/puppet/ssl/key.rb +0 -59
  983. data/vendored/puppet/lib/puppet/ssl/oids.rb +0 -193
  984. data/vendored/puppet/lib/puppet/ssl/validator.rb +0 -60
  985. data/vendored/puppet/lib/puppet/ssl/validator/default_validator.rb +0 -187
  986. data/vendored/puppet/lib/puppet/ssl/validator/no_validator.rb +0 -20
  987. data/vendored/puppet/lib/puppet/status.rb +0 -40
  988. data/vendored/puppet/lib/puppet/syntax_checkers.rb +0 -3
  989. data/vendored/puppet/lib/puppet/syntax_checkers/base64.rb +0 -40
  990. data/vendored/puppet/lib/puppet/syntax_checkers/json.rb +0 -35
  991. data/vendored/puppet/lib/puppet/test/test_helper.rb +0 -251
  992. data/vendored/puppet/lib/puppet/transaction.rb +0 -444
  993. data/vendored/puppet/lib/puppet/transaction/additional_resource_generator.rb +0 -220
  994. data/vendored/puppet/lib/puppet/transaction/event.rb +0 -167
  995. data/vendored/puppet/lib/puppet/transaction/event_manager.rb +0 -169
  996. data/vendored/puppet/lib/puppet/transaction/persistence.rb +0 -99
  997. data/vendored/puppet/lib/puppet/transaction/report.rb +0 -471
  998. data/vendored/puppet/lib/puppet/transaction/resource_harness.rb +0 -318
  999. data/vendored/puppet/lib/puppet/type.rb +0 -2673
  1000. data/vendored/puppet/lib/puppet/type/component.rb +0 -88
  1001. data/vendored/puppet/lib/puppet/type/exec.rb +0 -625
  1002. data/vendored/puppet/lib/puppet/type/file.rb +0 -1042
  1003. data/vendored/puppet/lib/puppet/type/file/checksum.rb +0 -50
  1004. data/vendored/puppet/lib/puppet/type/file/checksum_value.rb +0 -54
  1005. data/vendored/puppet/lib/puppet/type/file/content.rb +0 -172
  1006. data/vendored/puppet/lib/puppet/type/file/ctime.rb +0 -20
  1007. data/vendored/puppet/lib/puppet/type/file/data_sync.rb +0 -93
  1008. data/vendored/puppet/lib/puppet/type/file/ensure.rb +0 -192
  1009. data/vendored/puppet/lib/puppet/type/file/group.rb +0 -41
  1010. data/vendored/puppet/lib/puppet/type/file/mode.rb +0 -177
  1011. data/vendored/puppet/lib/puppet/type/file/mtime.rb +0 -18
  1012. data/vendored/puppet/lib/puppet/type/file/owner.rb +0 -44
  1013. data/vendored/puppet/lib/puppet/type/file/selcontext.rb +0 -141
  1014. data/vendored/puppet/lib/puppet/type/file/source.rb +0 -369
  1015. data/vendored/puppet/lib/puppet/type/file/target.rb +0 -87
  1016. data/vendored/puppet/lib/puppet/type/file/type.rb +0 -19
  1017. data/vendored/puppet/lib/puppet/type/filebucket.rb +0 -117
  1018. data/vendored/puppet/lib/puppet/type/group.rb +0 -207
  1019. data/vendored/puppet/lib/puppet/type/notify.rb +0 -46
  1020. data/vendored/puppet/lib/puppet/type/package.rb +0 -568
  1021. data/vendored/puppet/lib/puppet/type/resources.rb +0 -180
  1022. data/vendored/puppet/lib/puppet/type/schedule.rb +0 -430
  1023. data/vendored/puppet/lib/puppet/type/service.rb +0 -255
  1024. data/vendored/puppet/lib/puppet/type/stage.rb +0 -27
  1025. data/vendored/puppet/lib/puppet/type/tidy.rb +0 -349
  1026. data/vendored/puppet/lib/puppet/type/user.rb +0 -818
  1027. data/vendored/puppet/lib/puppet/type/whit.rb +0 -34
  1028. data/vendored/puppet/lib/puppet/util.rb +0 -705
  1029. data/vendored/puppet/lib/puppet/util/at_fork.rb +0 -35
  1030. data/vendored/puppet/lib/puppet/util/at_fork/noop.rb +0 -18
  1031. data/vendored/puppet/lib/puppet/util/at_fork/solaris.rb +0 -160
  1032. data/vendored/puppet/lib/puppet/util/autoload.rb +0 -234
  1033. data/vendored/puppet/lib/puppet/util/backups.rb +0 -86
  1034. data/vendored/puppet/lib/puppet/util/character_encoding.rb +0 -76
  1035. data/vendored/puppet/lib/puppet/util/checksums.rb +0 -361
  1036. data/vendored/puppet/lib/puppet/util/classgen.rb +0 -222
  1037. data/vendored/puppet/lib/puppet/util/colors.rb +0 -100
  1038. data/vendored/puppet/lib/puppet/util/command_line.rb +0 -189
  1039. data/vendored/puppet/lib/puppet/util/command_line/puppet_option_parser.rb +0 -87
  1040. data/vendored/puppet/lib/puppet/util/command_line/trollop.rb +0 -825
  1041. data/vendored/puppet/lib/puppet/util/connection.rb +0 -74
  1042. data/vendored/puppet/lib/puppet/util/constant_inflector.rb +0 -24
  1043. data/vendored/puppet/lib/puppet/util/diff.rb +0 -79
  1044. data/vendored/puppet/lib/puppet/util/docs.rb +0 -128
  1045. data/vendored/puppet/lib/puppet/util/errors.rb +0 -159
  1046. data/vendored/puppet/lib/puppet/util/execution.rb +0 -412
  1047. data/vendored/puppet/lib/puppet/util/execution_stub.rb +0 -26
  1048. data/vendored/puppet/lib/puppet/util/feature.rb +0 -117
  1049. data/vendored/puppet/lib/puppet/util/file_watcher.rb +0 -28
  1050. data/vendored/puppet/lib/puppet/util/fileparsing.rb +0 -397
  1051. data/vendored/puppet/lib/puppet/util/filetype.rb +0 -309
  1052. data/vendored/puppet/lib/puppet/util/http_proxy.rb +0 -207
  1053. data/vendored/puppet/lib/puppet/util/inifile.rb +0 -340
  1054. data/vendored/puppet/lib/puppet/util/instance_loader.rb +0 -61
  1055. data/vendored/puppet/lib/puppet/util/json.rb +0 -69
  1056. data/vendored/puppet/lib/puppet/util/json_lockfile.rb +0 -44
  1057. data/vendored/puppet/lib/puppet/util/ldap.rb +0 -2
  1058. data/vendored/puppet/lib/puppet/util/ldap/connection.rb +0 -71
  1059. data/vendored/puppet/lib/puppet/util/ldap/generator.rb +0 -42
  1060. data/vendored/puppet/lib/puppet/util/ldap/manager.rb +0 -281
  1061. data/vendored/puppet/lib/puppet/util/libuser.rb +0 -12
  1062. data/vendored/puppet/lib/puppet/util/limits.rb +0 -12
  1063. data/vendored/puppet/lib/puppet/util/lockfile.rb +0 -66
  1064. data/vendored/puppet/lib/puppet/util/log.rb +0 -415
  1065. data/vendored/puppet/lib/puppet/util/log/destination.rb +0 -49
  1066. data/vendored/puppet/lib/puppet/util/log/destinations.rb +0 -258
  1067. data/vendored/puppet/lib/puppet/util/logging.rb +0 -311
  1068. data/vendored/puppet/lib/puppet/util/metaid.rb +0 -21
  1069. data/vendored/puppet/lib/puppet/util/metric.rb +0 -64
  1070. data/vendored/puppet/lib/puppet/util/monkey_patches.rb +0 -108
  1071. data/vendored/puppet/lib/puppet/util/multi_match.rb +0 -51
  1072. data/vendored/puppet/lib/puppet/util/network_device.rb +0 -17
  1073. data/vendored/puppet/lib/puppet/util/network_device/base.rb +0 -23
  1074. data/vendored/puppet/lib/puppet/util/network_device/config.rb +0 -105
  1075. data/vendored/puppet/lib/puppet/util/network_device/transport.rb +0 -5
  1076. data/vendored/puppet/lib/puppet/util/network_device/transport/base.rb +0 -26
  1077. data/vendored/puppet/lib/puppet/util/package.rb +0 -31
  1078. data/vendored/puppet/lib/puppet/util/pidlock.rb +0 -62
  1079. data/vendored/puppet/lib/puppet/util/platform.rb +0 -38
  1080. data/vendored/puppet/lib/puppet/util/plist.rb +0 -155
  1081. data/vendored/puppet/lib/puppet/util/posix.rb +0 -137
  1082. data/vendored/puppet/lib/puppet/util/profiler.rb +0 -53
  1083. data/vendored/puppet/lib/puppet/util/profiler/aggregate.rb +0 -85
  1084. data/vendored/puppet/lib/puppet/util/profiler/around_profiler.rb +0 -67
  1085. data/vendored/puppet/lib/puppet/util/profiler/logging.rb +0 -48
  1086. data/vendored/puppet/lib/puppet/util/profiler/object_counts.rb +0 -17
  1087. data/vendored/puppet/lib/puppet/util/profiler/wall_clock.rb +0 -35
  1088. data/vendored/puppet/lib/puppet/util/provider_features.rb +0 -181
  1089. data/vendored/puppet/lib/puppet/util/psych_support.rb +0 -30
  1090. data/vendored/puppet/lib/puppet/util/rdoc.rb +0 -60
  1091. data/vendored/puppet/lib/puppet/util/rdoc/code_objects.rb +0 -294
  1092. data/vendored/puppet/lib/puppet/util/rdoc/generators/puppet_generator.rb +0 -910
  1093. data/vendored/puppet/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +0 -1085
  1094. data/vendored/puppet/lib/puppet/util/rdoc/parser.rb +0 -12
  1095. data/vendored/puppet/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +0 -259
  1096. data/vendored/puppet/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +0 -14
  1097. data/vendored/puppet/lib/puppet/util/reference.rb +0 -119
  1098. data/vendored/puppet/lib/puppet/util/resource_template.rb +0 -61
  1099. data/vendored/puppet/lib/puppet/util/retry_action.rb +0 -46
  1100. data/vendored/puppet/lib/puppet/util/rubygems.rb +0 -63
  1101. data/vendored/puppet/lib/puppet/util/run_mode.rb +0 -110
  1102. data/vendored/puppet/lib/puppet/util/selinux.rb +0 -264
  1103. data/vendored/puppet/lib/puppet/util/skip_tags.rb +0 -9
  1104. data/vendored/puppet/lib/puppet/util/splayer.rb +0 -18
  1105. data/vendored/puppet/lib/puppet/util/ssl.rb +0 -92
  1106. data/vendored/puppet/lib/puppet/util/storage.rb +0 -89
  1107. data/vendored/puppet/lib/puppet/util/suidmanager.rb +0 -167
  1108. data/vendored/puppet/lib/puppet/util/symbolic_file_mode.rb +0 -144
  1109. data/vendored/puppet/lib/puppet/util/tag_set.rb +0 -27
  1110. data/vendored/puppet/lib/puppet/util/tagging.rb +0 -131
  1111. data/vendored/puppet/lib/puppet/util/terminal.rb +0 -16
  1112. data/vendored/puppet/lib/puppet/util/user_attr.rb +0 -21
  1113. data/vendored/puppet/lib/puppet/util/warnings.rb +0 -31
  1114. data/vendored/puppet/lib/puppet/util/watched_file.rb +0 -37
  1115. data/vendored/puppet/lib/puppet/util/watcher.rb +0 -17
  1116. data/vendored/puppet/lib/puppet/util/watcher/change_watcher.rb +0 -33
  1117. data/vendored/puppet/lib/puppet/util/watcher/periodic_watcher.rb +0 -37
  1118. data/vendored/puppet/lib/puppet/util/watcher/timer.rb +0 -19
  1119. data/vendored/puppet/lib/puppet/util/windows.rb +0 -52
  1120. data/vendored/puppet/lib/puppet/util/windows/access_control_entry.rb +0 -84
  1121. data/vendored/puppet/lib/puppet/util/windows/access_control_list.rb +0 -113
  1122. data/vendored/puppet/lib/puppet/util/windows/adsi.rb +0 -494
  1123. data/vendored/puppet/lib/puppet/util/windows/api_types.rb +0 -282
  1124. data/vendored/puppet/lib/puppet/util/windows/com.rb +0 -225
  1125. data/vendored/puppet/lib/puppet/util/windows/error.rb +0 -83
  1126. data/vendored/puppet/lib/puppet/util/windows/eventlog.rb +0 -197
  1127. data/vendored/puppet/lib/puppet/util/windows/file.rb +0 -589
  1128. data/vendored/puppet/lib/puppet/util/windows/principal.rb +0 -192
  1129. data/vendored/puppet/lib/puppet/util/windows/process.rb +0 -497
  1130. data/vendored/puppet/lib/puppet/util/windows/registry.rb +0 -374
  1131. data/vendored/puppet/lib/puppet/util/windows/root_certs.rb +0 -108
  1132. data/vendored/puppet/lib/puppet/util/windows/security.rb +0 -869
  1133. data/vendored/puppet/lib/puppet/util/windows/security_descriptor.rb +0 -62
  1134. data/vendored/puppet/lib/puppet/util/windows/service.rb +0 -770
  1135. data/vendored/puppet/lib/puppet/util/windows/sid.rb +0 -282
  1136. data/vendored/puppet/lib/puppet/util/windows/string.rb +0 -16
  1137. data/vendored/puppet/lib/puppet/util/windows/user.rb +0 -309
  1138. data/vendored/puppet/lib/puppet/util/yaml.rb +0 -72
  1139. data/vendored/puppet/lib/puppet/vendor.rb +0 -57
  1140. data/vendored/puppet/lib/puppet/vendor/deep_merge/lib/deep_merge.rb +0 -2
  1141. data/vendored/puppet/lib/puppet/vendor/deep_merge/lib/deep_merge/core.rb +0 -210
  1142. data/vendored/puppet/lib/puppet/vendor/deep_merge/lib/deep_merge/deep_merge_hash.rb +0 -28
  1143. data/vendored/puppet/lib/puppet/vendor/deep_merge/lib/deep_merge/rails_compat.rb +0 -27
  1144. data/vendored/puppet/lib/puppet/vendor/deep_merge/test/test_deep_merge.rb +0 -608
  1145. data/vendored/puppet/lib/puppet/vendor/load_deep_merge.rb +0 -1
  1146. data/vendored/puppet/lib/puppet/vendor/load_pathspec.rb +0 -1
  1147. data/vendored/puppet/lib/puppet/vendor/pathspec/lib/pathspec.rb +0 -122
  1148. data/vendored/puppet/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +0 -275
  1149. data/vendored/puppet/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +0 -17
  1150. data/vendored/puppet/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +0 -14
  1151. data/vendored/puppet/lib/puppet/vendor/require_vendored.rb +0 -6
  1152. data/vendored/puppet/lib/puppet/version.rb +0 -93
  1153. data/vendored/puppet/lib/puppet_pal.rb +0 -1135
  1154. data/vendored/puppet/lib/puppet_x.rb +0 -14
  1155. data/vendored/require_vendored.rb +0 -3
@@ -1,238 +0,0 @@
1
- module Puppet::Pops
2
- module Types
3
-
4
- # @api public
5
- class PInitType < PTypeWithContainedType
6
- def self.register_ptype(loader, ir)
7
- create_ptype(loader, ir, 'AnyType',
8
- 'type' => {
9
- KEY_TYPE => POptionalType.new(PTypeType::DEFAULT),
10
- KEY_VALUE => nil
11
- },
12
- 'init_args' => {
13
- KEY_TYPE => PArrayType::DEFAULT,
14
- KEY_VALUE => EMPTY_ARRAY
15
- }
16
- )
17
- end
18
-
19
- attr_reader :init_args
20
-
21
- def initialize(type, init_args)
22
- super(type)
23
- @init_args = init_args.nil? ? EMPTY_ARRAY : init_args
24
-
25
- if type.nil?
26
- raise ArgumentError, _('Init cannot be parameterized with an undefined type and additional arguments') unless @init_args.empty?
27
- @initialized = true
28
- else
29
- @initialized = false
30
- end
31
- end
32
-
33
- def instance?(o, guard = nil)
34
- really_instance?(o, guard) == 1
35
- end
36
-
37
- # @api private
38
- def really_instance?(o, guard = nil)
39
- if @type.nil?
40
- TypeFactory.rich_data.really_instance?(o)
41
- else
42
- assert_initialized
43
- guarded_recursion(guard, 0) do |g|
44
- v = @type.really_instance?(o, g)
45
- if v < 1
46
- if @single_type
47
- s = @single_type.really_instance?(o, g)
48
- v = s if s > v
49
- end
50
- end
51
- if v < 1
52
- if @other_type
53
- s = @other_type.really_instance?(o, g)
54
- s = @other_type.really_instance?([o], g) if s < 0 && @has_optional_single
55
- v = s if s > v
56
- end
57
- end
58
- v
59
- end
60
- end
61
- end
62
-
63
- def eql?(o)
64
- super && @init_args == o.init_args
65
- end
66
-
67
- def hash
68
- super ^ @init_args.hash
69
- end
70
-
71
- def new_function
72
- return super if type.nil?
73
- assert_initialized
74
-
75
- target_type = type
76
- single_type = @single_type
77
- if @init_args.empty?
78
- @new_function ||= Puppet::Functions.create_function(:new_Init, Puppet::Functions::InternalFunction) do
79
- @target_type = target_type
80
- @single_type = single_type
81
-
82
- dispatch :from_array do
83
- scope_param
84
- param 'Array', :value
85
- end
86
-
87
- dispatch :create do
88
- scope_param
89
- param 'Any', :value
90
- end
91
-
92
- def self.create(scope, value, func)
93
- func.call(scope, @target_type, value)
94
- end
95
-
96
- def self.from_array(scope, value, func)
97
- # If there is a single argument that matches the array, then that gets priority over
98
- # expanding the array into all arguments
99
- if @single_type.instance?(value) || (@other_type && !@other_type.instance?(value) && @has_optional_single && @other_type.instance?([value]))
100
- func.call(scope, @target_type, value)
101
- else
102
- func.call(scope, @target_type, *value)
103
- end
104
- end
105
-
106
- def from_array(scope, value)
107
- self.class.from_array(scope, value, loader.load(:function, 'new'))
108
- end
109
-
110
- def create(scope, value)
111
- self.class.create(scope, value, loader.load(:function, 'new'))
112
- end
113
- end
114
- else
115
- init_args = @init_args
116
- @new_function ||= Puppet::Functions.create_function(:new_Init, Puppet::Functions::InternalFunction) do
117
- @target_type = target_type
118
- @init_args = init_args
119
-
120
- dispatch :create do
121
- scope_param
122
- param 'Any', :value
123
- end
124
-
125
- def self.create(scope, value, func)
126
- func.call(scope, @target_type, value, *@init_args)
127
- end
128
-
129
- def create(scope, value)
130
- self.class.create(scope, value, loader.load(:function, 'new'))
131
- end
132
- end
133
- end
134
- end
135
-
136
- DEFAULT = PInitType.new(nil, EMPTY_ARRAY)
137
-
138
- EXACTLY_ONE = [1, 1].freeze
139
-
140
- def assert_initialized
141
- return self if @initialized
142
-
143
- @initialized = true
144
- @self_recursion = true
145
-
146
- begin
147
- # Filter out types that will provide a new_function but are unsuitable to be contained in Init
148
- #
149
- # Calling Init#new would cause endless recursion
150
- # The Optional is the same as Variant[T,Undef].
151
- # The NotUndef is not meaningful to create instances of
152
- if @type.instance_of?(PInitType) || @type.instance_of?(POptionalType) || @type.instance_of?(PNotUndefType)
153
- raise ArgumentError.new
154
- end
155
- new_func = @type.new_function
156
- rescue ArgumentError
157
- raise ArgumentError, _("Creation of new instance of type '%{type_name}' is not supported") % { type_name: @type.to_s }
158
- end
159
- param_tuples = new_func.dispatcher.signatures.map { |closure| closure.type.param_types }
160
-
161
- # An instance of the contained type is always a match to this type.
162
- single_types = [@type]
163
-
164
- if @init_args.empty?
165
- # A value that is assignable to the type of a single parameter is also a match
166
- single_tuples, other_tuples = param_tuples.partition { |tuple| EXACTLY_ONE == tuple.size_range }
167
- single_types.concat(single_tuples.map { |tuple| tuple.types[0] })
168
- else
169
- tc = TypeCalculator.singleton
170
- init_arg_types = @init_args.map { |arg| tc.infer_set(arg) }
171
- arg_count = 1 + init_arg_types.size
172
-
173
- # disqualify all parameter tuples that doesn't allow one value (type unknown at ths stage) + init args.
174
- param_tuples = param_tuples.select do |tuple|
175
- min, max = tuple.size_range
176
- if arg_count >= min && arg_count <= max
177
- # Aside from the first parameter, does the other parameters match?
178
- tuple.assignable?(PTupleType.new(tuple.types[0..0].concat(init_arg_types)))
179
- else
180
- false
181
- end
182
- end
183
- if param_tuples.empty?
184
- raise ArgumentError, _("The type '%{type}' does not represent a valid set of parameters for %{subject}.new()") %
185
- { type: to_s, subject: @type.generalize.name }
186
- end
187
- single_types.concat(param_tuples.map { |tuple| tuple.types[0] })
188
- other_tuples = EMPTY_ARRAY
189
- end
190
- @single_type = PVariantType.maybe_create(single_types)
191
- unless other_tuples.empty?
192
- @other_type = PVariantType.maybe_create(other_tuples)
193
- @has_optional_single = other_tuples.any? { |tuple| tuple.size_range.min == 1 }
194
- end
195
-
196
- guard = RecursionGuard.new
197
- accept(NoopTypeAcceptor::INSTANCE, guard)
198
- @self_recursion = guard.recursive_this?(self)
199
- end
200
-
201
- def accept(visitor, guard)
202
- guarded_recursion(guard, nil) do |g|
203
- super(visitor, g)
204
- @single_type.accept(visitor, guard) if @single_type
205
- @other_type.accept(visitor, guard) if @other_type
206
- end
207
- end
208
-
209
- protected
210
-
211
- def _assignable?(o, guard)
212
- guarded_recursion(guard, false) do |g|
213
- assert_initialized
214
- if o.is_a?(PInitType)
215
- @type.nil? || @type.assignable?(o.type, g)
216
- elsif @type.nil?
217
- TypeFactory.rich_data.assignable?(o, g)
218
- else
219
- @type.assignable?(o, g) ||
220
- @single_type && @single_type.assignable?(o, g) ||
221
- @other_type && (@other_type.assignable?(o, g) || @has_optional_single && @other_type.assignable?(PTupleType.new([o])))
222
- end
223
- end
224
- end
225
-
226
- private
227
-
228
- def guarded_recursion(guard, dflt)
229
- if @self_recursion
230
- guard ||= RecursionGuard.new
231
- guard.with_this(self) { |state| (state & RecursionGuard::SELF_RECURSION_IN_THIS) == 0 ? yield(guard) : dflt }
232
- else
233
- yield(guard)
234
- end
235
- end
236
- end
237
- end
238
- end
@@ -1,94 +0,0 @@
1
- # @abstract base class for PObjectType and other types that implements lazy evaluation of content
2
- # @api private
3
- module Puppet::Pops
4
- module Types
5
-
6
- KEY_NAME = 'name'.freeze
7
- KEY_TYPE = 'type'.freeze
8
- KEY_VALUE = 'value'.freeze
9
-
10
- class PMetaType < PAnyType
11
- include Annotatable
12
-
13
- attr_reader :loader
14
-
15
- def self.register_ptype(loader, ir)
16
- # Abstract type. It doesn't register anything
17
- end
18
-
19
- def accept(visitor, guard)
20
- annotatable_accept(visitor, guard)
21
- super
22
- end
23
-
24
- def instance?(o, guard = nil)
25
- assignable?(TypeCalculator.infer(o), guard)
26
- end
27
-
28
- # Called from the TypeParser once it has found a type using the Loader. The TypeParser will
29
- # interpret the contained expression and the resolved type is remembered. This method also
30
- # checks and remembers if the resolve type contains self recursion.
31
- #
32
- # @param type_parser [TypeParser] type parser that will interpret the type expression
33
- # @param loader [Loader::Loader] loader to use when loading type aliases
34
- # @return [PTypeAliasType] the receiver of the call, i.e. `self`
35
- # @api private
36
- def resolve(loader)
37
- unless @init_hash_expression.nil?
38
- @loader = loader
39
- @self_recursion = true # assumed while it being found out below
40
-
41
- init_hash_expression = @init_hash_expression
42
- @init_hash_expression = nil
43
- if init_hash_expression.is_a?(Model::LiteralHash)
44
- init_hash = resolve_literal_hash(loader, init_hash_expression)
45
- else
46
- init_hash = resolve_hash(loader, init_hash_expression)
47
- end
48
- _pcore_init_from_hash(init_hash)
49
-
50
- # Find out if this type is recursive. A recursive type has performance implications
51
- # on several methods and this knowledge is used to avoid that for non-recursive
52
- # types.
53
- guard = RecursionGuard.new
54
- accept(NoopTypeAcceptor::INSTANCE, guard)
55
- @self_recursion = guard.recursive_this?(self)
56
- end
57
- self
58
- end
59
-
60
- def resolve_literal_hash(loader, init_hash_expression)
61
- TypeParser.singleton.interpret_LiteralHash(init_hash_expression, loader)
62
- end
63
-
64
- def resolve_hash(loader, init_hash)
65
- resolve_type_refs(loader, init_hash)
66
- end
67
-
68
- def resolve_type_refs(loader, o)
69
- case o
70
- when Hash
71
- Hash[o.map { |k, v| [resolve_type_refs(loader, k), resolve_type_refs(loader, v)] }]
72
- when Array
73
- o.map { |e| resolve_type_refs(loader, e) }
74
- when PAnyType
75
- o.resolve(loader)
76
- else
77
- o
78
- end
79
- end
80
-
81
- def resolved?
82
- @init_hash_expression.nil?
83
- end
84
-
85
- # Returns the expanded string the form of the alias, e.g. <alias name> = <resolved type>
86
- #
87
- # @return [String] the expanded form of this alias
88
- # @api public
89
- def to_s
90
- TypeFormatter.singleton.alias_expanded_string(self)
91
- end
92
- end
93
- end
94
- end
@@ -1,1117 +0,0 @@
1
- require_relative 'ruby_generator'
2
- require_relative 'type_with_members'
3
-
4
- module Puppet::Pops
5
- module Types
6
-
7
- KEY_ATTRIBUTES = 'attributes'.freeze
8
- KEY_CHECKS = 'checks'.freeze
9
- KEY_CONSTANTS = 'constants'.freeze
10
- KEY_EQUALITY = 'equality'.freeze
11
- KEY_EQUALITY_INCLUDE_TYPE = 'equality_include_type'.freeze
12
- KEY_FINAL = 'final'.freeze
13
- KEY_FUNCTIONS = 'functions'.freeze
14
- KEY_KIND = 'kind'.freeze
15
- KEY_OVERRIDE = 'override'.freeze
16
- KEY_PARENT = 'parent'.freeze
17
- KEY_TYPE_PARAMETERS = 'type_parameters'.freeze
18
-
19
- # @api public
20
- class PObjectType < PMetaType
21
- include TypeWithMembers
22
-
23
- ATTRIBUTE_KIND_CONSTANT = 'constant'.freeze
24
- ATTRIBUTE_KIND_DERIVED = 'derived'.freeze
25
- ATTRIBUTE_KIND_GIVEN_OR_DERIVED = 'given_or_derived'.freeze
26
- ATTRIBUTE_KIND_REFERENCE = 'reference'.freeze
27
- TYPE_ATTRIBUTE_KIND = TypeFactory.enum(ATTRIBUTE_KIND_CONSTANT, ATTRIBUTE_KIND_DERIVED, ATTRIBUTE_KIND_GIVEN_OR_DERIVED, ATTRIBUTE_KIND_REFERENCE)
28
-
29
- TYPE_OBJECT_NAME = Pcore::TYPE_QUALIFIED_REFERENCE
30
-
31
- TYPE_ATTRIBUTE = TypeFactory.struct({
32
- KEY_TYPE => PTypeType::DEFAULT,
33
- TypeFactory.optional(KEY_FINAL) => PBooleanType::DEFAULT,
34
- TypeFactory.optional(KEY_OVERRIDE) => PBooleanType::DEFAULT,
35
- TypeFactory.optional(KEY_KIND) => TYPE_ATTRIBUTE_KIND,
36
- KEY_VALUE => PAnyType::DEFAULT,
37
- TypeFactory.optional(KEY_ANNOTATIONS) => TYPE_ANNOTATIONS
38
- })
39
-
40
- TYPE_PARAMETER = TypeFactory.struct({
41
- KEY_TYPE => PTypeType::DEFAULT,
42
- TypeFactory.optional(KEY_ANNOTATIONS) => TYPE_ANNOTATIONS
43
- })
44
-
45
- TYPE_CONSTANTS = TypeFactory.hash_kv(Pcore::TYPE_MEMBER_NAME, PAnyType::DEFAULT)
46
- TYPE_ATTRIBUTES = TypeFactory.hash_kv(Pcore::TYPE_MEMBER_NAME, TypeFactory.not_undef)
47
- TYPE_PARAMETERS = TypeFactory.hash_kv(Pcore::TYPE_MEMBER_NAME, TypeFactory.not_undef)
48
- TYPE_ATTRIBUTE_CALLABLE = TypeFactory.callable(0,0)
49
-
50
- TYPE_FUNCTION_TYPE = PTypeType.new(PCallableType::DEFAULT)
51
-
52
- TYPE_FUNCTION = TypeFactory.struct({
53
- KEY_TYPE => TYPE_FUNCTION_TYPE,
54
- TypeFactory.optional(KEY_FINAL) => PBooleanType::DEFAULT,
55
- TypeFactory.optional(KEY_OVERRIDE) => PBooleanType::DEFAULT,
56
- TypeFactory.optional(KEY_ANNOTATIONS) => TYPE_ANNOTATIONS
57
- })
58
- TYPE_FUNCTIONS = TypeFactory.hash_kv(PVariantType.new([Pcore::TYPE_MEMBER_NAME, PStringType.new('[]')]), TypeFactory.not_undef)
59
-
60
- TYPE_EQUALITY = TypeFactory.variant(Pcore::TYPE_MEMBER_NAME, TypeFactory.array_of(Pcore::TYPE_MEMBER_NAME))
61
-
62
- TYPE_CHECKS = PAnyType::DEFAULT # TBD
63
-
64
- TYPE_OBJECT_I12N = TypeFactory.struct({
65
- TypeFactory.optional(KEY_NAME) => TYPE_OBJECT_NAME,
66
- TypeFactory.optional(KEY_PARENT) => PTypeType::DEFAULT,
67
- TypeFactory.optional(KEY_TYPE_PARAMETERS) => TYPE_PARAMETERS,
68
- TypeFactory.optional(KEY_ATTRIBUTES) => TYPE_ATTRIBUTES,
69
- TypeFactory.optional(KEY_CONSTANTS) => TYPE_CONSTANTS,
70
- TypeFactory.optional(KEY_FUNCTIONS) => TYPE_FUNCTIONS,
71
- TypeFactory.optional(KEY_EQUALITY) => TYPE_EQUALITY,
72
- TypeFactory.optional(KEY_EQUALITY_INCLUDE_TYPE) => PBooleanType::DEFAULT,
73
- TypeFactory.optional(KEY_CHECKS) => TYPE_CHECKS,
74
- TypeFactory.optional(KEY_ANNOTATIONS) => TYPE_ANNOTATIONS
75
- })
76
-
77
- def self.register_ptype(loader, ir)
78
- type = create_ptype(loader, ir, 'AnyType', '_pcore_init_hash' => TYPE_OBJECT_I12N)
79
-
80
- # Now, when the Object type exists, add annotations with keys derived from Annotation and freeze the types.
81
- annotations = TypeFactory.optional(PHashType.new(PTypeType.new(Annotation._pcore_type), TypeFactory.hash_kv(Pcore::TYPE_MEMBER_NAME, PAnyType::DEFAULT)))
82
- TYPE_ATTRIBUTE.hashed_elements[KEY_ANNOTATIONS].replace_value_type(annotations)
83
- TYPE_FUNCTION.hashed_elements[KEY_ANNOTATIONS].replace_value_type(annotations)
84
- TYPE_OBJECT_I12N.hashed_elements[KEY_ANNOTATIONS].replace_value_type(annotations)
85
- PTypeSetType::TYPE_TYPESET_I12N.hashed_elements[KEY_ANNOTATIONS].replace_value_type(annotations)
86
- PTypeSetType::TYPE_TYPE_REFERENCE_I12N.hashed_elements[KEY_ANNOTATIONS].replace_value_type(annotations)
87
- type
88
- end
89
-
90
- # @abstract Encapsulates behavior common to {PAttribute} and {PFunction}
91
- # @api public
92
- class PAnnotatedMember
93
- include Annotatable
94
- include InvocableMember
95
-
96
- # @return [PObjectType] the object type containing this member
97
- # @api public
98
- attr_reader :container
99
-
100
- # @return [String] the name of this member
101
- # @api public
102
- attr_reader :name
103
-
104
- # @return [PAnyType] the type of this member
105
- # @api public
106
- attr_reader :type
107
-
108
- # @param name [String] The name of the member
109
- # @param container [PObjectType] The containing object type
110
- # @param init_hash [Hash{String=>Object}] Hash containing feature options
111
- # @option init_hash [PAnyType] 'type' The member type (required)
112
- # @option init_hash [Boolean] 'override' `true` if this feature must override an inherited feature. Default is `false`.
113
- # @option init_hash [Boolean] 'final' `true` if this feature cannot be overridden. Default is `false`.
114
- # @option init_hash [Hash{PTypeType => Hash}] 'annotations' Annotations hash. Default is `nil`.
115
- # @api public
116
- def initialize(name, container, init_hash)
117
- @name = name
118
- @container = container
119
- @type = init_hash[KEY_TYPE]
120
- @override = init_hash[KEY_OVERRIDE]
121
- @override = false if @override.nil?
122
- @final = init_hash[KEY_FINAL]
123
- @final = false if @final.nil?
124
- init_annotatable(init_hash)
125
- end
126
-
127
- # Delegates to the contained type
128
- # @param visitor [TypeAcceptor] the visitor
129
- # @param guard [RecursionGuard] guard against recursion. Only used by internal calls
130
- # @api public
131
- def accept(visitor, guard)
132
- annotatable_accept(visitor, guard)
133
- @type.accept(visitor, guard)
134
- end
135
-
136
- # Checks if the this _member_ overrides an inherited member, and if so, that this member is declared with override = true and that
137
- # the inherited member accepts to be overridden by this member.
138
- #
139
- # @param parent_members [Hash{String=>PAnnotatedMember}] the hash of inherited members
140
- # @return [PAnnotatedMember] this instance
141
- # @raises [Puppet::ParseError] if the assertion fails
142
- # @api private
143
- def assert_override(parent_members)
144
- parent_member = parent_members[@name]
145
- if parent_member.nil?
146
- if @override
147
- raise Puppet::ParseError, _("expected %{label} to override an inherited %{feature_type}, but no such %{feature_type} was found") %
148
- { label: label, feature_type: feature_type }
149
- end
150
- self
151
- else
152
- parent_member.assert_can_be_overridden(self)
153
- end
154
- end
155
-
156
- # Checks if the given _member_ can override this member.
157
- #
158
- # @param member [PAnnotatedMember] the overriding member
159
- # @return [PAnnotatedMember] its argument
160
- # @raises [Puppet::ParseError] if the assertion fails
161
- # @api private
162
- def assert_can_be_overridden(member)
163
- unless self.class == member.class
164
- raise Puppet::ParseError, _("%{member} attempts to override %{label}") % { member: member.label, label: label }
165
- end
166
- if @final && !(constant? && member.constant?)
167
- raise Puppet::ParseError, _("%{member} attempts to override final %{label}") % { member: member.label, label: label }
168
- end
169
- unless member.override?
170
- #TRANSLATOR 'override => true' is a puppet syntax and should not be translated
171
- raise Puppet::ParseError, _("%{member} attempts to override %{label} without having override => true") % { member: member.label, label: label }
172
- end
173
- unless @type.assignable?(member.type)
174
- raise Puppet::ParseError, _("%{member} attempts to override %{label} with a type that does not match") % { member: member.label, label: label }
175
- end
176
- member
177
- end
178
-
179
- def constant?
180
- false
181
- end
182
-
183
- # @return [Boolean] `true` if this feature cannot be overridden
184
- # @api public
185
- def final?
186
- @final
187
- end
188
-
189
- # @return [Boolean] `true` if this feature must override an inherited feature
190
- # @api public
191
- def override?
192
- @override
193
- end
194
-
195
- # @api public
196
- def hash
197
- @name.hash ^ @type.hash
198
- end
199
-
200
- # @api public
201
- def eql?(o)
202
- self.class == o.class && @name == o.name && @type == o.type && @override == o.override? && @final == o.final?
203
- end
204
-
205
- # @api public
206
- def ==(o)
207
- eql?(o)
208
- end
209
-
210
- # Returns the member as a hash suitable as an argument for constructor. Name is excluded
211
- # @return [Hash{String=>Object}] the initialization hash
212
- # @api private
213
- def _pcore_init_hash
214
- hash = { KEY_TYPE => @type }
215
- hash[KEY_FINAL] = true if @final
216
- hash[KEY_OVERRIDE] = true if @override
217
- hash[KEY_ANNOTATIONS] = @annotations unless @annotations.nil?
218
- hash
219
- end
220
-
221
- # @api private
222
- def feature_type
223
- self.class.feature_type
224
- end
225
-
226
- # @api private
227
- def label
228
- self.class.label(@container, @name)
229
- end
230
-
231
- # Performs type checking of arguments and invokes the method that corresponds to this
232
- # method. The result of the invocation is returned
233
- #
234
- # @param receiver [Object] The receiver of the call
235
- # @param scope [Puppet::Parser::Scope] The caller scope
236
- # @param args [Array] Array of arguments.
237
- # @return [Object] The result returned by the member function or attribute
238
- #
239
- # @api private
240
- def invoke(receiver, scope, args, &block)
241
- @dispatch ||= create_dispatch(receiver)
242
-
243
- args_type = TypeCalculator.infer_set(block_given? ? args + [block] : args)
244
- found = @dispatch.find { |d| d.type.callable?(args_type) }
245
- raise ArgumentError, TypeMismatchDescriber.describe_signatures(label, @dispatch, args_type) if found.nil?
246
- found.invoke(receiver, scope, args, &block)
247
- end
248
-
249
- # @api private
250
- def create_dispatch(instance)
251
- # TODO: Assumes Ruby implementation for now
252
- if(callable_type.is_a?(PVariantType))
253
- callable_type.types.map do |ct|
254
- Functions::Dispatch.new(ct, RubyGenerator.protect_reserved_name(name), [], false, ct.block_type.nil? ? nil : 'block')
255
- end
256
- else
257
- [Functions::Dispatch.new(callable_type, RubyGenerator.protect_reserved_name(name), [], false, callable_type.block_type.nil? ? nil : 'block')]
258
- end
259
- end
260
-
261
- # @api private
262
- def self.feature_type
263
- raise NotImplementedError, "'#{self.class.name}' should implement #feature_type"
264
- end
265
-
266
- def self.label(container, name)
267
- "#{feature_type} #{container.label}[#{name}]"
268
- end
269
- end
270
-
271
- # Describes a named Attribute in an Object type
272
- # @api public
273
- class PAttribute < PAnnotatedMember
274
-
275
- # @return [String,nil] The attribute kind as defined by #TYPE_ATTRIBUTE_KIND, or `nil`
276
- attr_reader :kind
277
-
278
- # @param name [String] The name of the attribute
279
- # @param container [PObjectType] The containing object type
280
- # @param init_hash [Hash{String=>Object}] Hash containing attribute options
281
- # @option init_hash [PAnyType] 'type' The attribute type (required)
282
- # @option init_hash [Object] 'value' The default value, must be an instanceof the given `type` (optional)
283
- # @option init_hash [String] 'kind' The attribute kind, matching #TYPE_ATTRIBUTE_KIND
284
- # @api public
285
- def initialize(name, container, init_hash)
286
- super(name, container, TypeAsserter.assert_instance_of(nil, TYPE_ATTRIBUTE, init_hash) { "initializer for #{self.class.label(container, name)}" })
287
- if name == Serialization::PCORE_TYPE_KEY || name == Serialization::PCORE_VALUE_KEY
288
- raise Puppet::ParseError, _("The attribute '%{name}' is reserved and cannot be used") % { name: name}
289
- end
290
- @kind = init_hash[KEY_KIND]
291
- if @kind == ATTRIBUTE_KIND_CONSTANT # final is implied
292
- if init_hash.include?(KEY_FINAL) && !@final
293
- #TRANSLATOR 'final => false' is puppet syntax and should not be translated
294
- raise Puppet::ParseError, _("%{label} of kind 'constant' cannot be combined with final => false") % { label: label }
295
- end
296
- @final = true
297
- end
298
-
299
- if init_hash.include?(KEY_VALUE)
300
- if @kind == ATTRIBUTE_KIND_DERIVED || @kind == ATTRIBUTE_KIND_GIVEN_OR_DERIVED
301
- raise Puppet::ParseError, _("%{label} of kind '%{kind}' cannot be combined with an attribute value") % { label: label, kind: @kind }
302
- end
303
- v = init_hash[KEY_VALUE]
304
- @value = v == :default ? v : TypeAsserter.assert_instance_of(nil, type, v) {"#{label} #{KEY_VALUE}" }
305
- else
306
- raise Puppet::ParseError, _("%{label} of kind 'constant' requires a value") % { label: label } if @kind == ATTRIBUTE_KIND_CONSTANT
307
- @value = :undef # Not to be confused with nil or :default
308
- end
309
- end
310
-
311
- def callable_type
312
- TYPE_ATTRIBUTE_CALLABLE
313
- end
314
-
315
- # @api public
316
- def eql?(o)
317
- super && @kind == o.kind && @value == (o.value? ? o.value : :undef)
318
- end
319
-
320
- # Returns the member as a hash suitable as an argument for constructor. Name is excluded
321
- # @return [Hash{String=>Object}] the hash
322
- # @api private
323
- def _pcore_init_hash
324
- hash = super
325
- unless @kind.nil?
326
- hash[KEY_KIND] = @kind
327
- hash.delete(KEY_FINAL) if @kind == ATTRIBUTE_KIND_CONSTANT # final is implied
328
- end
329
- hash[KEY_VALUE] = @value unless @value == :undef
330
- hash
331
- end
332
-
333
- def constant?
334
- @kind == ATTRIBUTE_KIND_CONSTANT
335
- end
336
-
337
- # @return [Booelan] true if the given value equals the default value for this attribute
338
- def default_value?(value)
339
- @value == value
340
- end
341
-
342
- # @return [Boolean] `true` if a value has been defined for this attribute.
343
- def value?
344
- @value != :undef
345
- end
346
-
347
- # Returns the value of this attribute, or raises an error if no value has been defined. Raising an error
348
- # is necessary since a defined value may be `nil`.
349
- #
350
- # @return [Object] the value that has been defined for this attribute.
351
- # @raise [Puppet::Error] if no value has been defined
352
- # @api public
353
- def value
354
- # An error must be raised here since `nil` is a valid value and it would be bad to leak the :undef symbol
355
- raise Puppet::Error, "#{label} has no value" if @value == :undef
356
- @value
357
- end
358
-
359
- # @api private
360
- def self.feature_type
361
- 'attribute'
362
- end
363
- end
364
-
365
- class PTypeParameter < PAttribute
366
- # @return [Hash{String=>Object}] the hash
367
- # @api private
368
- def _pcore_init_hash
369
- hash = super
370
- hash[KEY_TYPE] = hash[KEY_TYPE].type
371
- hash.delete(KEY_VALUE) if hash.include?(KEY_VALUE) && hash[KEY_VALUE].nil?
372
- hash
373
- end
374
-
375
- # @api private
376
- def self.feature_type
377
- 'type_parameter'
378
- end
379
- end
380
-
381
- # Describes a named Function in an Object type
382
- # @api public
383
- class PFunction < PAnnotatedMember
384
-
385
- # @param name [String] The name of the attribute
386
- # @param container [PObjectType] The containing object type
387
- # @param init_hash [Hash{String=>Object}] Hash containing function options
388
- # @api public
389
- def initialize(name, container, init_hash)
390
- super(name, container, TypeAsserter.assert_instance_of(["initializer for function '%s'", name], TYPE_FUNCTION, init_hash))
391
- end
392
-
393
- def callable_type
394
- type
395
- end
396
-
397
- # @api private
398
- def self.feature_type
399
- 'function'
400
- end
401
- end
402
-
403
- attr_reader :name
404
- attr_reader :parent
405
- attr_reader :equality
406
- attr_reader :checks
407
- attr_reader :annotations
408
-
409
- # Initialize an Object Type instance. The initialization will use either a name and an initialization
410
- # hash expression, or a fully resolved initialization hash.
411
- #
412
- # @overload initialize(name, init_hash_expression)
413
- # Used when the Object type is loaded using a type alias expression. When that happens, it is important that
414
- # the actual resolution of the expression is deferred until all definitions have been made known to the current
415
- # loader. The object will then be resolved when it is loaded by the {TypeParser}. "resolved" here, means that
416
- # the hash expression is fully resolved, and then passed to the {#_pcore_init_from_hash} method.
417
- # @param name [String] The name of the object
418
- # @param init_hash_expression [Model::LiteralHash] The hash describing the Object features
419
- #
420
- # @overload initialize(init_hash)
421
- # Used when the object is created by the {TypeFactory}. The init_hash must be fully resolved.
422
- # @param _pcore_init_hash [Hash{String=>Object}] The hash describing the Object features
423
- # @param loader [Loaders::Loader,nil] the loader that loaded the type
424
- #
425
- # @api private
426
- def initialize(_pcore_init_hash, init_hash_expression = nil)
427
- if _pcore_init_hash.is_a?(Hash)
428
- _pcore_init_from_hash(_pcore_init_hash)
429
- @loader = init_hash_expression unless init_hash_expression.nil?
430
- else
431
- @type_parameters = EMPTY_HASH
432
- @attributes = EMPTY_HASH
433
- @functions = EMPTY_HASH
434
- @name = TypeAsserter.assert_instance_of('object name', TYPE_OBJECT_NAME, _pcore_init_hash)
435
- @init_hash_expression = init_hash_expression
436
- end
437
- end
438
-
439
- def instance?(o, guard = nil)
440
- if o.is_a?(PuppetObject)
441
- assignable?(o._pcore_type, guard)
442
- else
443
- name = o.class.name
444
- return false if name.nil? # anonymous class that doesn't implement PuppetObject is not an instance
445
- ir = Loaders.implementation_registry
446
- type = ir.nil? ? nil : ir.type_for_module(name)
447
- !type.nil? && assignable?(type, guard)
448
- end
449
- end
450
-
451
- # @api private
452
- def new_function
453
- @new_function ||= create_new_function
454
- end
455
-
456
- # Assign a new instance reader to this type
457
- # @param [Serialization::InstanceReader] reader the reader to assign
458
- # @api private
459
- def reader=(reader)
460
- @reader = reader
461
- end
462
-
463
- # Assign a new instance write to this type
464
- # @param [Serialization::InstanceWriter] the writer to assign
465
- # @api private
466
- def writer=(writer)
467
- @writer = writer
468
- end
469
-
470
- # Read an instance of this type from a deserializer
471
- # @param [Integer] value_count the number attributes needed to create the instance
472
- # @param [Serialization::Deserializer] deserializer the deserializer to read from
473
- # @return [Object] the created instance
474
- # @api private
475
- def read(value_count, deserializer)
476
- reader.read(self, implementation_class, value_count, deserializer)
477
- end
478
-
479
- # Write an instance of this type using a serializer
480
- # @param [Object] value the instance to write
481
- # @param [Serialization::Serializer] the serializer to write to
482
- # @api private
483
- def write(value, serializer)
484
- writer.write(self, value, serializer)
485
- end
486
-
487
- # @api private
488
- def create_new_function
489
- impl_class = implementation_class
490
- return impl_class.create_new_function(self) if impl_class.respond_to?(:create_new_function)
491
-
492
- (param_names, param_types, required_param_count) = parameter_info(impl_class)
493
-
494
- # Create the callable with a size that reflects the required and optional parameters
495
- create_type = TypeFactory.callable(*param_types, required_param_count, param_names.size)
496
- from_hash_type = TypeFactory.callable(init_hash_type, 1, 1)
497
-
498
- # Create and return a #new_XXX function where the dispatchers are added programmatically.
499
- Puppet::Functions.create_loaded_function(:"new_#{name}", loader) do
500
-
501
- # The class that creates new instances must be available to the constructor methods
502
- # and is therefore declared as a variable and accessor on the class that represents
503
- # this added function.
504
- @impl_class = impl_class
505
-
506
- def self.impl_class
507
- @impl_class
508
- end
509
-
510
- # It's recommended that an implementor of an Object type provides the method #from_asserted_hash.
511
- # This method should accept a hash and assume that type assertion has been made already (it is made
512
- # by the dispatch added here).
513
- if impl_class.respond_to?(:from_asserted_hash)
514
- dispatcher.add(Functions::Dispatch.new(from_hash_type, :from_hash, ['hash']))
515
- def from_hash(hash)
516
- self.class.impl_class.from_asserted_hash(hash)
517
- end
518
- end
519
-
520
- # Add the dispatch that uses the standard #from_asserted_args or #new method on the class. It's assumed that the
521
- # method performs no assertions.
522
- dispatcher.add(Functions::Dispatch.new(create_type, :create, param_names))
523
- if impl_class.respond_to?(:from_asserted_args)
524
- def create(*args)
525
- self.class.impl_class.from_asserted_args(*args)
526
- end
527
- else
528
- def create(*args)
529
- self.class.impl_class.new(*args)
530
- end
531
- end
532
- end
533
- end
534
-
535
- # @api private
536
- def implementation_class(create = true)
537
- if @implementation_class.nil? && create
538
- ir = Loaders.implementation_registry
539
- class_name = ir.nil? ? nil : ir.module_name_for_type(self)
540
- if class_name.nil?
541
- # Use generator to create a default implementation
542
- @implementation_class = RubyGenerator.new.create_class(self)
543
- @implementation_class.class_eval(&@implementation_override) if instance_variable_defined?(:@implementation_override)
544
- else
545
- # Can the mapping be loaded?
546
- @implementation_class = ClassLoader.provide(class_name)
547
-
548
- raise Puppet::Error, "Unable to load class #{class_name}" if @implementation_class.nil?
549
- unless @implementation_class < PuppetObject || @implementation_class.respond_to?(:ecore)
550
- raise Puppet::Error, "Unable to create an instance of #{name}. #{class_name} does not include module #{PuppetObject.name}"
551
- end
552
- end
553
- end
554
- @implementation_class
555
- end
556
-
557
- # @api private
558
- def implementation_class=(cls)
559
- raise ArgumentError, "attempt to redefine implementation class for #{label}" unless @implementation_class.nil?
560
- @implementation_class = cls
561
- end
562
-
563
- # The block passed to this method will be passed in a call to `#class_eval` on the dynamically generated
564
- # class for this data type. It's indended use is to complement or redefine the generated methods and
565
- # attribute readers.
566
- #
567
- # The method is normally called with the block passed to `#implementation` when a data type is defined using
568
- # {Puppet::DataTypes::create_type}.
569
- #
570
- # @api private
571
- def implementation_override=(block)
572
- if !@implementation_class.nil? || instance_variable_defined?(:@implementation_override)
573
- raise ArgumentError, "attempt to redefine implementation override for #{label}"
574
- end
575
- @implementation_override = block
576
- end
577
-
578
- def extract_init_hash(o)
579
- return o._pcore_init_hash if o.respond_to?(:_pcore_init_hash)
580
-
581
- result = {}
582
- pic = parameter_info(o.class)
583
- attrs = attributes(true)
584
- pic[0].each do |name|
585
- v = o.send(name)
586
- result[name] = v unless attrs[name].default_value?(v)
587
- end
588
- result
589
- end
590
-
591
- # @api private
592
- # @return [(Array<String>, Array<PAnyType>, Integer)] array of parameter names, array of parameter types, and a count reflecting the required number of parameters
593
- def parameter_info(impl_class)
594
- # Create a types and a names array where optional entries ends up last
595
- @parameter_info ||= {}
596
- pic = @parameter_info[impl_class]
597
- return pic if pic
598
-
599
- opt_types = []
600
- opt_names = []
601
- non_opt_types = []
602
- non_opt_names = []
603
- init_hash_type.elements.each do |se|
604
- if se.key_type.is_a?(POptionalType)
605
- opt_names << se.name
606
- opt_types << se.value_type
607
- else
608
- non_opt_names << se.name
609
- non_opt_types << se.value_type
610
- end
611
- end
612
- param_names = non_opt_names + opt_names
613
- param_types = non_opt_types + opt_types
614
- param_count = param_names.size
615
-
616
- init = impl_class.respond_to?(:from_asserted_args) ? impl_class.method(:from_asserted_args) : impl_class.instance_method(:initialize)
617
- init_non_opt_count = 0
618
- init_param_names = init.parameters.map do |p|
619
- init_non_opt_count += 1 if :req == p[0]
620
- n = p[1].to_s
621
- r = RubyGenerator.unprotect_reserved_name(n)
622
- unless r.equal?(n)
623
- # assert that the protected name wasn't a real name (names can start with underscore)
624
- n = r unless param_names.index(r).nil?
625
- end
626
- n
627
- end
628
-
629
- if init_param_names != param_names
630
- if init_param_names.size < param_count || init_non_opt_count > param_count
631
- raise Serialization::SerializationError, "Initializer for class #{impl_class.name} does not match the attributes of #{name}"
632
- end
633
- init_param_names = init_param_names[0, param_count] if init_param_names.size > param_count
634
- unless init_param_names == param_names
635
- # Reorder needed to match initialize method arguments
636
- new_param_types = []
637
- init_param_names.each do |ip|
638
- index = param_names.index(ip)
639
- if index.nil?
640
- raise Serialization::SerializationError,
641
- "Initializer for class #{impl_class.name} parameter '#{ip}' does not match any of the the attributes of type #{name}"
642
- end
643
- new_param_types << param_types[index]
644
- end
645
- param_names = init_param_names
646
- param_types = new_param_types
647
- end
648
- end
649
-
650
- pic = [param_names.freeze, param_types.freeze, non_opt_types.size].freeze
651
- @parameter_info[impl_class] = pic
652
- pic
653
- end
654
-
655
- # @api private
656
- def attr_reader_name(se)
657
- if se.value_type.is_a?(PBooleanType) || se.value_type.is_a?(POptionalType) && se.value_type.type.is_a?(PBooleanType)
658
- "#{se.name}?"
659
- else
660
- se.name
661
- end
662
- end
663
-
664
- def self.from_hash(hash)
665
- new(hash, nil)
666
- end
667
-
668
- # @api private
669
- def _pcore_init_from_hash(init_hash)
670
- TypeAsserter.assert_instance_of('object initializer', TYPE_OBJECT_I12N, init_hash)
671
- @type_parameters = EMPTY_HASH
672
- @attributes = EMPTY_HASH
673
- @functions = EMPTY_HASH
674
-
675
- # Name given to the loader have higher precedence than a name declared in the type
676
- @name ||= init_hash[KEY_NAME]
677
- @name.freeze unless @name.nil?
678
-
679
- @parent = init_hash[KEY_PARENT]
680
-
681
- parent_members = EMPTY_HASH
682
- parent_type_params = EMPTY_HASH
683
- parent_object_type = nil
684
- unless @parent.nil?
685
- check_self_recursion(self)
686
- rp = resolved_parent
687
- raise Puppet::ParseError, _("reference to unresolved type '%{name}'") % { :name => rp.type_string } if rp.is_a?(PTypeReferenceType)
688
- if rp.is_a?(PObjectType)
689
- parent_object_type = rp
690
- parent_members = rp.members(true)
691
- parent_type_params = rp.type_parameters(true)
692
- end
693
- end
694
-
695
- type_parameters = init_hash[KEY_TYPE_PARAMETERS]
696
- unless type_parameters.nil? || type_parameters.empty?
697
- @type_parameters = {}
698
- type_parameters.each do |key, param_spec|
699
- param_value = :undef
700
- if param_spec.is_a?(Hash)
701
- param_type = param_spec[KEY_TYPE]
702
- param_value = param_spec[KEY_VALUE] if param_spec.include?(KEY_VALUE)
703
- else
704
- param_type = TypeAsserter.assert_instance_of(nil, PTypeType::DEFAULT, param_spec) { "type_parameter #{label}[#{key}]" }
705
- end
706
- param_type = POptionalType.new(param_type) unless param_type.is_a?(POptionalType)
707
- type_param = PTypeParameter.new(key, self, KEY_TYPE => param_type, KEY_VALUE => param_value).assert_override(parent_type_params)
708
- @type_parameters[key] = type_param
709
- end
710
- end
711
-
712
- constants = init_hash[KEY_CONSTANTS]
713
- attr_specs = init_hash[KEY_ATTRIBUTES]
714
- if attr_specs.nil?
715
- attr_specs = {}
716
- else
717
- # attr_specs might be frozen
718
- attr_specs = Hash[attr_specs]
719
- end
720
- unless constants.nil? || constants.empty?
721
- constants.each do |key, value|
722
- if attr_specs.include?(key)
723
- raise Puppet::ParseError, _("attribute %{label}[%{key}] is defined as both a constant and an attribute") % { label: label, key: key }
724
- end
725
- attr_spec = {
726
- # Type must be generic here, or overrides would become impossible
727
- KEY_TYPE => TypeCalculator.infer(value).generalize,
728
- KEY_VALUE => value,
729
- KEY_KIND => ATTRIBUTE_KIND_CONSTANT
730
- }
731
- # Indicate override if parent member exists. Type check etc. will take place later on.
732
- attr_spec[KEY_OVERRIDE] = parent_members.include?(key)
733
- attr_specs[key] = attr_spec
734
- end
735
- end
736
-
737
- unless attr_specs.empty?
738
- @attributes = Hash[attr_specs.map do |key, attr_spec|
739
- unless attr_spec.is_a?(Hash)
740
- attr_type = TypeAsserter.assert_instance_of(nil, PTypeType::DEFAULT, attr_spec) { "attribute #{label}[#{key}]" }
741
- attr_spec = { KEY_TYPE => attr_type }
742
- attr_spec[KEY_VALUE] = nil if attr_type.is_a?(POptionalType)
743
- end
744
- attr = PAttribute.new(key, self, attr_spec)
745
- [attr.name, attr.assert_override(parent_members)]
746
- end].freeze
747
- end
748
-
749
- func_specs = init_hash[KEY_FUNCTIONS]
750
- unless func_specs.nil? || func_specs.empty?
751
- @functions = Hash[func_specs.map do |key, func_spec|
752
- func_spec = { KEY_TYPE => TypeAsserter.assert_instance_of(nil, TYPE_FUNCTION_TYPE, func_spec) { "function #{label}[#{key}]" } } unless func_spec.is_a?(Hash)
753
- func = PFunction.new(key, self, func_spec)
754
- name = func.name
755
- raise Puppet::ParseError, _("%{label} conflicts with attribute with the same name") % { label: func.label } if @attributes.include?(name)
756
- [name, func.assert_override(parent_members)]
757
- end].freeze
758
- end
759
-
760
- @equality_include_type = init_hash[KEY_EQUALITY_INCLUDE_TYPE]
761
- @equality_include_type = true if @equality_include_type.nil?
762
-
763
- equality = init_hash[KEY_EQUALITY]
764
- equality = [equality] if equality.is_a?(String)
765
- if equality.is_a?(Array)
766
- unless equality.empty?
767
- #TRANSLATORS equality_include_type = false should not be translated
768
- raise Puppet::ParseError, _('equality_include_type = false cannot be combined with non empty equality specification') unless @equality_include_type
769
- parent_eq_attrs = nil
770
- equality.each do |attr_name|
771
-
772
- attr = parent_members[attr_name]
773
- if attr.nil?
774
- attr = @attributes[attr_name] || @functions[attr_name]
775
- elsif attr.is_a?(PAttribute)
776
- # Assert that attribute is not already include by parent equality
777
- parent_eq_attrs ||= parent_object_type.equality_attributes
778
- if parent_eq_attrs.include?(attr_name)
779
- including_parent = find_equality_definer_of(attr)
780
- raise Puppet::ParseError, _("%{label} equality is referencing %{attribute} which is included in equality of %{including_parent}") %
781
- { label: label, attribute: attr.label, including_parent: including_parent.label }
782
- end
783
- end
784
-
785
- unless attr.is_a?(PAttribute)
786
- if attr.nil?
787
- raise Puppet::ParseError, _("%{label} equality is referencing non existent attribute '%{attribute}'") % { label: label, attribute: attr_name }
788
- end
789
- raise Puppet::ParseError, _("%{label} equality is referencing %{attribute}. Only attribute references are allowed") %
790
- { label: label, attribute: attr.label }
791
- end
792
- if attr.kind == ATTRIBUTE_KIND_CONSTANT
793
- raise Puppet::ParseError, _("%{label} equality is referencing constant %{attribute}.") % { label: label, attribute: attr.label } + ' ' +
794
- _("Reference to constant is not allowed in equality")
795
- end
796
- end
797
- end
798
- equality.freeze
799
- end
800
- @equality = equality
801
-
802
- @checks = init_hash[KEY_CHECKS]
803
- init_annotatable(init_hash)
804
- end
805
-
806
- def [](name)
807
- member = @attributes[name] || @functions[name]
808
- if member.nil?
809
- rp = resolved_parent
810
- member = rp[name] if rp.is_a?(PObjectType)
811
- end
812
- member
813
- end
814
-
815
- def accept(visitor, guard)
816
- guarded_recursion(guard, nil) do |g|
817
- super(visitor, g)
818
- @parent.accept(visitor, g) unless parent.nil?
819
- @type_parameters.values.each { |p| p.accept(visitor, g) }
820
- @attributes.values.each { |a| a.accept(visitor, g) }
821
- @functions.values.each { |f| f.accept(visitor, g) }
822
- end
823
- end
824
-
825
- def callable_args?(callable, guard)
826
- @parent.nil? ? false : @parent.callable_args?(callable, guard)
827
- end
828
-
829
- # Returns the type that a initialization hash used for creating instances of this type must conform to.
830
- #
831
- # @return [PStructType] the initialization hash type
832
- # @api public
833
- def init_hash_type
834
- @init_hash_type ||= create_init_hash_type
835
- end
836
-
837
- def allocate
838
- implementation_class.allocate
839
- end
840
-
841
- def create(*args)
842
- implementation_class.create(*args)
843
- end
844
-
845
- def from_hash(hash)
846
- implementation_class.from_hash(hash)
847
- end
848
-
849
- # Creates the type that a initialization hash used for creating instances of this type must conform to.
850
- #
851
- # @return [PStructType] the initialization hash type
852
- # @api private
853
- def create_init_hash_type
854
- struct_elems = {}
855
- attributes(true).values.each do |attr|
856
- unless attr.kind == ATTRIBUTE_KIND_CONSTANT || attr.kind == ATTRIBUTE_KIND_DERIVED
857
- if attr.value?
858
- struct_elems[TypeFactory.optional(attr.name)] = attr.type
859
- else
860
- struct_elems[attr.name] = attr.type
861
- end
862
- end
863
- end
864
- TypeFactory.struct(struct_elems)
865
- end
866
-
867
- # The init_hash is primarily intended for serialization and string representation purposes. It creates a hash
868
- # suitable for passing to {PObjectType#new(init_hash)}
869
- #
870
- # @return [Hash{String=>Object}] the features hash
871
- # @api public
872
- def _pcore_init_hash(include_name = true)
873
- result = super()
874
- result[KEY_NAME] = @name if include_name && !@name.nil?
875
- result[KEY_PARENT] = @parent unless @parent.nil?
876
- result[KEY_TYPE_PARAMETERS] = compressed_members_hash(@type_parameters) unless @type_parameters.empty?
877
- unless @attributes.empty?
878
- # Divide attributes into constants and others
879
- tc = TypeCalculator.singleton
880
- constants, others = @attributes.partition do |_, a|
881
- a.kind == ATTRIBUTE_KIND_CONSTANT && a.type == tc.infer(a.value).generalize
882
- end.map { |ha| Hash[ha] }
883
-
884
- result[KEY_ATTRIBUTES] = compressed_members_hash(others) unless others.empty?
885
- unless constants.empty?
886
- # { kind => 'constant', type => <type of value>, value => <value> } becomes just <value>
887
- constants.each_pair { |key, a| constants[key] = a.value }
888
- result[KEY_CONSTANTS] = constants
889
- end
890
- end
891
- result[KEY_FUNCTIONS] = compressed_members_hash(@functions) unless @functions.empty?
892
- result[KEY_EQUALITY] = @equality unless @equality.nil?
893
- result[KEY_CHECKS] = @checks unless @checks.nil?
894
- result
895
- end
896
-
897
- def eql?(o)
898
- self.class == o.class &&
899
- @name == o.name &&
900
- @parent == o.parent &&
901
- @type_parameters == o.type_parameters &&
902
- @attributes == o.attributes &&
903
- @functions == o.functions &&
904
- @equality == o.equality &&
905
- @checks == o.checks
906
- end
907
-
908
- def hash
909
- @name.nil? ? [@parent, @type_parameters, @attributes, @functions].hash : @name.hash
910
- end
911
-
912
- def kind_of_callable?(optional=true, guard = nil)
913
- @parent.nil? ? false : @parent.kind_of_callable?(optional, guard)
914
- end
915
-
916
- def iterable?(guard = nil)
917
- @parent.nil? ? false : @parent.iterable?(guard)
918
- end
919
-
920
- def iterable_type(guard = nil)
921
- @parent.nil? ? false : @parent.iterable_type(guard)
922
- end
923
-
924
- def parameterized?
925
- if @type_parameters.empty?
926
- @parent.is_a?(PObjectType) ? @parent.parameterized? : false
927
- else
928
- true
929
- end
930
- end
931
-
932
- # Returns the members (attributes and functions) of this `Object` type. If _include_parent_ is `true`, then all
933
- # inherited members will be included in the returned `Hash`.
934
- #
935
- # @param include_parent [Boolean] `true` if inherited members should be included
936
- # @return [Hash{String=>PAnnotatedMember}] a hash with the members
937
- # @api public
938
- def members(include_parent = false)
939
- get_members(include_parent, :both)
940
- end
941
-
942
- # Returns the attributes of this `Object` type. If _include_parent_ is `true`, then all
943
- # inherited attributes will be included in the returned `Hash`.
944
- #
945
- # @param include_parent [Boolean] `true` if inherited attributes should be included
946
- # @return [Hash{String=>PAttribute}] a hash with the attributes
947
- # @api public
948
- def attributes(include_parent = false)
949
- get_members(include_parent, :attributes)
950
- end
951
-
952
- # Returns the attributes that participate in equality comparison. Inherited equality attributes
953
- # are included.
954
- # @return [Hash{String=>PAttribute}] a hash of attributes
955
- # @api public
956
- def equality_attributes
957
- all = {}
958
- collect_equality_attributes(all)
959
- all
960
- end
961
-
962
- # @return [Boolean] `true` if this type is included when comparing instances
963
- # @api public
964
- def equality_include_type?
965
- @equality_include_type
966
- end
967
-
968
- # Returns the functions of this `Object` type. If _include_parent_ is `true`, then all
969
- # inherited functions will be included in the returned `Hash`.
970
- #
971
- # @param include_parent [Boolean] `true` if inherited functions should be included
972
- # @return [Hash{String=>PFunction}] a hash with the functions
973
- # @api public
974
- def functions(include_parent = false)
975
- get_members(include_parent, :functions)
976
- end
977
-
978
- DEFAULT = PObjectType.new(EMPTY_HASH)
979
- # Assert that this type does not inherit from itself
980
- # @api private
981
- def check_self_recursion(originator)
982
- unless @parent.nil?
983
- raise Puppet::Error, "The Object type '#{originator.label}' inherits from itself" if @parent.equal?(originator)
984
- @parent.check_self_recursion(originator)
985
- end
986
- end
987
-
988
- # @api private
989
- def label
990
- @name || 'Object'
991
- end
992
-
993
- # @api private
994
- def resolved_parent
995
- parent = @parent
996
- while parent.is_a?(PTypeAliasType)
997
- parent = parent.resolved_type
998
- end
999
- parent
1000
- end
1001
-
1002
- def simple_name
1003
- label.split(DOUBLE_COLON).last
1004
- end
1005
-
1006
- # Returns the type_parameters of this `Object` type. If _include_parent_ is `true`, then all
1007
- # inherited type_parameters will be included in the returned `Hash`.
1008
- #
1009
- # @param include_parent [Boolean] `true` if inherited type_parameters should be included
1010
- # @return [Hash{String=>PTypeParameter}] a hash with the type_parameters
1011
- # @api public
1012
- def type_parameters(include_parent = false)
1013
- all = {}
1014
- collect_type_parameters(all, include_parent)
1015
- all
1016
- end
1017
-
1018
- protected
1019
-
1020
- # An Object type is only assignable from another Object type. The other type
1021
- # or one of its parents must be equal to this type.
1022
- def _assignable?(o, guard)
1023
- if o.is_a?(PObjectType)
1024
- if DEFAULT == self || self == o
1025
- true
1026
- else
1027
- op = o.parent
1028
- op.nil? ? false : assignable?(op, guard)
1029
- end
1030
- elsif o.is_a?(PObjectTypeExtension)
1031
- assignable?(o.base_type, guard)
1032
- else
1033
- false
1034
- end
1035
- end
1036
-
1037
- def get_members(include_parent, member_type)
1038
- all = {}
1039
- collect_members(all, include_parent, member_type)
1040
- all
1041
- end
1042
-
1043
- def collect_members(collector, include_parent, member_type)
1044
- if include_parent
1045
- parent = resolved_parent
1046
- parent.collect_members(collector, include_parent, member_type) if parent.is_a?(PObjectType)
1047
- end
1048
- collector.merge!(@attributes) unless member_type == :functions
1049
- collector.merge!(@functions) unless member_type == :attributes
1050
- nil
1051
- end
1052
-
1053
- def collect_equality_attributes(collector)
1054
- parent = resolved_parent
1055
- parent.collect_equality_attributes(collector) if parent.is_a?(PObjectType)
1056
- if @equality.nil?
1057
- # All attributes except constants participate
1058
- collector.merge!(@attributes.reject { |_, attr| attr.kind == ATTRIBUTE_KIND_CONSTANT })
1059
- else
1060
- collector.merge!(Hash[@equality.map { |attr_name| [attr_name, @attributes[attr_name]] }])
1061
- end
1062
- nil
1063
- end
1064
-
1065
- def collect_type_parameters(collector, include_parent)
1066
- if include_parent
1067
- parent = resolved_parent
1068
- parent.collect_type_parameters(collector, include_parent) if parent.is_a?(PObjectType)
1069
- end
1070
- collector.merge!(@type_parameters)
1071
- nil
1072
- end
1073
-
1074
- private
1075
-
1076
- def compressed_members_hash(features)
1077
- Hash[features.values.map do |feature|
1078
- fh = feature._pcore_init_hash
1079
- if fh.size == 1
1080
- type = fh[KEY_TYPE]
1081
- fh = type unless type.nil?
1082
- end
1083
- [feature.name, fh]
1084
- end]
1085
- end
1086
-
1087
- # @return [PObjectType] the topmost parent who's #equality_attributes include the given _attr_
1088
- def find_equality_definer_of(attr)
1089
- type = self
1090
- while !type.nil? do
1091
- p = type.resolved_parent
1092
- return type unless p.is_a?(PObjectType)
1093
- return type unless p.equality_attributes.include?(attr.name)
1094
- type = p
1095
- end
1096
- nil
1097
- end
1098
-
1099
- def guarded_recursion(guard, dflt)
1100
- if @self_recursion
1101
- guard ||= RecursionGuard.new
1102
- guard.with_this(self) { |state| (state & RecursionGuard::SELF_RECURSION_IN_THIS) == 0 ? yield(guard) : dflt }
1103
- else
1104
- yield(guard)
1105
- end
1106
- end
1107
-
1108
- def reader
1109
- @reader ||= Serialization::ObjectReader::INSTANCE
1110
- end
1111
-
1112
- def writer
1113
- @writer ||= Serialization::ObjectWriter::INSTANCE
1114
- end
1115
- end
1116
- end
1117
- end