puppet 8.3.1-x64-mingw32 → 8.4.0-x64-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +51 -43
- data/README.md +4 -4
- data/Rakefile +0 -27
- data/examples/enc/regexp_nodes/regexp_nodes.rb +1 -1
- data/ext/windows/service/daemon.rb +4 -5
- data/lib/hiera/puppet_function.rb +3 -2
- data/lib/hiera/scope.rb +2 -2
- data/lib/hiera_puppet.rb +1 -3
- data/lib/puppet/agent/disabler.rb +2 -1
- data/lib/puppet/agent/locker.rb +1 -2
- data/lib/puppet/agent.rb +2 -1
- data/lib/puppet/application/agent.rb +292 -291
- data/lib/puppet/application/apply.rb +143 -139
- data/lib/puppet/application/catalog.rb +1 -0
- data/lib/puppet/application/config.rb +1 -0
- data/lib/puppet/application/describe.rb +53 -55
- data/lib/puppet/application/device.rb +150 -150
- data/lib/puppet/application/doc.rb +60 -59
- data/lib/puppet/application/epp.rb +1 -0
- data/lib/puppet/application/face_base.rb +8 -7
- data/lib/puppet/application/facts.rb +1 -0
- data/lib/puppet/application/filebucket.rb +186 -184
- data/lib/puppet/application/generate.rb +1 -0
- data/lib/puppet/application/help.rb +1 -0
- data/lib/puppet/application/indirection_base.rb +1 -0
- data/lib/puppet/application/lookup.rb +168 -171
- data/lib/puppet/application/module.rb +1 -0
- data/lib/puppet/application/node.rb +1 -0
- data/lib/puppet/application/parser.rb +1 -0
- data/lib/puppet/application/plugin.rb +1 -0
- data/lib/puppet/application/report.rb +1 -0
- data/lib/puppet/application/resource.rb +111 -108
- data/lib/puppet/application/script.rb +92 -93
- data/lib/puppet/application/ssl.rb +89 -88
- data/lib/puppet/application.rb +9 -8
- data/lib/puppet/application_support.rb +1 -1
- data/lib/puppet/coercion.rb +3 -2
- data/lib/puppet/compilable_resource_type.rb +1 -0
- data/lib/puppet/concurrent/lock.rb +1 -2
- data/lib/puppet/concurrent/synchronized.rb +1 -2
- data/lib/puppet/concurrent/thread_local_singleton.rb +1 -0
- data/lib/puppet/concurrent.rb +1 -0
- data/lib/puppet/configurer/downloader.rb +1 -1
- data/lib/puppet/configurer/fact_handler.rb +2 -1
- data/lib/puppet/configurer/plugin_handler.rb +1 -0
- data/lib/puppet/configurer.rb +17 -13
- data/lib/puppet/confine/any.rb +1 -0
- data/lib/puppet/confine/boolean.rb +1 -0
- data/lib/puppet/confine/exists.rb +1 -0
- data/lib/puppet/confine/false.rb +1 -0
- data/lib/puppet/confine/feature.rb +1 -0
- data/lib/puppet/confine/true.rb +1 -0
- data/lib/puppet/confine/variable.rb +1 -0
- data/lib/puppet/confine.rb +2 -0
- data/lib/puppet/confine_collection.rb +3 -1
- data/lib/puppet/confiner.rb +1 -0
- data/lib/puppet/context/trusted_information.rb +1 -0
- data/lib/puppet/context.rb +1 -0
- data/lib/puppet/daemon.rb +4 -1
- data/lib/puppet/data_binding.rb +2 -1
- data/lib/puppet/datatypes/error.rb +2 -1
- data/lib/puppet/datatypes/impl/error.rb +1 -0
- data/lib/puppet/datatypes.rb +5 -1
- data/lib/puppet/defaults.rb +19 -18
- data/lib/puppet/environments.rb +3 -2
- data/lib/puppet/error.rb +9 -7
- data/lib/puppet/etc.rb +6 -3
- data/lib/puppet/external/dot.rb +12 -31
- data/lib/puppet/face/catalog/select.rb +2 -1
- data/lib/puppet/face/catalog.rb +3 -2
- data/lib/puppet/face/config.rb +18 -20
- data/lib/puppet/face/epp.rb +6 -6
- data/lib/puppet/face/facts.rb +4 -3
- data/lib/puppet/face/generate.rb +2 -0
- data/lib/puppet/face/help.rb +8 -7
- data/lib/puppet/face/module/changes.rb +2 -0
- data/lib/puppet/face/module/install.rb +2 -1
- data/lib/puppet/face/module/list.rb +7 -8
- data/lib/puppet/face/module/uninstall.rb +1 -0
- data/lib/puppet/face/module.rb +1 -0
- data/lib/puppet/face/node/clean.rb +2 -1
- data/lib/puppet/face/node.rb +2 -1
- data/lib/puppet/face/parser.rb +2 -2
- data/lib/puppet/face/plugin.rb +2 -1
- data/lib/puppet/face/report.rb +2 -1
- data/lib/puppet/face/resource.rb +1 -0
- data/lib/puppet/face.rb +1 -0
- data/lib/puppet/feature/base.rb +2 -1
- data/lib/puppet/feature/bolt.rb +1 -0
- data/lib/puppet/feature/cfpropertylist.rb +1 -0
- data/lib/puppet/feature/eventlog.rb +1 -0
- data/lib/puppet/feature/hiera_eyaml.rb +1 -0
- data/lib/puppet/feature/hocon.rb +1 -0
- data/lib/puppet/feature/libuser.rb +4 -3
- data/lib/puppet/feature/msgpack.rb +1 -0
- data/lib/puppet/feature/pe_license.rb +2 -1
- data/lib/puppet/feature/pson.rb +1 -0
- data/lib/puppet/feature/selinux.rb +1 -0
- data/lib/puppet/feature/ssh.rb +1 -0
- data/lib/puppet/feature/telnet.rb +1 -0
- data/lib/puppet/feature/zlib.rb +1 -0
- data/lib/puppet/ffi/posix/constants.rb +1 -0
- data/lib/puppet/ffi/posix/functions.rb +1 -1
- data/lib/puppet/ffi/posix.rb +1 -0
- data/lib/puppet/ffi/windows/api_types.rb +1 -0
- data/lib/puppet/ffi/windows/constants.rb +78 -77
- data/lib/puppet/ffi/windows/functions.rb +73 -73
- data/lib/puppet/ffi/windows/structs.rb +3 -3
- data/lib/puppet/ffi/windows.rb +1 -0
- data/lib/puppet/file_bucket/dipper.rb +7 -1
- data/lib/puppet/file_bucket/file.rb +1 -0
- data/lib/puppet/file_bucket.rb +1 -0
- data/lib/puppet/file_serving/base.rb +13 -6
- data/lib/puppet/file_serving/configuration/parser.rb +3 -1
- data/lib/puppet/file_serving/configuration.rb +5 -3
- data/lib/puppet/file_serving/content.rb +1 -0
- data/lib/puppet/file_serving/fileset.rb +9 -6
- data/lib/puppet/file_serving/http_metadata.rb +1 -3
- data/lib/puppet/file_serving/metadata.rb +9 -10
- data/lib/puppet/file_serving/mount/file.rb +6 -3
- data/lib/puppet/file_serving/mount/locales.rb +2 -1
- data/lib/puppet/file_serving/mount/modules.rb +2 -0
- data/lib/puppet/file_serving/mount/pluginfacts.rb +2 -1
- data/lib/puppet/file_serving/mount/plugins.rb +2 -1
- data/lib/puppet/file_serving/mount/scripts.rb +2 -0
- data/lib/puppet/file_serving/mount/tasks.rb +2 -0
- data/lib/puppet/file_serving/mount.rb +2 -0
- data/lib/puppet/file_serving/terminus_helper.rb +1 -0
- data/lib/puppet/file_serving/terminus_selector.rb +1 -0
- data/lib/puppet/file_serving.rb +1 -0
- data/lib/puppet/file_system/file_impl.rb +2 -2
- data/lib/puppet/file_system/jruby.rb +1 -0
- data/lib/puppet/file_system/memory_file.rb +2 -0
- data/lib/puppet/file_system/memory_impl.rb +3 -0
- data/lib/puppet/file_system/path_pattern.rb +1 -0
- data/lib/puppet/file_system/posix.rb +5 -1
- data/lib/puppet/file_system/uniquefile.rb +11 -11
- data/lib/puppet/file_system/windows.rb +4 -2
- data/lib/puppet/file_system.rb +3 -2
- data/lib/puppet/forge/cache.rb +1 -1
- data/lib/puppet/forge/errors.rb +1 -3
- data/lib/puppet/forge/repository.rb +2 -0
- data/lib/puppet/forge.rb +3 -0
- data/lib/puppet/functions/abs.rb +2 -1
- data/lib/puppet/functions/alert.rb +1 -0
- data/lib/puppet/functions/all.rb +1 -0
- data/lib/puppet/functions/annotate.rb +1 -0
- data/lib/puppet/functions/any.rb +1 -0
- data/lib/puppet/functions/assert_type.rb +1 -0
- data/lib/puppet/functions/binary_file.rb +3 -1
- data/lib/puppet/functions/break.rb +2 -1
- data/lib/puppet/functions/call.rb +1 -1
- data/lib/puppet/functions/camelcase.rb +1 -1
- data/lib/puppet/functions/capitalize.rb +1 -1
- data/lib/puppet/functions/ceiling.rb +2 -2
- data/lib/puppet/functions/chomp.rb +1 -1
- data/lib/puppet/functions/chop.rb +1 -1
- data/lib/puppet/functions/compare.rb +1 -0
- data/lib/puppet/functions/contain.rb +1 -0
- data/lib/puppet/functions/convert_to.rb +1 -0
- data/lib/puppet/functions/crit.rb +1 -0
- data/lib/puppet/functions/debug.rb +1 -0
- data/lib/puppet/functions/defined.rb +7 -4
- data/lib/puppet/functions/dig.rb +10 -8
- data/lib/puppet/functions/downcase.rb +1 -0
- data/lib/puppet/functions/each.rb +1 -0
- data/lib/puppet/functions/emerg.rb +1 -0
- data/lib/puppet/functions/empty.rb +1 -0
- data/lib/puppet/functions/epp.rb +1 -1
- data/lib/puppet/functions/err.rb +1 -0
- data/lib/puppet/functions/eyaml_lookup_key.rb +6 -4
- data/lib/puppet/functions/filter.rb +1 -0
- data/lib/puppet/functions/find_file.rb +1 -0
- data/lib/puppet/functions/find_template.rb +1 -0
- data/lib/puppet/functions/flatten.rb +1 -0
- data/lib/puppet/functions/floor.rb +2 -2
- data/lib/puppet/functions/get.rb +2 -1
- data/lib/puppet/functions/getvar.rb +2 -1
- data/lib/puppet/functions/hiera.rb +1 -0
- data/lib/puppet/functions/hiera_array.rb +1 -0
- data/lib/puppet/functions/hiera_hash.rb +1 -0
- data/lib/puppet/functions/hiera_include.rb +2 -0
- data/lib/puppet/functions/hocon_data.rb +1 -0
- data/lib/puppet/functions/import.rb +1 -0
- data/lib/puppet/functions/include.rb +1 -0
- data/lib/puppet/functions/index.rb +2 -2
- data/lib/puppet/functions/info.rb +1 -0
- data/lib/puppet/functions/inline_epp.rb +1 -1
- data/lib/puppet/functions/join.rb +2 -1
- data/lib/puppet/functions/json_data.rb +1 -0
- data/lib/puppet/functions/keys.rb +1 -0
- data/lib/puppet/functions/length.rb +1 -1
- data/lib/puppet/functions/lest.rb +1 -0
- data/lib/puppet/functions/lookup.rb +8 -9
- data/lib/puppet/functions/lstrip.rb +1 -1
- data/lib/puppet/functions/map.rb +1 -0
- data/lib/puppet/functions/match.rb +3 -1
- data/lib/puppet/functions/max.rb +4 -4
- data/lib/puppet/functions/min.rb +4 -4
- data/lib/puppet/functions/module_directory.rb +1 -0
- data/lib/puppet/functions/new.rb +2 -1
- data/lib/puppet/functions/next.rb +1 -0
- data/lib/puppet/functions/notice.rb +1 -0
- data/lib/puppet/functions/reduce.rb +1 -1
- data/lib/puppet/functions/regsubst.rb +1 -0
- data/lib/puppet/functions/require.rb +2 -0
- data/lib/puppet/functions/return.rb +1 -0
- data/lib/puppet/functions/reverse_each.rb +1 -0
- data/lib/puppet/functions/round.rb +1 -0
- data/lib/puppet/functions/rstrip.rb +1 -1
- data/lib/puppet/functions/scanf.rb +1 -0
- data/lib/puppet/functions/size.rb +1 -2
- data/lib/puppet/functions/slice.rb +2 -0
- data/lib/puppet/functions/sort.rb +1 -0
- data/lib/puppet/functions/split.rb +1 -0
- data/lib/puppet/functions/step.rb +1 -0
- data/lib/puppet/functions/strftime.rb +3 -2
- data/lib/puppet/functions/strip.rb +1 -1
- data/lib/puppet/functions/then.rb +2 -0
- data/lib/puppet/functions/tree_each.rb +1 -1
- data/lib/puppet/functions/type.rb +1 -0
- data/lib/puppet/functions/unique.rb +2 -1
- data/lib/puppet/functions/unwrap.rb +1 -0
- data/lib/puppet/functions/upcase.rb +1 -0
- data/lib/puppet/functions/values.rb +1 -0
- data/lib/puppet/functions/versioncmp.rb +2 -2
- data/lib/puppet/functions/warning.rb +1 -0
- data/lib/puppet/functions/with.rb +1 -0
- data/lib/puppet/functions/yaml_data.rb +1 -0
- data/lib/puppet/functions.rb +9 -9
- data/lib/puppet/generate/models/type/property.rb +2 -0
- data/lib/puppet/generate/models/type/type.rb +2 -0
- data/lib/puppet/generate/type.rb +6 -1
- data/lib/puppet/gettext/config.rb +6 -0
- data/lib/puppet/gettext/module_translations.rb +1 -1
- data/lib/puppet/gettext/stubs.rb +1 -0
- data/lib/puppet/graph/key.rb +1 -0
- data/lib/puppet/graph/prioritizer.rb +1 -0
- data/lib/puppet/graph/rb_tree_map.rb +12 -2
- data/lib/puppet/graph/relationship_graph.rb +3 -2
- data/lib/puppet/graph/sequential_prioritizer.rb +1 -0
- data/lib/puppet/graph/simple_graph.rb +38 -31
- data/lib/puppet/graph.rb +1 -0
- data/lib/puppet/http/client.rb +4 -1
- data/lib/puppet/http/dns.rb +5 -5
- data/lib/puppet/http/errors.rb +1 -0
- data/lib/puppet/http/external_client.rb +2 -2
- data/lib/puppet/http/factory.rb +1 -0
- data/lib/puppet/http/pool.rb +2 -1
- data/lib/puppet/http/pool_entry.rb +1 -0
- data/lib/puppet/http/proxy.rb +3 -2
- data/lib/puppet/http/redirector.rb +1 -0
- data/lib/puppet/http/resolver/server_list.rb +1 -1
- data/lib/puppet/http/resolver/settings.rb +1 -1
- data/lib/puppet/http/resolver/srv.rb +1 -1
- data/lib/puppet/http/resolver.rb +1 -0
- data/lib/puppet/http/response.rb +1 -0
- data/lib/puppet/http/response_converter.rb +1 -0
- data/lib/puppet/http/response_net_http.rb +1 -1
- data/lib/puppet/http/retry_after_handler.rb +1 -1
- data/lib/puppet/http/service/ca.rb +1 -0
- data/lib/puppet/http/service/compiler.rb +9 -3
- data/lib/puppet/http/service/file_server.rb +2 -1
- data/lib/puppet/http/service/puppetserver.rb +1 -1
- data/lib/puppet/http/service/report.rb +1 -1
- data/lib/puppet/http/service.rb +1 -0
- data/lib/puppet/http/session.rb +2 -1
- data/lib/puppet/http/site.rb +1 -0
- data/lib/puppet/http.rb +1 -0
- data/lib/puppet/indirector/catalog/compiler.rb +50 -40
- data/lib/puppet/indirector/catalog/json.rb +1 -0
- data/lib/puppet/indirector/catalog/msgpack.rb +1 -0
- data/lib/puppet/indirector/catalog/rest.rb +9 -0
- data/lib/puppet/indirector/catalog/store_configs.rb +1 -2
- data/lib/puppet/indirector/catalog/yaml.rb +1 -0
- data/lib/puppet/indirector/code.rb +1 -0
- data/lib/puppet/indirector/data_binding/hiera.rb +1 -0
- data/lib/puppet/indirector/data_binding/none.rb +1 -0
- data/lib/puppet/indirector/direct_file_server.rb +3 -1
- data/lib/puppet/indirector/envelope.rb +1 -0
- data/lib/puppet/indirector/errors.rb +1 -0
- data/lib/puppet/indirector/exec.rb +1 -0
- data/lib/puppet/indirector/face.rb +7 -6
- data/lib/puppet/indirector/fact_search.rb +1 -0
- data/lib/puppet/indirector/facts/facter.rb +2 -0
- data/lib/puppet/indirector/facts/json.rb +1 -0
- data/lib/puppet/indirector/facts/memory.rb +1 -0
- data/lib/puppet/indirector/facts/network_device.rb +1 -0
- data/lib/puppet/indirector/facts/rest.rb +1 -0
- data/lib/puppet/indirector/facts/store_configs.rb +1 -1
- data/lib/puppet/indirector/facts/yaml.rb +1 -0
- data/lib/puppet/indirector/file_bucket_file/file.rb +10 -5
- data/lib/puppet/indirector/file_bucket_file/rest.rb +2 -0
- data/lib/puppet/indirector/file_bucket_file/selector.rb +1 -0
- data/lib/puppet/indirector/file_content/file.rb +1 -0
- data/lib/puppet/indirector/file_content/file_server.rb +1 -0
- data/lib/puppet/indirector/file_content/rest.rb +1 -0
- data/lib/puppet/indirector/file_content/selector.rb +1 -0
- data/lib/puppet/indirector/file_content.rb +1 -0
- data/lib/puppet/indirector/file_metadata/file.rb +1 -0
- data/lib/puppet/indirector/file_metadata/file_server.rb +1 -0
- data/lib/puppet/indirector/file_metadata/http.rb +1 -0
- data/lib/puppet/indirector/file_metadata/rest.rb +1 -0
- data/lib/puppet/indirector/file_metadata/selector.rb +1 -0
- data/lib/puppet/indirector/file_metadata.rb +1 -0
- data/lib/puppet/indirector/file_server.rb +2 -0
- data/lib/puppet/indirector/generic_http.rb +1 -0
- data/lib/puppet/indirector/hiera.rb +5 -4
- data/lib/puppet/indirector/indirection.rb +11 -1
- data/lib/puppet/indirector/json.rb +3 -1
- data/lib/puppet/indirector/memory.rb +2 -0
- data/lib/puppet/indirector/msgpack.rb +5 -2
- data/lib/puppet/indirector/node/exec.rb +3 -2
- data/lib/puppet/indirector/node/json.rb +1 -1
- data/lib/puppet/indirector/node/memory.rb +1 -0
- data/lib/puppet/indirector/node/msgpack.rb +1 -0
- data/lib/puppet/indirector/node/plain.rb +1 -0
- data/lib/puppet/indirector/node/rest.rb +1 -0
- data/lib/puppet/indirector/node/store_configs.rb +1 -2
- data/lib/puppet/indirector/node/yaml.rb +1 -0
- data/lib/puppet/indirector/none.rb +1 -0
- data/lib/puppet/indirector/plain.rb +1 -0
- data/lib/puppet/indirector/report/json.rb +1 -0
- data/lib/puppet/indirector/report/msgpack.rb +1 -0
- data/lib/puppet/indirector/report/processor.rb +2 -0
- data/lib/puppet/indirector/report/rest.rb +1 -0
- data/lib/puppet/indirector/report/yaml.rb +1 -0
- data/lib/puppet/indirector/request.rb +7 -5
- data/lib/puppet/indirector/resource/ral.rb +1 -0
- data/lib/puppet/indirector/resource/store_configs.rb +1 -0
- data/lib/puppet/indirector/resource/validator.rb +1 -0
- data/lib/puppet/indirector/rest.rb +1 -0
- data/lib/puppet/indirector/store_configs.rb +1 -0
- data/lib/puppet/indirector/terminus.rb +4 -1
- data/lib/puppet/indirector/yaml.rb +1 -0
- data/lib/puppet/indirector.rb +2 -0
- data/lib/puppet/info_service/class_information_service.rb +5 -3
- data/lib/puppet/info_service/plan_information_service.rb +1 -0
- data/lib/puppet/info_service/task_information_service.rb +1 -0
- data/lib/puppet/interface/action.rb +32 -27
- data/lib/puppet/interface/action_builder.rb +14 -14
- data/lib/puppet/interface/action_manager.rb +2 -0
- data/lib/puppet/interface/documentation.rb +21 -15
- data/lib/puppet/interface/face_collection.rb +5 -2
- data/lib/puppet/interface/option.rb +15 -4
- data/lib/puppet/interface/option_builder.rb +13 -9
- data/lib/puppet/interface/option_manager.rb +3 -2
- data/lib/puppet/interface.rb +3 -3
- data/lib/puppet/loaders.rb +1 -1
- data/lib/puppet/metatype/manager.rb +9 -8
- data/lib/puppet/module/plan.rb +10 -4
- data/lib/puppet/module/task.rb +8 -2
- data/lib/puppet/module.rb +13 -3
- data/lib/puppet/module_tool/applications/application.rb +6 -4
- data/lib/puppet/module_tool/applications/checksummer.rb +1 -2
- data/lib/puppet/module_tool/applications/installer.rb +32 -45
- data/lib/puppet/module_tool/applications/uninstaller.rb +22 -21
- data/lib/puppet/module_tool/applications/unpacker.rb +3 -0
- data/lib/puppet/module_tool/applications/upgrader.rb +28 -26
- data/lib/puppet/module_tool/applications.rb +1 -0
- data/lib/puppet/module_tool/checksums.rb +1 -1
- data/lib/puppet/module_tool/contents_description.rb +1 -2
- data/lib/puppet/module_tool/dependency.rb +1 -1
- data/lib/puppet/module_tool/errors/base.rb +1 -0
- data/lib/puppet/module_tool/errors/installer.rb +4 -4
- data/lib/puppet/module_tool/errors/shared.rb +12 -12
- data/lib/puppet/module_tool/errors/uninstaller.rb +2 -2
- data/lib/puppet/module_tool/errors/upgrader.rb +3 -3
- data/lib/puppet/module_tool/errors.rb +1 -0
- data/lib/puppet/module_tool/install_directory.rb +6 -4
- data/lib/puppet/module_tool/installed_modules.rb +2 -0
- data/lib/puppet/module_tool/local_tarball.rb +3 -0
- data/lib/puppet/module_tool/metadata.rb +21 -20
- data/lib/puppet/module_tool/shared_behaviors.rb +23 -21
- data/lib/puppet/module_tool/tar/gnu.rb +1 -0
- data/lib/puppet/module_tool/tar/mini.rb +1 -0
- data/lib/puppet/module_tool/tar.rb +2 -1
- data/lib/puppet/module_tool.rb +1 -1
- data/lib/puppet/network/authconfig.rb +1 -0
- data/lib/puppet/network/authorization.rb +1 -0
- data/lib/puppet/network/client_request.rb +1 -0
- data/lib/puppet/network/format.rb +5 -0
- data/lib/puppet/network/format_handler.rb +2 -1
- data/lib/puppet/network/format_support.rb +6 -5
- data/lib/puppet/network/formats.rb +15 -11
- data/lib/puppet/network/http/api/indirected_routes.rb +8 -8
- data/lib/puppet/network/http/api/indirection_type.rb +1 -1
- data/lib/puppet/network/http/api/master/v3/environments.rb +1 -0
- data/lib/puppet/network/http/api/master/v3.rb +1 -0
- data/lib/puppet/network/http/api/master.rb +1 -0
- data/lib/puppet/network/http/api/server/v3/environments.rb +20 -14
- data/lib/puppet/network/http/api/server/v3.rb +13 -13
- data/lib/puppet/network/http/api/server.rb +1 -0
- data/lib/puppet/network/http/api.rb +11 -10
- data/lib/puppet/network/http/connection.rb +1 -0
- data/lib/puppet/network/http/error.rb +2 -1
- data/lib/puppet/network/http/handler.rb +3 -2
- data/lib/puppet/network/http/issues.rb +1 -0
- data/lib/puppet/network/http/memory_response.rb +1 -0
- data/lib/puppet/network/http/request.rb +13 -6
- data/lib/puppet/network/http/response.rb +1 -0
- data/lib/puppet/network/http/route.rb +4 -2
- data/lib/puppet/network/http.rb +1 -0
- data/lib/puppet/network/http_pool.rb +2 -1
- data/lib/puppet/network/uri.rb +1 -0
- data/lib/puppet/network.rb +1 -0
- data/lib/puppet/node/environment.rb +12 -9
- data/lib/puppet/node/facts.rb +2 -1
- data/lib/puppet/node.rb +3 -2
- data/lib/puppet/pal/catalog_compiler.rb +1 -3
- data/lib/puppet/pal/compiler.rb +6 -2
- data/lib/puppet/pal/function_signature.rb +2 -1
- data/lib/puppet/pal/json_catalog_encoder.rb +5 -1
- data/lib/puppet/pal/pal_api.rb +1 -0
- data/lib/puppet/pal/pal_impl.rb +20 -19
- data/lib/puppet/pal/plan_signature.rb +2 -1
- data/lib/puppet/pal/script_compiler.rb +3 -2
- data/lib/puppet/pal/task_signature.rb +14 -9
- data/lib/puppet/parameter/boolean.rb +1 -0
- data/lib/puppet/parameter/package_options.rb +1 -0
- data/lib/puppet/parameter/path.rb +3 -0
- data/lib/puppet/parameter/value.rb +1 -0
- data/lib/puppet/parameter/value_collection.rb +5 -5
- data/lib/puppet/parameter.rb +4 -3
- data/lib/puppet/parser/abstract_compiler.rb +0 -2
- data/lib/puppet/parser/ast/block_expression.rb +1 -0
- data/lib/puppet/parser/ast/branch.rb +1 -0
- data/lib/puppet/parser/ast/hostclass.rb +1 -0
- data/lib/puppet/parser/ast/leaf.rb +2 -0
- data/lib/puppet/parser/ast/node.rb +1 -0
- data/lib/puppet/parser/ast/pops_bridge.rb +6 -6
- data/lib/puppet/parser/ast/resource.rb +2 -3
- data/lib/puppet/parser/ast/resource_instance.rb +2 -0
- data/lib/puppet/parser/ast/resourceparam.rb +6 -5
- data/lib/puppet/parser/ast/top_level_construct.rb +1 -0
- data/lib/puppet/parser/ast.rb +4 -3
- data/lib/puppet/parser/catalog_compiler.rb +1 -2
- data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +3 -0
- data/lib/puppet/parser/compiler/catalog_validator.rb +1 -0
- data/lib/puppet/parser/compiler.rb +10 -8
- data/lib/puppet/parser/e4_parser_adapter.rb +15 -15
- data/lib/puppet/parser/files.rb +1 -1
- data/lib/puppet/parser/functions/assert_type.rb +55 -54
- data/lib/puppet/parser/functions/binary_file.rb +19 -18
- data/lib/puppet/parser/functions/break.rb +35 -34
- data/lib/puppet/parser/functions/contain.rb +1 -0
- data/lib/puppet/parser/functions/create_resources.rb +8 -6
- data/lib/puppet/parser/functions/defined.rb +102 -101
- data/lib/puppet/parser/functions/dig.rb +33 -32
- data/lib/puppet/parser/functions/digest.rb +1 -0
- data/lib/puppet/parser/functions/each.rb +99 -98
- data/lib/puppet/parser/functions/epp.rb +2 -2
- data/lib/puppet/parser/functions/fail.rb +9 -8
- data/lib/puppet/parser/functions/file.rb +14 -13
- data/lib/puppet/parser/functions/filter.rb +74 -73
- data/lib/puppet/parser/functions/find_file.rb +22 -21
- data/lib/puppet/parser/functions/fqdn_rand.rb +23 -22
- data/lib/puppet/parser/functions/generate.rb +20 -20
- data/lib/puppet/parser/functions/hiera.rb +94 -93
- data/lib/puppet/parser/functions/hiera_array.rb +82 -81
- data/lib/puppet/parser/functions/hiera_hash.rb +92 -91
- data/lib/puppet/parser/functions/hiera_include.rb +92 -91
- data/lib/puppet/parser/functions/include.rb +2 -1
- data/lib/puppet/parser/functions/inline_epp.rb +2 -2
- data/lib/puppet/parser/functions/inline_template.rb +11 -11
- data/lib/puppet/parser/functions/lest.rb +44 -43
- data/lib/puppet/parser/functions/lookup.rb +131 -130
- data/lib/puppet/parser/functions/map.rb +71 -70
- data/lib/puppet/parser/functions/match.rb +39 -38
- data/lib/puppet/parser/functions/md5.rb +2 -1
- data/lib/puppet/parser/functions/new.rb +985 -984
- data/lib/puppet/parser/functions/next.rb +34 -33
- data/lib/puppet/parser/functions/realize.rb +9 -9
- data/lib/puppet/parser/functions/reduce.rb +132 -131
- data/lib/puppet/parser/functions/regsubst.rb +6 -5
- data/lib/puppet/parser/functions/require.rb +5 -4
- data/lib/puppet/parser/functions/return.rb +88 -87
- data/lib/puppet/parser/functions/reverse_each.rb +78 -77
- data/lib/puppet/parser/functions/scanf.rb +28 -27
- data/lib/puppet/parser/functions/sha1.rb +2 -1
- data/lib/puppet/parser/functions/sha256.rb +1 -0
- data/lib/puppet/parser/functions/shellquote.rb +1 -0
- data/lib/puppet/parser/functions/slice.rb +34 -33
- data/lib/puppet/parser/functions/split.rb +5 -6
- data/lib/puppet/parser/functions/sprintf.rb +3 -3
- data/lib/puppet/parser/functions/step.rb +79 -78
- data/lib/puppet/parser/functions/strftime.rb +180 -179
- data/lib/puppet/parser/functions/tag.rb +7 -6
- data/lib/puppet/parser/functions/tagged.rb +13 -12
- data/lib/puppet/parser/functions/template.rb +24 -23
- data/lib/puppet/parser/functions/then.rb +68 -67
- data/lib/puppet/parser/functions/type.rb +48 -47
- data/lib/puppet/parser/functions/versioncmp.rb +1 -1
- data/lib/puppet/parser/functions/with.rb +23 -22
- data/lib/puppet/parser/functions.rb +2 -0
- data/lib/puppet/parser/parser_factory.rb +1 -0
- data/lib/puppet/parser/relationship.rb +3 -0
- data/lib/puppet/parser/resource/param.rb +1 -0
- data/lib/puppet/parser/resource.rb +10 -4
- data/lib/puppet/parser/scope.rb +40 -32
- data/lib/puppet/parser/script_compiler.rb +5 -6
- data/lib/puppet/parser/templatewrapper.rb +1 -0
- data/lib/puppet/parser/type_loader.rb +19 -17
- data/lib/puppet/parser.rb +1 -0
- data/lib/puppet/plugins/configuration.rb +1 -0
- data/lib/puppet/plugins/syntax_checkers.rb +1 -1
- data/lib/puppet/plugins.rb +1 -0
- data/lib/puppet/pops/adaptable.rb +3 -1
- data/lib/puppet/pops/adapters.rb +3 -1
- data/lib/puppet/pops/evaluator/access_operator.rb +79 -65
- data/lib/puppet/pops/evaluator/callable_signature.rb +1 -1
- data/lib/puppet/pops/evaluator/closure.rb +273 -277
- data/lib/puppet/pops/evaluator/collector_transformer.rb +11 -9
- data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +1 -0
- data/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +2 -2
- data/lib/puppet/pops/evaluator/collectors/exported_collector.rb +4 -4
- data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +1 -1
- data/lib/puppet/pops/evaluator/compare_operator.rb +15 -3
- data/lib/puppet/pops/evaluator/deferred_resolver.rb +2 -2
- data/lib/puppet/pops/evaluator/epp_evaluator.rb +10 -10
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +140 -138
- data/lib/puppet/pops/evaluator/external_syntax_support.rb +1 -1
- data/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +2 -1
- data/lib/puppet/pops/evaluator/literal_evaluator.rb +1 -1
- data/lib/puppet/pops/evaluator/puppet_proc.rb +2 -0
- data/lib/puppet/pops/evaluator/relationship_operator.rb +5 -3
- data/lib/puppet/pops/evaluator/runtime3_converter.rb +21 -19
- data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +31 -33
- data/lib/puppet/pops/evaluator/runtime3_support.rb +16 -19
- data/lib/puppet/pops/functions/dispatch.rb +1 -0
- data/lib/puppet/pops/functions/dispatcher.rb +1 -1
- data/lib/puppet/pops/functions/function.rb +1 -2
- data/lib/puppet/pops/issue_reporter.rb +19 -17
- data/lib/puppet/pops/issues.rb +8 -4
- data/lib/puppet/pops/label_provider.rb +1 -0
- data/lib/puppet/pops/loader/base_loader.rb +2 -2
- data/lib/puppet/pops/loader/dependency_loader.rb +3 -0
- data/lib/puppet/pops/loader/gem_support.rb +3 -1
- data/lib/puppet/pops/loader/generic_plan_instantiator.rb +1 -0
- data/lib/puppet/pops/loader/loader.rb +1 -2
- data/lib/puppet/pops/loader/loader_paths.rb +20 -19
- data/lib/puppet/pops/loader/module_loaders.rb +28 -28
- data/lib/puppet/pops/loader/predefined_loader.rb +1 -2
- data/lib/puppet/pops/loader/puppet_function_instantiator.rb +4 -2
- data/lib/puppet/pops/loader/puppet_plan_instantiator.rb +4 -2
- data/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +1 -1
- data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +4 -1
- data/lib/puppet/pops/loader/ruby_function_instantiator.rb +4 -1
- data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +6 -2
- data/lib/puppet/pops/loader/runtime3_type_loader.rb +2 -2
- data/lib/puppet/pops/loader/simple_environment_loader.rb +1 -2
- data/lib/puppet/pops/loader/static_loader.rb +22 -21
- data/lib/puppet/pops/loader/task_instantiator.rb +1 -0
- data/lib/puppet/pops/loader/type_definition_instantiator.rb +6 -4
- data/lib/puppet/pops/loader/typed_name.rb +1 -0
- data/lib/puppet/pops/loader/uri_helper.rb +1 -0
- data/lib/puppet/pops/loaders.rb +21 -18
- data/lib/puppet/pops/lookup/configured_data_provider.rb +1 -0
- data/lib/puppet/pops/lookup/context.rb +24 -23
- data/lib/puppet/pops/lookup/data_adapter.rb +1 -0
- data/lib/puppet/pops/lookup/data_dig_function_provider.rb +2 -2
- data/lib/puppet/pops/lookup/data_hash_function_provider.rb +1 -0
- data/lib/puppet/pops/lookup/data_provider.rb +1 -0
- data/lib/puppet/pops/lookup/environment_data_provider.rb +1 -0
- data/lib/puppet/pops/lookup/explainer.rb +34 -33
- data/lib/puppet/pops/lookup/function_provider.rb +7 -6
- data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
- data/lib/puppet/pops/lookup/hiera_config.rb +136 -100
- data/lib/puppet/pops/lookup/interpolation.rb +5 -1
- data/lib/puppet/pops/lookup/invocation.rb +3 -0
- data/lib/puppet/pops/lookup/key_recorder.rb +3 -1
- data/lib/puppet/pops/lookup/location_resolver.rb +2 -1
- data/lib/puppet/pops/lookup/lookup_adapter.rb +22 -20
- data/lib/puppet/pops/lookup/lookup_key.rb +1 -0
- data/lib/puppet/pops/lookup/lookup_key_function_provider.rb +1 -0
- data/lib/puppet/pops/lookup/module_data_provider.rb +3 -1
- data/lib/puppet/pops/lookup/sub_lookup.rb +5 -2
- data/lib/puppet/pops/lookup.rb +13 -8
- data/lib/puppet/pops/merge_strategy.rb +5 -2
- data/lib/puppet/pops/migration/migration_checker.rb +3 -1
- data/lib/puppet/pops/model/ast.rb +786 -685
- data/lib/puppet/pops/model/ast_transformer.rb +4 -3
- data/lib/puppet/pops/model/factory.rb +17 -13
- data/lib/puppet/pops/model/model_label_provider.rb +1 -1
- data/lib/puppet/pops/model/model_tree_dumper.rb +10 -9
- data/lib/puppet/pops/model/pn_transformer.rb +4 -6
- data/lib/puppet/pops/model/tree_dumper.rb +2 -0
- data/lib/puppet/pops/parser/code_merger.rb +0 -1
- data/lib/puppet/pops/parser/epp_parser.rb +1 -1
- data/lib/puppet/pops/parser/epp_support.rb +2 -2
- data/lib/puppet/pops/parser/evaluating_parser.rb +5 -2
- data/lib/puppet/pops/parser/heredoc_support.rb +6 -7
- data/lib/puppet/pops/parser/interpolation_support.rb +2 -3
- data/lib/puppet/pops/parser/lexer2.rb +32 -29
- data/lib/puppet/pops/parser/lexer_support.rb +38 -41
- data/lib/puppet/pops/parser/locatable.rb +1 -2
- data/lib/puppet/pops/parser/locator.rb +31 -28
- data/lib/puppet/pops/parser/parser_support.rb +2 -0
- data/lib/puppet/pops/parser/pn_parser.rb +1 -1
- data/lib/puppet/pops/parser/slurp_support.rb +33 -32
- data/lib/puppet/pops/patterns.rb +2 -3
- data/lib/puppet/pops/pcore.rb +2 -2
- data/lib/puppet/pops/pn.rb +3 -0
- data/lib/puppet/pops/puppet_stack.rb +1 -0
- data/lib/puppet/pops/resource/param.rb +11 -10
- data/lib/puppet/pops/resource/resource_type_impl.rb +37 -36
- data/lib/puppet/pops/semantic_error.rb +1 -0
- data/lib/puppet/pops/serialization/abstract_reader.rb +3 -2
- data/lib/puppet/pops/serialization/abstract_writer.rb +5 -4
- data/lib/puppet/pops/serialization/deserializer.rb +2 -0
- data/lib/puppet/pops/serialization/extension.rb +7 -0
- data/lib/puppet/pops/serialization/from_data_converter.rb +3 -0
- data/lib/puppet/pops/serialization/instance_reader.rb +1 -0
- data/lib/puppet/pops/serialization/instance_writer.rb +1 -0
- data/lib/puppet/pops/serialization/json.rb +6 -3
- data/lib/puppet/pops/serialization/json_path.rb +1 -0
- data/lib/puppet/pops/serialization/object.rb +4 -1
- data/lib/puppet/pops/serialization/serializer.rb +6 -2
- data/lib/puppet/pops/serialization/time_factory.rb +1 -1
- data/lib/puppet/pops/serialization/to_data_converter.rb +4 -2
- data/lib/puppet/pops/serialization/to_stringified_converter.rb +2 -2
- data/lib/puppet/pops/serialization.rb +1 -0
- data/lib/puppet/pops/time/timespan.rb +12 -2
- data/lib/puppet/pops/time/timestamp.rb +4 -0
- data/lib/puppet/pops/types/annotatable.rb +1 -1
- data/lib/puppet/pops/types/annotation.rb +1 -0
- data/lib/puppet/pops/types/class_loader.rb +8 -6
- data/lib/puppet/pops/types/implementation_registry.rb +1 -0
- data/lib/puppet/pops/types/iterable.rb +18 -9
- data/lib/puppet/pops/types/p_binary_type.rb +2 -3
- data/lib/puppet/pops/types/p_init_type.rb +12 -9
- data/lib/puppet/pops/types/p_meta_type.rb +1 -1
- data/lib/puppet/pops/types/p_object_type.rb +65 -42
- data/lib/puppet/pops/types/p_object_type_extension.rb +10 -7
- data/lib/puppet/pops/types/p_runtime_type.rb +11 -9
- data/lib/puppet/pops/types/p_sem_ver_range_type.rb +1 -1
- data/lib/puppet/pops/types/p_sem_ver_type.rb +5 -5
- data/lib/puppet/pops/types/p_sensitive_type.rb +1 -4
- data/lib/puppet/pops/types/p_timespan_type.rb +4 -2
- data/lib/puppet/pops/types/p_timestamp_type.rb +3 -2
- data/lib/puppet/pops/types/p_type_set_type.rb +36 -28
- data/lib/puppet/pops/types/p_uri_type.rb +25 -18
- data/lib/puppet/pops/types/puppet_object.rb +1 -1
- data/lib/puppet/pops/types/recursion_guard.rb +7 -2
- data/lib/puppet/pops/types/ruby_generator.rb +7 -4
- data/lib/puppet/pops/types/ruby_method.rb +6 -5
- data/lib/puppet/pops/types/string_converter.rb +65 -57
- data/lib/puppet/pops/types/tree_iterators.rb +6 -7
- data/lib/puppet/pops/types/type_acceptor.rb +1 -0
- data/lib/puppet/pops/types/type_asserter.rb +1 -0
- data/lib/puppet/pops/types/type_assertion_error.rb +0 -1
- data/lib/puppet/pops/types/type_calculator.rb +10 -4
- data/lib/puppet/pops/types/type_conversion_error.rb +1 -10
- data/lib/puppet/pops/types/type_factory.rb +7 -4
- data/lib/puppet/pops/types/type_formatter.rb +12 -11
- data/lib/puppet/pops/types/type_mismatch_describer.rb +13 -8
- data/lib/puppet/pops/types/type_parser.rb +111 -107
- data/lib/puppet/pops/types/type_set_reference.rb +2 -0
- data/lib/puppet/pops/types/type_with_members.rb +1 -1
- data/lib/puppet/pops/types/types.rb +177 -152
- data/lib/puppet/pops/utils.rb +1 -0
- data/lib/puppet/pops/validation/checker4_0.rb +17 -11
- data/lib/puppet/pops/validation/tasks_checker.rb +2 -1
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -2
- data/lib/puppet/pops/validation.rb +8 -6
- data/lib/puppet/pops/visitable.rb +1 -0
- data/lib/puppet/pops/visitor.rb +14 -1
- data/lib/puppet/pops.rb +2 -0
- data/lib/puppet/property/boolean.rb +1 -0
- data/lib/puppet/property/ensure.rb +4 -1
- data/lib/puppet/property/keyvalue.rb +5 -4
- data/lib/puppet/property/list.rb +5 -5
- data/lib/puppet/property/ordered_list.rb +4 -4
- data/lib/puppet/property.rb +13 -11
- data/lib/puppet/provider/aix_object.rb +5 -0
- data/lib/puppet/provider/command.rb +1 -0
- data/lib/puppet/provider/confine.rb +1 -0
- data/lib/puppet/provider/exec/posix.rb +2 -0
- data/lib/puppet/provider/exec/shell.rb +1 -0
- data/lib/puppet/provider/exec/windows.rb +2 -1
- data/lib/puppet/provider/exec.rb +1 -0
- data/lib/puppet/provider/file/posix.rb +1 -0
- data/lib/puppet/provider/file/windows.rb +10 -6
- data/lib/puppet/provider/group/aix.rb +1 -0
- data/lib/puppet/provider/group/directoryservice.rb +1 -1
- data/lib/puppet/provider/group/groupadd.rb +9 -4
- data/lib/puppet/provider/group/ldap.rb +2 -0
- data/lib/puppet/provider/group/pw.rb +1 -0
- data/lib/puppet/provider/group/windows_adsi.rb +2 -0
- data/lib/puppet/provider/ldap.rb +2 -0
- data/lib/puppet/provider/nameservice/directoryservice.rb +28 -19
- data/lib/puppet/provider/nameservice/objectadd.rb +1 -0
- data/lib/puppet/provider/nameservice/pw.rb +6 -5
- data/lib/puppet/provider/nameservice.rb +8 -4
- data/lib/puppet/provider/network_device.rb +1 -2
- data/lib/puppet/provider/package/aix.rb +5 -4
- data/lib/puppet/provider/package/appdmg.rb +20 -19
- data/lib/puppet/provider/package/apple.rb +3 -2
- data/lib/puppet/provider/package/apt.rb +4 -4
- data/lib/puppet/provider/package/aptitude.rb +1 -0
- data/lib/puppet/provider/package/aptrpm.rb +2 -1
- data/lib/puppet/provider/package/blastwave.rb +6 -6
- data/lib/puppet/provider/package/dnf.rb +2 -0
- data/lib/puppet/provider/package/dnfmodule.rb +8 -7
- data/lib/puppet/provider/package/dpkg.rb +4 -4
- data/lib/puppet/provider/package/fink.rb +2 -1
- data/lib/puppet/provider/package/freebsd.rb +3 -2
- data/lib/puppet/provider/package/gem.rb +9 -5
- data/lib/puppet/provider/package/hpux.rb +4 -3
- data/lib/puppet/provider/package/macports.rb +2 -1
- data/lib/puppet/provider/package/nim.rb +13 -15
- data/lib/puppet/provider/package/openbsd.rb +6 -4
- data/lib/puppet/provider/package/opkg.rb +2 -0
- data/lib/puppet/provider/package/pacman.rb +12 -12
- data/lib/puppet/provider/package/pip.rb +3 -1
- data/lib/puppet/provider/package/pip2.rb +2 -2
- data/lib/puppet/provider/package/pip3.rb +2 -2
- data/lib/puppet/provider/package/pkg.rb +17 -13
- data/lib/puppet/provider/package/pkgdmg.rb +7 -2
- data/lib/puppet/provider/package/pkgin.rb +5 -5
- data/lib/puppet/provider/package/pkgng.rb +11 -7
- data/lib/puppet/provider/package/pkgutil.rb +7 -6
- data/lib/puppet/provider/package/portage.rb +11 -6
- data/lib/puppet/provider/package/ports.rb +6 -5
- data/lib/puppet/provider/package/portupgrade.rb +6 -12
- data/lib/puppet/provider/package/puppet_gem.rb +1 -0
- data/lib/puppet/provider/package/puppetserver_gem.rb +1 -0
- data/lib/puppet/provider/package/rpm.rb +10 -6
- data/lib/puppet/provider/package/rug.rb +2 -1
- data/lib/puppet/provider/package/sun.rb +20 -17
- data/lib/puppet/provider/package/sunfreeware.rb +1 -0
- data/lib/puppet/provider/package/tdnf.rb +1 -0
- data/lib/puppet/provider/package/up2date.rb +2 -1
- data/lib/puppet/provider/package/urpmi.rb +1 -0
- data/lib/puppet/provider/package/windows/exe_package.rb +1 -0
- data/lib/puppet/provider/package/windows/msi_package.rb +1 -0
- data/lib/puppet/provider/package/windows/package.rb +5 -3
- data/lib/puppet/provider/package/windows.rb +4 -2
- data/lib/puppet/provider/package/yum.rb +16 -13
- data/lib/puppet/provider/package/zypper.rb +15 -14
- data/lib/puppet/provider/package.rb +7 -6
- data/lib/puppet/provider/package_targetable.rb +1 -0
- data/lib/puppet/provider/parsedfile.rb +7 -2
- data/lib/puppet/provider/service/base.rb +2 -1
- data/lib/puppet/provider/service/bsd.rb +1 -0
- data/lib/puppet/provider/service/daemontools.rb +9 -7
- data/lib/puppet/provider/service/debian.rb +4 -3
- data/lib/puppet/provider/service/freebsd.rb +5 -6
- data/lib/puppet/provider/service/gentoo.rb +5 -4
- data/lib/puppet/provider/service/init.rb +10 -11
- data/lib/puppet/provider/service/launchd.rb +10 -4
- data/lib/puppet/provider/service/openbsd.rb +4 -4
- data/lib/puppet/provider/service/openrc.rb +1 -1
- data/lib/puppet/provider/service/openwrt.rb +1 -1
- data/lib/puppet/provider/service/rcng.rb +1 -0
- data/lib/puppet/provider/service/redhat.rb +3 -2
- data/lib/puppet/provider/service/runit.rb +8 -7
- data/lib/puppet/provider/service/service.rb +1 -0
- data/lib/puppet/provider/service/smf.rb +5 -2
- data/lib/puppet/provider/service/src.rb +16 -16
- data/lib/puppet/provider/service/systemd.rb +8 -4
- data/lib/puppet/provider/service/upstart.rb +8 -7
- data/lib/puppet/provider/service/windows.rb +22 -26
- data/lib/puppet/provider/user/aix.rb +3 -2
- data/lib/puppet/provider/user/directoryservice.rb +52 -44
- data/lib/puppet/provider/user/hpux.rb +15 -14
- data/lib/puppet/provider/user/ldap.rb +8 -6
- data/lib/puppet/provider/user/openbsd.rb +21 -20
- data/lib/puppet/provider/user/pw.rb +3 -2
- data/lib/puppet/provider/user/user_role_add.rb +19 -14
- data/lib/puppet/provider/user/useradd.rb +51 -41
- data/lib/puppet/provider/user/windows_adsi.rb +4 -1
- data/lib/puppet/provider.rb +9 -9
- data/lib/puppet/reference/configuration.rb +43 -42
- data/lib/puppet/reference/function.rb +1 -0
- data/lib/puppet/reference/indirection.rb +42 -41
- data/lib/puppet/reference/metaparameter.rb +1 -0
- data/lib/puppet/reference/providers.rb +2 -0
- data/lib/puppet/reference/report.rb +1 -0
- data/lib/puppet/reference/type.rb +4 -3
- data/lib/puppet/relationship.rb +3 -2
- data/lib/puppet/reports/http.rb +1 -1
- data/lib/puppet/reports/log.rb +1 -0
- data/lib/puppet/reports/store.rb +3 -1
- data/lib/puppet/reports.rb +4 -3
- data/lib/puppet/resource/catalog.rb +14 -10
- data/lib/puppet/resource/status.rb +1 -1
- data/lib/puppet/resource/type.rb +28 -18
- data/lib/puppet/resource/type_collection.rb +4 -0
- data/lib/puppet/resource.rb +24 -16
- data/lib/puppet/runtime.rb +1 -0
- data/lib/puppet/scheduler/job.rb +1 -0
- data/lib/puppet/scheduler/scheduler.rb +1 -0
- data/lib/puppet/scheduler/splay_job.rb +1 -0
- data/lib/puppet/scheduler/timer.rb +1 -0
- data/lib/puppet/scheduler.rb +1 -0
- data/lib/puppet/settings/alias_setting.rb +1 -0
- data/lib/puppet/settings/array_setting.rb +1 -1
- data/lib/puppet/settings/autosign_setting.rb +1 -1
- data/lib/puppet/settings/base_setting.rb +9 -5
- data/lib/puppet/settings/boolean_setting.rb +1 -0
- data/lib/puppet/settings/certificate_revocation_setting.rb +1 -1
- data/lib/puppet/settings/config_file.rb +3 -3
- data/lib/puppet/settings/directory_setting.rb +1 -0
- data/lib/puppet/settings/duration_setting.rb +1 -0
- data/lib/puppet/settings/enum_setting.rb +2 -1
- data/lib/puppet/settings/environment_conf.rb +9 -8
- data/lib/puppet/settings/errors.rb +2 -0
- data/lib/puppet/settings/file_or_directory_setting.rb +1 -5
- data/lib/puppet/settings/file_setting.rb +3 -13
- data/lib/puppet/settings/http_extra_headers_setting.rb +1 -1
- data/lib/puppet/settings/ini_file.rb +1 -0
- data/lib/puppet/settings/integer_setting.rb +1 -0
- data/lib/puppet/settings/path_setting.rb +1 -0
- data/lib/puppet/settings/port_setting.rb +2 -1
- data/lib/puppet/settings/priority_setting.rb +9 -8
- data/lib/puppet/settings/server_list_setting.rb +2 -2
- data/lib/puppet/settings/string_setting.rb +1 -0
- data/lib/puppet/settings/symbolic_enum_setting.rb +2 -1
- data/lib/puppet/settings/terminus_setting.rb +1 -0
- data/lib/puppet/settings/ttl_setting.rb +2 -0
- data/lib/puppet/settings/value_translator.rb +8 -7
- data/lib/puppet/settings.rb +89 -66
- data/lib/puppet/ssl/base.rb +4 -0
- data/lib/puppet/ssl/certificate.rb +3 -2
- data/lib/puppet/ssl/certificate_request.rb +9 -7
- data/lib/puppet/ssl/certificate_request_attributes.rb +3 -1
- data/lib/puppet/ssl/certificate_signer.rb +2 -3
- data/lib/puppet/ssl/digest.rb +1 -0
- data/lib/puppet/ssl/error.rb +2 -0
- data/lib/puppet/ssl/oids.rb +3 -3
- data/lib/puppet/ssl/openssl_loader.rb +1 -0
- data/lib/puppet/ssl/ssl_context.rb +11 -15
- data/lib/puppet/ssl/ssl_provider.rb +2 -1
- data/lib/puppet/ssl/state_machine.rb +1 -0
- data/lib/puppet/ssl/verifier.rb +2 -2
- data/lib/puppet/ssl.rb +1 -0
- data/lib/puppet/syntax_checkers/base64.rb +2 -1
- data/lib/puppet/syntax_checkers/epp.rb +1 -1
- data/lib/puppet/syntax_checkers/json.rb +1 -2
- data/lib/puppet/syntax_checkers/pp.rb +1 -1
- data/lib/puppet/syntax_checkers.rb +1 -0
- data/lib/puppet/test/test_helper.rb +16 -14
- data/lib/puppet/thread_local.rb +1 -0
- data/lib/puppet/transaction/additional_resource_generator.rb +5 -1
- data/lib/puppet/transaction/event.rb +5 -3
- data/lib/puppet/transaction/event_manager.rb +4 -3
- data/lib/puppet/transaction/persistence.rb +2 -1
- data/lib/puppet/transaction/report.rb +23 -15
- data/lib/puppet/transaction/resource_harness.rb +6 -3
- data/lib/puppet/transaction.rb +11 -6
- data/lib/puppet/trusted_external.rb +8 -4
- data/lib/puppet/type/component.rb +11 -5
- data/lib/puppet/type/exec.rb +26 -10
- data/lib/puppet/type/file/checksum.rb +1 -0
- data/lib/puppet/type/file/checksum_value.rb +3 -2
- data/lib/puppet/type/file/content.rb +16 -13
- data/lib/puppet/type/file/ctime.rb +2 -1
- data/lib/puppet/type/file/data_sync.rb +4 -2
- data/lib/puppet/type/file/ensure.rb +5 -5
- data/lib/puppet/type/file/group.rb +2 -1
- data/lib/puppet/type/file/mode.rb +4 -2
- data/lib/puppet/type/file/mtime.rb +2 -1
- data/lib/puppet/type/file/owner.rb +2 -1
- data/lib/puppet/type/file/selcontext.rb +2 -2
- data/lib/puppet/type/file/source.rb +12 -10
- data/lib/puppet/type/file/target.rb +2 -2
- data/lib/puppet/type/file/type.rb +2 -1
- data/lib/puppet/type/file.rb +22 -13
- data/lib/puppet/type/filebucket.rb +1 -0
- data/lib/puppet/type/group.rb +8 -8
- data/lib/puppet/type/notify.rb +1 -1
- data/lib/puppet/type/package.rb +21 -21
- data/lib/puppet/type/resources.rb +30 -25
- data/lib/puppet/type/schedule.rb +9 -10
- data/lib/puppet/type/service.rb +9 -7
- data/lib/puppet/type/stage.rb +1 -0
- data/lib/puppet/type/tidy.rb +9 -4
- data/lib/puppet/type/user.rb +28 -24
- data/lib/puppet/type/whit.rb +1 -1
- data/lib/puppet/type.rb +71 -61
- data/lib/puppet/util/at_fork/noop.rb +1 -0
- data/lib/puppet/util/at_fork/solaris.rb +2 -1
- data/lib/puppet/util/at_fork.rb +2 -1
- data/lib/puppet/util/autoload.rb +5 -0
- data/lib/puppet/util/backups.rb +3 -2
- data/lib/puppet/util/character_encoding.rb +1 -0
- data/lib/puppet/util/checksums.rb +11 -9
- data/lib/puppet/util/classgen.rb +8 -13
- data/lib/puppet/util/colors.rb +32 -31
- data/lib/puppet/util/command_line/puppet_option_parser.rb +12 -12
- data/lib/puppet/util/command_line/trollop.rb +693 -690
- data/lib/puppet/util/command_line.rb +1 -0
- data/lib/puppet/util/constant_inflector.rb +3 -3
- data/lib/puppet/util/diff.rb +13 -13
- data/lib/puppet/util/docs.rb +3 -0
- data/lib/puppet/util/errors.rb +1 -0
- data/lib/puppet/util/execution.rb +16 -18
- data/lib/puppet/util/execution_stub.rb +1 -0
- data/lib/puppet/util/feature.rb +1 -0
- data/lib/puppet/util/file_watcher.rb +2 -0
- data/lib/puppet/util/fileparsing.rb +2 -0
- data/lib/puppet/util/filetype.rb +3 -0
- data/lib/puppet/util/http_proxy.rb +1 -0
- data/lib/puppet/util/inifile.rb +3 -3
- data/lib/puppet/util/instance_loader.rb +2 -0
- data/lib/puppet/util/json.rb +1 -0
- data/lib/puppet/util/json_lockfile.rb +3 -1
- data/lib/puppet/util/ldap/connection.rb +19 -18
- data/lib/puppet/util/ldap/generator.rb +1 -0
- data/lib/puppet/util/ldap/manager.rb +3 -2
- data/lib/puppet/util/ldap.rb +1 -0
- data/lib/puppet/util/libuser.rb +1 -1
- data/lib/puppet/util/limits.rb +1 -0
- data/lib/puppet/util/lockfile.rb +1 -0
- data/lib/puppet/util/log/destination.rb +1 -0
- data/lib/puppet/util/log/destinations.rb +14 -13
- data/lib/puppet/util/log.rb +21 -17
- data/lib/puppet/util/logging.rb +18 -14
- data/lib/puppet/util/metaid.rb +1 -0
- data/lib/puppet/util/metric.rb +2 -0
- data/lib/puppet/util/monkey_patches.rb +1 -0
- data/lib/puppet/util/multi_match.rb +4 -1
- data/lib/puppet/util/network_device/base.rb +1 -1
- data/lib/puppet/util/network_device/config.rb +3 -4
- data/lib/puppet/util/network_device/transport/base.rb +0 -1
- data/lib/puppet/util/network_device/transport.rb +1 -0
- data/lib/puppet/util/network_device.rb +1 -0
- data/lib/puppet/util/package/version/debian.rb +5 -3
- data/lib/puppet/util/package/version/gem.rb +2 -0
- data/lib/puppet/util/package/version/pip.rb +7 -2
- data/lib/puppet/util/package/version/range/eq.rb +2 -0
- data/lib/puppet/util/package/version/range/gt.rb +2 -0
- data/lib/puppet/util/package/version/range/gt_eq.rb +2 -0
- data/lib/puppet/util/package/version/range/lt.rb +2 -0
- data/lib/puppet/util/package/version/range/lt_eq.rb +2 -0
- data/lib/puppet/util/package/version/range/min_max.rb +4 -0
- data/lib/puppet/util/package/version/range/simple.rb +1 -0
- data/lib/puppet/util/package/version/range.rb +3 -0
- data/lib/puppet/util/package/version/rpm.rb +6 -4
- data/lib/puppet/util/package.rb +3 -0
- data/lib/puppet/util/pidlock.rb +7 -7
- data/lib/puppet/util/platform.rb +1 -0
- data/lib/puppet/util/plist.rb +1 -1
- data/lib/puppet/util/posix.rb +8 -5
- data/lib/puppet/util/profiler/aggregate.rb +2 -5
- data/lib/puppet/util/profiler/around_profiler.rb +1 -1
- data/lib/puppet/util/profiler/logging.rb +1 -0
- data/lib/puppet/util/profiler/object_counts.rb +1 -0
- data/lib/puppet/util/profiler/wall_clock.rb +1 -0
- data/lib/puppet/util/profiler.rb +1 -0
- data/lib/puppet/util/provider_features.rb +4 -0
- data/lib/puppet/util/psych_support.rb +1 -0
- data/lib/puppet/util/rdoc/code_objects.rb +3 -7
- data/lib/puppet/util/rdoc/generators/puppet_generator.rb +37 -50
- data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +50 -68
- data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +5 -5
- data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -0
- data/lib/puppet/util/rdoc/parser.rb +1 -0
- data/lib/puppet/util/rdoc.rb +1 -1
- data/lib/puppet/util/reference.rb +1 -1
- data/lib/puppet/util/resource_template.rb +2 -0
- data/lib/puppet/util/retry_action.rb +3 -3
- data/lib/puppet/util/rpm_compare.rb +6 -3
- data/lib/puppet/util/rubygems.rb +1 -1
- data/lib/puppet/util/run_mode.rb +2 -1
- data/lib/puppet/util/selinux.rb +22 -11
- data/lib/puppet/util/skip_tags.rb +1 -0
- data/lib/puppet/util/splayer.rb +1 -0
- data/lib/puppet/util/storage.rb +2 -1
- data/lib/puppet/util/suidmanager.rb +8 -5
- data/lib/puppet/util/symbolic_file_mode.rb +3 -1
- data/lib/puppet/util/tag_set.rb +1 -0
- data/lib/puppet/util/tagging.rb +2 -1
- data/lib/puppet/util/terminal.rb +1 -0
- data/lib/puppet/util/user_attr.rb +1 -0
- data/lib/puppet/util/warnings.rb +3 -0
- data/lib/puppet/util/watched_file.rb +1 -0
- data/lib/puppet/util/watcher/change_watcher.rb +1 -0
- data/lib/puppet/util/watcher/periodic_watcher.rb +1 -0
- data/lib/puppet/util/watcher/timer.rb +1 -0
- data/lib/puppet/util/watcher.rb +1 -0
- data/lib/puppet/util/windows/access_control_entry.rb +1 -0
- data/lib/puppet/util/windows/access_control_list.rb +3 -2
- data/lib/puppet/util/windows/adsi.rb +32 -25
- data/lib/puppet/util/windows/com.rb +5 -3
- data/lib/puppet/util/windows/daemon.rb +33 -33
- data/lib/puppet/util/windows/error.rb +3 -2
- data/lib/puppet/util/windows/eventlog.rb +8 -5
- data/lib/puppet/util/windows/file.rb +30 -24
- data/lib/puppet/util/windows/monkey_patches/process.rb +0 -1
- data/lib/puppet/util/windows/principal.rb +27 -27
- data/lib/puppet/util/windows/process.rb +7 -6
- data/lib/puppet/util/windows/registry.rb +43 -41
- data/lib/puppet/util/windows/root_certs.rb +1 -0
- data/lib/puppet/util/windows/security.rb +43 -44
- data/lib/puppet/util/windows/security_descriptor.rb +1 -0
- data/lib/puppet/util/windows/service.rb +12 -1
- data/lib/puppet/util/windows/sid.rb +6 -6
- data/lib/puppet/util/windows/string.rb +1 -0
- data/lib/puppet/util/windows/user.rb +33 -33
- data/lib/puppet/util/windows.rb +6 -0
- data/lib/puppet/util/yaml.rb +1 -0
- data/lib/puppet/util.rb +18 -20
- data/lib/puppet/vendor.rb +2 -1
- data/lib/puppet/version.rb +3 -1
- data/lib/puppet/x509/cert_provider.rb +7 -1
- data/lib/puppet/x509/pem_store.rb +1 -0
- data/lib/puppet/x509.rb +1 -0
- data/lib/puppet.rb +1 -0
- data/lib/puppet_pal.rb +1 -0
- data/lib/puppet_x.rb +1 -0
- data/locales/puppet.pot +195 -199
- data/man/man5/puppet.conf.5 +2 -2
- data/man/man8/puppet-agent.8 +1 -1
- data/man/man8/puppet-apply.8 +1 -1
- data/man/man8/puppet-catalog.8 +1 -1
- data/man/man8/puppet-config.8 +1 -1
- data/man/man8/puppet-describe.8 +1 -1
- data/man/man8/puppet-device.8 +1 -1
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +1 -1
- data/man/man8/puppet-facts.8 +1 -1
- data/man/man8/puppet-filebucket.8 +1 -1
- data/man/man8/puppet-generate.8 +1 -1
- data/man/man8/puppet-help.8 +1 -1
- data/man/man8/puppet-lookup.8 +1 -1
- data/man/man8/puppet-module.8 +1 -1
- data/man/man8/puppet-node.8 +1 -1
- data/man/man8/puppet-parser.8 +1 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +1 -1
- data/man/man8/puppet-resource.8 +1 -1
- data/man/man8/puppet-script.8 +1 -1
- data/man/man8/puppet-ssl.8 +1 -1
- data/man/man8/puppet.8 +2 -2
- data/spec/integration/application/agent_spec.rb +13 -0
- data/spec/lib/puppet_spec/puppetserver.rb +1 -0
- data/spec/lib/puppet_spec/verbose.rb +5 -3
- data/spec/unit/agent_spec.rb +2 -7
- data/spec/unit/daemon_spec.rb +3 -20
- data/spec/unit/indirector/catalog/compiler_spec.rb +17 -0
- data/spec/unit/indirector/catalog/rest_spec.rb +17 -0
- data/spec/unit/provider/package/appdmg_spec.rb +1 -1
- data/spec/unit/provider/package/dnf_spec.rb +7 -0
- data/spec/unit/provider/package/dnfmodule_spec.rb +22 -2
- data/spec/unit/provider/service/systemd_spec.rb +8 -6
- data/spec/unit/type/exec_spec.rb +14 -9
- data/spec/unit/util/rpm_compare_spec.rb +8 -8
- metadata +2 -3
- data/CONTRIBUTING.md +0 -161
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require 'hiera_puppet'
|
3
4
|
|
4
5
|
module Puppet::Parser::Functions
|
@@ -6,87 +7,87 @@ module Puppet::Parser::Functions
|
|
6
7
|
:hiera_array,
|
7
8
|
:type => :rvalue,
|
8
9
|
:arity => -2,
|
9
|
-
:doc =>
|
10
|
-
Finds all matches of a key throughout the hierarchy and returns them as a single flattened
|
11
|
-
array of unique values. If any of the matched values are arrays, they're flattened and
|
12
|
-
included in the results. This is called an
|
13
|
-
[array merge lookup](https://puppet.com/docs/hiera/latest/lookup_types.html#array-merge).
|
14
|
-
|
15
|
-
The `hiera_array` function takes up to three arguments, in this order:
|
16
|
-
|
17
|
-
1. A string key that Hiera searches for in the hierarchy. **Required**.
|
18
|
-
2. An optional default value to return if Hiera doesn't find anything matching the key.
|
19
|
-
|
20
|
-
|
21
|
-
3. The optional name of an arbitrary
|
22
|
-
[hierarchy level](https://puppet.com/docs/hiera/latest/hierarchy.html) to insert at the
|
23
|
-
top of the hierarchy. This lets you temporarily modify the hierarchy for a single lookup.
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
**Example**: Using `hiera_array`
|
28
|
-
|
29
|
-
~~~ yaml
|
30
|
-
# Assuming hiera.yaml
|
31
|
-
# :hierarchy:
|
32
|
-
# - web01.example.com
|
33
|
-
# - common
|
34
|
-
|
35
|
-
# Assuming common.yaml:
|
36
|
-
# users:
|
37
|
-
# - 'cdouglas = regular'
|
38
|
-
# - 'efranklin = regular'
|
39
|
-
|
40
|
-
# Assuming web01.example.com.yaml:
|
41
|
-
# users: 'abarry = admin'
|
42
|
-
~~~
|
43
|
-
|
44
|
-
~~~ puppet
|
45
|
-
$allusers = hiera_array('users', undef)
|
46
|
-
|
47
|
-
# $allusers contains ["cdouglas = regular", "efranklin = regular", "abarry = admin"].
|
48
|
-
~~~
|
49
|
-
|
50
|
-
You can optionally generate the default value with a
|
51
|
-
[lambda](https://puppet.com/docs/puppet/latest/lang_lambdas.html) that
|
52
|
-
takes one parameter.
|
53
|
-
|
54
|
-
**Example**: Using `hiera_array` with a lambda
|
55
|
-
|
56
|
-
~~~ puppet
|
57
|
-
# Assuming the same Hiera data as the previous example:
|
58
|
-
|
59
|
-
$allusers = hiera_array('users') | $key | { "Key \'${key}\' not found" }
|
60
|
-
|
61
|
-
# $allusers contains ["cdouglas = regular", "efranklin = regular", "abarry = admin"].
|
62
|
-
# If hiera_array couldn't match its key, it would return the lambda result,
|
63
|
-
# "Key 'users' not found".
|
64
|
-
~~~
|
65
|
-
|
66
|
-
`hiera_array` expects that all values returned will be strings or arrays. If any matched
|
67
|
-
value is a hash, Puppet raises a type mismatch error.
|
68
|
-
|
69
|
-
`hiera_array` is deprecated in favor of using `lookup` and will be removed in 6.0.0.
|
70
|
-
See https://puppet.com/docs/puppet/#{Puppet.minor_version}/deprecated_language.html.
|
71
|
-
Replace the calls as follows:
|
72
|
-
|
73
|
-
| from | to |
|
74
|
-
| ---- | ---|
|
75
|
-
| hiera_array($key) | lookup($key, { 'merge' => 'unique' }) |
|
76
|
-
| hiera_array($key, $default) | lookup($key, { 'default_value' => $default, 'merge' => 'unique' }) |
|
77
|
-
| hiera_array($key, $default, $level) | override level not supported |
|
78
|
-
|
79
|
-
Note that calls using the 'override level' option are not directly supported by 'lookup' and the produced
|
80
|
-
result must be post processed to get exactly the same result, for example using simple hash/array `+` or
|
81
|
-
with calls to stdlib's `deep_merge` function depending on kind of hiera call and setting of merge in hiera.yaml.
|
82
|
-
|
83
|
-
See
|
84
|
-
[the documentation](https://puppet.com/docs/hiera/latest/puppet.html#hiera-lookup-functions)
|
85
|
-
for more information about Hiera lookup functions.
|
86
|
-
|
87
|
-
- Since 4.0.0
|
88
|
-
DOC
|
89
|
-
) do |*
|
10
|
+
:doc => <<~DOC
|
11
|
+
Finds all matches of a key throughout the hierarchy and returns them as a single flattened
|
12
|
+
array of unique values. If any of the matched values are arrays, they're flattened and
|
13
|
+
included in the results. This is called an
|
14
|
+
[array merge lookup](https://puppet.com/docs/hiera/latest/lookup_types.html#array-merge).
|
15
|
+
|
16
|
+
The `hiera_array` function takes up to three arguments, in this order:
|
17
|
+
|
18
|
+
1. A string key that Hiera searches for in the hierarchy. **Required**.
|
19
|
+
2. An optional default value to return if Hiera doesn't find anything matching the key.
|
20
|
+
* If this argument isn't provided and this function results in a lookup failure, Puppet
|
21
|
+
fails with a compilation error.
|
22
|
+
3. The optional name of an arbitrary
|
23
|
+
[hierarchy level](https://puppet.com/docs/hiera/latest/hierarchy.html) to insert at the
|
24
|
+
top of the hierarchy. This lets you temporarily modify the hierarchy for a single lookup.
|
25
|
+
* If Hiera doesn't find a matching key in the overriding hierarchy level, it continues
|
26
|
+
searching the rest of the hierarchy.
|
27
|
+
|
28
|
+
**Example**: Using `hiera_array`
|
29
|
+
|
30
|
+
~~~ yaml
|
31
|
+
# Assuming hiera.yaml
|
32
|
+
# :hierarchy:
|
33
|
+
# - web01.example.com
|
34
|
+
# - common
|
35
|
+
|
36
|
+
# Assuming common.yaml:
|
37
|
+
# users:
|
38
|
+
# - 'cdouglas = regular'
|
39
|
+
# - 'efranklin = regular'
|
40
|
+
|
41
|
+
# Assuming web01.example.com.yaml:
|
42
|
+
# users: 'abarry = admin'
|
43
|
+
~~~
|
44
|
+
|
45
|
+
~~~ puppet
|
46
|
+
$allusers = hiera_array('users', undef)
|
47
|
+
|
48
|
+
# $allusers contains ["cdouglas = regular", "efranklin = regular", "abarry = admin"].
|
49
|
+
~~~
|
50
|
+
|
51
|
+
You can optionally generate the default value with a
|
52
|
+
[lambda](https://puppet.com/docs/puppet/latest/lang_lambdas.html) that
|
53
|
+
takes one parameter.
|
54
|
+
|
55
|
+
**Example**: Using `hiera_array` with a lambda
|
56
|
+
|
57
|
+
~~~ puppet
|
58
|
+
# Assuming the same Hiera data as the previous example:
|
59
|
+
|
60
|
+
$allusers = hiera_array('users') | $key | { "Key \'${key}\' not found" }
|
61
|
+
|
62
|
+
# $allusers contains ["cdouglas = regular", "efranklin = regular", "abarry = admin"].
|
63
|
+
# If hiera_array couldn't match its key, it would return the lambda result,
|
64
|
+
# "Key 'users' not found".
|
65
|
+
~~~
|
66
|
+
|
67
|
+
`hiera_array` expects that all values returned will be strings or arrays. If any matched
|
68
|
+
value is a hash, Puppet raises a type mismatch error.
|
69
|
+
|
70
|
+
`hiera_array` is deprecated in favor of using `lookup` and will be removed in 6.0.0.
|
71
|
+
See https://puppet.com/docs/puppet/#{Puppet.minor_version}/deprecated_language.html.
|
72
|
+
Replace the calls as follows:
|
73
|
+
|
74
|
+
| from | to |
|
75
|
+
| ---- | ---|
|
76
|
+
| hiera_array($key) | lookup($key, { 'merge' => 'unique' }) |
|
77
|
+
| hiera_array($key, $default) | lookup($key, { 'default_value' => $default, 'merge' => 'unique' }) |
|
78
|
+
| hiera_array($key, $default, $level) | override level not supported |
|
79
|
+
|
80
|
+
Note that calls using the 'override level' option are not directly supported by 'lookup' and the produced
|
81
|
+
result must be post processed to get exactly the same result, for example using simple hash/array `+` or
|
82
|
+
with calls to stdlib's `deep_merge` function depending on kind of hiera call and setting of merge in hiera.yaml.
|
83
|
+
|
84
|
+
See
|
85
|
+
[the documentation](https://puppet.com/docs/hiera/latest/puppet.html#hiera-lookup-functions)
|
86
|
+
for more information about Hiera lookup functions.
|
87
|
+
|
88
|
+
- Since 4.0.0
|
89
|
+
DOC
|
90
|
+
) do |*_args|
|
90
91
|
Error.is4x('hiera_array')
|
91
92
|
end
|
92
93
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require 'hiera_puppet'
|
3
4
|
|
4
5
|
module Puppet::Parser::Functions
|
@@ -6,97 +7,97 @@ module Puppet::Parser::Functions
|
|
6
7
|
:hiera_hash,
|
7
8
|
:type => :rvalue,
|
8
9
|
:arity => -2,
|
9
|
-
:doc =>
|
10
|
-
Finds all matches of a key throughout the hierarchy and returns them in a merged hash.
|
11
|
-
If any of the matched hashes share keys, the final hash uses the value from the
|
12
|
-
highest priority match. This is called a
|
13
|
-
[hash merge lookup](https://puppet.com/docs/hiera/latest/lookup_types.html#hash-merge).
|
14
|
-
|
15
|
-
The merge strategy is determined by Hiera's
|
16
|
-
[`:merge_behavior`](https://puppet.com/docs/hiera/latest/configuring.html#mergebehavior)
|
17
|
-
setting.
|
18
|
-
|
19
|
-
The `hiera_hash` function takes up to three arguments, in this order:
|
20
|
-
|
21
|
-
1. A string key that Hiera searches for in the hierarchy. **Required**.
|
22
|
-
2. An optional default value to return if Hiera doesn't find anything matching the key.
|
23
|
-
|
24
|
-
|
25
|
-
3. The optional name of an arbitrary
|
26
|
-
[hierarchy level](https://puppet.com/docs/hiera/latest/hierarchy.html) to insert at the
|
27
|
-
top of the hierarchy. This lets you temporarily modify the hierarchy for a single lookup.
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
**Example**: Using `hiera_hash`
|
32
|
-
|
33
|
-
~~~ yaml
|
34
|
-
# Assuming hiera.yaml
|
35
|
-
# :hierarchy:
|
36
|
-
# - web01.example.com
|
37
|
-
# - common
|
38
|
-
|
39
|
-
# Assuming common.yaml:
|
40
|
-
# users:
|
41
|
-
# regular:
|
42
|
-
# 'cdouglas': 'Carrie Douglas'
|
43
|
-
|
44
|
-
# Assuming web01.example.com.yaml:
|
45
|
-
# users:
|
46
|
-
# administrators:
|
47
|
-
# 'aberry': 'Amy Berry'
|
48
|
-
~~~
|
49
|
-
|
50
|
-
~~~ puppet
|
51
|
-
# Assuming we are not web01.example.com:
|
52
|
-
|
53
|
-
$allusers = hiera_hash('users', undef)
|
54
|
-
|
55
|
-
# $allusers contains {regular => {"cdouglas" => "Carrie Douglas"},
|
56
|
-
# administrators => {"aberry" => "Amy Berry"}}
|
57
|
-
~~~
|
58
|
-
|
59
|
-
You can optionally generate the default value with a
|
60
|
-
[lambda](https://puppet.com/docs/puppet/latest/lang_lambdas.html) that
|
61
|
-
takes one parameter.
|
62
|
-
|
63
|
-
**Example**: Using `hiera_hash` with a lambda
|
64
|
-
|
65
|
-
~~~ puppet
|
66
|
-
# Assuming the same Hiera data as the previous example:
|
67
|
-
|
68
|
-
$allusers = hiera_hash('users') | $key | { "Key \'${key}\' not found" }
|
69
|
-
|
70
|
-
# $allusers contains {regular => {"cdouglas" => "Carrie Douglas"},
|
71
|
-
# administrators => {"aberry" => "Amy Berry"}}
|
72
|
-
# If hiera_hash couldn't match its key, it would return the lambda result,
|
73
|
-
# "Key 'users' not found".
|
74
|
-
~~~
|
75
|
-
|
76
|
-
`hiera_hash` expects that all values returned will be hashes. If any of the values
|
77
|
-
found in the data sources are strings or arrays, Puppet raises a type mismatch error.
|
78
|
-
|
79
|
-
`hiera_hash` is deprecated in favor of using `lookup` and will be removed in 6.0.0.
|
80
|
-
See https://puppet.com/docs/puppet/#{Puppet.minor_version}/deprecated_language.html.
|
81
|
-
Replace the calls as follows:
|
82
|
-
|
83
|
-
| from | to |
|
84
|
-
| ---- | ---|
|
85
|
-
| hiera_hash($key) | lookup($key, { 'merge' => 'hash' }) |
|
86
|
-
| hiera_hash($key, $default) | lookup($key, { 'default_value' => $default, 'merge' => 'hash' }) |
|
87
|
-
| hiera_hash($key, $default, $level) | override level not supported |
|
88
|
-
|
89
|
-
Note that calls using the 'override level' option are not directly supported by 'lookup' and the produced
|
90
|
-
result must be post processed to get exactly the same result, for example using simple hash/array `+` or
|
91
|
-
with calls to stdlib's `deep_merge` function depending on kind of hiera call and setting of merge in hiera.yaml.
|
92
|
-
|
93
|
-
See
|
94
|
-
[the documentation](https://puppet.com/docs/hiera/latest/puppet.html#hiera-lookup-functions)
|
95
|
-
for more information about Hiera lookup functions.
|
96
|
-
|
97
|
-
- Since 4.0.0
|
98
|
-
DOC
|
99
|
-
) do |*
|
10
|
+
:doc => <<~DOC
|
11
|
+
Finds all matches of a key throughout the hierarchy and returns them in a merged hash.
|
12
|
+
If any of the matched hashes share keys, the final hash uses the value from the
|
13
|
+
highest priority match. This is called a
|
14
|
+
[hash merge lookup](https://puppet.com/docs/hiera/latest/lookup_types.html#hash-merge).
|
15
|
+
|
16
|
+
The merge strategy is determined by Hiera's
|
17
|
+
[`:merge_behavior`](https://puppet.com/docs/hiera/latest/configuring.html#mergebehavior)
|
18
|
+
setting.
|
19
|
+
|
20
|
+
The `hiera_hash` function takes up to three arguments, in this order:
|
21
|
+
|
22
|
+
1. A string key that Hiera searches for in the hierarchy. **Required**.
|
23
|
+
2. An optional default value to return if Hiera doesn't find anything matching the key.
|
24
|
+
* If this argument isn't provided and this function results in a lookup failure, Puppet
|
25
|
+
fails with a compilation error.
|
26
|
+
3. The optional name of an arbitrary
|
27
|
+
[hierarchy level](https://puppet.com/docs/hiera/latest/hierarchy.html) to insert at the
|
28
|
+
top of the hierarchy. This lets you temporarily modify the hierarchy for a single lookup.
|
29
|
+
* If Hiera doesn't find a matching key in the overriding hierarchy level, it continues
|
30
|
+
searching the rest of the hierarchy.
|
31
|
+
|
32
|
+
**Example**: Using `hiera_hash`
|
33
|
+
|
34
|
+
~~~ yaml
|
35
|
+
# Assuming hiera.yaml
|
36
|
+
# :hierarchy:
|
37
|
+
# - web01.example.com
|
38
|
+
# - common
|
39
|
+
|
40
|
+
# Assuming common.yaml:
|
41
|
+
# users:
|
42
|
+
# regular:
|
43
|
+
# 'cdouglas': 'Carrie Douglas'
|
44
|
+
|
45
|
+
# Assuming web01.example.com.yaml:
|
46
|
+
# users:
|
47
|
+
# administrators:
|
48
|
+
# 'aberry': 'Amy Berry'
|
49
|
+
~~~
|
50
|
+
|
51
|
+
~~~ puppet
|
52
|
+
# Assuming we are not web01.example.com:
|
53
|
+
|
54
|
+
$allusers = hiera_hash('users', undef)
|
55
|
+
|
56
|
+
# $allusers contains {regular => {"cdouglas" => "Carrie Douglas"},
|
57
|
+
# administrators => {"aberry" => "Amy Berry"}}
|
58
|
+
~~~
|
59
|
+
|
60
|
+
You can optionally generate the default value with a
|
61
|
+
[lambda](https://puppet.com/docs/puppet/latest/lang_lambdas.html) that
|
62
|
+
takes one parameter.
|
63
|
+
|
64
|
+
**Example**: Using `hiera_hash` with a lambda
|
65
|
+
|
66
|
+
~~~ puppet
|
67
|
+
# Assuming the same Hiera data as the previous example:
|
68
|
+
|
69
|
+
$allusers = hiera_hash('users') | $key | { "Key \'${key}\' not found" }
|
70
|
+
|
71
|
+
# $allusers contains {regular => {"cdouglas" => "Carrie Douglas"},
|
72
|
+
# administrators => {"aberry" => "Amy Berry"}}
|
73
|
+
# If hiera_hash couldn't match its key, it would return the lambda result,
|
74
|
+
# "Key 'users' not found".
|
75
|
+
~~~
|
76
|
+
|
77
|
+
`hiera_hash` expects that all values returned will be hashes. If any of the values
|
78
|
+
found in the data sources are strings or arrays, Puppet raises a type mismatch error.
|
79
|
+
|
80
|
+
`hiera_hash` is deprecated in favor of using `lookup` and will be removed in 6.0.0.
|
81
|
+
See https://puppet.com/docs/puppet/#{Puppet.minor_version}/deprecated_language.html.
|
82
|
+
Replace the calls as follows:
|
83
|
+
|
84
|
+
| from | to |
|
85
|
+
| ---- | ---|
|
86
|
+
| hiera_hash($key) | lookup($key, { 'merge' => 'hash' }) |
|
87
|
+
| hiera_hash($key, $default) | lookup($key, { 'default_value' => $default, 'merge' => 'hash' }) |
|
88
|
+
| hiera_hash($key, $default, $level) | override level not supported |
|
89
|
+
|
90
|
+
Note that calls using the 'override level' option are not directly supported by 'lookup' and the produced
|
91
|
+
result must be post processed to get exactly the same result, for example using simple hash/array `+` or
|
92
|
+
with calls to stdlib's `deep_merge` function depending on kind of hiera call and setting of merge in hiera.yaml.
|
93
|
+
|
94
|
+
See
|
95
|
+
[the documentation](https://puppet.com/docs/hiera/latest/puppet.html#hiera-lookup-functions)
|
96
|
+
for more information about Hiera lookup functions.
|
97
|
+
|
98
|
+
- Since 4.0.0
|
99
|
+
DOC
|
100
|
+
) do |*_args|
|
100
101
|
Error.is4x('hiera_hash')
|
101
102
|
end
|
102
103
|
end
|
@@ -1,101 +1,102 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require 'hiera_puppet'
|
3
4
|
|
4
5
|
module Puppet::Parser::Functions
|
5
6
|
newfunction(
|
6
7
|
:hiera_include,
|
7
8
|
:arity => -2,
|
8
|
-
:doc =>
|
9
|
-
Assigns classes to a node using an
|
10
|
-
[array merge lookup](https://puppet.com/docs/hiera/latest/lookup_types.html#array-merge)
|
11
|
-
that retrieves the value for a user-specified key from Hiera's data.
|
12
|
-
|
13
|
-
The `hiera_include` function requires:
|
14
|
-
|
15
|
-
- A string key name to use for classes.
|
16
|
-
- A call to this function (i.e. `hiera_include('classes')`) in your environment's
|
17
|
-
`sites.pp` manifest, outside of any node definitions and below any top-scope variables
|
18
|
-
that Hiera uses in lookups.
|
19
|
-
- `classes` keys in the appropriate Hiera data sources, with an array for each
|
20
|
-
`classes` key and each value of the array containing the name of a class.
|
21
|
-
|
22
|
-
The function takes up to three arguments, in this order:
|
23
|
-
|
24
|
-
1. A string key that Hiera searches for in the hierarchy. **Required**.
|
25
|
-
2. An optional default value to return if Hiera doesn't find anything matching the key.
|
26
|
-
|
27
|
-
|
28
|
-
3. The optional name of an arbitrary
|
29
|
-
[hierarchy level](https://puppet.com/docs/hiera/latest/hierarchy.html) to insert at the
|
30
|
-
top of the hierarchy. This lets you temporarily modify the hierarchy for a single lookup.
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
The function uses an
|
35
|
-
[array merge lookup](https://puppet.com/docs/hiera/latest/lookup_types.html#array-merge)
|
36
|
-
to retrieve the `classes` array, so every node gets every class from the hierarchy.
|
37
|
-
|
38
|
-
**Example**: Using `hiera_include`
|
39
|
-
|
40
|
-
~~~ yaml
|
41
|
-
# Assuming hiera.yaml
|
42
|
-
# :hierarchy:
|
43
|
-
# - web01.example.com
|
44
|
-
# - common
|
45
|
-
|
46
|
-
# Assuming web01.example.com.yaml:
|
47
|
-
# classes:
|
48
|
-
# - apache::mod::php
|
49
|
-
|
50
|
-
# Assuming common.yaml:
|
51
|
-
# classes:
|
52
|
-
# - apache
|
53
|
-
~~~
|
54
|
-
|
55
|
-
~~~ puppet
|
56
|
-
# In site.pp, outside of any node definitions and below any top-scope variables:
|
57
|
-
hiera_include('classes', undef)
|
58
|
-
|
59
|
-
# Puppet assigns the apache and apache::mod::php classes to the web01.example.com node.
|
60
|
-
~~~
|
61
|
-
|
62
|
-
You can optionally generate the default value with a
|
63
|
-
[lambda](https://puppet.com/docs/puppet/latest/lang_lambdas.html) that
|
64
|
-
takes one parameter.
|
65
|
-
|
66
|
-
**Example**: Using `hiera_include` with a lambda
|
67
|
-
|
68
|
-
~~~ puppet
|
69
|
-
# Assuming the same Hiera data as the previous example:
|
70
|
-
|
71
|
-
# In site.pp, outside of any node definitions and below any top-scope variables:
|
72
|
-
hiera_include('classes') | $key | {"Key \'${key}\' not found" }
|
73
|
-
|
74
|
-
# Puppet assigns the apache and apache::mod::php classes to the web01.example.com node.
|
75
|
-
# If hiera_include couldn't match its key, it would return the lambda result,
|
76
|
-
# "Key 'classes' not found".
|
77
|
-
~~~
|
78
|
-
|
79
|
-
`hiera_include` is deprecated in favor of using a combination of `include` and `lookup` and will be
|
80
|
-
removed in Puppet 6.0.0. Replace the calls as follows:
|
81
|
-
|
82
|
-
| from | to |
|
83
|
-
| ---- | ---|
|
84
|
-
| hiera_include($key) | include(lookup($key, { 'merge' => 'unique' })) |
|
85
|
-
| hiera_include($key, $default) | include(lookup($key, { 'default_value' => $default, 'merge' => 'unique' })) |
|
86
|
-
| hiera_include($key, $default, $level) | override level not supported |
|
87
|
-
|
88
|
-
See
|
89
|
-
[the Upgrading to Hiera 5 migration guide](https://puppet.com/docs/puppet/5.5/hiera_migrate.html)
|
90
|
-
for more information.
|
91
|
-
|
92
|
-
Note that calls using the 'override level' option are not directly supported by 'lookup' and the produced
|
93
|
-
result must be post processed to get exactly the same result, for example using simple hash/array `+` or
|
94
|
-
with calls to stdlib's `deep_merge` function depending on kind of hiera call and setting of merge in hiera.yaml.
|
95
|
-
|
96
|
-
- Since 4.0.0
|
97
|
-
DOC
|
98
|
-
) do |*
|
9
|
+
:doc => <<~DOC
|
10
|
+
Assigns classes to a node using an
|
11
|
+
[array merge lookup](https://puppet.com/docs/hiera/latest/lookup_types.html#array-merge)
|
12
|
+
that retrieves the value for a user-specified key from Hiera's data.
|
13
|
+
|
14
|
+
The `hiera_include` function requires:
|
15
|
+
|
16
|
+
- A string key name to use for classes.
|
17
|
+
- A call to this function (i.e. `hiera_include('classes')`) in your environment's
|
18
|
+
`sites.pp` manifest, outside of any node definitions and below any top-scope variables
|
19
|
+
that Hiera uses in lookups.
|
20
|
+
- `classes` keys in the appropriate Hiera data sources, with an array for each
|
21
|
+
`classes` key and each value of the array containing the name of a class.
|
22
|
+
|
23
|
+
The function takes up to three arguments, in this order:
|
24
|
+
|
25
|
+
1. A string key that Hiera searches for in the hierarchy. **Required**.
|
26
|
+
2. An optional default value to return if Hiera doesn't find anything matching the key.
|
27
|
+
* If this argument isn't provided and this function results in a lookup failure, Puppet
|
28
|
+
fails with a compilation error.
|
29
|
+
3. The optional name of an arbitrary
|
30
|
+
[hierarchy level](https://puppet.com/docs/hiera/latest/hierarchy.html) to insert at the
|
31
|
+
top of the hierarchy. This lets you temporarily modify the hierarchy for a single lookup.
|
32
|
+
* If Hiera doesn't find a matching key in the overriding hierarchy level, it continues
|
33
|
+
searching the rest of the hierarchy.
|
34
|
+
|
35
|
+
The function uses an
|
36
|
+
[array merge lookup](https://puppet.com/docs/hiera/latest/lookup_types.html#array-merge)
|
37
|
+
to retrieve the `classes` array, so every node gets every class from the hierarchy.
|
38
|
+
|
39
|
+
**Example**: Using `hiera_include`
|
40
|
+
|
41
|
+
~~~ yaml
|
42
|
+
# Assuming hiera.yaml
|
43
|
+
# :hierarchy:
|
44
|
+
# - web01.example.com
|
45
|
+
# - common
|
46
|
+
|
47
|
+
# Assuming web01.example.com.yaml:
|
48
|
+
# classes:
|
49
|
+
# - apache::mod::php
|
50
|
+
|
51
|
+
# Assuming common.yaml:
|
52
|
+
# classes:
|
53
|
+
# - apache
|
54
|
+
~~~
|
55
|
+
|
56
|
+
~~~ puppet
|
57
|
+
# In site.pp, outside of any node definitions and below any top-scope variables:
|
58
|
+
hiera_include('classes', undef)
|
59
|
+
|
60
|
+
# Puppet assigns the apache and apache::mod::php classes to the web01.example.com node.
|
61
|
+
~~~
|
62
|
+
|
63
|
+
You can optionally generate the default value with a
|
64
|
+
[lambda](https://puppet.com/docs/puppet/latest/lang_lambdas.html) that
|
65
|
+
takes one parameter.
|
66
|
+
|
67
|
+
**Example**: Using `hiera_include` with a lambda
|
68
|
+
|
69
|
+
~~~ puppet
|
70
|
+
# Assuming the same Hiera data as the previous example:
|
71
|
+
|
72
|
+
# In site.pp, outside of any node definitions and below any top-scope variables:
|
73
|
+
hiera_include('classes') | $key | {"Key \'${key}\' not found" }
|
74
|
+
|
75
|
+
# Puppet assigns the apache and apache::mod::php classes to the web01.example.com node.
|
76
|
+
# If hiera_include couldn't match its key, it would return the lambda result,
|
77
|
+
# "Key 'classes' not found".
|
78
|
+
~~~
|
79
|
+
|
80
|
+
`hiera_include` is deprecated in favor of using a combination of `include` and `lookup` and will be
|
81
|
+
removed in Puppet 6.0.0. Replace the calls as follows:
|
82
|
+
|
83
|
+
| from | to |
|
84
|
+
| ---- | ---|
|
85
|
+
| hiera_include($key) | include(lookup($key, { 'merge' => 'unique' })) |
|
86
|
+
| hiera_include($key, $default) | include(lookup($key, { 'default_value' => $default, 'merge' => 'unique' })) |
|
87
|
+
| hiera_include($key, $default, $level) | override level not supported |
|
88
|
+
|
89
|
+
See
|
90
|
+
[the Upgrading to Hiera 5 migration guide](https://puppet.com/docs/puppet/5.5/hiera_migrate.html)
|
91
|
+
for more information.
|
92
|
+
|
93
|
+
Note that calls using the 'override level' option are not directly supported by 'lookup' and the produced
|
94
|
+
result must be post processed to get exactly the same result, for example using simple hash/array `+` or
|
95
|
+
with calls to stdlib's `deep_merge` function depending on kind of hiera call and setting of merge in hiera.yaml.
|
96
|
+
|
97
|
+
- Since 4.0.0
|
98
|
+
DOC
|
99
|
+
) do |*_args|
|
99
100
|
Error.is4x('hiera_include')
|
100
101
|
end
|
101
102
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
# Include the specified classes
|
3
4
|
Puppet::Parser::Functions::newfunction(:include, :arity => -2, :doc =>
|
4
5
|
"Declares one or more classes, causing the resources in them to be
|
@@ -30,6 +31,6 @@ the future parser's resource and relationship expressions.
|
|
30
31
|
- Since 4.7.0 returns an Array[Type[Class]] of all included classes
|
31
32
|
") do |classes|
|
32
33
|
call_function('include', classes)
|
33
|
-
#TRANSLATORS "function_include", "Scope", and "Scope#call_function" refer to Puppet internals and should not be translated
|
34
|
+
# TRANSLATORS "function_include", "Scope", and "Scope#call_function" refer to Puppet internals and should not be translated
|
34
35
|
Puppet.warn_once('deprecations', '3xfunction#include', _("Calling function_include via the Scope class is deprecated. Use Scope#call_function instead"))
|
35
36
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
Puppet::Parser::Functions::newfunction(:inline_epp, :type => :rvalue, :arity => -2, :doc =>
|
3
4
|
"Evaluates an Embedded Puppet (EPP) template string and returns the rendered
|
4
5
|
text result as a String.
|
@@ -46,7 +47,6 @@ END
|
|
46
47
|
~~~
|
47
48
|
|
48
49
|
- Since 3.5
|
49
|
-
- Requires [future parser](https://puppet.com/docs/puppet/3.8/experiments_future.html) in Puppet 3.5 to 3.8") do |
|
50
|
-
|
50
|
+
- Requires [future parser](https://puppet.com/docs/puppet/3.8/experiments_future.html) in Puppet 3.5 to 3.8") do |_arguments|
|
51
51
|
Puppet::Parser::Functions::Error.is4x('inline_epp')
|
52
52
|
end
|
@@ -1,10 +1,10 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
Puppet::Parser::Functions::newfunction(:inline_template, :type => :rvalue, :arity => -2, :doc =>
|
3
4
|
"Evaluate a template string and return its value. See
|
4
5
|
[the templating docs](https://puppet.com/docs/puppet/latest/lang_template.html) for
|
5
6
|
more information. Note that if multiple template strings are specified, their
|
6
7
|
output is all concatenated and returned as the output of the function.") do |vals|
|
7
|
-
|
8
8
|
if Puppet[:tasks]
|
9
9
|
raise Puppet::ParseErrorWithIssue.from_issue_and_stack(
|
10
10
|
Puppet::Pops::Issues::FEATURE_NOT_SUPPORTED_WHEN_SCRIPTING,
|
@@ -13,15 +13,15 @@ Puppet::Parser::Functions::newfunction(:inline_template, :type => :rvalue, :arit
|
|
13
13
|
|
14
14
|
require 'erb'
|
15
15
|
|
16
|
-
|
17
|
-
|
18
|
-
|
16
|
+
vals.collect do |string|
|
17
|
+
# Use a wrapper, so the template can't get access to the full
|
18
|
+
# Scope object.
|
19
19
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
20
|
+
wrapper = Puppet::Parser::TemplateWrapper.new(self)
|
21
|
+
begin
|
22
|
+
wrapper.result(string)
|
23
|
+
rescue => detail
|
24
|
+
raise Puppet::ParseError, _("Failed to parse inline template: %{detail}") % { detail: detail }, detail.backtrace
|
25
|
+
end
|
26
|
+
end.join("")
|
27
27
|
end
|