bolt 0.20.0 → 0.20.2
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.
- checksums.yaml +4 -4
- data/lib/bolt/cli.rb +5 -0
- data/lib/bolt/puppetdb/client.rb +1 -1
- data/lib/bolt/transport/ssh.rb +1 -1
- data/lib/bolt/util/on_access.rb +4 -2
- data/lib/bolt/version.rb +1 -1
- data/vendored/facter/lib/facter.rb +261 -0
- data/vendored/facter/lib/facter/Cfkey.rb +42 -0
- data/vendored/facter/lib/facter/application.rb +206 -0
- data/vendored/facter/lib/facter/architecture.rb +50 -0
- data/vendored/facter/lib/facter/augeasversion.rb +28 -0
- data/vendored/facter/lib/facter/blockdevices.rb +105 -0
- data/vendored/facter/lib/facter/core/aggregate.rb +220 -0
- data/vendored/facter/lib/facter/core/directed_graph.rb +46 -0
- data/vendored/facter/lib/facter/core/execution.rb +123 -0
- data/vendored/facter/lib/facter/core/execution/base.rb +81 -0
- data/vendored/facter/lib/facter/core/execution/posix.rb +50 -0
- data/vendored/facter/lib/facter/core/execution/windows.rb +57 -0
- data/vendored/facter/lib/facter/core/logging.rb +197 -0
- data/vendored/facter/lib/facter/core/resolvable.rb +94 -0
- data/vendored/facter/lib/facter/core/suitable.rb +113 -0
- data/vendored/facter/lib/facter/dhcp_servers.rb +45 -0
- data/vendored/facter/lib/facter/domain.rb +99 -0
- data/vendored/facter/lib/facter/ec2.rb +68 -0
- data/vendored/facter/lib/facter/ec2/rest.rb +137 -0
- data/vendored/facter/lib/facter/facterversion.rb +15 -0
- data/vendored/facter/lib/facter/filesystems.rb +45 -0
- data/vendored/facter/lib/facter/fqdn.rb +24 -0
- data/vendored/facter/lib/facter/gce.rb +16 -0
- data/vendored/facter/lib/facter/gce/metadata.rb +87 -0
- data/vendored/facter/lib/facter/gid.rb +25 -0
- data/vendored/facter/lib/facter/hardwareisa.rb +20 -0
- data/vendored/facter/lib/facter/hardwaremodel.rb +67 -0
- data/vendored/facter/lib/facter/hostname.rb +31 -0
- data/vendored/facter/lib/facter/id.rb +21 -0
- data/vendored/facter/lib/facter/interfaces.rb +58 -0
- data/vendored/facter/lib/facter/ipaddress.rb +169 -0
- data/vendored/facter/lib/facter/ipaddress6.rb +82 -0
- data/vendored/facter/lib/facter/iphostnumber.rb +29 -0
- data/vendored/facter/lib/facter/kernel.rb +22 -0
- data/vendored/facter/lib/facter/kernelmajversion.rb +23 -0
- data/vendored/facter/lib/facter/kernelrelease.rb +45 -0
- data/vendored/facter/lib/facter/kernelversion.rb +22 -0
- data/vendored/facter/lib/facter/ldom.rb +51 -0
- data/vendored/facter/lib/facter/lsbdistcodename.rb +20 -0
- data/vendored/facter/lib/facter/lsbdistdescription.rb +21 -0
- data/vendored/facter/lib/facter/lsbdistid.rb +20 -0
- data/vendored/facter/lib/facter/lsbdistrelease.rb +20 -0
- data/vendored/facter/lib/facter/lsbmajdistrelease.rb +22 -0
- data/vendored/facter/lib/facter/lsbminordistrelease.rb +22 -0
- data/vendored/facter/lib/facter/lsbrelease.rb +20 -0
- data/vendored/facter/lib/facter/macaddress.rb +99 -0
- data/vendored/facter/lib/facter/macosx.rb +56 -0
- data/vendored/facter/lib/facter/manufacturer.rb +68 -0
- data/vendored/facter/lib/facter/memory.rb +168 -0
- data/vendored/facter/lib/facter/netmask.rb +43 -0
- data/vendored/facter/lib/facter/network.rb +20 -0
- data/vendored/facter/lib/facter/operatingsystem.rb +24 -0
- data/vendored/facter/lib/facter/operatingsystem/base.rb +61 -0
- data/vendored/facter/lib/facter/operatingsystem/cumuluslinux.rb +27 -0
- data/vendored/facter/lib/facter/operatingsystem/implementation.rb +33 -0
- data/vendored/facter/lib/facter/operatingsystem/linux.rb +484 -0
- data/vendored/facter/lib/facter/operatingsystem/osreleaselinux.rb +28 -0
- data/vendored/facter/lib/facter/operatingsystem/sunos.rb +54 -0
- data/vendored/facter/lib/facter/operatingsystem/vmkernel.rb +11 -0
- data/vendored/facter/lib/facter/operatingsystem/windows.rb +43 -0
- data/vendored/facter/lib/facter/operatingsystemmajrelease.rb +31 -0
- data/vendored/facter/lib/facter/operatingsystemrelease.rb +29 -0
- data/vendored/facter/lib/facter/os.rb +98 -0
- data/vendored/facter/lib/facter/osfamily.rb +18 -0
- data/vendored/facter/lib/facter/partitions.rb +39 -0
- data/vendored/facter/lib/facter/path.rb +14 -0
- data/vendored/facter/lib/facter/physicalprocessorcount.rb +27 -0
- data/vendored/facter/lib/facter/processor.rb +52 -0
- data/vendored/facter/lib/facter/processors.rb +66 -0
- data/vendored/facter/lib/facter/processors/os.rb +244 -0
- data/vendored/facter/lib/facter/ps.rb +31 -0
- data/vendored/facter/lib/facter/puppetversion.rb +20 -0
- data/vendored/facter/lib/facter/rackspace.rb +37 -0
- data/vendored/facter/lib/facter/rubyplatform.rb +12 -0
- data/vendored/facter/lib/facter/rubysitedir.rb +15 -0
- data/vendored/facter/lib/facter/rubyversion.rb +12 -0
- data/vendored/facter/lib/facter/selinux.rb +154 -0
- data/vendored/facter/lib/facter/ssh.rb +73 -0
- data/vendored/facter/lib/facter/system32.rb +21 -0
- data/vendored/facter/lib/facter/system_uptime.rb +44 -0
- data/vendored/facter/lib/facter/timezone.rb +14 -0
- data/vendored/facter/lib/facter/uniqueid.rb +4 -0
- data/vendored/facter/lib/facter/uptime.rb +16 -0
- data/vendored/facter/lib/facter/uptime_days.rb +13 -0
- data/vendored/facter/lib/facter/uptime_hours.rb +13 -0
- data/vendored/facter/lib/facter/uptime_seconds.rb +20 -0
- data/vendored/facter/lib/facter/util/architecture.rb +19 -0
- data/vendored/facter/lib/facter/util/collection.rb +161 -0
- data/vendored/facter/lib/facter/util/composite_loader.rb +12 -0
- data/vendored/facter/lib/facter/util/config.rb +88 -0
- data/vendored/facter/lib/facter/util/confine.rb +66 -0
- data/vendored/facter/lib/facter/util/dhcp_servers.rb +58 -0
- data/vendored/facter/lib/facter/util/directory_loader.rb +88 -0
- data/vendored/facter/lib/facter/util/ec2.rb +106 -0
- data/vendored/facter/lib/facter/util/fact.rb +204 -0
- data/vendored/facter/lib/facter/util/file_read.rb +37 -0
- data/vendored/facter/lib/facter/util/formatter.rb +39 -0
- data/vendored/facter/lib/facter/util/ip.rb +340 -0
- data/vendored/facter/lib/facter/util/ip/windows.rb +215 -0
- data/vendored/facter/lib/facter/util/loader.rb +155 -0
- data/vendored/facter/lib/facter/util/macaddress.rb +43 -0
- data/vendored/facter/lib/facter/util/macosx.rb +73 -0
- data/vendored/facter/lib/facter/util/manufacturer.rb +99 -0
- data/vendored/facter/lib/facter/util/memory.rb +228 -0
- data/vendored/facter/lib/facter/util/netmask.rb +40 -0
- data/vendored/facter/lib/facter/util/normalization.rb +94 -0
- data/vendored/facter/lib/facter/util/nothing_loader.rb +12 -0
- data/vendored/facter/lib/facter/util/operatingsystem.rb +21 -0
- data/vendored/facter/lib/facter/util/parser.rb +168 -0
- data/vendored/facter/lib/facter/util/partitions.rb +47 -0
- data/vendored/facter/lib/facter/util/partitions/linux.rb +71 -0
- data/vendored/facter/lib/facter/util/partitions/openbsd.rb +40 -0
- data/vendored/facter/lib/facter/util/plist.rb +24 -0
- data/vendored/facter/lib/facter/util/plist/generator.rb +228 -0
- data/vendored/facter/lib/facter/util/plist/parser.rb +226 -0
- data/vendored/facter/lib/facter/util/posix.rb +16 -0
- data/vendored/facter/lib/facter/util/processor.rb +289 -0
- data/vendored/facter/lib/facter/util/registry.rb +11 -0
- data/vendored/facter/lib/facter/util/resolution.rb +160 -0
- data/vendored/facter/lib/facter/util/solaris_zones.rb +158 -0
- data/vendored/facter/lib/facter/util/unix_root.rb +5 -0
- data/vendored/facter/lib/facter/util/uptime.rb +83 -0
- data/vendored/facter/lib/facter/util/values.rb +109 -0
- data/vendored/facter/lib/facter/util/virtual.rb +212 -0
- data/vendored/facter/lib/facter/util/vlans.rb +21 -0
- data/vendored/facter/lib/facter/util/windows.rb +10 -0
- data/vendored/facter/lib/facter/util/windows/api_types.rb +135 -0
- data/vendored/facter/lib/facter/util/windows/dir.rb +43 -0
- data/vendored/facter/lib/facter/util/windows/error.rb +87 -0
- data/vendored/facter/lib/facter/util/windows/process.rb +294 -0
- data/vendored/facter/lib/facter/util/windows/user.rb +186 -0
- data/vendored/facter/lib/facter/util/windows_root.rb +7 -0
- data/vendored/facter/lib/facter/util/wmi.rb +49 -0
- data/vendored/facter/lib/facter/util/xendomains.rb +28 -0
- data/vendored/facter/lib/facter/version.rb +86 -0
- data/vendored/facter/lib/facter/virtual.rb +330 -0
- data/vendored/facter/lib/facter/vlans.rb +17 -0
- data/vendored/facter/lib/facter/xendomains.rb +20 -0
- data/vendored/facter/lib/facter/zfs_version.rb +14 -0
- data/vendored/facter/lib/facter/zonename.rb +6 -0
- data/vendored/facter/lib/facter/zones.rb +18 -0
- data/vendored/facter/lib/facter/zpool_version.rb +10 -0
- data/vendored/hiera/lib/hiera.rb +119 -0
- data/vendored/hiera/lib/hiera/backend.rb +360 -0
- data/vendored/hiera/lib/hiera/backend/json_backend.rb +58 -0
- data/vendored/hiera/lib/hiera/backend/yaml_backend.rb +63 -0
- data/vendored/hiera/lib/hiera/config.rb +97 -0
- data/vendored/hiera/lib/hiera/console_logger.rb +13 -0
- data/vendored/hiera/lib/hiera/error.rb +4 -0
- data/vendored/hiera/lib/hiera/fallback_logger.rb +41 -0
- data/vendored/hiera/lib/hiera/filecache.rb +86 -0
- data/vendored/hiera/lib/hiera/interpolate.rb +121 -0
- data/vendored/hiera/lib/hiera/noop_logger.rb +8 -0
- data/vendored/hiera/lib/hiera/puppet_logger.rb +17 -0
- data/vendored/hiera/lib/hiera/recursive_guard.rb +20 -0
- data/vendored/hiera/lib/hiera/util.rb +65 -0
- data/vendored/hiera/lib/hiera/util/win32.rb +40 -0
- data/vendored/hiera/lib/hiera/version.rb +89 -0
- data/vendored/puppet/lib/hiera/puppet_function.rb +84 -0
- data/vendored/puppet/lib/hiera/scope.rb +61 -0
- data/vendored/puppet/lib/hiera_puppet.rb +79 -0
- data/vendored/puppet/lib/puppet.rb +307 -0
- data/vendored/puppet/lib/puppet/agent.rb +134 -0
- data/vendored/puppet/lib/puppet/agent/disabler.rb +53 -0
- data/vendored/puppet/lib/puppet/agent/locker.rb +53 -0
- data/vendored/puppet/lib/puppet/application.rb +502 -0
- data/vendored/puppet/lib/puppet/application/agent.rb +473 -0
- data/vendored/puppet/lib/puppet/application/apply.rb +356 -0
- data/vendored/puppet/lib/puppet/application/ca.rb +11 -0
- data/vendored/puppet/lib/puppet/application/catalog.rb +4 -0
- data/vendored/puppet/lib/puppet/application/cert.rb +339 -0
- data/vendored/puppet/lib/puppet/application/certificate.rb +17 -0
- data/vendored/puppet/lib/puppet/application/certificate_request.rb +7 -0
- data/vendored/puppet/lib/puppet/application/certificate_revocation_list.rb +7 -0
- data/vendored/puppet/lib/puppet/application/config.rb +5 -0
- data/vendored/puppet/lib/puppet/application/describe.rb +257 -0
- data/vendored/puppet/lib/puppet/application/device.rb +378 -0
- data/vendored/puppet/lib/puppet/application/doc.rb +230 -0
- data/vendored/puppet/lib/puppet/application/epp.rb +5 -0
- data/vendored/puppet/lib/puppet/application/face_base.rb +268 -0
- data/vendored/puppet/lib/puppet/application/facts.rb +9 -0
- data/vendored/puppet/lib/puppet/application/filebucket.rb +300 -0
- data/vendored/puppet/lib/puppet/application/generate.rb +5 -0
- data/vendored/puppet/lib/puppet/application/help.rb +5 -0
- data/vendored/puppet/lib/puppet/application/indirection_base.rb +4 -0
- data/vendored/puppet/lib/puppet/application/key.rb +4 -0
- data/vendored/puppet/lib/puppet/application/lookup.rb +369 -0
- data/vendored/puppet/lib/puppet/application/man.rb +4 -0
- data/vendored/puppet/lib/puppet/application/master.rb +317 -0
- data/vendored/puppet/lib/puppet/application/module.rb +4 -0
- data/vendored/puppet/lib/puppet/application/node.rb +4 -0
- data/vendored/puppet/lib/puppet/application/parser.rb +5 -0
- data/vendored/puppet/lib/puppet/application/plugin.rb +3 -0
- data/vendored/puppet/lib/puppet/application/report.rb +4 -0
- data/vendored/puppet/lib/puppet/application/resource.rb +231 -0
- data/vendored/puppet/lib/puppet/application/script.rb +261 -0
- data/vendored/puppet/lib/puppet/application/status.rb +4 -0
- data/vendored/puppet/lib/puppet/application_support.rb +62 -0
- data/vendored/puppet/lib/puppet/coercion.rb +40 -0
- data/vendored/puppet/lib/puppet/compilable_resource_type.rb +15 -0
- data/vendored/puppet/lib/puppet/configurer.rb +464 -0
- data/vendored/puppet/lib/puppet/configurer/downloader.rb +67 -0
- data/vendored/puppet/lib/puppet/configurer/fact_handler.rb +46 -0
- data/vendored/puppet/lib/puppet/configurer/plugin_handler.rb +49 -0
- data/vendored/puppet/lib/puppet/confine.rb +80 -0
- data/vendored/puppet/lib/puppet/confine/any.rb +26 -0
- data/vendored/puppet/lib/puppet/confine/exists.rb +19 -0
- data/vendored/puppet/lib/puppet/confine/false.rb +19 -0
- data/vendored/puppet/lib/puppet/confine/feature.rb +17 -0
- data/vendored/puppet/lib/puppet/confine/true.rb +20 -0
- data/vendored/puppet/lib/puppet/confine/variable.rb +59 -0
- data/vendored/puppet/lib/puppet/confine_collection.rb +50 -0
- data/vendored/puppet/lib/puppet/confiner.rb +46 -0
- data/vendored/puppet/lib/puppet/context.rb +116 -0
- data/vendored/puppet/lib/puppet/context/trusted_information.rb +76 -0
- data/vendored/puppet/lib/puppet/daemon.rb +195 -0
- data/vendored/puppet/lib/puppet/data_binding.rb +14 -0
- data/vendored/puppet/lib/puppet/datatypes.rb +213 -0
- data/vendored/puppet/lib/puppet/datatypes/error.rb +21 -0
- data/vendored/puppet/lib/puppet/datatypes/impl/error.rb +40 -0
- data/vendored/puppet/lib/puppet/defaults.rb +2071 -0
- data/vendored/puppet/lib/puppet/environments.rb +511 -0
- data/vendored/puppet/lib/puppet/error.rb +110 -0
- data/vendored/puppet/lib/puppet/etc.rb +161 -0
- data/vendored/puppet/lib/puppet/external/dot.rb +319 -0
- data/vendored/puppet/lib/puppet/external/nagios.rb +46 -0
- data/vendored/puppet/lib/puppet/external/nagios/base.rb +472 -0
- data/vendored/puppet/lib/puppet/external/nagios/parser.rb +400 -0
- data/vendored/puppet/lib/puppet/external/pson/common.rb +374 -0
- data/vendored/puppet/lib/puppet/external/pson/pure.rb +15 -0
- data/vendored/puppet/lib/puppet/external/pson/pure/generator.rb +395 -0
- data/vendored/puppet/lib/puppet/external/pson/pure/parser.rb +307 -0
- data/vendored/puppet/lib/puppet/external/pson/version.rb +8 -0
- data/vendored/puppet/lib/puppet/face.rb +12 -0
- data/vendored/puppet/lib/puppet/face/ca.rb +266 -0
- data/vendored/puppet/lib/puppet/face/catalog.rb +130 -0
- data/vendored/puppet/lib/puppet/face/catalog/select.rb +49 -0
- data/vendored/puppet/lib/puppet/face/certificate.rb +165 -0
- data/vendored/puppet/lib/puppet/face/certificate_request.rb +56 -0
- data/vendored/puppet/lib/puppet/face/certificate_revocation_list.rb +56 -0
- data/vendored/puppet/lib/puppet/face/config.rb +210 -0
- data/vendored/puppet/lib/puppet/face/epp.rb +554 -0
- data/vendored/puppet/lib/puppet/face/facts.rb +87 -0
- data/vendored/puppet/lib/puppet/face/generate.rb +64 -0
- data/vendored/puppet/lib/puppet/face/help.rb +201 -0
- data/vendored/puppet/lib/puppet/face/key.rb +16 -0
- data/vendored/puppet/lib/puppet/face/man.rb +145 -0
- data/vendored/puppet/lib/puppet/face/module.rb +19 -0
- data/vendored/puppet/lib/puppet/face/module/build.rb +64 -0
- data/vendored/puppet/lib/puppet/face/module/changes.rb +42 -0
- data/vendored/puppet/lib/puppet/face/module/generate.rb +256 -0
- data/vendored/puppet/lib/puppet/face/module/install.rb +150 -0
- data/vendored/puppet/lib/puppet/face/module/list.rb +268 -0
- data/vendored/puppet/lib/puppet/face/module/search.rb +98 -0
- data/vendored/puppet/lib/puppet/face/module/uninstall.rb +93 -0
- data/vendored/puppet/lib/puppet/face/module/upgrade.rb +91 -0
- data/vendored/puppet/lib/puppet/face/node.rb +43 -0
- data/vendored/puppet/lib/puppet/face/node/clean.rb +96 -0
- data/vendored/puppet/lib/puppet/face/parser.rb +187 -0
- data/vendored/puppet/lib/puppet/face/plugin.rb +56 -0
- data/vendored/puppet/lib/puppet/face/report.rb +54 -0
- data/vendored/puppet/lib/puppet/face/resource.rb +53 -0
- data/vendored/puppet/lib/puppet/face/status.rb +51 -0
- data/vendored/puppet/lib/puppet/feature/base.rb +95 -0
- data/vendored/puppet/lib/puppet/feature/bolt.rb +3 -0
- data/vendored/puppet/lib/puppet/feature/cfpropertylist.rb +3 -0
- data/vendored/puppet/lib/puppet/feature/eventlog.rb +5 -0
- data/vendored/puppet/lib/puppet/feature/hiera_eyaml.rb +3 -0
- data/vendored/puppet/lib/puppet/feature/hocon.rb +3 -0
- data/vendored/puppet/lib/puppet/feature/libuser.rb +8 -0
- data/vendored/puppet/lib/puppet/feature/msgpack.rb +3 -0
- data/vendored/puppet/lib/puppet/feature/pe_license.rb +4 -0
- data/vendored/puppet/lib/puppet/feature/rack.rb +19 -0
- data/vendored/puppet/lib/puppet/feature/selinux.rb +3 -0
- data/vendored/puppet/lib/puppet/feature/ssh.rb +3 -0
- data/vendored/puppet/lib/puppet/feature/telnet.rb +9 -0
- data/vendored/puppet/lib/puppet/feature/zlib.rb +5 -0
- data/vendored/puppet/lib/puppet/file_bucket.rb +4 -0
- data/vendored/puppet/lib/puppet/file_bucket/dipper.rb +173 -0
- data/vendored/puppet/lib/puppet/file_bucket/file.rb +129 -0
- data/vendored/puppet/lib/puppet/file_serving.rb +3 -0
- data/vendored/puppet/lib/puppet/file_serving/base.rb +86 -0
- data/vendored/puppet/lib/puppet/file_serving/configuration.rb +115 -0
- data/vendored/puppet/lib/puppet/file_serving/configuration/parser.rb +137 -0
- data/vendored/puppet/lib/puppet/file_serving/content.rb +43 -0
- data/vendored/puppet/lib/puppet/file_serving/fileset.rb +174 -0
- data/vendored/puppet/lib/puppet/file_serving/http_metadata.rb +46 -0
- data/vendored/puppet/lib/puppet/file_serving/metadata.rb +163 -0
- data/vendored/puppet/lib/puppet/file_serving/mount.rb +39 -0
- data/vendored/puppet/lib/puppet/file_serving/mount/file.rb +121 -0
- data/vendored/puppet/lib/puppet/file_serving/mount/locales.rb +35 -0
- data/vendored/puppet/lib/puppet/file_serving/mount/modules.rb +24 -0
- data/vendored/puppet/lib/puppet/file_serving/mount/pluginfacts.rb +35 -0
- data/vendored/puppet/lib/puppet/file_serving/mount/plugins.rb +35 -0
- data/vendored/puppet/lib/puppet/file_serving/mount/tasks.rb +21 -0
- data/vendored/puppet/lib/puppet/file_serving/terminus_helper.rb +31 -0
- data/vendored/puppet/lib/puppet/file_serving/terminus_selector.rb +32 -0
- data/vendored/puppet/lib/puppet/file_system.rb +404 -0
- data/vendored/puppet/lib/puppet/file_system/file_impl.rb +154 -0
- data/vendored/puppet/lib/puppet/file_system/memory_file.rb +66 -0
- data/vendored/puppet/lib/puppet/file_system/memory_impl.rb +86 -0
- data/vendored/puppet/lib/puppet/file_system/path_pattern.rb +98 -0
- data/vendored/puppet/lib/puppet/file_system/posix.rb +46 -0
- data/vendored/puppet/lib/puppet/file_system/uniquefile.rb +190 -0
- data/vendored/puppet/lib/puppet/file_system/windows.rb +130 -0
- data/vendored/puppet/lib/puppet/forge.rb +242 -0
- data/vendored/puppet/lib/puppet/forge/cache.rb +60 -0
- data/vendored/puppet/lib/puppet/forge/errors.rb +114 -0
- data/vendored/puppet/lib/puppet/forge/repository.rb +155 -0
- data/vendored/puppet/lib/puppet/functions.rb +725 -0
- data/vendored/puppet/lib/puppet/functions/alert.rb +14 -0
- data/vendored/puppet/lib/puppet/functions/all.rb +104 -0
- data/vendored/puppet/lib/puppet/functions/annotate.rb +108 -0
- data/vendored/puppet/lib/puppet/functions/any.rb +109 -0
- data/vendored/puppet/lib/puppet/functions/assert_type.rb +93 -0
- data/vendored/puppet/lib/puppet/functions/binary_file.rb +32 -0
- data/vendored/puppet/lib/puppet/functions/break.rb +51 -0
- data/vendored/puppet/lib/puppet/functions/call.rb +42 -0
- data/vendored/puppet/lib/puppet/functions/contain.rb +55 -0
- data/vendored/puppet/lib/puppet/functions/convert_to.rb +33 -0
- data/vendored/puppet/lib/puppet/functions/crit.rb +14 -0
- data/vendored/puppet/lib/puppet/functions/debug.rb +14 -0
- data/vendored/puppet/lib/puppet/functions/defined.rb +159 -0
- data/vendored/puppet/lib/puppet/functions/dig.rb +47 -0
- data/vendored/puppet/lib/puppet/functions/each.rb +169 -0
- data/vendored/puppet/lib/puppet/functions/emerg.rb +14 -0
- data/vendored/puppet/lib/puppet/functions/empty.rb +79 -0
- data/vendored/puppet/lib/puppet/functions/epp.rb +48 -0
- data/vendored/puppet/lib/puppet/functions/err.rb +14 -0
- data/vendored/puppet/lib/puppet/functions/eyaml_lookup_key.rb +96 -0
- data/vendored/puppet/lib/puppet/functions/filter.rb +143 -0
- data/vendored/puppet/lib/puppet/functions/find_file.rb +44 -0
- data/vendored/puppet/lib/puppet/functions/flatten.rb +64 -0
- data/vendored/puppet/lib/puppet/functions/hiera.rb +88 -0
- data/vendored/puppet/lib/puppet/functions/hiera_array.rb +81 -0
- data/vendored/puppet/lib/puppet/functions/hiera_hash.rb +92 -0
- data/vendored/puppet/lib/puppet/functions/hiera_include.rb +104 -0
- data/vendored/puppet/lib/puppet/functions/hocon_data.rb +41 -0
- data/vendored/puppet/lib/puppet/functions/import.rb +7 -0
- data/vendored/puppet/lib/puppet/functions/include.rb +53 -0
- data/vendored/puppet/lib/puppet/functions/info.rb +14 -0
- data/vendored/puppet/lib/puppet/functions/inline_epp.rb +59 -0
- data/vendored/puppet/lib/puppet/functions/join.rb +56 -0
- data/vendored/puppet/lib/puppet/functions/json_data.rb +33 -0
- data/vendored/puppet/lib/puppet/functions/keys.rb +25 -0
- data/vendored/puppet/lib/puppet/functions/length.rb +44 -0
- data/vendored/puppet/lib/puppet/functions/lest.rb +55 -0
- data/vendored/puppet/lib/puppet/functions/lookup.rb +223 -0
- data/vendored/puppet/lib/puppet/functions/map.rb +136 -0
- data/vendored/puppet/lib/puppet/functions/match.rb +120 -0
- data/vendored/puppet/lib/puppet/functions/module_directory.rb +41 -0
- data/vendored/puppet/lib/puppet/functions/new.rb +1022 -0
- data/vendored/puppet/lib/puppet/functions/next.rb +23 -0
- data/vendored/puppet/lib/puppet/functions/notice.rb +14 -0
- data/vendored/puppet/lib/puppet/functions/reduce.rb +164 -0
- data/vendored/puppet/lib/puppet/functions/regsubst.rb +82 -0
- data/vendored/puppet/lib/puppet/functions/require.rb +77 -0
- data/vendored/puppet/lib/puppet/functions/return.rb +22 -0
- data/vendored/puppet/lib/puppet/functions/reverse_each.rb +94 -0
- data/vendored/puppet/lib/puppet/functions/scanf.rb +44 -0
- data/vendored/puppet/lib/puppet/functions/slice.rb +124 -0
- data/vendored/puppet/lib/puppet/functions/split.rb +49 -0
- data/vendored/puppet/lib/puppet/functions/step.rb +98 -0
- data/vendored/puppet/lib/puppet/functions/strftime.rb +217 -0
- data/vendored/puppet/lib/puppet/functions/then.rb +77 -0
- data/vendored/puppet/lib/puppet/functions/tree_each.rb +200 -0
- data/vendored/puppet/lib/puppet/functions/type.rb +72 -0
- data/vendored/puppet/lib/puppet/functions/unique.rb +132 -0
- data/vendored/puppet/lib/puppet/functions/unwrap.rb +44 -0
- data/vendored/puppet/lib/puppet/functions/values.rb +25 -0
- data/vendored/puppet/lib/puppet/functions/versioncmp.rb +36 -0
- data/vendored/puppet/lib/puppet/functions/warning.rb +14 -0
- data/vendored/puppet/lib/puppet/functions/with.rb +32 -0
- data/vendored/puppet/lib/puppet/functions/yaml_data.rb +42 -0
- data/vendored/puppet/lib/puppet/generate/models/type/property.rb +70 -0
- data/vendored/puppet/lib/puppet/generate/models/type/type.rb +62 -0
- data/vendored/puppet/lib/puppet/generate/type.rb +239 -0
- data/vendored/puppet/lib/puppet/gettext/config.rb +252 -0
- data/vendored/puppet/lib/puppet/gettext/module_translations.rb +42 -0
- data/vendored/puppet/lib/puppet/gettext/stubs.rb +11 -0
- data/vendored/puppet/lib/puppet/graph.rb +11 -0
- data/vendored/puppet/lib/puppet/graph/key.rb +26 -0
- data/vendored/puppet/lib/puppet/graph/prioritizer.rb +29 -0
- data/vendored/puppet/lib/puppet/graph/random_prioritizer.rb +16 -0
- data/vendored/puppet/lib/puppet/graph/rb_tree_map.rb +388 -0
- data/vendored/puppet/lib/puppet/graph/relationship_graph.rb +283 -0
- data/vendored/puppet/lib/puppet/graph/sequential_prioritizer.rb +31 -0
- data/vendored/puppet/lib/puppet/graph/simple_graph.rb +539 -0
- data/vendored/puppet/lib/puppet/graph/title_hash_prioritizer.rb +16 -0
- data/vendored/puppet/lib/puppet/indirector.rb +61 -0
- data/vendored/puppet/lib/puppet/indirector/catalog/compiler.rb +418 -0
- data/vendored/puppet/lib/puppet/indirector/catalog/json.rb +24 -0
- data/vendored/puppet/lib/puppet/indirector/catalog/msgpack.rb +6 -0
- data/vendored/puppet/lib/puppet/indirector/catalog/rest.rb +6 -0
- data/vendored/puppet/lib/puppet/indirector/catalog/store_configs.rb +8 -0
- data/vendored/puppet/lib/puppet/indirector/catalog/yaml.rb +22 -0
- data/vendored/puppet/lib/puppet/indirector/certificate/ca.rb +9 -0
- data/vendored/puppet/lib/puppet/indirector/certificate/disabled_ca.rb +22 -0
- data/vendored/puppet/lib/puppet/indirector/certificate/file.rb +9 -0
- data/vendored/puppet/lib/puppet/indirector/certificate/rest.rb +16 -0
- data/vendored/puppet/lib/puppet/indirector/certificate_request/ca.rb +22 -0
- data/vendored/puppet/lib/puppet/indirector/certificate_request/disabled_ca.rb +22 -0
- data/vendored/puppet/lib/puppet/indirector/certificate_request/file.rb +8 -0
- data/vendored/puppet/lib/puppet/indirector/certificate_request/memory.rb +6 -0
- data/vendored/puppet/lib/puppet/indirector/certificate_request/rest.rb +10 -0
- data/vendored/puppet/lib/puppet/indirector/certificate_revocation_list/ca.rb +8 -0
- data/vendored/puppet/lib/puppet/indirector/certificate_revocation_list/disabled_ca.rb +22 -0
- data/vendored/puppet/lib/puppet/indirector/certificate_revocation_list/file.rb +8 -0
- data/vendored/puppet/lib/puppet/indirector/certificate_revocation_list/rest.rb +22 -0
- data/vendored/puppet/lib/puppet/indirector/certificate_status.rb +4 -0
- data/vendored/puppet/lib/puppet/indirector/certificate_status/file.rb +91 -0
- data/vendored/puppet/lib/puppet/indirector/certificate_status/rest.rb +11 -0
- data/vendored/puppet/lib/puppet/indirector/code.rb +6 -0
- data/vendored/puppet/lib/puppet/indirector/data_binding/hiera.rb +7 -0
- data/vendored/puppet/lib/puppet/indirector/data_binding/none.rb +8 -0
- data/vendored/puppet/lib/puppet/indirector/direct_file_server.rb +17 -0
- data/vendored/puppet/lib/puppet/indirector/envelope.rb +11 -0
- data/vendored/puppet/lib/puppet/indirector/errors.rb +5 -0
- data/vendored/puppet/lib/puppet/indirector/exec.rb +38 -0
- data/vendored/puppet/lib/puppet/indirector/face.rb +153 -0
- data/vendored/puppet/lib/puppet/indirector/facts/facter.rb +88 -0
- data/vendored/puppet/lib/puppet/indirector/facts/memory.rb +9 -0
- data/vendored/puppet/lib/puppet/indirector/facts/network_device.rb +27 -0
- data/vendored/puppet/lib/puppet/indirector/facts/rest.rb +21 -0
- data/vendored/puppet/lib/puppet/indirector/facts/store_configs.rb +11 -0
- data/vendored/puppet/lib/puppet/indirector/facts/yaml.rb +82 -0
- data/vendored/puppet/lib/puppet/indirector/file_bucket_file/file.rb +262 -0
- data/vendored/puppet/lib/puppet/indirector/file_bucket_file/rest.rb +8 -0
- data/vendored/puppet/lib/puppet/indirector/file_bucket_file/selector.rb +53 -0
- data/vendored/puppet/lib/puppet/indirector/file_content.rb +5 -0
- data/vendored/puppet/lib/puppet/indirector/file_content/file.rb +7 -0
- data/vendored/puppet/lib/puppet/indirector/file_content/file_server.rb +7 -0
- data/vendored/puppet/lib/puppet/indirector/file_content/http.rb +17 -0
- data/vendored/puppet/lib/puppet/indirector/file_content/rest.rb +9 -0
- data/vendored/puppet/lib/puppet/indirector/file_content/selector.rb +30 -0
- data/vendored/puppet/lib/puppet/indirector/file_metadata.rb +5 -0
- data/vendored/puppet/lib/puppet/indirector/file_metadata/file.rb +7 -0
- data/vendored/puppet/lib/puppet/indirector/file_metadata/file_server.rb +7 -0
- data/vendored/puppet/lib/puppet/indirector/file_metadata/http.rb +27 -0
- data/vendored/puppet/lib/puppet/indirector/file_metadata/rest.rb +9 -0
- data/vendored/puppet/lib/puppet/indirector/file_metadata/selector.rb +30 -0
- data/vendored/puppet/lib/puppet/indirector/file_server.rb +59 -0
- data/vendored/puppet/lib/puppet/indirector/generic_http.rb +16 -0
- data/vendored/puppet/lib/puppet/indirector/hiera.rb +94 -0
- data/vendored/puppet/lib/puppet/indirector/indirection.rb +344 -0
- data/vendored/puppet/lib/puppet/indirector/json.rb +75 -0
- data/vendored/puppet/lib/puppet/indirector/key/ca.rb +16 -0
- data/vendored/puppet/lib/puppet/indirector/key/disabled_ca.rb +22 -0
- data/vendored/puppet/lib/puppet/indirector/key/file.rb +50 -0
- data/vendored/puppet/lib/puppet/indirector/key/memory.rb +6 -0
- data/vendored/puppet/lib/puppet/indirector/ldap.rb +80 -0
- data/vendored/puppet/lib/puppet/indirector/memory.rb +34 -0
- data/vendored/puppet/lib/puppet/indirector/msgpack.rb +83 -0
- data/vendored/puppet/lib/puppet/indirector/node/exec.rb +71 -0
- data/vendored/puppet/lib/puppet/indirector/node/ldap.rb +275 -0
- data/vendored/puppet/lib/puppet/indirector/node/memory.rb +10 -0
- data/vendored/puppet/lib/puppet/indirector/node/msgpack.rb +7 -0
- data/vendored/puppet/lib/puppet/indirector/node/plain.rb +21 -0
- data/vendored/puppet/lib/puppet/indirector/node/rest.rb +7 -0
- data/vendored/puppet/lib/puppet/indirector/node/store_configs.rb +8 -0
- data/vendored/puppet/lib/puppet/indirector/node/write_only_yaml.rb +39 -0
- data/vendored/puppet/lib/puppet/indirector/node/yaml.rb +13 -0
- data/vendored/puppet/lib/puppet/indirector/none.rb +9 -0
- data/vendored/puppet/lib/puppet/indirector/plain.rb +9 -0
- data/vendored/puppet/lib/puppet/indirector/report/msgpack.rb +11 -0
- data/vendored/puppet/lib/puppet/indirector/report/processor.rb +59 -0
- data/vendored/puppet/lib/puppet/indirector/report/rest.rb +28 -0
- data/vendored/puppet/lib/puppet/indirector/report/yaml.rb +11 -0
- data/vendored/puppet/lib/puppet/indirector/request.rb +278 -0
- data/vendored/puppet/lib/puppet/indirector/resource/ral.rb +63 -0
- data/vendored/puppet/lib/puppet/indirector/resource/store_configs.rb +12 -0
- data/vendored/puppet/lib/puppet/indirector/resource/validator.rb +8 -0
- data/vendored/puppet/lib/puppet/indirector/rest.rb +350 -0
- data/vendored/puppet/lib/puppet/indirector/ssl_file.rb +201 -0
- data/vendored/puppet/lib/puppet/indirector/status.rb +3 -0
- data/vendored/puppet/lib/puppet/indirector/status/local.rb +12 -0
- data/vendored/puppet/lib/puppet/indirector/status/rest.rb +9 -0
- data/vendored/puppet/lib/puppet/indirector/store_configs.rb +30 -0
- data/vendored/puppet/lib/puppet/indirector/terminus.rb +169 -0
- data/vendored/puppet/lib/puppet/indirector/yaml.rb +63 -0
- data/vendored/puppet/lib/puppet/info_service.rb +17 -0
- data/vendored/puppet/lib/puppet/info_service/class_information_service.rb +110 -0
- data/vendored/puppet/lib/puppet/info_service/task_information_service.rb +32 -0
- data/vendored/puppet/lib/puppet/interface.rb +237 -0
- data/vendored/puppet/lib/puppet/interface/action.rb +402 -0
- data/vendored/puppet/lib/puppet/interface/action_builder.rb +166 -0
- data/vendored/puppet/lib/puppet/interface/action_manager.rb +97 -0
- data/vendored/puppet/lib/puppet/interface/documentation.rb +353 -0
- data/vendored/puppet/lib/puppet/interface/face_collection.rb +132 -0
- data/vendored/puppet/lib/puppet/interface/option.rb +171 -0
- data/vendored/puppet/lib/puppet/interface/option_builder.rb +105 -0
- data/vendored/puppet/lib/puppet/interface/option_manager.rb +104 -0
- data/vendored/puppet/lib/puppet/loaders.rb +27 -0
- data/vendored/puppet/lib/puppet/metatype/manager.rb +199 -0
- data/vendored/puppet/lib/puppet/module.rb +467 -0
- data/vendored/puppet/lib/puppet/module/task.rb +90 -0
- data/vendored/puppet/lib/puppet/module_tool.rb +196 -0
- data/vendored/puppet/lib/puppet/module_tool/applications.rb +14 -0
- data/vendored/puppet/lib/puppet/module_tool/applications/application.rb +90 -0
- data/vendored/puppet/lib/puppet/module_tool/applications/builder.rb +152 -0
- data/vendored/puppet/lib/puppet/module_tool/applications/checksummer.rb +62 -0
- data/vendored/puppet/lib/puppet/module_tool/applications/installer.rb +355 -0
- data/vendored/puppet/lib/puppet/module_tool/applications/searcher.rb +29 -0
- data/vendored/puppet/lib/puppet/module_tool/applications/uninstaller.rb +121 -0
- data/vendored/puppet/lib/puppet/module_tool/applications/unpacker.rb +100 -0
- data/vendored/puppet/lib/puppet/module_tool/applications/upgrader.rb +281 -0
- data/vendored/puppet/lib/puppet/module_tool/checksums.rb +49 -0
- data/vendored/puppet/lib/puppet/module_tool/contents_description.rb +88 -0
- data/vendored/puppet/lib/puppet/module_tool/dependency.rb +41 -0
- data/vendored/puppet/lib/puppet/module_tool/errors.rb +11 -0
- data/vendored/puppet/lib/puppet/module_tool/errors/base.rb +15 -0
- data/vendored/puppet/lib/puppet/module_tool/errors/installer.rb +93 -0
- data/vendored/puppet/lib/puppet/module_tool/errors/shared.rb +195 -0
- data/vendored/puppet/lib/puppet/module_tool/errors/uninstaller.rb +50 -0
- data/vendored/puppet/lib/puppet/module_tool/errors/upgrader.rb +63 -0
- data/vendored/puppet/lib/puppet/module_tool/install_directory.rb +45 -0
- data/vendored/puppet/lib/puppet/module_tool/installed_modules.rb +96 -0
- data/vendored/puppet/lib/puppet/module_tool/local_tarball.rb +90 -0
- data/vendored/puppet/lib/puppet/module_tool/metadata.rb +223 -0
- data/vendored/puppet/lib/puppet/module_tool/shared_behaviors.rb +180 -0
- data/vendored/puppet/lib/puppet/module_tool/skeleton/templates/generator/spec/spec_helper.rb +1 -0
- data/vendored/puppet/lib/puppet/module_tool/tar.rb +18 -0
- data/vendored/puppet/lib/puppet/module_tool/tar/gnu.rb +19 -0
- data/vendored/puppet/lib/puppet/module_tool/tar/mini.rb +106 -0
- data/vendored/puppet/lib/puppet/network.rb +3 -0
- data/vendored/puppet/lib/puppet/network/auth_config_parser.rb +90 -0
- data/vendored/puppet/lib/puppet/network/authconfig.rb +112 -0
- data/vendored/puppet/lib/puppet/network/authorization.rb +41 -0
- data/vendored/puppet/lib/puppet/network/authstore.rb +282 -0
- data/vendored/puppet/lib/puppet/network/client_request.rb +29 -0
- data/vendored/puppet/lib/puppet/network/format.rb +110 -0
- data/vendored/puppet/lib/puppet/network/format_handler.rb +108 -0
- data/vendored/puppet/lib/puppet/network/format_support.rb +134 -0
- data/vendored/puppet/lib/puppet/network/formats.rb +171 -0
- data/vendored/puppet/lib/puppet/network/http.rb +30 -0
- data/vendored/puppet/lib/puppet/network/http/api.rb +44 -0
- data/vendored/puppet/lib/puppet/network/http/api/ca.rb +2 -0
- data/vendored/puppet/lib/puppet/network/http/api/ca/v1.rb +11 -0
- data/vendored/puppet/lib/puppet/network/http/api/indirected_routes.rb +279 -0
- data/vendored/puppet/lib/puppet/network/http/api/indirection_type.rb +32 -0
- data/vendored/puppet/lib/puppet/network/http/api/master.rb +2 -0
- data/vendored/puppet/lib/puppet/network/http/api/master/v3.rb +28 -0
- data/vendored/puppet/lib/puppet/network/http/api/master/v3/authorization.rb +18 -0
- data/vendored/puppet/lib/puppet/network/http/api/master/v3/environment.rb +85 -0
- data/vendored/puppet/lib/puppet/network/http/api/master/v3/environments.rb +35 -0
- data/vendored/puppet/lib/puppet/network/http/compression.rb +120 -0
- data/vendored/puppet/lib/puppet/network/http/connection.rb +332 -0
- data/vendored/puppet/lib/puppet/network/http/error.rb +73 -0
- data/vendored/puppet/lib/puppet/network/http/factory.rb +56 -0
- data/vendored/puppet/lib/puppet/network/http/handler.rb +183 -0
- data/vendored/puppet/lib/puppet/network/http/issues.rb +12 -0
- data/vendored/puppet/lib/puppet/network/http/memory_response.rb +13 -0
- data/vendored/puppet/lib/puppet/network/http/nocache_pool.rb +21 -0
- data/vendored/puppet/lib/puppet/network/http/pool.rb +129 -0
- data/vendored/puppet/lib/puppet/network/http/rack.rb +33 -0
- data/vendored/puppet/lib/puppet/network/http/rack/rest.rb +162 -0
- data/vendored/puppet/lib/puppet/network/http/request.rb +70 -0
- data/vendored/puppet/lib/puppet/network/http/response.rb +23 -0
- data/vendored/puppet/lib/puppet/network/http/route.rb +100 -0
- data/vendored/puppet/lib/puppet/network/http/session.rb +17 -0
- data/vendored/puppet/lib/puppet/network/http/site.rb +39 -0
- data/vendored/puppet/lib/puppet/network/http/webrick.rb +124 -0
- data/vendored/puppet/lib/puppet/network/http/webrick/rest.rb +114 -0
- data/vendored/puppet/lib/puppet/network/http_pool.rb +61 -0
- data/vendored/puppet/lib/puppet/network/resolver.rb +85 -0
- data/vendored/puppet/lib/puppet/network/rest_controller.rb +2 -0
- data/vendored/puppet/lib/puppet/network/rights.rb +209 -0
- data/vendored/puppet/lib/puppet/network/server.rb +39 -0
- data/vendored/puppet/lib/puppet/node.rb +282 -0
- data/vendored/puppet/lib/puppet/node/environment.rb +586 -0
- data/vendored/puppet/lib/puppet/node/facts.rb +137 -0
- data/vendored/puppet/lib/puppet/parameter.rb +567 -0
- data/vendored/puppet/lib/puppet/parameter/boolean.rb +15 -0
- data/vendored/puppet/lib/puppet/parameter/package_options.rb +31 -0
- data/vendored/puppet/lib/puppet/parameter/path.rb +57 -0
- data/vendored/puppet/lib/puppet/parameter/value.rb +91 -0
- data/vendored/puppet/lib/puppet/parameter/value_collection.rb +212 -0
- data/vendored/puppet/lib/puppet/parser.rb +20 -0
- data/vendored/puppet/lib/puppet/parser/abstract_compiler.rb +36 -0
- data/vendored/puppet/lib/puppet/parser/ast.rb +65 -0
- data/vendored/puppet/lib/puppet/parser/ast/block_expression.rb +15 -0
- data/vendored/puppet/lib/puppet/parser/ast/branch.rb +19 -0
- data/vendored/puppet/lib/puppet/parser/ast/hostclass.rb +27 -0
- data/vendored/puppet/lib/puppet/parser/ast/leaf.rb +75 -0
- data/vendored/puppet/lib/puppet/parser/ast/node.rb +17 -0
- data/vendored/puppet/lib/puppet/parser/ast/pops_bridge.rb +273 -0
- data/vendored/puppet/lib/puppet/parser/ast/resource.rb +66 -0
- data/vendored/puppet/lib/puppet/parser/ast/resource_instance.rb +10 -0
- data/vendored/puppet/lib/puppet/parser/ast/resourceparam.rb +31 -0
- data/vendored/puppet/lib/puppet/parser/ast/top_level_construct.rb +4 -0
- data/vendored/puppet/lib/puppet/parser/compiler.rb +797 -0
- data/vendored/puppet/lib/puppet/parser/compiler/catalog_validator.rb +33 -0
- data/vendored/puppet/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +64 -0
- data/vendored/puppet/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +57 -0
- data/vendored/puppet/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +20 -0
- data/vendored/puppet/lib/puppet/parser/e4_parser_adapter.rb +60 -0
- data/vendored/puppet/lib/puppet/parser/environment_compiler.rb +199 -0
- data/vendored/puppet/lib/puppet/parser/files.rb +92 -0
- data/vendored/puppet/lib/puppet/parser/functions.rb +277 -0
- data/vendored/puppet/lib/puppet/parser/functions/assert_type.rb +60 -0
- data/vendored/puppet/lib/puppet/parser/functions/binary_file.rb +24 -0
- data/vendored/puppet/lib/puppet/parser/functions/break.rb +39 -0
- data/vendored/puppet/lib/puppet/parser/functions/contain.rb +30 -0
- data/vendored/puppet/lib/puppet/parser/functions/create_resources.rb +112 -0
- data/vendored/puppet/lib/puppet/parser/functions/defined.rb +107 -0
- data/vendored/puppet/lib/puppet/parser/functions/dig.rb +38 -0
- data/vendored/puppet/lib/puppet/parser/functions/digest.rb +5 -0
- data/vendored/puppet/lib/puppet/parser/functions/each.rb +104 -0
- data/vendored/puppet/lib/puppet/parser/functions/epp.rb +39 -0
- data/vendored/puppet/lib/puppet/parser/functions/fail.rb +4 -0
- data/vendored/puppet/lib/puppet/parser/functions/file.rb +33 -0
- data/vendored/puppet/lib/puppet/parser/functions/filter.rb +78 -0
- data/vendored/puppet/lib/puppet/parser/functions/find_file.rb +28 -0
- data/vendored/puppet/lib/puppet/parser/functions/fqdn_rand.rb +36 -0
- data/vendored/puppet/lib/puppet/parser/functions/generate.rb +36 -0
- data/vendored/puppet/lib/puppet/parser/functions/hiera.rb +103 -0
- data/vendored/puppet/lib/puppet/parser/functions/hiera_array.rb +92 -0
- data/vendored/puppet/lib/puppet/parser/functions/hiera_hash.rb +102 -0
- data/vendored/puppet/lib/puppet/parser/functions/hiera_include.rb +102 -0
- data/vendored/puppet/lib/puppet/parser/functions/include.rb +34 -0
- data/vendored/puppet/lib/puppet/parser/functions/inline_epp.rb +51 -0
- data/vendored/puppet/lib/puppet/parser/functions/inline_template.rb +26 -0
- data/vendored/puppet/lib/puppet/parser/functions/lest.rb +49 -0
- data/vendored/puppet/lib/puppet/parser/functions/lookup.rb +132 -0
- data/vendored/puppet/lib/puppet/parser/functions/map.rb +76 -0
- data/vendored/puppet/lib/puppet/parser/functions/match.rb +43 -0
- data/vendored/puppet/lib/puppet/parser/functions/md5.rb +5 -0
- data/vendored/puppet/lib/puppet/parser/functions/new.rb +991 -0
- data/vendored/puppet/lib/puppet/parser/functions/next.rb +38 -0
- data/vendored/puppet/lib/puppet/parser/functions/realize.rb +20 -0
- data/vendored/puppet/lib/puppet/parser/functions/reduce.rb +137 -0
- data/vendored/puppet/lib/puppet/parser/functions/regsubst.rb +62 -0
- data/vendored/puppet/lib/puppet/parser/functions/require.rb +40 -0
- data/vendored/puppet/lib/puppet/parser/functions/return.rb +71 -0
- data/vendored/puppet/lib/puppet/parser/functions/reverse_each.rb +83 -0
- data/vendored/puppet/lib/puppet/parser/functions/scanf.rb +38 -0
- data/vendored/puppet/lib/puppet/parser/functions/sha1.rb +5 -0
- data/vendored/puppet/lib/puppet/parser/functions/sha256.rb +5 -0
- data/vendored/puppet/lib/puppet/parser/functions/shellquote.rb +61 -0
- data/vendored/puppet/lib/puppet/parser/functions/slice.rb +39 -0
- data/vendored/puppet/lib/puppet/parser/functions/split.rb +28 -0
- data/vendored/puppet/lib/puppet/parser/functions/sprintf.rb +50 -0
- data/vendored/puppet/lib/puppet/parser/functions/step.rb +84 -0
- data/vendored/puppet/lib/puppet/parser/functions/strftime.rb +185 -0
- data/vendored/puppet/lib/puppet/parser/functions/tag.rb +12 -0
- data/vendored/puppet/lib/puppet/parser/functions/tagged.rb +24 -0
- data/vendored/puppet/lib/puppet/parser/functions/template.rb +39 -0
- data/vendored/puppet/lib/puppet/parser/functions/then.rb +73 -0
- data/vendored/puppet/lib/puppet/parser/functions/type.rb +53 -0
- data/vendored/puppet/lib/puppet/parser/functions/versioncmp.rb +30 -0
- data/vendored/puppet/lib/puppet/parser/functions/with.rb +28 -0
- data/vendored/puppet/lib/puppet/parser/parser_factory.rb +30 -0
- data/vendored/puppet/lib/puppet/parser/relationship.rb +83 -0
- data/vendored/puppet/lib/puppet/parser/resource.rb +417 -0
- data/vendored/puppet/lib/puppet/parser/resource/param.rb +22 -0
- data/vendored/puppet/lib/puppet/parser/scope.rb +1125 -0
- data/vendored/puppet/lib/puppet/parser/script_compiler.rb +118 -0
- data/vendored/puppet/lib/puppet/parser/templatewrapper.rb +102 -0
- data/vendored/puppet/lib/puppet/parser/type_loader.rb +149 -0
- data/vendored/puppet/lib/puppet/plugins.rb +9 -0
- data/vendored/puppet/lib/puppet/plugins/configuration.rb +25 -0
- data/vendored/puppet/lib/puppet/plugins/syntax_checkers.rb +98 -0
- data/vendored/puppet/lib/puppet/pops.rb +120 -0
- data/vendored/puppet/lib/puppet/pops/adaptable.rb +206 -0
- data/vendored/puppet/lib/puppet/pops/adapters.rb +138 -0
- data/vendored/puppet/lib/puppet/pops/evaluator/access_operator.rb +719 -0
- data/vendored/puppet/lib/puppet/pops/evaluator/callable_signature.rb +107 -0
- data/vendored/puppet/lib/puppet/pops/evaluator/closure.rb +373 -0
- data/vendored/puppet/lib/puppet/pops/evaluator/collector_transformer.rb +234 -0
- data/vendored/puppet/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +86 -0
- data/vendored/puppet/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +29 -0
- data/vendored/puppet/lib/puppet/pops/evaluator/collectors/exported_collector.rb +69 -0
- data/vendored/puppet/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +37 -0
- data/vendored/puppet/lib/puppet/pops/evaluator/compare_operator.rb +252 -0
- data/vendored/puppet/lib/puppet/pops/evaluator/epp_evaluator.rb +120 -0
- data/vendored/puppet/lib/puppet/pops/evaluator/evaluator_impl.rb +1284 -0
- data/vendored/puppet/lib/puppet/pops/evaluator/external_syntax_support.rb +45 -0
- data/vendored/puppet/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +82 -0
- data/vendored/puppet/lib/puppet/pops/evaluator/literal_evaluator.rb +87 -0
- data/vendored/puppet/lib/puppet/pops/evaluator/puppet_proc.rb +69 -0
- data/vendored/puppet/lib/puppet/pops/evaluator/relationship_operator.rb +185 -0
- data/vendored/puppet/lib/puppet/pops/evaluator/runtime3_converter.rb +202 -0
- data/vendored/puppet/lib/puppet/pops/evaluator/runtime3_resource_support.rb +117 -0
- data/vendored/puppet/lib/puppet/pops/evaluator/runtime3_support.rb +540 -0
- data/vendored/puppet/lib/puppet/pops/functions/dispatch.rb +101 -0
- data/vendored/puppet/lib/puppet/pops/functions/dispatcher.rb +71 -0
- data/vendored/puppet/lib/puppet/pops/functions/function.rb +141 -0
- data/vendored/puppet/lib/puppet/pops/issue_reporter.rb +137 -0
- data/vendored/puppet/lib/puppet/pops/issues.rb +901 -0
- data/vendored/puppet/lib/puppet/pops/label_provider.rb +90 -0
- data/vendored/puppet/lib/puppet/pops/loader/base_loader.rb +166 -0
- data/vendored/puppet/lib/puppet/pops/loader/dependency_loader.rb +92 -0
- data/vendored/puppet/lib/puppet/pops/loader/gem_support.rb +49 -0
- data/vendored/puppet/lib/puppet/pops/loader/loader.rb +209 -0
- data/vendored/puppet/lib/puppet/pops/loader/loader_paths.rb +375 -0
- data/vendored/puppet/lib/puppet/pops/loader/module_loaders.rb +523 -0
- data/vendored/puppet/lib/puppet/pops/loader/null_loader.rb +60 -0
- data/vendored/puppet/lib/puppet/pops/loader/predefined_loader.rb +24 -0
- data/vendored/puppet/lib/puppet/pops/loader/puppet_function_instantiator.rb +84 -0
- data/vendored/puppet/lib/puppet/pops/loader/puppet_plan_instantiator.rb +84 -0
- data/vendored/puppet/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +79 -0
- data/vendored/puppet/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +39 -0
- data/vendored/puppet/lib/puppet/pops/loader/ruby_function_instantiator.rb +45 -0
- data/vendored/puppet/lib/puppet/pops/loader/runtime3_type_loader.rb +101 -0
- data/vendored/puppet/lib/puppet/pops/loader/simple_environment_loader.rb +20 -0
- data/vendored/puppet/lib/puppet/pops/loader/static_loader.rb +163 -0
- data/vendored/puppet/lib/puppet/pops/loader/task_instantiator.rb +69 -0
- data/vendored/puppet/lib/puppet/pops/loader/type_definition_instantiator.rb +100 -0
- data/vendored/puppet/lib/puppet/pops/loader/typed_name.rb +54 -0
- data/vendored/puppet/lib/puppet/pops/loader/uri_helper.rb +22 -0
- data/vendored/puppet/lib/puppet/pops/loaders.rb +545 -0
- data/vendored/puppet/lib/puppet/pops/lookup.rb +96 -0
- data/vendored/puppet/lib/puppet/pops/lookup/configured_data_provider.rb +93 -0
- data/vendored/puppet/lib/puppet/pops/lookup/context.rb +200 -0
- data/vendored/puppet/lib/puppet/pops/lookup/data_adapter.rb +27 -0
- data/vendored/puppet/lib/puppet/pops/lookup/data_dig_function_provider.rb +145 -0
- data/vendored/puppet/lib/puppet/pops/lookup/data_hash_function_provider.rb +126 -0
- data/vendored/puppet/lib/puppet/pops/lookup/data_provider.rb +92 -0
- data/vendored/puppet/lib/puppet/pops/lookup/environment_data_provider.rb +35 -0
- data/vendored/puppet/lib/puppet/pops/lookup/explainer.rb +595 -0
- data/vendored/puppet/lib/puppet/pops/lookup/function_provider.rb +110 -0
- data/vendored/puppet/lib/puppet/pops/lookup/global_data_provider.rb +75 -0
- data/vendored/puppet/lib/puppet/pops/lookup/hiera_config.rb +761 -0
- data/vendored/puppet/lib/puppet/pops/lookup/interpolation.rb +154 -0
- data/vendored/puppet/lib/puppet/pops/lookup/invocation.rb +261 -0
- data/vendored/puppet/lib/puppet/pops/lookup/location_resolver.rb +99 -0
- data/vendored/puppet/lib/puppet/pops/lookup/lookup_adapter.rb +471 -0
- data/vendored/puppet/lib/puppet/pops/lookup/lookup_key.rb +99 -0
- data/vendored/puppet/lib/puppet/pops/lookup/lookup_key_function_provider.rb +92 -0
- data/vendored/puppet/lib/puppet/pops/lookup/module_data_provider.rb +89 -0
- data/vendored/puppet/lib/puppet/pops/lookup/sub_lookup.rb +92 -0
- data/vendored/puppet/lib/puppet/pops/merge_strategy.rb +437 -0
- data/vendored/puppet/lib/puppet/pops/migration/migration_checker.rb +58 -0
- data/vendored/puppet/lib/puppet/pops/model/ast.rb +4870 -0
- data/vendored/puppet/lib/puppet/pops/model/ast_transformer.rb +131 -0
- data/vendored/puppet/lib/puppet/pops/model/factory.rb +1150 -0
- data/vendored/puppet/lib/puppet/pops/model/model_label_provider.rb +132 -0
- data/vendored/puppet/lib/puppet/pops/model/model_tree_dumper.rb +467 -0
- data/vendored/puppet/lib/puppet/pops/model/pn_transformer.rb +400 -0
- data/vendored/puppet/lib/puppet/pops/model/tree_dumper.rb +59 -0
- data/vendored/puppet/lib/puppet/pops/parser/code_merger.rb +29 -0
- data/vendored/puppet/lib/puppet/pops/parser/eparser.rb +3315 -0
- data/vendored/puppet/lib/puppet/pops/parser/epp_parser.rb +51 -0
- data/vendored/puppet/lib/puppet/pops/parser/epp_support.rb +260 -0
- data/vendored/puppet/lib/puppet/pops/parser/evaluating_parser.rb +165 -0
- data/vendored/puppet/lib/puppet/pops/parser/heredoc_support.rb +143 -0
- data/vendored/puppet/lib/puppet/pops/parser/interpolation_support.rb +244 -0
- data/vendored/puppet/lib/puppet/pops/parser/lexer2.rb +772 -0
- data/vendored/puppet/lib/puppet/pops/parser/lexer_support.rb +221 -0
- data/vendored/puppet/lib/puppet/pops/parser/locatable.rb +23 -0
- data/vendored/puppet/lib/puppet/pops/parser/locator.rb +336 -0
- data/vendored/puppet/lib/puppet/pops/parser/parser_support.rb +247 -0
- data/vendored/puppet/lib/puppet/pops/parser/pn_parser.rb +316 -0
- data/vendored/puppet/lib/puppet/pops/parser/slurp_support.rb +117 -0
- data/vendored/puppet/lib/puppet/pops/patterns.rb +60 -0
- data/vendored/puppet/lib/puppet/pops/pcore.rb +147 -0
- data/vendored/puppet/lib/puppet/pops/pn.rb +236 -0
- data/vendored/puppet/lib/puppet/pops/puppet_stack.rb +43 -0
- data/vendored/puppet/lib/puppet/pops/resource/param.rb +55 -0
- data/vendored/puppet/lib/puppet/pops/resource/resource_type_impl.rb +314 -0
- data/vendored/puppet/lib/puppet/pops/semantic_error.rb +29 -0
- data/vendored/puppet/lib/puppet/pops/serialization.rb +41 -0
- data/vendored/puppet/lib/puppet/pops/serialization/abstract_reader.rb +180 -0
- data/vendored/puppet/lib/puppet/pops/serialization/abstract_writer.rb +222 -0
- data/vendored/puppet/lib/puppet/pops/serialization/deserializer.rb +80 -0
- data/vendored/puppet/lib/puppet/pops/serialization/extension.rb +158 -0
- data/vendored/puppet/lib/puppet/pops/serialization/from_data_converter.rb +223 -0
- data/vendored/puppet/lib/puppet/pops/serialization/instance_reader.rb +19 -0
- data/vendored/puppet/lib/puppet/pops/serialization/instance_writer.rb +14 -0
- data/vendored/puppet/lib/puppet/pops/serialization/json.rb +297 -0
- data/vendored/puppet/lib/puppet/pops/serialization/json_path.rb +127 -0
- data/vendored/puppet/lib/puppet/pops/serialization/object.rb +70 -0
- data/vendored/puppet/lib/puppet/pops/serialization/serializer.rb +140 -0
- data/vendored/puppet/lib/puppet/pops/serialization/time_factory.rb +67 -0
- data/vendored/puppet/lib/puppet/pops/serialization/to_data_converter.rb +305 -0
- data/vendored/puppet/lib/puppet/pops/time/timespan.rb +718 -0
- data/vendored/puppet/lib/puppet/pops/time/timestamp.rb +160 -0
- data/vendored/puppet/lib/puppet/pops/types/annotatable.rb +36 -0
- data/vendored/puppet/lib/puppet/pops/types/annotation.rb +71 -0
- data/vendored/puppet/lib/puppet/pops/types/class_loader.rb +132 -0
- data/vendored/puppet/lib/puppet/pops/types/enumeration.rb +16 -0
- data/vendored/puppet/lib/puppet/pops/types/implementation_registry.rb +134 -0
- data/vendored/puppet/lib/puppet/pops/types/iterable.rb +339 -0
- data/vendored/puppet/lib/puppet/pops/types/p_binary_type.rb +233 -0
- data/vendored/puppet/lib/puppet/pops/types/p_init_type.rb +238 -0
- data/vendored/puppet/lib/puppet/pops/types/p_meta_type.rb +94 -0
- data/vendored/puppet/lib/puppet/pops/types/p_object_type.rb +1114 -0
- data/vendored/puppet/lib/puppet/pops/types/p_object_type_extension.rb +218 -0
- data/vendored/puppet/lib/puppet/pops/types/p_runtime_type.rb +115 -0
- data/vendored/puppet/lib/puppet/pops/types/p_sem_ver_range_type.rb +190 -0
- data/vendored/puppet/lib/puppet/pops/types/p_sem_ver_type.rb +149 -0
- data/vendored/puppet/lib/puppet/pops/types/p_sensitive_type.rb +73 -0
- data/vendored/puppet/lib/puppet/pops/types/p_timespan_type.rb +192 -0
- data/vendored/puppet/lib/puppet/pops/types/p_timestamp_type.rb +73 -0
- data/vendored/puppet/lib/puppet/pops/types/p_type_set_type.rb +383 -0
- data/vendored/puppet/lib/puppet/pops/types/p_uri_type.rb +190 -0
- data/vendored/puppet/lib/puppet/pops/types/puppet_object.rb +40 -0
- data/vendored/puppet/lib/puppet/pops/types/recursion_guard.rb +136 -0
- data/vendored/puppet/lib/puppet/pops/types/ruby_generator.rb +472 -0
- data/vendored/puppet/lib/puppet/pops/types/ruby_method.rb +31 -0
- data/vendored/puppet/lib/puppet/pops/types/string_converter.rb +1123 -0
- data/vendored/puppet/lib/puppet/pops/types/tree_iterators.rb +254 -0
- data/vendored/puppet/lib/puppet/pops/types/type_acceptor.rb +25 -0
- data/vendored/puppet/lib/puppet/pops/types/type_asserter.rb +47 -0
- data/vendored/puppet/lib/puppet/pops/types/type_assertion_error.rb +27 -0
- data/vendored/puppet/lib/puppet/pops/types/type_calculator.rb +809 -0
- data/vendored/puppet/lib/puppet/pops/types/type_conversion_error.rb +15 -0
- data/vendored/puppet/lib/puppet/pops/types/type_factory.rb +614 -0
- data/vendored/puppet/lib/puppet/pops/types/type_formatter.rb +802 -0
- data/vendored/puppet/lib/puppet/pops/types/type_mismatch_describer.rb +1075 -0
- data/vendored/puppet/lib/puppet/pops/types/type_parser.rb +685 -0
- data/vendored/puppet/lib/puppet/pops/types/type_set_reference.rb +59 -0
- data/vendored/puppet/lib/puppet/pops/types/type_with_members.rb +43 -0
- data/vendored/puppet/lib/puppet/pops/types/types.rb +3650 -0
- data/vendored/puppet/lib/puppet/pops/utils.rb +119 -0
- data/vendored/puppet/lib/puppet/pops/validation.rb +466 -0
- data/vendored/puppet/lib/puppet/pops/validation/checker4_0.rb +998 -0
- data/vendored/puppet/lib/puppet/pops/validation/tasks_checker.rb +60 -0
- data/vendored/puppet/lib/puppet/pops/validation/validator_factory_4_0.rb +43 -0
- data/vendored/puppet/lib/puppet/pops/visitable.rb +6 -0
- data/vendored/puppet/lib/puppet/pops/visitor.rb +116 -0
- data/vendored/puppet/lib/puppet/property.rb +608 -0
- data/vendored/puppet/lib/puppet/property/boolean.rb +7 -0
- data/vendored/puppet/lib/puppet/property/ensure.rb +105 -0
- data/vendored/puppet/lib/puppet/property/keyvalue.rb +95 -0
- data/vendored/puppet/lib/puppet/property/list.rb +69 -0
- data/vendored/puppet/lib/puppet/property/ordered_list.rb +29 -0
- data/vendored/puppet/lib/puppet/provider.rb +613 -0
- data/vendored/puppet/lib/puppet/provider/aixobject.rb +392 -0
- data/vendored/puppet/lib/puppet/provider/augeas/augeas.rb +566 -0
- data/vendored/puppet/lib/puppet/provider/cisco.rb +9 -0
- data/vendored/puppet/lib/puppet/provider/command.rb +25 -0
- data/vendored/puppet/lib/puppet/provider/computer/computer.rb +20 -0
- data/vendored/puppet/lib/puppet/provider/confine.rb +6 -0
- data/vendored/puppet/lib/puppet/provider/cron/crontab.rb +297 -0
- data/vendored/puppet/lib/puppet/provider/exec.rb +96 -0
- data/vendored/puppet/lib/puppet/provider/exec/posix.rb +48 -0
- data/vendored/puppet/lib/puppet/provider/exec/shell.rb +25 -0
- data/vendored/puppet/lib/puppet/provider/exec/windows.rb +55 -0
- data/vendored/puppet/lib/puppet/provider/file/posix.rb +136 -0
- data/vendored/puppet/lib/puppet/provider/file/windows.rb +104 -0
- data/vendored/puppet/lib/puppet/provider/group/aix.rb +143 -0
- data/vendored/puppet/lib/puppet/provider/group/directoryservice.rb +22 -0
- data/vendored/puppet/lib/puppet/provider/group/groupadd.rb +111 -0
- data/vendored/puppet/lib/puppet/provider/group/ldap.rb +45 -0
- data/vendored/puppet/lib/puppet/provider/group/pw.rb +49 -0
- data/vendored/puppet/lib/puppet/provider/group/windows_adsi.rb +106 -0
- data/vendored/puppet/lib/puppet/provider/host/parsed.rb +46 -0
- data/vendored/puppet/lib/puppet/provider/interface/cisco.rb +27 -0
- data/vendored/puppet/lib/puppet/provider/ldap.rb +137 -0
- data/vendored/puppet/lib/puppet/provider/macauthorization/macauthorization.rb +298 -0
- data/vendored/puppet/lib/puppet/provider/mailalias/aliases.rb +50 -0
- data/vendored/puppet/lib/puppet/provider/maillist/mailman.rb +108 -0
- data/vendored/puppet/lib/puppet/provider/mcx/mcxcontent.rb +173 -0
- data/vendored/puppet/lib/puppet/provider/mount.rb +76 -0
- data/vendored/puppet/lib/puppet/provider/mount/parsed.rb +282 -0
- data/vendored/puppet/lib/puppet/provider/naginator.rb +63 -0
- data/vendored/puppet/lib/puppet/provider/nameservice.rb +325 -0
- data/vendored/puppet/lib/puppet/provider/nameservice/directoryservice.rb +508 -0
- data/vendored/puppet/lib/puppet/provider/nameservice/objectadd.rb +22 -0
- data/vendored/puppet/lib/puppet/provider/nameservice/pw.rb +21 -0
- data/vendored/puppet/lib/puppet/provider/network_device.rb +72 -0
- data/vendored/puppet/lib/puppet/provider/package.rb +56 -0
- data/vendored/puppet/lib/puppet/provider/package/aix.rb +152 -0
- data/vendored/puppet/lib/puppet/provider/package/appdmg.rb +109 -0
- data/vendored/puppet/lib/puppet/provider/package/apple.rb +46 -0
- data/vendored/puppet/lib/puppet/provider/package/apt.rb +116 -0
- data/vendored/puppet/lib/puppet/provider/package/aptitude.rb +29 -0
- data/vendored/puppet/lib/puppet/provider/package/aptrpm.rb +83 -0
- data/vendored/puppet/lib/puppet/provider/package/blastwave.rb +111 -0
- data/vendored/puppet/lib/puppet/provider/package/dnf.rb +46 -0
- data/vendored/puppet/lib/puppet/provider/package/dpkg.rb +165 -0
- data/vendored/puppet/lib/puppet/provider/package/fink.rb +79 -0
- data/vendored/puppet/lib/puppet/provider/package/freebsd.rb +47 -0
- data/vendored/puppet/lib/puppet/provider/package/gem.rb +175 -0
- data/vendored/puppet/lib/puppet/provider/package/hpux.rb +44 -0
- data/vendored/puppet/lib/puppet/provider/package/macports.rb +107 -0
- data/vendored/puppet/lib/puppet/provider/package/nim.rb +282 -0
- data/vendored/puppet/lib/puppet/provider/package/openbsd.rb +242 -0
- data/vendored/puppet/lib/puppet/provider/package/opkg.rb +81 -0
- data/vendored/puppet/lib/puppet/provider/package/pacman.rb +267 -0
- data/vendored/puppet/lib/puppet/provider/package/pip.rb +188 -0
- data/vendored/puppet/lib/puppet/provider/package/pip3.rb +20 -0
- data/vendored/puppet/lib/puppet/provider/package/pkg.rb +255 -0
- data/vendored/puppet/lib/puppet/provider/package/pkgdmg.rb +151 -0
- data/vendored/puppet/lib/puppet/provider/package/pkgin.rb +87 -0
- data/vendored/puppet/lib/puppet/provider/package/pkgng.rb +143 -0
- data/vendored/puppet/lib/puppet/provider/package/pkgutil.rb +186 -0
- data/vendored/puppet/lib/puppet/provider/package/portage.rb +300 -0
- data/vendored/puppet/lib/puppet/provider/package/ports.rb +91 -0
- data/vendored/puppet/lib/puppet/provider/package/portupgrade.rb +239 -0
- data/vendored/puppet/lib/puppet/provider/package/puppet_gem.rb +17 -0
- data/vendored/puppet/lib/puppet/provider/package/rpm.rb +405 -0
- data/vendored/puppet/lib/puppet/provider/package/rug.rb +51 -0
- data/vendored/puppet/lib/puppet/provider/package/sun.rb +133 -0
- data/vendored/puppet/lib/puppet/provider/package/sunfreeware.rb +9 -0
- data/vendored/puppet/lib/puppet/provider/package/tdnf.rb +28 -0
- data/vendored/puppet/lib/puppet/provider/package/up2date.rb +40 -0
- data/vendored/puppet/lib/puppet/provider/package/urpmi.rb +55 -0
- data/vendored/puppet/lib/puppet/provider/package/windows.rb +113 -0
- data/vendored/puppet/lib/puppet/provider/package/windows/exe_package.rb +71 -0
- data/vendored/puppet/lib/puppet/provider/package/windows/msi_package.rb +62 -0
- data/vendored/puppet/lib/puppet/provider/package/windows/package.rb +100 -0
- data/vendored/puppet/lib/puppet/provider/package/yum.rb +293 -0
- data/vendored/puppet/lib/puppet/provider/package/zypper.rb +145 -0
- data/vendored/puppet/lib/puppet/provider/parsedfile.rb +459 -0
- data/vendored/puppet/lib/puppet/provider/scheduled_task/win32_taskscheduler.rb +590 -0
- data/vendored/puppet/lib/puppet/provider/selboolean/getsetsebool.rb +47 -0
- data/vendored/puppet/lib/puppet/provider/selmodule/semodule.rb +140 -0
- data/vendored/puppet/lib/puppet/provider/service/base.rb +134 -0
- data/vendored/puppet/lib/puppet/provider/service/bsd.rb +51 -0
- data/vendored/puppet/lib/puppet/provider/service/daemontools.rb +194 -0
- data/vendored/puppet/lib/puppet/provider/service/debian.rb +74 -0
- data/vendored/puppet/lib/puppet/provider/service/freebsd.rb +143 -0
- data/vendored/puppet/lib/puppet/provider/service/gentoo.rb +45 -0
- data/vendored/puppet/lib/puppet/provider/service/init.rb +194 -0
- data/vendored/puppet/lib/puppet/provider/service/launchd.rb +345 -0
- data/vendored/puppet/lib/puppet/provider/service/openbsd.rb +100 -0
- data/vendored/puppet/lib/puppet/provider/service/openrc.rb +71 -0
- data/vendored/puppet/lib/puppet/provider/service/openwrt.rb +36 -0
- data/vendored/puppet/lib/puppet/provider/service/rcng.rb +51 -0
- data/vendored/puppet/lib/puppet/provider/service/redhat.rb +72 -0
- data/vendored/puppet/lib/puppet/provider/service/runit.rb +112 -0
- data/vendored/puppet/lib/puppet/provider/service/service.rb +42 -0
- data/vendored/puppet/lib/puppet/provider/service/smf.rb +170 -0
- data/vendored/puppet/lib/puppet/provider/service/src.rb +147 -0
- data/vendored/puppet/lib/puppet/provider/service/systemd.rb +187 -0
- data/vendored/puppet/lib/puppet/provider/service/upstart.rb +359 -0
- data/vendored/puppet/lib/puppet/provider/service/windows.rb +106 -0
- data/vendored/puppet/lib/puppet/provider/ssh_authorized_key/parsed.rb +105 -0
- data/vendored/puppet/lib/puppet/provider/sshkey/parsed.rb +50 -0
- data/vendored/puppet/lib/puppet/provider/user/aix.rb +383 -0
- data/vendored/puppet/lib/puppet/provider/user/directoryservice.rb +632 -0
- data/vendored/puppet/lib/puppet/provider/user/hpux.rb +95 -0
- data/vendored/puppet/lib/puppet/provider/user/ldap.rb +128 -0
- data/vendored/puppet/lib/puppet/provider/user/openbsd.rb +76 -0
- data/vendored/puppet/lib/puppet/provider/user/pw.rb +98 -0
- data/vendored/puppet/lib/puppet/provider/user/user_role_add.rb +233 -0
- data/vendored/puppet/lib/puppet/provider/user/useradd.rb +265 -0
- data/vendored/puppet/lib/puppet/provider/user/windows_adsi.rb +148 -0
- data/vendored/puppet/lib/puppet/provider/vlan/cisco.rb +28 -0
- data/vendored/puppet/lib/puppet/provider/yumrepo/inifile.rb +303 -0
- data/vendored/puppet/lib/puppet/provider/zfs/zfs.rb +108 -0
- data/vendored/puppet/lib/puppet/provider/zone/solaris.rb +364 -0
- data/vendored/puppet/lib/puppet/provider/zpool/zpool.rb +125 -0
- data/vendored/puppet/lib/puppet/reference/configuration.rb +86 -0
- data/vendored/puppet/lib/puppet/reference/function.rb +17 -0
- data/vendored/puppet/lib/puppet/reference/indirection.rb +71 -0
- data/vendored/puppet/lib/puppet/reference/metaparameter.rb +35 -0
- data/vendored/puppet/lib/puppet/reference/providers.rb +118 -0
- data/vendored/puppet/lib/puppet/reference/report.rb +20 -0
- data/vendored/puppet/lib/puppet/reference/type.rb +113 -0
- data/vendored/puppet/lib/puppet/relationship.rb +89 -0
- data/vendored/puppet/lib/puppet/reports.rb +93 -0
- data/vendored/puppet/lib/puppet/reports/http.rb +37 -0
- data/vendored/puppet/lib/puppet/reports/log.rb +14 -0
- data/vendored/puppet/lib/puppet/reports/store.rb +68 -0
- data/vendored/puppet/lib/puppet/resource.rb +670 -0
- data/vendored/puppet/lib/puppet/resource/capability_finder.rb +150 -0
- data/vendored/puppet/lib/puppet/resource/catalog.rb +682 -0
- data/vendored/puppet/lib/puppet/resource/status.rb +227 -0
- data/vendored/puppet/lib/puppet/resource/type.rb +524 -0
- data/vendored/puppet/lib/puppet/resource/type_collection.rb +263 -0
- data/vendored/puppet/lib/puppet/scheduler.rb +16 -0
- data/vendored/puppet/lib/puppet/scheduler/job.rb +53 -0
- data/vendored/puppet/lib/puppet/scheduler/scheduler.rb +44 -0
- data/vendored/puppet/lib/puppet/scheduler/splay_job.rb +32 -0
- data/vendored/puppet/lib/puppet/scheduler/timer.rb +13 -0
- data/vendored/puppet/lib/puppet/settings.rb +1475 -0
- data/vendored/puppet/lib/puppet/settings/array_setting.rb +17 -0
- data/vendored/puppet/lib/puppet/settings/autosign_setting.rb +22 -0
- data/vendored/puppet/lib/puppet/settings/base_setting.rb +197 -0
- data/vendored/puppet/lib/puppet/settings/boolean_setting.rb +32 -0
- data/vendored/puppet/lib/puppet/settings/certificate_revocation_setting.rb +21 -0
- data/vendored/puppet/lib/puppet/settings/config_file.rb +153 -0
- data/vendored/puppet/lib/puppet/settings/directory_setting.rb +18 -0
- data/vendored/puppet/lib/puppet/settings/duration_setting.rb +32 -0
- data/vendored/puppet/lib/puppet/settings/enum_setting.rb +16 -0
- data/vendored/puppet/lib/puppet/settings/environment_conf.rb +213 -0
- data/vendored/puppet/lib/puppet/settings/errors.rb +11 -0
- data/vendored/puppet/lib/puppet/settings/file_or_directory_setting.rb +40 -0
- data/vendored/puppet/lib/puppet/settings/file_setting.rb +245 -0
- data/vendored/puppet/lib/puppet/settings/ini_file.rb +225 -0
- data/vendored/puppet/lib/puppet/settings/path_setting.rb +8 -0
- data/vendored/puppet/lib/puppet/settings/priority_setting.rb +42 -0
- data/vendored/puppet/lib/puppet/settings/server_list_setting.rb +20 -0
- data/vendored/puppet/lib/puppet/settings/string_setting.rb +9 -0
- data/vendored/puppet/lib/puppet/settings/symbolic_enum_setting.rb +17 -0
- data/vendored/puppet/lib/puppet/settings/terminus_setting.rb +14 -0
- data/vendored/puppet/lib/puppet/settings/ttl_setting.rb +51 -0
- data/vendored/puppet/lib/puppet/settings/value_translator.rb +15 -0
- data/vendored/puppet/lib/puppet/ssl.rb +13 -0
- data/vendored/puppet/lib/puppet/ssl/base.rb +158 -0
- data/vendored/puppet/lib/puppet/ssl/certificate.rb +95 -0
- data/vendored/puppet/lib/puppet/ssl/certificate_authority.rb +553 -0
- data/vendored/puppet/lib/puppet/ssl/certificate_authority/autosign_command.rb +45 -0
- data/vendored/puppet/lib/puppet/ssl/certificate_authority/interface.rb +324 -0
- data/vendored/puppet/lib/puppet/ssl/certificate_factory.rb +219 -0
- data/vendored/puppet/lib/puppet/ssl/certificate_request.rb +325 -0
- data/vendored/puppet/lib/puppet/ssl/certificate_request_attributes.rb +37 -0
- data/vendored/puppet/lib/puppet/ssl/certificate_revocation_list.rb +111 -0
- data/vendored/puppet/lib/puppet/ssl/certificate_signer.rb +33 -0
- data/vendored/puppet/lib/puppet/ssl/configuration.rb +61 -0
- data/vendored/puppet/lib/puppet/ssl/digest.rb +20 -0
- data/vendored/puppet/lib/puppet/ssl/host.rb +400 -0
- data/vendored/puppet/lib/puppet/ssl/inventory.rb +55 -0
- data/vendored/puppet/lib/puppet/ssl/key.rb +63 -0
- data/vendored/puppet/lib/puppet/ssl/oids.rb +193 -0
- data/vendored/puppet/lib/puppet/ssl/validator.rb +60 -0
- data/vendored/puppet/lib/puppet/ssl/validator/default_validator.rb +173 -0
- data/vendored/puppet/lib/puppet/ssl/validator/no_validator.rb +20 -0
- data/vendored/puppet/lib/puppet/status.rb +40 -0
- data/vendored/puppet/lib/puppet/syntax_checkers.rb +3 -0
- data/vendored/puppet/lib/puppet/syntax_checkers/base64.rb +40 -0
- data/vendored/puppet/lib/puppet/syntax_checkers/json.rb +35 -0
- data/vendored/puppet/lib/puppet/test/test_helper.rb +252 -0
- data/vendored/puppet/lib/puppet/transaction.rb +444 -0
- data/vendored/puppet/lib/puppet/transaction/additional_resource_generator.rb +220 -0
- data/vendored/puppet/lib/puppet/transaction/event.rb +144 -0
- data/vendored/puppet/lib/puppet/transaction/event_manager.rb +167 -0
- data/vendored/puppet/lib/puppet/transaction/persistence.rb +99 -0
- data/vendored/puppet/lib/puppet/transaction/report.rb +468 -0
- data/vendored/puppet/lib/puppet/transaction/resource_harness.rb +318 -0
- data/vendored/puppet/lib/puppet/type.rb +2665 -0
- data/vendored/puppet/lib/puppet/type/augeas.rb +211 -0
- data/vendored/puppet/lib/puppet/type/component.rb +88 -0
- data/vendored/puppet/lib/puppet/type/computer.rb +66 -0
- data/vendored/puppet/lib/puppet/type/cron.rb +480 -0
- data/vendored/puppet/lib/puppet/type/exec.rb +623 -0
- data/vendored/puppet/lib/puppet/type/file.rb +1039 -0
- data/vendored/puppet/lib/puppet/type/file/checksum.rb +50 -0
- data/vendored/puppet/lib/puppet/type/file/checksum_value.rb +54 -0
- data/vendored/puppet/lib/puppet/type/file/content.rb +160 -0
- data/vendored/puppet/lib/puppet/type/file/ctime.rb +20 -0
- data/vendored/puppet/lib/puppet/type/file/data_sync.rb +93 -0
- data/vendored/puppet/lib/puppet/type/file/ensure.rb +192 -0
- data/vendored/puppet/lib/puppet/type/file/group.rb +41 -0
- data/vendored/puppet/lib/puppet/type/file/mode.rb +177 -0
- data/vendored/puppet/lib/puppet/type/file/mtime.rb +18 -0
- data/vendored/puppet/lib/puppet/type/file/owner.rb +44 -0
- data/vendored/puppet/lib/puppet/type/file/selcontext.rb +141 -0
- data/vendored/puppet/lib/puppet/type/file/source.rb +356 -0
- data/vendored/puppet/lib/puppet/type/file/target.rb +87 -0
- data/vendored/puppet/lib/puppet/type/file/type.rb +19 -0
- data/vendored/puppet/lib/puppet/type/filebucket.rb +117 -0
- data/vendored/puppet/lib/puppet/type/group.rb +209 -0
- data/vendored/puppet/lib/puppet/type/host.rb +95 -0
- data/vendored/puppet/lib/puppet/type/interface.rb +121 -0
- data/vendored/puppet/lib/puppet/type/k5login.rb +165 -0
- data/vendored/puppet/lib/puppet/type/macauthorization.rb +167 -0
- data/vendored/puppet/lib/puppet/type/mailalias.rb +46 -0
- data/vendored/puppet/lib/puppet/type/maillist.rb +62 -0
- data/vendored/puppet/lib/puppet/type/mcx.rb +98 -0
- data/vendored/puppet/lib/puppet/type/mount.rb +314 -0
- data/vendored/puppet/lib/puppet/type/nagios_command.rb +3 -0
- data/vendored/puppet/lib/puppet/type/nagios_contact.rb +3 -0
- data/vendored/puppet/lib/puppet/type/nagios_contactgroup.rb +3 -0
- data/vendored/puppet/lib/puppet/type/nagios_host.rb +3 -0
- data/vendored/puppet/lib/puppet/type/nagios_hostdependency.rb +3 -0
- data/vendored/puppet/lib/puppet/type/nagios_hostescalation.rb +3 -0
- data/vendored/puppet/lib/puppet/type/nagios_hostextinfo.rb +3 -0
- data/vendored/puppet/lib/puppet/type/nagios_hostgroup.rb +3 -0
- data/vendored/puppet/lib/puppet/type/nagios_service.rb +3 -0
- data/vendored/puppet/lib/puppet/type/nagios_servicedependency.rb +3 -0
- data/vendored/puppet/lib/puppet/type/nagios_serviceescalation.rb +3 -0
- data/vendored/puppet/lib/puppet/type/nagios_serviceextinfo.rb +3 -0
- data/vendored/puppet/lib/puppet/type/nagios_servicegroup.rb +3 -0
- data/vendored/puppet/lib/puppet/type/nagios_timeperiod.rb +3 -0
- data/vendored/puppet/lib/puppet/type/notify.rb +46 -0
- data/vendored/puppet/lib/puppet/type/package.rb +571 -0
- data/vendored/puppet/lib/puppet/type/resources.rb +180 -0
- data/vendored/puppet/lib/puppet/type/router.rb +17 -0
- data/vendored/puppet/lib/puppet/type/schedule.rb +481 -0
- data/vendored/puppet/lib/puppet/type/scheduled_task.rb +183 -0
- data/vendored/puppet/lib/puppet/type/selboolean.rb +26 -0
- data/vendored/puppet/lib/puppet/type/selmodule.rb +59 -0
- data/vendored/puppet/lib/puppet/type/service.rb +258 -0
- data/vendored/puppet/lib/puppet/type/ssh_authorized_key.rb +143 -0
- data/vendored/puppet/lib/puppet/type/sshkey.rb +83 -0
- data/vendored/puppet/lib/puppet/type/stage.rb +27 -0
- data/vendored/puppet/lib/puppet/type/tidy.rb +345 -0
- data/vendored/puppet/lib/puppet/type/user.rb +794 -0
- data/vendored/puppet/lib/puppet/type/vlan.rb +26 -0
- data/vendored/puppet/lib/puppet/type/whit.rb +34 -0
- data/vendored/puppet/lib/puppet/type/yumrepo.rb +439 -0
- data/vendored/puppet/lib/puppet/type/zfs.rb +154 -0
- data/vendored/puppet/lib/puppet/type/zone.rb +382 -0
- data/vendored/puppet/lib/puppet/type/zpool.rb +91 -0
- data/vendored/puppet/lib/puppet/util.rb +700 -0
- data/vendored/puppet/lib/puppet/util/at_fork.rb +35 -0
- data/vendored/puppet/lib/puppet/util/at_fork/noop.rb +18 -0
- data/vendored/puppet/lib/puppet/util/at_fork/solaris.rb +160 -0
- data/vendored/puppet/lib/puppet/util/autoload.rb +226 -0
- data/vendored/puppet/lib/puppet/util/backups.rb +86 -0
- data/vendored/puppet/lib/puppet/util/character_encoding.rb +98 -0
- data/vendored/puppet/lib/puppet/util/checksums.rb +363 -0
- data/vendored/puppet/lib/puppet/util/classgen.rb +228 -0
- data/vendored/puppet/lib/puppet/util/colors.rb +100 -0
- data/vendored/puppet/lib/puppet/util/command_line.rb +190 -0
- data/vendored/puppet/lib/puppet/util/command_line/puppet_option_parser.rb +87 -0
- data/vendored/puppet/lib/puppet/util/command_line/trollop.rb +825 -0
- data/vendored/puppet/lib/puppet/util/constant_inflector.rb +24 -0
- data/vendored/puppet/lib/puppet/util/diff.rb +79 -0
- data/vendored/puppet/lib/puppet/util/docs.rb +128 -0
- data/vendored/puppet/lib/puppet/util/errors.rb +159 -0
- data/vendored/puppet/lib/puppet/util/execution.rb +412 -0
- data/vendored/puppet/lib/puppet/util/execution_stub.rb +26 -0
- data/vendored/puppet/lib/puppet/util/feature.rb +95 -0
- data/vendored/puppet/lib/puppet/util/file_watcher.rb +28 -0
- data/vendored/puppet/lib/puppet/util/fileparsing.rb +375 -0
- data/vendored/puppet/lib/puppet/util/filetype.rb +309 -0
- data/vendored/puppet/lib/puppet/util/http_proxy.rb +207 -0
- data/vendored/puppet/lib/puppet/util/inifile.rb +340 -0
- data/vendored/puppet/lib/puppet/util/instance_loader.rb +79 -0
- data/vendored/puppet/lib/puppet/util/json_lockfile.rb +44 -0
- data/vendored/puppet/lib/puppet/util/ldap.rb +2 -0
- data/vendored/puppet/lib/puppet/util/ldap/connection.rb +71 -0
- data/vendored/puppet/lib/puppet/util/ldap/generator.rb +42 -0
- data/vendored/puppet/lib/puppet/util/ldap/manager.rb +281 -0
- data/vendored/puppet/lib/puppet/util/libuser.rb +12 -0
- data/vendored/puppet/lib/puppet/util/limits.rb +12 -0
- data/vendored/puppet/lib/puppet/util/lockfile.rb +66 -0
- data/vendored/puppet/lib/puppet/util/log.rb +415 -0
- data/vendored/puppet/lib/puppet/util/log/destination.rb +49 -0
- data/vendored/puppet/lib/puppet/util/log/destinations.rb +258 -0
- data/vendored/puppet/lib/puppet/util/logging.rb +311 -0
- data/vendored/puppet/lib/puppet/util/metaid.rb +21 -0
- data/vendored/puppet/lib/puppet/util/methodhelper.rb +32 -0
- data/vendored/puppet/lib/puppet/util/metric.rb +64 -0
- data/vendored/puppet/lib/puppet/util/monkey_patches.rb +108 -0
- data/vendored/puppet/lib/puppet/util/multi_match.rb +51 -0
- data/vendored/puppet/lib/puppet/util/nagios_maker.rb +85 -0
- data/vendored/puppet/lib/puppet/util/network_device.rb +17 -0
- data/vendored/puppet/lib/puppet/util/network_device/base.rb +23 -0
- data/vendored/puppet/lib/puppet/util/network_device/cisco.rb +4 -0
- data/vendored/puppet/lib/puppet/util/network_device/cisco/device.rb +285 -0
- data/vendored/puppet/lib/puppet/util/network_device/cisco/facts.rb +72 -0
- data/vendored/puppet/lib/puppet/util/network_device/cisco/interface.rb +94 -0
- data/vendored/puppet/lib/puppet/util/network_device/config.rb +105 -0
- data/vendored/puppet/lib/puppet/util/network_device/ipcalc.rb +68 -0
- data/vendored/puppet/lib/puppet/util/network_device/transport.rb +5 -0
- data/vendored/puppet/lib/puppet/util/network_device/transport/base.rb +26 -0
- data/vendored/puppet/lib/puppet/util/network_device/transport/ssh.rb +126 -0
- data/vendored/puppet/lib/puppet/util/network_device/transport/telnet.rb +47 -0
- data/vendored/puppet/lib/puppet/util/package.rb +31 -0
- data/vendored/puppet/lib/puppet/util/pidlock.rb +62 -0
- data/vendored/puppet/lib/puppet/util/platform.rb +35 -0
- data/vendored/puppet/lib/puppet/util/plist.rb +155 -0
- data/vendored/puppet/lib/puppet/util/posix.rb +137 -0
- data/vendored/puppet/lib/puppet/util/profiler.rb +53 -0
- data/vendored/puppet/lib/puppet/util/profiler/aggregate.rb +85 -0
- data/vendored/puppet/lib/puppet/util/profiler/around_profiler.rb +67 -0
- data/vendored/puppet/lib/puppet/util/profiler/logging.rb +48 -0
- data/vendored/puppet/lib/puppet/util/profiler/object_counts.rb +17 -0
- data/vendored/puppet/lib/puppet/util/profiler/wall_clock.rb +35 -0
- data/vendored/puppet/lib/puppet/util/provider_features.rb +184 -0
- data/vendored/puppet/lib/puppet/util/psych_support.rb +30 -0
- data/vendored/puppet/lib/puppet/util/rdoc.rb +60 -0
- data/vendored/puppet/lib/puppet/util/rdoc/code_objects.rb +294 -0
- data/vendored/puppet/lib/puppet/util/rdoc/generators/puppet_generator.rb +910 -0
- data/vendored/puppet/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +1085 -0
- data/vendored/puppet/lib/puppet/util/rdoc/parser.rb +12 -0
- data/vendored/puppet/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +259 -0
- data/vendored/puppet/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +14 -0
- data/vendored/puppet/lib/puppet/util/reference.rb +118 -0
- data/vendored/puppet/lib/puppet/util/resource_template.rb +61 -0
- data/vendored/puppet/lib/puppet/util/retry_action.rb +46 -0
- data/vendored/puppet/lib/puppet/util/rubygems.rb +75 -0
- data/vendored/puppet/lib/puppet/util/run_mode.rb +110 -0
- data/vendored/puppet/lib/puppet/util/selinux.rb +264 -0
- data/vendored/puppet/lib/puppet/util/skip_tags.rb +9 -0
- data/vendored/puppet/lib/puppet/util/splayer.rb +18 -0
- data/vendored/puppet/lib/puppet/util/ssl.rb +53 -0
- data/vendored/puppet/lib/puppet/util/storage.rb +89 -0
- data/vendored/puppet/lib/puppet/util/suidmanager.rb +165 -0
- data/vendored/puppet/lib/puppet/util/symbolic_file_mode.rb +144 -0
- data/vendored/puppet/lib/puppet/util/tag_set.rb +27 -0
- data/vendored/puppet/lib/puppet/util/tagging.rb +118 -0
- data/vendored/puppet/lib/puppet/util/terminal.rb +16 -0
- data/vendored/puppet/lib/puppet/util/user_attr.rb +21 -0
- data/vendored/puppet/lib/puppet/util/warnings.rb +31 -0
- data/vendored/puppet/lib/puppet/util/watched_file.rb +37 -0
- data/vendored/puppet/lib/puppet/util/watcher.rb +17 -0
- data/vendored/puppet/lib/puppet/util/watcher/change_watcher.rb +33 -0
- data/vendored/puppet/lib/puppet/util/watcher/periodic_watcher.rb +37 -0
- data/vendored/puppet/lib/puppet/util/watcher/timer.rb +19 -0
- data/vendored/puppet/lib/puppet/util/windows.rb +35 -0
- data/vendored/puppet/lib/puppet/util/windows/access_control_entry.rb +84 -0
- data/vendored/puppet/lib/puppet/util/windows/access_control_list.rb +113 -0
- data/vendored/puppet/lib/puppet/util/windows/adsi.rb +545 -0
- data/vendored/puppet/lib/puppet/util/windows/api_types.rb +282 -0
- data/vendored/puppet/lib/puppet/util/windows/com.rb +225 -0
- data/vendored/puppet/lib/puppet/util/windows/error.rb +83 -0
- data/vendored/puppet/lib/puppet/util/windows/eventlog.rb +197 -0
- data/vendored/puppet/lib/puppet/util/windows/file.rb +571 -0
- data/vendored/puppet/lib/puppet/util/windows/principal.rb +192 -0
- data/vendored/puppet/lib/puppet/util/windows/process.rb +497 -0
- data/vendored/puppet/lib/puppet/util/windows/registry.rb +374 -0
- data/vendored/puppet/lib/puppet/util/windows/root_certs.rb +108 -0
- data/vendored/puppet/lib/puppet/util/windows/security.rb +857 -0
- data/vendored/puppet/lib/puppet/util/windows/security_descriptor.rb +62 -0
- data/vendored/puppet/lib/puppet/util/windows/sid.rb +282 -0
- data/vendored/puppet/lib/puppet/util/windows/string.rb +16 -0
- data/vendored/puppet/lib/puppet/util/windows/taskscheduler.rb +1267 -0
- data/vendored/puppet/lib/puppet/util/windows/user.rb +309 -0
- data/vendored/puppet/lib/puppet/util/yaml.rb +36 -0
- data/vendored/puppet/lib/puppet/vendor.rb +57 -0
- data/vendored/puppet/lib/puppet/vendor/deep_merge/lib/deep_merge.rb +2 -0
- data/vendored/puppet/lib/puppet/vendor/deep_merge/lib/deep_merge/core.rb +210 -0
- data/vendored/puppet/lib/puppet/vendor/deep_merge/lib/deep_merge/deep_merge_hash.rb +28 -0
- data/vendored/puppet/lib/puppet/vendor/deep_merge/lib/deep_merge/rails_compat.rb +27 -0
- data/vendored/puppet/lib/puppet/vendor/deep_merge/test/test_deep_merge.rb +608 -0
- data/vendored/puppet/lib/puppet/vendor/load_deep_merge.rb +1 -0
- data/vendored/puppet/lib/puppet/vendor/load_pathspec.rb +1 -0
- data/vendored/puppet/lib/puppet/vendor/load_semantic.rb +1 -0
- data/vendored/puppet/lib/puppet/vendor/load_semantic_puppet.rb +1 -0
- data/vendored/puppet/lib/puppet/vendor/pathspec/lib/pathspec.rb +122 -0
- data/vendored/puppet/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +275 -0
- data/vendored/puppet/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +17 -0
- data/vendored/puppet/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +14 -0
- data/vendored/puppet/lib/puppet/vendor/require_vendored.rb +6 -0
- data/vendored/puppet/lib/puppet/vendor/semantic/lib/semantic.rb +5 -0
- data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet.rb +11 -0
- data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency.rb +181 -0
- data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/graph.rb +60 -0
- data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/graph_node.rb +117 -0
- data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/module_release.rb +58 -0
- data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/source.rb +25 -0
- data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/unsatisfiable_graph.rb +31 -0
- data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/gem_version.rb +3 -0
- data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/version.rb +203 -0
- data/vendored/puppet/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/version_range.rb +758 -0
- data/vendored/puppet/lib/puppet/version.rb +93 -0
- data/vendored/puppet/lib/puppet_pal.rb +879 -0
- data/vendored/puppet/lib/puppet_x.rb +14 -0
- metadata +1237 -2
@@ -0,0 +1,20 @@
|
|
1
|
+
# SimpleEnvironmentLoader
|
2
|
+
# ===
|
3
|
+
# This loader does not load anything and it is populated by the bootstrapping logic that loads
|
4
|
+
# the site.pp or equivalent for an environment. It does not restrict the names of what it may contain,
|
5
|
+
# and what is loaded here overrides any child loaders (modules).
|
6
|
+
#
|
7
|
+
class Puppet::Pops::Loader::SimpleEnvironmentLoader < Puppet::Pops::Loader::BaseLoader
|
8
|
+
|
9
|
+
attr_accessor :private_loader
|
10
|
+
|
11
|
+
# Never finds anything, everything "loaded" is set externally
|
12
|
+
def find(typed_name)
|
13
|
+
nil
|
14
|
+
end
|
15
|
+
|
16
|
+
def to_s()
|
17
|
+
"(SimpleEnvironmentLoader '#{loader_name}')"
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
@@ -0,0 +1,163 @@
|
|
1
|
+
# Static Loader contains constants, basic data types and other types required for the system
|
2
|
+
# to boot.
|
3
|
+
#
|
4
|
+
module Puppet::Pops
|
5
|
+
module Loader
|
6
|
+
class StaticLoader < Loader
|
7
|
+
|
8
|
+
BUILTIN_TYPE_NAMES = %w{
|
9
|
+
Augeas
|
10
|
+
Component
|
11
|
+
Computer
|
12
|
+
Cron
|
13
|
+
Exec
|
14
|
+
File
|
15
|
+
Filebucket
|
16
|
+
Group
|
17
|
+
Host
|
18
|
+
Interface
|
19
|
+
K5login
|
20
|
+
Macauthorization
|
21
|
+
Mailalias
|
22
|
+
Maillist
|
23
|
+
Mcx
|
24
|
+
Mount
|
25
|
+
Nagios_command
|
26
|
+
Nagios_contact
|
27
|
+
Nagios_contactgroup
|
28
|
+
Nagios_host
|
29
|
+
Nagios_hostdependency
|
30
|
+
Nagios_hostescalation
|
31
|
+
Nagios_hostgroup
|
32
|
+
Nagios_hostextinfo
|
33
|
+
Nagios_service
|
34
|
+
Nagios_servicedependency
|
35
|
+
Nagios_serviceescalation
|
36
|
+
Nagios_serviceextinfo
|
37
|
+
Nagios_servicegroup
|
38
|
+
Nagios_timeperiod
|
39
|
+
Node
|
40
|
+
Notify
|
41
|
+
Package
|
42
|
+
Resources
|
43
|
+
Router
|
44
|
+
Schedule
|
45
|
+
Scheduled_task
|
46
|
+
Selboolean
|
47
|
+
Selmodule
|
48
|
+
Service
|
49
|
+
Ssh_authorized_key
|
50
|
+
Sshkey
|
51
|
+
Stage
|
52
|
+
Tidy
|
53
|
+
User
|
54
|
+
Vlan
|
55
|
+
Whit
|
56
|
+
Yumrepo
|
57
|
+
Zfs
|
58
|
+
Zone
|
59
|
+
Zpool
|
60
|
+
}.freeze
|
61
|
+
|
62
|
+
BUILTIN_TYPE_NAMES_LC = Set.new(BUILTIN_TYPE_NAMES.map { |n| n.downcase }).freeze
|
63
|
+
|
64
|
+
BUILTIN_ALIASES = {
|
65
|
+
'Data' => 'Variant[ScalarData,Undef,Hash[String,Data],Array[Data]]',
|
66
|
+
'RichDataKey' => 'Variant[String,Numeric]',
|
67
|
+
'RichData' => 'Variant[Scalar,SemVerRange,Binary,Sensitive,Type,TypeSet,URI,Object,Undef,Default,Hash[RichDataKey,RichData],Array[RichData]]',
|
68
|
+
|
69
|
+
# Backward compatible aliases.
|
70
|
+
'Puppet::LookupKey' => 'RichDataKey',
|
71
|
+
'Puppet::LookupValue' => 'RichData'
|
72
|
+
}.freeze
|
73
|
+
|
74
|
+
attr_reader :loaded
|
75
|
+
def initialize
|
76
|
+
@loaded = {}
|
77
|
+
@runtime_3_initialized = false
|
78
|
+
create_built_in_types
|
79
|
+
end
|
80
|
+
|
81
|
+
def discover(type, error_collector = nil, name_authority = Pcore::RUNTIME_NAME_AUTHORITY)
|
82
|
+
# Static loader only contains runtime types
|
83
|
+
return EMPTY_ARRAY unless type == :type && name_authority == name_authority = Pcore::RUNTIME_NAME_AUTHORITY
|
84
|
+
|
85
|
+
typed_names = type == :type && name_authority == Pcore::RUNTIME_NAME_AUTHORITY ? @loaded.keys : EMPTY_ARRAY
|
86
|
+
block_given? ? typed_names.select { |tn| yield(tn) } : typed_names
|
87
|
+
end
|
88
|
+
|
89
|
+
def load_typed(typed_name)
|
90
|
+
load_constant(typed_name)
|
91
|
+
end
|
92
|
+
|
93
|
+
def get_entry(typed_name)
|
94
|
+
load_constant(typed_name)
|
95
|
+
end
|
96
|
+
|
97
|
+
def set_entry(typed_name, value, origin = nil)
|
98
|
+
@loaded[typed_name] = Loader::NamedEntry.new(typed_name, value, origin)
|
99
|
+
end
|
100
|
+
|
101
|
+
def find(name)
|
102
|
+
# There is nothing to search for, everything this loader knows about is already available
|
103
|
+
nil
|
104
|
+
end
|
105
|
+
|
106
|
+
def parent
|
107
|
+
nil # at top of the hierarchy
|
108
|
+
end
|
109
|
+
|
110
|
+
def to_s()
|
111
|
+
"(StaticLoader)"
|
112
|
+
end
|
113
|
+
|
114
|
+
def loaded_entry(typed_name, check_dependencies = false)
|
115
|
+
@loaded[typed_name]
|
116
|
+
end
|
117
|
+
|
118
|
+
def runtime_3_init
|
119
|
+
unless @runtime_3_initialized
|
120
|
+
@runtime_3_initialized = true
|
121
|
+
create_resource_type_references
|
122
|
+
end
|
123
|
+
nil
|
124
|
+
end
|
125
|
+
|
126
|
+
def register_aliases
|
127
|
+
aliases = BUILTIN_ALIASES.map { |name, string| add_type(name, Types::PTypeAliasType.new(name, Types::TypeFactory.type_reference(string), nil)) }
|
128
|
+
aliases.each { |type| type.resolve(self) }
|
129
|
+
end
|
130
|
+
|
131
|
+
private
|
132
|
+
|
133
|
+
def load_constant(typed_name)
|
134
|
+
@loaded[typed_name]
|
135
|
+
end
|
136
|
+
|
137
|
+
def create_built_in_types
|
138
|
+
origin_uri = URI("puppet:Puppet-Type-System/Static-Loader")
|
139
|
+
type_map = Puppet::Pops::Types::TypeParser.type_map
|
140
|
+
type_map.each do |name, type|
|
141
|
+
set_entry(TypedName.new(:type, name), type, origin_uri)
|
142
|
+
end
|
143
|
+
end
|
144
|
+
|
145
|
+
def create_resource_type_references()
|
146
|
+
# These needs to be done quickly and we do not want to scan the file system for these
|
147
|
+
# We are also not interested in their definition only that they exist.
|
148
|
+
# These types are in all environments.
|
149
|
+
#
|
150
|
+
BUILTIN_TYPE_NAMES.each { |name| create_resource_type_reference(name) }
|
151
|
+
end
|
152
|
+
|
153
|
+
def add_type(name, type)
|
154
|
+
set_entry(TypedName.new(:type, name), type)
|
155
|
+
type
|
156
|
+
end
|
157
|
+
|
158
|
+
def create_resource_type_reference(name)
|
159
|
+
add_type(name, Types::TypeFactory.resource(name))
|
160
|
+
end
|
161
|
+
end
|
162
|
+
end
|
163
|
+
end
|
@@ -0,0 +1,69 @@
|
|
1
|
+
# The TypeDefinitionInstantiator instantiates a type alias or a type definition
|
2
|
+
#
|
3
|
+
module Puppet::Pops
|
4
|
+
module Loader
|
5
|
+
class TaskInstantiator
|
6
|
+
def self.create(loader, typed_name, source_refs)
|
7
|
+
name = typed_name.name
|
8
|
+
metadata = nil
|
9
|
+
task_source = nil
|
10
|
+
source_refs.each do |source_ref|
|
11
|
+
if source_ref.end_with?('.json')
|
12
|
+
metadata = source_ref
|
13
|
+
elsif task_source.nil?
|
14
|
+
task_source = source_ref
|
15
|
+
else
|
16
|
+
raise ArgumentError, _('Only one file can exists besides the .json file for task %{name} in directory %{directory}') %
|
17
|
+
{ name: name, directory: File.dirname(source_refs[0]) }
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
if task_source.nil?
|
22
|
+
raise ArgumentError, _('No source besides task metadata was found in directory %{directory} for task %{name}') %
|
23
|
+
{ name: name, directory: File.dirname(source_refs[0]) }
|
24
|
+
end
|
25
|
+
create_task(loader, name, task_source, metadata)
|
26
|
+
end
|
27
|
+
|
28
|
+
def self.create_task(loader, name, task_source, metadata)
|
29
|
+
if metadata.nil?
|
30
|
+
create_task_from_hash(name, task_source, EMPTY_HASH)
|
31
|
+
else
|
32
|
+
json_text = loader.get_contents(metadata)
|
33
|
+
begin
|
34
|
+
create_task_from_hash(name, task_source, JSON.parse(json_text) || EMPTY_HASH)
|
35
|
+
rescue JSON::ParserError => ex
|
36
|
+
raise Puppet::ParseError.new(ex.message, metadata)
|
37
|
+
rescue Types::TypeAssertionError => ex
|
38
|
+
# Not strictly a parser error but from the users perspective, the file content didn't parse properly. The
|
39
|
+
# ParserError also conveys file info (even though line is unknown)
|
40
|
+
msg = _('Failed to load metadata for task %{name}: %{reason}') % { :name => name, :reason => ex.message }
|
41
|
+
raise Puppet::ParseError.new(msg, metadata)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def self.create_task_from_hash(name, task_source, hash)
|
47
|
+
arguments = {
|
48
|
+
'name' => name,
|
49
|
+
'executable' => task_source
|
50
|
+
}
|
51
|
+
hash.each_pair do |key, value|
|
52
|
+
if 'parameters' == key || 'output' == key
|
53
|
+
ps = {}
|
54
|
+
value.each_pair do |k, v|
|
55
|
+
pd = v.dup
|
56
|
+
t = v['type']
|
57
|
+
pd['type'] = t.nil? ? Types::TypeFactory.data : Types::TypeParser.singleton.parse(t)
|
58
|
+
ps[k] = pd
|
59
|
+
end
|
60
|
+
value = ps
|
61
|
+
end
|
62
|
+
arguments[key] = value
|
63
|
+
end
|
64
|
+
|
65
|
+
Types::TypeFactory.task.from_hash(arguments)
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
@@ -0,0 +1,100 @@
|
|
1
|
+
# The TypeDefinitionInstantiator instantiates a type alias or a type definition
|
2
|
+
#
|
3
|
+
module Puppet::Pops
|
4
|
+
module Loader
|
5
|
+
class TypeDefinitionInstantiator
|
6
|
+
def self.create(loader, typed_name, source_ref, pp_code_string)
|
7
|
+
# parse and validate
|
8
|
+
parser = Parser::EvaluatingParser.new()
|
9
|
+
model = parser.parse_string(pp_code_string, source_ref)
|
10
|
+
# Only one type is allowed (and no other definitions)
|
11
|
+
|
12
|
+
name = typed_name.name
|
13
|
+
case model.definitions.size
|
14
|
+
when 0
|
15
|
+
raise ArgumentError, _("The code loaded from %{source_ref} does not define the type '%{name}' - it is empty.") % { source_ref: source_ref, name: name }
|
16
|
+
when 1
|
17
|
+
# ok
|
18
|
+
else
|
19
|
+
raise ArgumentError,
|
20
|
+
_("The code loaded from %{source_ref} must contain only the type '%{name}' - it has additional definitions.") % { source_ref: source_ref, name: name }
|
21
|
+
end
|
22
|
+
type_definition = model.definitions[0]
|
23
|
+
|
24
|
+
unless type_definition.is_a?(Model::TypeAlias) || type_definition.is_a?(Model::TypeDefinition)
|
25
|
+
raise ArgumentError,
|
26
|
+
_("The code loaded from %{source_ref} does not define the type '%{name}' - no type alias or type definition found.") % { source_ref: source_ref, name: name }
|
27
|
+
end
|
28
|
+
|
29
|
+
actual_name = type_definition.name
|
30
|
+
unless name == actual_name.downcase
|
31
|
+
raise ArgumentError,
|
32
|
+
_("The code loaded from %{source_ref} produced type with the wrong name, expected '%{name}', actual '%{actual_name}'") % { source_ref: source_ref, name: name, actual_name: actual_name }
|
33
|
+
end
|
34
|
+
|
35
|
+
unless model.body == type_definition
|
36
|
+
raise ArgumentError,
|
37
|
+
_("The code loaded from %{source_ref} contains additional logic - can only contain the type '%{name}'") % { source_ref: source_ref, name: name }
|
38
|
+
end
|
39
|
+
|
40
|
+
# Adapt the type definition with loader - this is used from logic contained in its body to find the
|
41
|
+
# loader to use when resolving contained aliases API. Such logic have a hard time finding the closure (where
|
42
|
+
# the loader is known - hence this mechanism
|
43
|
+
private_loader = loader.private_loader
|
44
|
+
Adapters::LoaderAdapter.adapt(type_definition).loader_name = private_loader.loader_name
|
45
|
+
create_runtime_type(type_definition)
|
46
|
+
end
|
47
|
+
|
48
|
+
def self.create_from_model(type_definition, loader)
|
49
|
+
typed_name = TypedName.new(:type, type_definition.name)
|
50
|
+
type = create_runtime_type(type_definition)
|
51
|
+
loader.set_entry(
|
52
|
+
typed_name,
|
53
|
+
type,
|
54
|
+
type_definition.locator.to_uri(type_definition))
|
55
|
+
type
|
56
|
+
end
|
57
|
+
|
58
|
+
# @api private
|
59
|
+
def self.create_runtime_type(type_definition)
|
60
|
+
# Using the RUNTIME_NAME_AUTHORITY as the name_authority is motivated by the fact that the type
|
61
|
+
# alias name (managed by the runtime) becomes the name of the created type
|
62
|
+
#
|
63
|
+
create_type(type_definition.name, type_definition.type_expr, Pcore::RUNTIME_NAME_AUTHORITY)
|
64
|
+
end
|
65
|
+
|
66
|
+
# @api private
|
67
|
+
def self.create_type(name, type_expr, name_authority)
|
68
|
+
create_named_type(name, named_definition(type_expr), type_expr, name_authority)
|
69
|
+
end
|
70
|
+
|
71
|
+
# @api private
|
72
|
+
def self.create_named_type(name, type_name, type_expr, name_authority)
|
73
|
+
case type_name
|
74
|
+
when 'Object'
|
75
|
+
# No need for an alias. The Object type itself will receive the name instead
|
76
|
+
unless type_expr.is_a?(Model::LiteralHash)
|
77
|
+
type_expr = type_expr.keys.empty? ? nil : type_expr.keys[0] unless type_expr.is_a?(Hash)
|
78
|
+
end
|
79
|
+
Types::PObjectType.new(name, type_expr)
|
80
|
+
when 'TypeSet'
|
81
|
+
# No need for an alias. The Object type itself will receive the name instead
|
82
|
+
type_expr = type_expr.keys.empty? ? nil : type_expr.keys[0] unless type_expr.is_a?(Hash)
|
83
|
+
Types::PTypeSetType.new(name, type_expr, name_authority)
|
84
|
+
else
|
85
|
+
Types::PTypeAliasType.new(name, type_expr)
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
# @api private
|
90
|
+
def self.named_definition(te)
|
91
|
+
return 'Object' if te.is_a?(Model::LiteralHash)
|
92
|
+
te.is_a?(Model::AccessExpression) && (left = te.left_expr).is_a?(Model::QualifiedReference) ? left.cased_value : nil
|
93
|
+
end
|
94
|
+
|
95
|
+
def several_paths?
|
96
|
+
false
|
97
|
+
end
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
module Puppet::Pops
|
2
|
+
module Loader
|
3
|
+
# A namespace/name/type combination that can be used as a compound hash key
|
4
|
+
#
|
5
|
+
# @api public
|
6
|
+
class TypedName
|
7
|
+
attr_reader :hash
|
8
|
+
attr_reader :type
|
9
|
+
attr_reader :name_authority
|
10
|
+
attr_reader :name
|
11
|
+
attr_reader :name_parts
|
12
|
+
attr_reader :compound_name
|
13
|
+
|
14
|
+
def initialize(type, name, name_authority = Pcore::RUNTIME_NAME_AUTHORITY)
|
15
|
+
name = name.downcase
|
16
|
+
@type = type
|
17
|
+
@name_authority = name_authority
|
18
|
+
# relativize the name (get rid of leading ::), and make the split string available
|
19
|
+
parts = name.to_s.split(DOUBLE_COLON)
|
20
|
+
if parts[0].empty?
|
21
|
+
parts.shift
|
22
|
+
@name = name[2..-1]
|
23
|
+
else
|
24
|
+
@name = name
|
25
|
+
end
|
26
|
+
@name_parts = parts.freeze
|
27
|
+
|
28
|
+
# Use a frozen compound key for the hash and comparison. Most varying part first
|
29
|
+
@compound_name = "#{@name}/#{@type}/#{@name_authority}".freeze
|
30
|
+
@hash = @compound_name.hash
|
31
|
+
freeze
|
32
|
+
end
|
33
|
+
|
34
|
+
def ==(o)
|
35
|
+
o.class == self.class && o.compound_name == @compound_name
|
36
|
+
end
|
37
|
+
|
38
|
+
alias eql? ==
|
39
|
+
|
40
|
+
# @return the parent of this instance, or nil if this instance is not qualified
|
41
|
+
def parent
|
42
|
+
@name_parts.size > 1 ? self.class.new(@type, @name_parts[0...-1].join(DOUBLE_COLON), @name_authority) : nil
|
43
|
+
end
|
44
|
+
|
45
|
+
def qualified?
|
46
|
+
@name_parts.size > 1
|
47
|
+
end
|
48
|
+
|
49
|
+
def to_s
|
50
|
+
"#{@name_authority}/#{@type}/#{@name}"
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Puppet::Pops::Loader::UriHelper
|
2
|
+
# Raises an exception if specified gem can not be located
|
3
|
+
#
|
4
|
+
def path_for_uri(uri, subdir='lib')
|
5
|
+
case uri.scheme
|
6
|
+
when "gem"
|
7
|
+
begin
|
8
|
+
spec = Gem::Specification.find_by_name(uri.hostname)
|
9
|
+
# if path given append that, else append given subdir
|
10
|
+
File.join(spec.gem_dir, uri.path.empty?() ? subdir : uri.path)
|
11
|
+
rescue StandardError => e
|
12
|
+
raise "TODO TYPE: Failed to located gem #{uri}. #{e.message}"
|
13
|
+
end
|
14
|
+
when "file"
|
15
|
+
File.join(uri.path, subdir)
|
16
|
+
when nil
|
17
|
+
File.join(uri.path, subdir)
|
18
|
+
else
|
19
|
+
raise "Not a valid scheme for a loader: #{uri.scheme}. Use a 'file:' (or just a path), or 'gem://gemname[/path]"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,545 @@
|
|
1
|
+
module Puppet::Pops
|
2
|
+
# This is the container for all Loader instances. Each Loader instance has a `loader_name` by which it can be uniquely
|
3
|
+
# identified within this container.
|
4
|
+
# A Loader can be private or public. In general, code will have access to the private loader associated with the
|
5
|
+
# location of the code. It will be parented by a loader that in turn have access to other public loaders that
|
6
|
+
# can load only such entries that have been publicly available. The split between public and private is not
|
7
|
+
# yet enforced in Puppet.
|
8
|
+
#
|
9
|
+
# The name of a private loader should always end with ' private'
|
10
|
+
#
|
11
|
+
class Loaders
|
12
|
+
class LoaderError < Puppet::Error; end
|
13
|
+
|
14
|
+
attr_reader :static_loader
|
15
|
+
attr_reader :puppet_system_loader
|
16
|
+
attr_reader :public_environment_loader
|
17
|
+
attr_reader :private_environment_loader
|
18
|
+
attr_reader :environment
|
19
|
+
|
20
|
+
def self.new(environment, for_agent = false)
|
21
|
+
obj = environment.loaders
|
22
|
+
if obj.nil?
|
23
|
+
obj = self.allocate
|
24
|
+
obj.send(:initialize, environment, for_agent)
|
25
|
+
end
|
26
|
+
obj
|
27
|
+
end
|
28
|
+
|
29
|
+
def initialize(environment, for_agent)
|
30
|
+
# Protect against environment havoc
|
31
|
+
raise ArgumentError.new(_("Attempt to redefine already initialized loaders for environment")) unless environment.loaders.nil?
|
32
|
+
environment.loaders = self
|
33
|
+
@environment = environment
|
34
|
+
@loaders_by_name = {}
|
35
|
+
|
36
|
+
add_loader_by_name(self.class.static_loader)
|
37
|
+
|
38
|
+
# Create the set of loaders
|
39
|
+
# 1. Puppet, loads from the "running" puppet - i.e. bundled functions, types, extension points and extensions
|
40
|
+
# These cannot be cached since a loaded instance will be bound to its closure scope which holds on to
|
41
|
+
# a compiler and all loaded types. Subsequent request would find remains of the environment that loaded
|
42
|
+
# the content. PUP-4461.
|
43
|
+
#
|
44
|
+
@puppet_system_loader = create_puppet_system_loader()
|
45
|
+
|
46
|
+
# 2. Environment loader - i.e. what is bound across the environment, may change for each setup
|
47
|
+
# TODO: loaders need to work when also running in an agent doing catalog application. There is no
|
48
|
+
# concept of environment the same way as when running as a master (except when doing apply).
|
49
|
+
# The creation mechanisms should probably differ between the two.
|
50
|
+
#
|
51
|
+
@private_environment_loader = if for_agent
|
52
|
+
add_loader_by_name(Loader::SimpleEnvironmentLoader.new(@puppet_system_loader, 'agent environment'))
|
53
|
+
else
|
54
|
+
create_environment_loader(environment)
|
55
|
+
end
|
56
|
+
|
57
|
+
Pcore.init_env(@private_environment_loader)
|
58
|
+
|
59
|
+
# 3. module loaders are set up from the create_environment_loader, they register themselves
|
60
|
+
end
|
61
|
+
|
62
|
+
# Called after loader has been added to Puppet Context as :loaders so that dynamic types can
|
63
|
+
# be pre-loaded with a fully configured loader system
|
64
|
+
def pre_load
|
65
|
+
@puppet_system_loader.load(:type, 'error')
|
66
|
+
|
67
|
+
# Will move to Bolt
|
68
|
+
@puppet_system_loader.load(:type, 'executionresult')
|
69
|
+
end
|
70
|
+
|
71
|
+
# Clears the cached static and puppet_system loaders (to enable testing)
|
72
|
+
#
|
73
|
+
def self.clear
|
74
|
+
@@static_loader = nil
|
75
|
+
Model.class_variable_set(:@@pcore_ast_initialized, false)
|
76
|
+
Model.register_pcore_types
|
77
|
+
end
|
78
|
+
|
79
|
+
# Calls {#loaders} to obtain the {{Loaders}} instance and then uses it to find the appropriate loader
|
80
|
+
# for the given `module_name`, or for the environment in case `module_name` is `nil` or empty.
|
81
|
+
#
|
82
|
+
# @param module_name [String,nil] the name of the module
|
83
|
+
# @return [Loader::Loader] the found loader
|
84
|
+
# @raise [Puppet::ParseError] if no loader can be found
|
85
|
+
# @api private
|
86
|
+
def self.find_loader(module_name)
|
87
|
+
loaders.find_loader(module_name)
|
88
|
+
end
|
89
|
+
|
90
|
+
def self.static_implementation_registry
|
91
|
+
if !class_variable_defined?(:@@static_implementation_registry) || @@static_implementation_registry.nil?
|
92
|
+
ir = Types::ImplementationRegistry.new
|
93
|
+
Types::TypeParser.type_map.values.each { |t| ir.register_implementation(t.simple_name, t.class.name) }
|
94
|
+
@@static_implementation_registry = ir
|
95
|
+
end
|
96
|
+
@@static_implementation_registry
|
97
|
+
end
|
98
|
+
|
99
|
+
def self.static_loader
|
100
|
+
# The static loader can only be changed after a reboot
|
101
|
+
if !class_variable_defined?(:@@static_loader) || @@static_loader.nil?
|
102
|
+
@@static_loader = Loader::StaticLoader.new()
|
103
|
+
@@static_loader.register_aliases
|
104
|
+
Pcore.init(@@static_loader, static_implementation_registry)
|
105
|
+
end
|
106
|
+
@@static_loader
|
107
|
+
end
|
108
|
+
|
109
|
+
def self.implementation_registry
|
110
|
+
loaders = Puppet.lookup(:loaders) { nil }
|
111
|
+
loaders.nil? ? nil : loaders.implementation_registry
|
112
|
+
end
|
113
|
+
|
114
|
+
def register_implementations(obj_classes, name_authority)
|
115
|
+
self.class.register_implementations_with_loader(obj_classes, name_authority, @private_environment_loader)
|
116
|
+
end
|
117
|
+
|
118
|
+
# Register implementations using the global static loader
|
119
|
+
def self.register_static_implementations(obj_classes)
|
120
|
+
register_implementations_with_loader(obj_classes, Pcore::RUNTIME_NAME_AUTHORITY, static_loader)
|
121
|
+
end
|
122
|
+
|
123
|
+
def self.register_implementations_with_loader(obj_classes, name_authority, loader)
|
124
|
+
types = obj_classes.map do |obj_class|
|
125
|
+
type = obj_class._pcore_type
|
126
|
+
typed_name = Loader::TypedName.new(:type, type.name, name_authority)
|
127
|
+
entry = loader.loaded_entry(typed_name)
|
128
|
+
loader.set_entry(typed_name, type) if entry.nil? || entry.value.nil?
|
129
|
+
type
|
130
|
+
end
|
131
|
+
# Resolve lazy so that all types can cross reference each other
|
132
|
+
types.each { |type| type.resolve(loader) }
|
133
|
+
end
|
134
|
+
|
135
|
+
# Register the given type with the Runtime3TypeLoader. The registration will not happen unless
|
136
|
+
# the type system has been initialized.
|
137
|
+
#
|
138
|
+
# @param name [String,Symbol] the name of the entity being set
|
139
|
+
# @param origin [URI] the origin or the source where the type is defined
|
140
|
+
# @api private
|
141
|
+
def self.register_runtime3_type(name, origin)
|
142
|
+
loaders = Puppet.lookup(:loaders) { nil }
|
143
|
+
return nil if loaders.nil?
|
144
|
+
|
145
|
+
rt3_loader = loaders.runtime3_type_loader
|
146
|
+
return nil if rt3_loader.nil?
|
147
|
+
|
148
|
+
name = name.to_s
|
149
|
+
caps_name = Types::TypeFormatter.singleton.capitalize_segments(name)
|
150
|
+
typed_name = Loader::TypedName.new(:type, name)
|
151
|
+
rt3_loader.set_entry(typed_name, Types::PResourceType.new(caps_name), origin)
|
152
|
+
nil
|
153
|
+
end
|
154
|
+
|
155
|
+
# Finds a loader to use when deserializing a catalog and then subsequenlty use user
|
156
|
+
# defined types found in that catalog.
|
157
|
+
#
|
158
|
+
def self.catalog_loader
|
159
|
+
loaders = Puppet.lookup(:loaders) { nil }
|
160
|
+
if loaders.nil?
|
161
|
+
loaders = Loaders.new(Puppet.lookup(:current_environment), true)
|
162
|
+
Puppet.push_context(:loaders => loaders)
|
163
|
+
end
|
164
|
+
loaders.find_loader(nil)
|
165
|
+
end
|
166
|
+
|
167
|
+
# Finds the `Loaders` instance by looking up the :loaders in the global Puppet context
|
168
|
+
#
|
169
|
+
# @return [Loaders] the loaders instance
|
170
|
+
# @raise [Puppet::ParseError] if loader has been bound to the global context
|
171
|
+
# @api private
|
172
|
+
def self.loaders
|
173
|
+
loaders = Puppet.lookup(:loaders) { nil }
|
174
|
+
raise Puppet::ParseError, _("Internal Error: Puppet Context ':loaders' missing") if loaders.nil?
|
175
|
+
loaders
|
176
|
+
end
|
177
|
+
|
178
|
+
# Lookup a loader by its unique name.
|
179
|
+
#
|
180
|
+
# @param [String] loader_name the name of the loader to lookup
|
181
|
+
# @return [Loader] the found loader
|
182
|
+
# @raise [Puppet::ParserError] if no loader is found
|
183
|
+
def [](loader_name)
|
184
|
+
loader = @loaders_by_name[loader_name]
|
185
|
+
if loader.nil?
|
186
|
+
# Unable to find the module private loader. Try resolving the module
|
187
|
+
loader = private_loader_for_module(loader_name[0..-9]) if loader_name.end_with?(' private')
|
188
|
+
raise Puppet::ParseError, _("Unable to find loader named '%{loader_name}'") % { loader_name: loader_name } if loader.nil?
|
189
|
+
end
|
190
|
+
loader
|
191
|
+
end
|
192
|
+
|
193
|
+
# Finds the appropriate loader for the given `module_name`, or for the environment in case `module_name`
|
194
|
+
# is `nil` or empty.
|
195
|
+
#
|
196
|
+
# @param module_name [String,nil] the name of the module
|
197
|
+
# @return [Loader::Loader] the found loader
|
198
|
+
# @raise [Puppet::ParseError] if no loader can be found
|
199
|
+
# @api private
|
200
|
+
def find_loader(module_name)
|
201
|
+
if module_name.nil? || EMPTY_STRING == module_name
|
202
|
+
# Use the public environment loader
|
203
|
+
public_environment_loader
|
204
|
+
else
|
205
|
+
# TODO : Later check if definition is private, and then add it to private_loader_for_module
|
206
|
+
#
|
207
|
+
loader = public_loader_for_module(module_name)
|
208
|
+
if loader.nil?
|
209
|
+
raise Puppet::ParseError, _("Internal Error: did not find public loader for module: '%{module_name}'") % { module_name: module_name }
|
210
|
+
end
|
211
|
+
loader
|
212
|
+
end
|
213
|
+
end
|
214
|
+
|
215
|
+
def implementation_registry
|
216
|
+
# Environment specific implementation registry
|
217
|
+
@implementation_registry ||= Types::ImplementationRegistry.new(self.class.static_implementation_registry)
|
218
|
+
end
|
219
|
+
|
220
|
+
def static_loader
|
221
|
+
self.class.static_loader
|
222
|
+
end
|
223
|
+
|
224
|
+
def puppet_system_loader
|
225
|
+
@puppet_system_loader
|
226
|
+
end
|
227
|
+
|
228
|
+
def runtime3_type_loader
|
229
|
+
@runtime3_type_loader
|
230
|
+
end
|
231
|
+
|
232
|
+
def public_loader_for_module(module_name)
|
233
|
+
md = @module_resolver[module_name] || (return nil)
|
234
|
+
# Note, this loader is not resolved until there is interest in the visibility of entities from the
|
235
|
+
# perspective of something contained in the module. (Many request may pass through a module loader
|
236
|
+
# without it loading anything.
|
237
|
+
# See {#private_loader_for_module}, and not in {#configure_loaders_for_modules}
|
238
|
+
md.public_loader
|
239
|
+
end
|
240
|
+
|
241
|
+
def private_loader_for_module(module_name)
|
242
|
+
md = @module_resolver[module_name] || (return nil)
|
243
|
+
# Since there is interest in the visibility from the perspective of entities contained in the
|
244
|
+
# module, it must be resolved (to provide this visibility).
|
245
|
+
# See {#configure_loaders_for_modules}
|
246
|
+
unless md.resolved?
|
247
|
+
@module_resolver.resolve(md)
|
248
|
+
end
|
249
|
+
md.private_loader
|
250
|
+
end
|
251
|
+
|
252
|
+
def add_loader_by_name(loader)
|
253
|
+
name = loader.loader_name
|
254
|
+
if @loaders_by_name.include?(name)
|
255
|
+
raise Puppet::ParseError, _("Internal Error: Attempt to redefine loader named '%{name}'") % { name: name }
|
256
|
+
end
|
257
|
+
@loaders_by_name[name] = loader
|
258
|
+
end
|
259
|
+
|
260
|
+
# Load the main manifest for the given environment
|
261
|
+
#
|
262
|
+
# There are two sources that can be used for the initial parse:
|
263
|
+
#
|
264
|
+
# 1. The value of `Puppet[:code]`: Puppet can take a string from
|
265
|
+
# its settings and parse that as a manifest. This is used by various
|
266
|
+
# Puppet applications to read in a manifest and pass it to the
|
267
|
+
# environment as a side effect. This is attempted first.
|
268
|
+
# 2. The contents of the environment's +manifest+ attribute: Puppet will
|
269
|
+
# try to load the environment manifest. The manifest must be a file.
|
270
|
+
#
|
271
|
+
# @return [Model::Program] The manifest parsed into a model object
|
272
|
+
def load_main_manifest
|
273
|
+
parser = Parser::EvaluatingParser.singleton
|
274
|
+
parsed_code = Puppet[:code]
|
275
|
+
program = if parsed_code != ""
|
276
|
+
parser.parse_string(parsed_code, 'unknown-source-location')
|
277
|
+
else
|
278
|
+
file = @environment.manifest
|
279
|
+
|
280
|
+
# if the manifest file is a reference to a directory, parse and combine
|
281
|
+
# all .pp files in that directory
|
282
|
+
if file == Puppet::Node::Environment::NO_MANIFEST
|
283
|
+
nil
|
284
|
+
elsif File.directory?(file)
|
285
|
+
raise Puppet::Error, "manifest of environment '#{@environment.name}' appoints directory '#{file}'. It must be a file"
|
286
|
+
elsif File.exists?(file)
|
287
|
+
parser.parse_file(file)
|
288
|
+
else
|
289
|
+
raise Puppet::Error, "manifest of environment '#{@environment.name}' appoints '#{file}'. It does not exist"
|
290
|
+
end
|
291
|
+
end
|
292
|
+
instantiate_definitions(program, public_environment_loader) unless program.nil?
|
293
|
+
program
|
294
|
+
rescue Puppet::ParseErrorWithIssue => detail
|
295
|
+
detail.environment = @environment.name
|
296
|
+
raise
|
297
|
+
rescue => detail
|
298
|
+
msg = _('Could not parse for environment %{env}: %{detail}') % { env: @environment, detail: detail }
|
299
|
+
error = Puppet::Error.new(msg)
|
300
|
+
error.set_backtrace(detail.backtrace)
|
301
|
+
raise error
|
302
|
+
end
|
303
|
+
|
304
|
+
# Add 4.x definitions found in the given program to the given loader.
|
305
|
+
def instantiate_definitions(program, loader)
|
306
|
+
program.definitions.each { |d| instantiate_definition(d, loader) }
|
307
|
+
nil
|
308
|
+
end
|
309
|
+
|
310
|
+
# Add given 4.x definition to the given loader.
|
311
|
+
def instantiate_definition(definition, loader)
|
312
|
+
case definition
|
313
|
+
when Model::PlanDefinition
|
314
|
+
instantiate_PlanDefinition(definition, loader)
|
315
|
+
when Model::FunctionDefinition
|
316
|
+
instantiate_FunctionDefinition(definition, loader)
|
317
|
+
when Model::TypeAlias
|
318
|
+
instantiate_TypeAlias(definition, loader)
|
319
|
+
when Model::TypeMapping
|
320
|
+
instantiate_TypeMapping(definition, loader)
|
321
|
+
else
|
322
|
+
raise Puppet::ParseError, "Internal Error: Unknown type of definition - got '#{definition.class}'"
|
323
|
+
end
|
324
|
+
end
|
325
|
+
|
326
|
+
private
|
327
|
+
|
328
|
+
def instantiate_PlanDefinition(plan_definition, loader)
|
329
|
+
typed_name, f = Loader::PuppetPlanInstantiator.create_from_model(plan_definition, loader)
|
330
|
+
loader.set_entry(typed_name, f, plan_definition.locator.to_uri(plan_definition))
|
331
|
+
nil
|
332
|
+
end
|
333
|
+
|
334
|
+
def instantiate_FunctionDefinition(function_definition, loader)
|
335
|
+
# Instantiate Function, and store it in the loader
|
336
|
+
typed_name, f = Loader::PuppetFunctionInstantiator.create_from_model(function_definition, loader)
|
337
|
+
loader.set_entry(typed_name, f, function_definition.locator.to_uri(function_definition))
|
338
|
+
nil
|
339
|
+
end
|
340
|
+
|
341
|
+
def instantiate_TypeAlias(type_alias, loader)
|
342
|
+
# Bind the type alias to the loader using the alias
|
343
|
+
Puppet::Pops::Loader::TypeDefinitionInstantiator.create_from_model(type_alias, loader)
|
344
|
+
nil
|
345
|
+
end
|
346
|
+
|
347
|
+
def instantiate_TypeMapping(type_mapping, loader)
|
348
|
+
tf = Types::TypeParser.singleton
|
349
|
+
lhs = tf.interpret(type_mapping.type_expr, loader)
|
350
|
+
rhs = tf.interpret_any(type_mapping.mapping_expr, loader)
|
351
|
+
implementation_registry.register_type_mapping(lhs, rhs)
|
352
|
+
nil
|
353
|
+
end
|
354
|
+
|
355
|
+
def create_puppet_system_loader()
|
356
|
+
Loader::ModuleLoaders.system_loader_from(static_loader, self)
|
357
|
+
end
|
358
|
+
|
359
|
+
def create_environment_loader(environment)
|
360
|
+
# This defines where to start parsing/evaluating - the "initial import" (to use 3x terminology)
|
361
|
+
# Is either a reference to a single .pp file, or a directory of manifests. If the environment becomes
|
362
|
+
# a module and can hold functions, types etc. then these are available across all other modules without
|
363
|
+
# them declaring this dependency - it is however valuable to be able to treat it the same way
|
364
|
+
# bindings and other such system related configuration.
|
365
|
+
|
366
|
+
# This is further complicated by the many options available:
|
367
|
+
# - The environment may not have a directory, the code comes from one appointed 'manifest' (site.pp)
|
368
|
+
# - The environment may have a directory and also point to a 'manifest'
|
369
|
+
# - The code to run may be set in settings (code)
|
370
|
+
|
371
|
+
# Further complication is that there is nothing specifying what the visibility is into
|
372
|
+
# available modules. (3x is everyone sees everything).
|
373
|
+
# Puppet binder currently reads confdir/bindings - that is bad, it should be using the new environment support.
|
374
|
+
|
375
|
+
# env_conf is setup from the environment_dir value passed into Puppet::Environments::Directories.new
|
376
|
+
env_conf = Puppet.lookup(:environments).get_conf(environment.name)
|
377
|
+
env_path = env_conf.nil? || !env_conf.is_a?(Puppet::Settings::EnvironmentConf) ? nil : env_conf.path_to_env
|
378
|
+
|
379
|
+
if Puppet[:tasks]
|
380
|
+
loader = Loader::ModuleLoaders.environment_loader_from(puppet_system_loader, self, env_path)
|
381
|
+
else
|
382
|
+
# Create the 3.x resource type loader
|
383
|
+
static_loader.runtime_3_init
|
384
|
+
@runtime3_type_loader = add_loader_by_name(Loader::Runtime3TypeLoader.new(puppet_system_loader, self, environment, env_conf.nil? ? nil : env_path))
|
385
|
+
|
386
|
+
if env_path.nil?
|
387
|
+
# Not a real directory environment, cannot work as a module TODO: Drop when legacy env are dropped?
|
388
|
+
loader = add_loader_by_name(Loader::SimpleEnvironmentLoader.new(@runtime3_type_loader, Loader::ENVIRONMENT))
|
389
|
+
else
|
390
|
+
# View the environment as a module to allow loading from it - this module is always called 'environment'
|
391
|
+
loader = Loader::ModuleLoaders.environment_loader_from(@runtime3_type_loader, self, env_path)
|
392
|
+
end
|
393
|
+
end
|
394
|
+
|
395
|
+
# An environment has a module path even if it has a null loader
|
396
|
+
configure_loaders_for_modules(loader, environment)
|
397
|
+
# modules should see this loader
|
398
|
+
@public_environment_loader = loader
|
399
|
+
|
400
|
+
# Code in the environment gets to see all modules (since there is no metadata for the environment)
|
401
|
+
# but since this is not given to the module loaders, they can not load global code (since they can not
|
402
|
+
# have prior knowledge about this
|
403
|
+
loader = add_loader_by_name(Loader::DependencyLoader.new(loader, Loader::ENVIRONMENT_PRIVATE, @module_resolver.all_module_loaders()))
|
404
|
+
|
405
|
+
# The module loader gets the private loader via a lazy operation to look up the module's private loader.
|
406
|
+
# This does not work for an environment since it is not resolved the same way.
|
407
|
+
# TODO: The EnvironmentLoader could be a specialized loader instead of using a ModuleLoader to do the work.
|
408
|
+
# This is subject to future design - an Environment may move more in the direction of a Module.
|
409
|
+
@public_environment_loader.private_loader = loader
|
410
|
+
loader
|
411
|
+
end
|
412
|
+
|
413
|
+
def configure_loaders_for_modules(parent_loader, environment)
|
414
|
+
@module_resolver = mr = ModuleResolver.new(self)
|
415
|
+
environment.modules.each do |puppet_module|
|
416
|
+
# Create data about this module
|
417
|
+
md = LoaderModuleData.new(puppet_module)
|
418
|
+
mr[puppet_module.name] = md
|
419
|
+
md.public_loader = Loader::ModuleLoaders.module_loader_from(parent_loader, self, md.name, md.path)
|
420
|
+
end
|
421
|
+
# NOTE: Do not resolve all modules here - this is wasteful if only a subset of modules / functions are used
|
422
|
+
# The resolution is triggered by asking for a module's private loader, since this means there is interest
|
423
|
+
# in the visibility from that perspective.
|
424
|
+
# If later, it is wanted that all resolutions should be made up-front (to capture errors eagerly, this
|
425
|
+
# can be introduced (better for production), but may be irritating in development mode.
|
426
|
+
end
|
427
|
+
|
428
|
+
# =LoaderModuleData
|
429
|
+
# Information about a Module and its loaders.
|
430
|
+
# TODO: should have reference to real model element containing all module data; this is faking it
|
431
|
+
# TODO: Should use Puppet::Module to get the metadata (as a hash) - a somewhat blunt instrument, but that is
|
432
|
+
# what is available with a reasonable API.
|
433
|
+
#
|
434
|
+
class LoaderModuleData
|
435
|
+
|
436
|
+
attr_accessor :public_loader
|
437
|
+
attr_accessor :private_loader
|
438
|
+
attr_accessor :resolutions
|
439
|
+
|
440
|
+
# The Puppet::Module this LoaderModuleData represents in the loader configuration
|
441
|
+
attr_reader :puppet_module
|
442
|
+
|
443
|
+
# @param puppet_module [Puppet::Module] the module instance for the module being represented
|
444
|
+
#
|
445
|
+
def initialize(puppet_module)
|
446
|
+
@puppet_module = puppet_module
|
447
|
+
@resolutions = []
|
448
|
+
@public_loader = nil
|
449
|
+
@private_loader = nil
|
450
|
+
end
|
451
|
+
|
452
|
+
def name
|
453
|
+
@puppet_module.name
|
454
|
+
end
|
455
|
+
|
456
|
+
def version
|
457
|
+
@puppet_module.version
|
458
|
+
end
|
459
|
+
|
460
|
+
def path
|
461
|
+
@puppet_module.path
|
462
|
+
end
|
463
|
+
|
464
|
+
def resolved?
|
465
|
+
!@private_loader.nil?
|
466
|
+
end
|
467
|
+
|
468
|
+
def restrict_to_dependencies?
|
469
|
+
@puppet_module.has_metadata?
|
470
|
+
end
|
471
|
+
|
472
|
+
def unmet_dependencies?
|
473
|
+
@puppet_module.unmet_dependencies.any?
|
474
|
+
end
|
475
|
+
|
476
|
+
def dependency_names
|
477
|
+
@puppet_module.dependencies_as_modules.collect(&:name)
|
478
|
+
end
|
479
|
+
end
|
480
|
+
|
481
|
+
# Resolves module loaders - resolution of model dependencies is done by Puppet::Module
|
482
|
+
#
|
483
|
+
class ModuleResolver
|
484
|
+
|
485
|
+
def initialize(loaders)
|
486
|
+
@loaders = loaders
|
487
|
+
@index = {}
|
488
|
+
@all_module_loaders = nil
|
489
|
+
end
|
490
|
+
|
491
|
+
def [](name)
|
492
|
+
@index[name]
|
493
|
+
end
|
494
|
+
|
495
|
+
def []=(name, module_data)
|
496
|
+
@index[name] = module_data
|
497
|
+
end
|
498
|
+
|
499
|
+
def all_module_loaders
|
500
|
+
@all_module_loaders ||= @index.values.map {|md| md.public_loader }
|
501
|
+
end
|
502
|
+
|
503
|
+
def resolve(module_data)
|
504
|
+
if module_data.resolved?
|
505
|
+
nil
|
506
|
+
else
|
507
|
+
module_data.private_loader =
|
508
|
+
if module_data.restrict_to_dependencies? && !Puppet[:tasks]
|
509
|
+
create_loader_with_only_dependencies_visible(module_data)
|
510
|
+
else
|
511
|
+
create_loader_with_all_modules_visible(module_data)
|
512
|
+
end
|
513
|
+
end
|
514
|
+
end
|
515
|
+
|
516
|
+
private
|
517
|
+
|
518
|
+
def create_loader_with_all_modules_visible(from_module_data)
|
519
|
+
Puppet.debug{"ModuleLoader: module '#{from_module_data.name}' has unknown dependencies - it will have all other modules visible"}
|
520
|
+
|
521
|
+
@loaders.add_loader_by_name(Loader::DependencyLoader.new(from_module_data.public_loader, "#{from_module_data.name} private", all_module_loaders()))
|
522
|
+
end
|
523
|
+
|
524
|
+
def create_loader_with_only_dependencies_visible(from_module_data)
|
525
|
+
if from_module_data.unmet_dependencies?
|
526
|
+
if Puppet[:strict] != :off
|
527
|
+
msg = "ModuleLoader: module '#{from_module_data.name}' has unresolved dependencies" \
|
528
|
+
" - it will only see those that are resolved." \
|
529
|
+
" Use 'puppet module list --tree' to see information about modules"
|
530
|
+
case Puppet[:strict]
|
531
|
+
when :error
|
532
|
+
raise LoaderError.new(msg)
|
533
|
+
when :warning
|
534
|
+
Puppet.warn_once(:unresolved_module_dependencies,
|
535
|
+
"unresolved_dependencies_for_module_#{from_module_data.name}",
|
536
|
+
msg)
|
537
|
+
end
|
538
|
+
end
|
539
|
+
end
|
540
|
+
dependency_loaders = from_module_data.dependency_names.collect { |name| @index[name].public_loader }
|
541
|
+
@loaders.add_loader_by_name(Loader::DependencyLoader.new(from_module_data.public_loader, "#{from_module_data.name} private", dependency_loaders))
|
542
|
+
end
|
543
|
+
end
|
544
|
+
end
|
545
|
+
end
|