openvox 7.37.2 → 8.19.0
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/CHANGELOG.md +6 -19
- data/Gemfile +18 -17
- data/README.md +25 -30
- data/Rakefile +44 -34
- data/bin/puppet +1 -0
- data/examples/hiera/README.md +68 -57
- data/examples/hiera/data/common.yaml +12 -0
- data/examples/hiera/data/dc1.yaml +6 -0
- data/examples/hiera/hiera.yaml +15 -0
- data/examples/hiera/modules/ntp/data/common.yaml +4 -0
- data/examples/hiera/modules/ntp/hiera.yaml +9 -0
- data/examples/hiera/modules/ntp/manifests/config.pp +16 -4
- data/examples/hiera/modules/ntp/templates/ntp.conf.epp +3 -0
- data/examples/hiera/modules/users/manifests/common.pp +7 -2
- data/examples/hiera/modules/users/manifests/dc1.pp +7 -2
- data/examples/hiera/site.pp +1 -1
- data/ext/build_defaults.yaml +1 -1
- data/ext/windows/service/daemon.rb +54 -60
- data/install.rb +21 -92
- data/lib/hiera/puppet_function.rb +8 -6
- data/lib/hiera/scope.rb +15 -13
- data/lib/hiera_puppet.rb +4 -6
- data/lib/puppet/agent/disabler.rb +5 -3
- data/lib/puppet/agent/locker.rb +2 -2
- data/lib/puppet/agent.rb +6 -4
- data/lib/puppet/application/agent.rb +305 -301
- data/lib/puppet/application/apply.rb +124 -117
- data/lib/puppet/application/catalog.rb +2 -0
- data/lib/puppet/application/config.rb +2 -0
- data/lib/puppet/application/describe.rb +50 -48
- data/lib/puppet/application/device.rb +224 -223
- data/lib/puppet/application/doc.rb +57 -58
- data/lib/puppet/application/epp.rb +2 -0
- data/lib/puppet/application/face_base.rb +18 -17
- data/lib/puppet/application/facts.rb +2 -0
- data/lib/puppet/application/filebucket.rb +174 -168
- data/lib/puppet/application/generate.rb +3 -1
- data/lib/puppet/application/help.rb +2 -0
- data/lib/puppet/application/indirection_base.rb +2 -0
- data/lib/puppet/application/lookup.rb +181 -181
- data/lib/puppet/application/module.rb +2 -0
- data/lib/puppet/application/node.rb +2 -0
- data/lib/puppet/application/parser.rb +2 -0
- data/lib/puppet/application/plugin.rb +2 -0
- data/lib/puppet/application/report.rb +2 -0
- data/lib/puppet/application/resource.rb +106 -96
- data/lib/puppet/application/script.rb +76 -74
- data/lib/puppet/application/ssl.rb +100 -92
- data/lib/puppet/application.rb +32 -32
- data/lib/puppet/application_support.rb +3 -2
- data/lib/puppet/coercion.rb +5 -3
- data/lib/puppet/compilable_resource_type.rb +4 -2
- data/lib/puppet/concurrent/lock.rb +2 -3
- data/lib/puppet/concurrent/synchronized.rb +2 -2
- data/lib/puppet/concurrent/thread_local_singleton.rb +1 -0
- data/lib/puppet/concurrent.rb +2 -0
- data/lib/puppet/configurer/downloader.rb +11 -5
- data/lib/puppet/configurer/fact_handler.rb +17 -16
- data/lib/puppet/configurer/plugin_handler.rb +2 -0
- data/lib/puppet/configurer.rb +40 -36
- data/lib/puppet/confine/any.rb +3 -1
- data/lib/puppet/confine/boolean.rb +3 -1
- data/lib/puppet/confine/exists.rb +3 -1
- data/lib/puppet/confine/false.rb +3 -1
- data/lib/puppet/confine/feature.rb +3 -2
- data/lib/puppet/confine/true.rb +3 -1
- data/lib/puppet/confine/variable.rb +4 -2
- data/lib/puppet/confine.rb +5 -2
- data/lib/puppet/confine_collection.rb +6 -3
- data/lib/puppet/confiner.rb +5 -3
- data/lib/puppet/context/trusted_information.rb +12 -10
- data/lib/puppet/context.rb +2 -0
- data/lib/puppet/daemon.rb +26 -10
- data/lib/puppet/data_binding.rb +3 -1
- data/lib/puppet/datatypes/error.rb +3 -1
- data/lib/puppet/datatypes/impl/error.rb +2 -0
- data/lib/puppet/datatypes.rb +12 -7
- data/lib/puppet/defaults.rb +164 -125
- data/lib/puppet/environments.rb +13 -15
- data/lib/puppet/error.rb +19 -15
- data/lib/puppet/etc.rb +10 -5
- data/lib/puppet/external/dot.rb +65 -75
- data/lib/puppet/face/catalog/select.rb +4 -2
- data/lib/puppet/face/catalog.rb +7 -5
- data/lib/puppet/face/config.rb +30 -31
- data/lib/puppet/face/epp.rb +25 -26
- data/lib/puppet/face/facts.rb +8 -6
- data/lib/puppet/face/generate.rb +5 -2
- data/lib/puppet/face/help/action.erb +0 -1
- data/lib/puppet/face/help/face.erb +0 -1
- data/lib/puppet/face/help/global.erb +1 -1
- data/lib/puppet/face/help.rb +80 -62
- data/lib/puppet/face/module/changes.rb +4 -3
- data/lib/puppet/face/module/install.rb +7 -4
- data/lib/puppet/face/module/list.rb +52 -53
- data/lib/puppet/face/module/uninstall.rb +2 -0
- data/lib/puppet/face/module/upgrade.rb +5 -3
- data/lib/puppet/face/module.rb +3 -1
- data/lib/puppet/face/node/clean.rb +4 -2
- data/lib/puppet/face/node.rb +5 -3
- data/lib/puppet/face/parser.rb +18 -19
- data/lib/puppet/face/plugin.rb +10 -8
- data/lib/puppet/face/report.rb +10 -10
- data/lib/puppet/face/resource.rb +2 -0
- data/lib/puppet/face.rb +2 -0
- data/lib/puppet/facter_impl.rb +1 -1
- data/lib/puppet/feature/base.rb +13 -13
- data/lib/puppet/feature/bolt.rb +2 -0
- data/lib/puppet/feature/cfpropertylist.rb +2 -0
- data/lib/puppet/feature/eventlog.rb +2 -0
- data/lib/puppet/feature/hiera_eyaml.rb +2 -0
- data/lib/puppet/feature/hocon.rb +2 -0
- data/lib/puppet/feature/libuser.rb +5 -3
- data/lib/puppet/feature/msgpack.rb +2 -0
- data/lib/puppet/feature/pe_license.rb +4 -2
- data/lib/puppet/feature/pson.rb +6 -0
- data/lib/puppet/feature/selinux.rb +2 -0
- data/lib/puppet/feature/ssh.rb +3 -1
- data/lib/puppet/feature/telnet.rb +3 -7
- data/lib/puppet/feature/zlib.rb +3 -1
- data/lib/puppet/ffi/posix/constants.rb +3 -1
- data/lib/puppet/ffi/posix/functions.rb +2 -1
- data/lib/puppet/ffi/posix.rb +2 -0
- data/lib/puppet/ffi/windows/api_types.rb +3 -1
- data/lib/puppet/ffi/windows/constants.rb +80 -78
- data/lib/puppet/ffi/windows/functions.rb +76 -75
- data/lib/puppet/ffi/windows/structs.rb +6 -5
- data/lib/puppet/ffi/windows.rb +2 -0
- data/lib/puppet/file_bucket/dipper.rb +20 -11
- data/lib/puppet/file_bucket/file.rb +8 -6
- data/lib/puppet/file_bucket.rb +2 -0
- data/lib/puppet/file_serving/base.rb +17 -9
- data/lib/puppet/file_serving/configuration/parser.rb +13 -10
- data/lib/puppet/file_serving/configuration.rb +10 -7
- data/lib/puppet/file_serving/content.rb +2 -0
- data/lib/puppet/file_serving/fileset.rb +23 -19
- data/lib/puppet/file_serving/http_metadata.rb +3 -4
- data/lib/puppet/file_serving/metadata.rb +26 -23
- data/lib/puppet/file_serving/mount/file.rb +15 -11
- data/lib/puppet/file_serving/mount/locales.rb +5 -5
- data/lib/puppet/file_serving/mount/modules.rb +3 -0
- data/lib/puppet/file_serving/mount/pluginfacts.rb +5 -5
- data/lib/puppet/file_serving/mount/plugins.rb +5 -5
- data/lib/puppet/file_serving/mount/scripts.rb +3 -0
- data/lib/puppet/file_serving/mount/tasks.rb +3 -0
- data/lib/puppet/file_serving/mount.rb +4 -1
- data/lib/puppet/file_serving/terminus_helper.rb +2 -0
- data/lib/puppet/file_serving/terminus_selector.rb +3 -1
- data/lib/puppet/file_serving.rb +2 -0
- data/lib/puppet/file_system/file_impl.rb +9 -8
- data/lib/puppet/file_system/jruby.rb +2 -0
- data/lib/puppet/file_system/memory_file.rb +3 -0
- data/lib/puppet/file_system/memory_impl.rb +5 -1
- data/lib/puppet/file_system/path_pattern.rb +4 -2
- data/lib/puppet/file_system/posix.rb +7 -2
- data/lib/puppet/file_system/uniquefile.rb +33 -31
- data/lib/puppet/file_system/windows.rb +33 -22
- data/lib/puppet/file_system.rb +5 -3
- data/lib/puppet/forge/cache.rb +4 -3
- data/lib/puppet/forge/errors.rb +3 -4
- data/lib/puppet/forge/repository.rb +6 -3
- data/lib/puppet/forge.rb +20 -22
- data/lib/puppet/functions/abs.rb +7 -4
- data/lib/puppet/functions/alert.rb +2 -0
- data/lib/puppet/functions/all.rb +3 -1
- data/lib/puppet/functions/annotate.rb +2 -0
- data/lib/puppet/functions/any.rb +3 -1
- data/lib/puppet/functions/assert_type.rb +5 -2
- data/lib/puppet/functions/binary_file.rb +4 -1
- data/lib/puppet/functions/break.rb +4 -2
- data/lib/puppet/functions/call.rb +2 -1
- data/lib/puppet/functions/camelcase.rb +4 -3
- data/lib/puppet/functions/capitalize.rb +4 -3
- data/lib/puppet/functions/ceiling.rb +3 -2
- data/lib/puppet/functions/chomp.rb +3 -2
- data/lib/puppet/functions/chop.rb +3 -2
- data/lib/puppet/functions/compare.rb +5 -3
- data/lib/puppet/functions/contain.rb +7 -4
- data/lib/puppet/functions/convert_to.rb +2 -0
- data/lib/puppet/functions/crit.rb +2 -0
- data/lib/puppet/functions/debug.rb +2 -0
- data/lib/puppet/functions/defined.rb +10 -6
- data/lib/puppet/functions/dig.rb +13 -10
- data/lib/puppet/functions/downcase.rb +4 -2
- data/lib/puppet/functions/each.rb +2 -0
- data/lib/puppet/functions/emerg.rb +2 -0
- data/lib/puppet/functions/empty.rb +2 -0
- data/lib/puppet/functions/epp.rb +2 -1
- data/lib/puppet/functions/err.rb +2 -0
- data/lib/puppet/functions/eyaml_lookup_key.rb +17 -16
- data/lib/puppet/functions/filter.rb +8 -7
- data/lib/puppet/functions/find_file.rb +6 -0
- data/lib/puppet/functions/find_template.rb +2 -0
- data/lib/puppet/functions/flatten.rb +2 -0
- data/lib/puppet/functions/floor.rb +3 -2
- data/lib/puppet/functions/get.rb +4 -2
- data/lib/puppet/functions/getvar.rb +7 -5
- data/lib/puppet/functions/group_by.rb +2 -2
- data/lib/puppet/functions/hiera.rb +2 -0
- data/lib/puppet/functions/hiera_array.rb +2 -0
- data/lib/puppet/functions/hiera_hash.rb +2 -0
- data/lib/puppet/functions/hiera_include.rb +3 -0
- data/lib/puppet/functions/hocon_data.rb +5 -5
- data/lib/puppet/functions/import.rb +3 -1
- data/lib/puppet/functions/include.rb +5 -2
- data/lib/puppet/functions/index.rb +5 -4
- data/lib/puppet/functions/info.rb +2 -0
- data/lib/puppet/functions/inline_epp.rb +2 -1
- data/lib/puppet/functions/join.rb +4 -2
- data/lib/puppet/functions/json_data.rb +6 -6
- data/lib/puppet/functions/keys.rb +2 -0
- data/lib/puppet/functions/length.rb +2 -1
- data/lib/puppet/functions/lest.rb +2 -0
- data/lib/puppet/functions/lookup.rb +12 -12
- data/lib/puppet/functions/lstrip.rb +3 -2
- data/lib/puppet/functions/map.rb +4 -2
- data/lib/puppet/functions/match.rb +8 -5
- data/lib/puppet/functions/max.rb +75 -8
- data/lib/puppet/functions/min.rb +75 -8
- data/lib/puppet/functions/module_directory.rb +2 -0
- data/lib/puppet/functions/new.rb +5 -3
- data/lib/puppet/functions/next.rb +3 -1
- data/lib/puppet/functions/notice.rb +2 -0
- data/lib/puppet/functions/reduce.rb +8 -11
- data/lib/puppet/functions/regsubst.rb +15 -16
- data/lib/puppet/functions/require.rb +7 -3
- data/lib/puppet/functions/return.rb +2 -0
- data/lib/puppet/functions/reverse_each.rb +2 -0
- data/lib/puppet/functions/round.rb +2 -0
- data/lib/puppet/functions/rstrip.rb +3 -2
- data/lib/puppet/functions/scanf.rb +2 -0
- data/lib/puppet/functions/size.rb +2 -2
- data/lib/puppet/functions/slice.rb +4 -1
- data/lib/puppet/functions/sort.rb +2 -0
- data/lib/puppet/functions/split.rb +2 -0
- data/lib/puppet/functions/step.rb +2 -0
- data/lib/puppet/functions/strftime.rb +5 -3
- data/lib/puppet/functions/strip.rb +3 -2
- data/lib/puppet/functions/then.rb +3 -0
- data/lib/puppet/functions/tree_each.rb +4 -3
- data/lib/puppet/functions/type.rb +2 -0
- data/lib/puppet/functions/unique.rb +12 -9
- data/lib/puppet/functions/unwrap.rb +2 -0
- data/lib/puppet/functions/upcase.rb +4 -2
- data/lib/puppet/functions/values.rb +2 -0
- data/lib/puppet/functions/versioncmp.rb +2 -1
- data/lib/puppet/functions/warning.rb +2 -0
- data/lib/puppet/functions/with.rb +2 -0
- data/lib/puppet/functions/yaml_data.rb +13 -13
- data/lib/puppet/functions.rb +57 -61
- data/lib/puppet/generate/models/type/property.rb +4 -1
- data/lib/puppet/generate/models/type/type.rb +5 -2
- data/lib/puppet/generate/type.rb +11 -5
- data/lib/puppet/gettext/config.rb +16 -9
- data/lib/puppet/gettext/module_translations.rb +2 -1
- data/lib/puppet/gettext/stubs.rb +2 -0
- data/lib/puppet/graph/key.rb +2 -0
- data/lib/puppet/graph/prioritizer.rb +2 -0
- data/lib/puppet/graph/rb_tree_map.rb +43 -24
- data/lib/puppet/graph/relationship_graph.rb +31 -29
- data/lib/puppet/graph/sequential_prioritizer.rb +2 -0
- data/lib/puppet/graph/simple_graph.rb +63 -57
- data/lib/puppet/graph.rb +2 -0
- data/lib/puppet/http/client.rb +10 -6
- data/lib/puppet/http/dns.rb +12 -12
- data/lib/puppet/http/errors.rb +4 -2
- data/lib/puppet/http/external_client.rb +4 -3
- data/lib/puppet/http/factory.rb +3 -1
- data/lib/puppet/http/pool.rb +3 -1
- data/lib/puppet/http/pool_entry.rb +2 -0
- data/lib/puppet/http/proxy.rb +21 -19
- data/lib/puppet/http/redirector.rb +5 -3
- data/lib/puppet/http/resolver/server_list.rb +5 -4
- data/lib/puppet/http/resolver/settings.rb +2 -1
- data/lib/puppet/http/resolver/srv.rb +2 -1
- data/lib/puppet/http/resolver.rb +4 -2
- data/lib/puppet/http/response.rb +2 -0
- data/lib/puppet/http/response_converter.rb +4 -3
- data/lib/puppet/http/response_net_http.rb +2 -1
- data/lib/puppet/http/retry_after_handler.rb +4 -3
- data/lib/puppet/http/service/ca.rb +37 -5
- data/lib/puppet/http/service/compiler.rb +13 -10
- data/lib/puppet/http/service/file_server.rb +5 -3
- data/lib/puppet/http/service/puppetserver.rb +3 -2
- data/lib/puppet/http/service/report.rb +5 -7
- data/lib/puppet/http/service.rb +17 -22
- data/lib/puppet/http/session.rb +6 -4
- data/lib/puppet/http/site.rb +3 -1
- data/lib/puppet/http.rb +4 -2
- data/lib/puppet/indirector/catalog/compiler.rb +81 -80
- data/lib/puppet/indirector/catalog/json.rb +2 -0
- data/lib/puppet/indirector/catalog/msgpack.rb +2 -0
- data/lib/puppet/indirector/catalog/rest.rb +2 -0
- data/lib/puppet/indirector/catalog/store_configs.rb +3 -3
- data/lib/puppet/indirector/catalog/yaml.rb +2 -0
- data/lib/puppet/indirector/code.rb +2 -0
- data/lib/puppet/indirector/data_binding/hiera.rb +2 -1
- data/lib/puppet/indirector/data_binding/none.rb +2 -0
- data/lib/puppet/indirector/direct_file_server.rb +4 -1
- data/lib/puppet/indirector/envelope.rb +2 -0
- data/lib/puppet/indirector/errors.rb +2 -0
- data/lib/puppet/indirector/exec.rb +5 -3
- data/lib/puppet/indirector/face.rb +17 -28
- data/lib/puppet/indirector/fact_search.rb +4 -2
- data/lib/puppet/indirector/facts/facter.rb +10 -7
- data/lib/puppet/indirector/facts/json.rb +4 -2
- data/lib/puppet/indirector/facts/memory.rb +2 -0
- data/lib/puppet/indirector/facts/network_device.rb +2 -0
- data/lib/puppet/indirector/facts/rest.rb +2 -0
- data/lib/puppet/indirector/facts/store_configs.rb +3 -2
- data/lib/puppet/indirector/facts/yaml.rb +2 -0
- data/lib/puppet/indirector/file_bucket_file/file.rb +33 -27
- data/lib/puppet/indirector/file_bucket_file/rest.rb +6 -3
- data/lib/puppet/indirector/file_bucket_file/selector.rb +2 -1
- data/lib/puppet/indirector/file_content/file.rb +2 -0
- data/lib/puppet/indirector/file_content/file_server.rb +2 -0
- data/lib/puppet/indirector/file_content/rest.rb +3 -1
- data/lib/puppet/indirector/file_content/selector.rb +2 -0
- data/lib/puppet/indirector/file_content.rb +2 -0
- data/lib/puppet/indirector/file_metadata/file.rb +2 -0
- data/lib/puppet/indirector/file_metadata/file_server.rb +2 -0
- data/lib/puppet/indirector/file_metadata/http.rb +4 -2
- data/lib/puppet/indirector/file_metadata/rest.rb +3 -1
- data/lib/puppet/indirector/file_metadata/selector.rb +2 -0
- data/lib/puppet/indirector/file_metadata.rb +2 -0
- data/lib/puppet/indirector/file_server.rb +3 -0
- data/lib/puppet/indirector/generic_http.rb +2 -0
- data/lib/puppet/indirector/hiera.rb +8 -7
- data/lib/puppet/indirector/indirection.rb +50 -41
- data/lib/puppet/indirector/json.rb +9 -6
- data/lib/puppet/indirector/memory.rb +5 -2
- data/lib/puppet/indirector/msgpack.rb +11 -7
- data/lib/puppet/indirector/node/exec.rb +6 -6
- data/lib/puppet/indirector/node/json.rb +2 -1
- data/lib/puppet/indirector/node/memory.rb +2 -0
- data/lib/puppet/indirector/node/msgpack.rb +2 -0
- data/lib/puppet/indirector/node/plain.rb +2 -0
- data/lib/puppet/indirector/node/rest.rb +2 -0
- data/lib/puppet/indirector/node/store_configs.rb +3 -3
- data/lib/puppet/indirector/node/yaml.rb +2 -0
- data/lib/puppet/indirector/none.rb +3 -2
- data/lib/puppet/indirector/plain.rb +2 -0
- data/lib/puppet/indirector/report/json.rb +4 -2
- data/lib/puppet/indirector/report/msgpack.rb +3 -1
- data/lib/puppet/indirector/report/processor.rb +3 -0
- data/lib/puppet/indirector/report/rest.rb +2 -13
- data/lib/puppet/indirector/report/yaml.rb +4 -2
- data/lib/puppet/indirector/request.rb +15 -12
- data/lib/puppet/indirector/resource/ral.rb +10 -10
- data/lib/puppet/indirector/resource/store_configs.rb +3 -1
- data/lib/puppet/indirector/resource/validator.rb +2 -0
- data/lib/puppet/indirector/rest.rb +3 -1
- data/lib/puppet/indirector/store_configs.rb +2 -0
- data/lib/puppet/indirector/terminus.rb +8 -4
- data/lib/puppet/indirector/yaml.rb +7 -5
- data/lib/puppet/indirector.rb +3 -0
- data/lib/puppet/info_service/class_information_service.rb +16 -17
- data/lib/puppet/info_service/plan_information_service.rb +5 -3
- data/lib/puppet/info_service/task_information_service.rb +10 -9
- data/lib/puppet/info_service.rb +1 -0
- data/lib/puppet/interface/action.rb +46 -42
- data/lib/puppet/interface/action_builder.rb +12 -6
- data/lib/puppet/interface/action_manager.rb +9 -6
- data/lib/puppet/interface/documentation.rb +40 -34
- data/lib/puppet/interface/face_collection.rb +18 -14
- data/lib/puppet/interface/option.rb +23 -11
- data/lib/puppet/interface/option_builder.rb +14 -9
- data/lib/puppet/interface/option_manager.rb +12 -10
- data/lib/puppet/interface.rb +9 -8
- data/lib/puppet/loaders.rb +2 -1
- data/lib/puppet/metatype/manager.rb +16 -15
- data/lib/puppet/module/plan.rb +22 -15
- data/lib/puppet/module/task.rb +33 -28
- data/lib/puppet/module.rb +59 -47
- data/lib/puppet/module_tool/applications/application.rb +17 -12
- data/lib/puppet/module_tool/applications/checksummer.rb +3 -3
- data/lib/puppet/module_tool/applications/installer.rb +78 -87
- data/lib/puppet/module_tool/applications/uninstaller.rb +24 -22
- data/lib/puppet/module_tool/applications/unpacker.rb +11 -9
- data/lib/puppet/module_tool/applications/upgrader.rb +66 -60
- data/lib/puppet/module_tool/applications.rb +2 -0
- data/lib/puppet/module_tool/checksums.rb +4 -3
- data/lib/puppet/module_tool/dependency.rb +5 -4
- data/lib/puppet/module_tool/errors/base.rb +3 -1
- data/lib/puppet/module_tool/errors/installer.rb +6 -5
- data/lib/puppet/module_tool/errors/shared.rb +16 -15
- data/lib/puppet/module_tool/errors/uninstaller.rb +3 -2
- data/lib/puppet/module_tool/errors/upgrader.rb +4 -3
- data/lib/puppet/module_tool/errors.rb +2 -0
- data/lib/puppet/module_tool/install_directory.rb +8 -5
- data/lib/puppet/module_tool/installed_modules.rb +5 -2
- data/lib/puppet/module_tool/local_tarball.rb +10 -8
- data/lib/puppet/module_tool/metadata.rb +36 -30
- data/lib/puppet/module_tool/shared_behaviors.rb +61 -43
- data/lib/puppet/module_tool/tar/gnu.rb +12 -8
- data/lib/puppet/module_tool/tar/mini.rb +6 -4
- data/lib/puppet/module_tool/tar.rb +4 -2
- data/lib/puppet/module_tool.rb +11 -11
- data/lib/puppet/network/authconfig.rb +2 -0
- data/lib/puppet/network/authorization.rb +2 -0
- data/lib/puppet/network/client_request.rb +7 -4
- data/lib/puppet/network/format.rb +9 -3
- data/lib/puppet/network/format_handler.rb +9 -7
- data/lib/puppet/network/format_support.rb +8 -7
- data/lib/puppet/network/formats.rb +34 -25
- data/lib/puppet/network/http/api/indirected_routes.rb +38 -45
- data/lib/puppet/network/http/api/indirection_type.rb +2 -1
- data/lib/puppet/network/http/api/master/v3/environments.rb +2 -1
- data/lib/puppet/network/http/api/master/v3.rb +2 -1
- data/lib/puppet/network/http/api/master.rb +2 -0
- data/lib/puppet/network/http/api/server/v3/environments.rb +21 -15
- data/lib/puppet/network/http/api/server/v3.rb +14 -13
- data/lib/puppet/network/http/api/server.rb +2 -0
- data/lib/puppet/network/http/api.rb +20 -18
- data/lib/puppet/network/http/connection.rb +6 -4
- data/lib/puppet/network/http/error.rb +5 -3
- data/lib/puppet/network/http/handler.rb +12 -14
- data/lib/puppet/network/http/issues.rb +2 -0
- data/lib/puppet/network/http/memory_response.rb +3 -1
- data/lib/puppet/network/http/request.rb +22 -10
- data/lib/puppet/network/http/response.rb +2 -0
- data/lib/puppet/network/http/route.rb +14 -11
- data/lib/puppet/network/http.rb +2 -0
- data/lib/puppet/network/http_pool.rb +4 -3
- data/lib/puppet/network/uri.rb +2 -0
- data/lib/puppet/network.rb +2 -0
- data/lib/puppet/node/environment.rb +36 -33
- data/lib/puppet/node/facts.rb +10 -10
- data/lib/puppet/node/server_facts.rb +7 -7
- data/lib/puppet/node.rb +12 -12
- data/lib/puppet/pal/catalog_compiler.rb +2 -3
- data/lib/puppet/pal/compiler.rb +11 -6
- data/lib/puppet/pal/function_signature.rb +5 -3
- data/lib/puppet/pal/json_catalog_encoder.rb +7 -2
- data/lib/puppet/pal/pal_api.rb +2 -0
- data/lib/puppet/pal/pal_impl.rb +103 -108
- data/lib/puppet/pal/plan_signature.rb +4 -2
- data/lib/puppet/pal/script_compiler.rb +4 -2
- data/lib/puppet/pal/task_signature.rb +15 -9
- data/lib/puppet/parameter/boolean.rb +2 -0
- data/lib/puppet/parameter/package_options.rb +3 -1
- data/lib/puppet/parameter/path.rb +7 -3
- data/lib/puppet/parameter/value.rb +5 -3
- data/lib/puppet/parameter/value_collection.rb +17 -16
- data/lib/puppet/parameter.rb +17 -16
- data/lib/puppet/parser/abstract_compiler.rb +2 -3
- data/lib/puppet/parser/ast/block_expression.rb +4 -2
- data/lib/puppet/parser/ast/branch.rb +2 -0
- data/lib/puppet/parser/ast/hostclass.rb +4 -2
- data/lib/puppet/parser/ast/leaf.rb +3 -0
- data/lib/puppet/parser/ast/node.rb +2 -0
- data/lib/puppet/parser/ast/pops_bridge.rb +13 -13
- data/lib/puppet/parser/ast/resource.rb +8 -8
- data/lib/puppet/parser/ast/resource_instance.rb +3 -0
- data/lib/puppet/parser/ast/resourceparam.rb +9 -7
- data/lib/puppet/parser/ast/top_level_construct.rb +2 -0
- data/lib/puppet/parser/ast.rb +16 -15
- data/lib/puppet/parser/catalog_compiler.rb +3 -3
- data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +4 -2
- data/lib/puppet/parser/compiler/catalog_validator.rb +2 -0
- data/lib/puppet/parser/compiler.rb +45 -44
- data/lib/puppet/parser/e4_parser_adapter.rb +17 -16
- data/lib/puppet/parser/files.rb +8 -6
- data/lib/puppet/parser/functions/assert_type.rb +43 -41
- data/lib/puppet/parser/functions/binary_file.rb +16 -14
- data/lib/puppet/parser/functions/break.rb +29 -27
- data/lib/puppet/parser/functions/contain.rb +3 -1
- data/lib/puppet/parser/functions/create_resources.rb +18 -14
- data/lib/puppet/parser/functions/defined.rb +104 -102
- data/lib/puppet/parser/functions/dig.rb +26 -24
- data/lib/puppet/parser/functions/digest.rb +3 -1
- data/lib/puppet/parser/functions/each.rb +101 -99
- data/lib/puppet/parser/functions/epp.rb +4 -3
- data/lib/puppet/parser/functions/fail.rb +11 -9
- data/lib/puppet/parser/functions/file.rb +16 -14
- data/lib/puppet/parser/functions/filter.rb +57 -55
- data/lib/puppet/parser/functions/find_file.rb +19 -18
- data/lib/puppet/parser/functions/fqdn_rand.rb +25 -23
- data/lib/puppet/parser/functions/generate.rb +23 -21
- data/lib/puppet/parser/functions/hiera.rb +95 -93
- data/lib/puppet/parser/functions/hiera_array.rb +83 -82
- data/lib/puppet/parser/functions/hiera_hash.rb +93 -92
- data/lib/puppet/parser/functions/hiera_include.rb +93 -92
- data/lib/puppet/parser/functions/include.rb +5 -3
- data/lib/puppet/parser/functions/inline_epp.rb +4 -3
- data/lib/puppet/parser/functions/inline_template.rb +15 -13
- data/lib/puppet/parser/functions/lest.rb +36 -34
- data/lib/puppet/parser/functions/lookup.rb +132 -130
- data/lib/puppet/parser/functions/map.rb +54 -52
- data/lib/puppet/parser/functions/match.rb +31 -29
- data/lib/puppet/parser/functions/md5.rb +4 -2
- data/lib/puppet/parser/functions/new.rb +916 -915
- data/lib/puppet/parser/functions/next.rb +36 -34
- data/lib/puppet/parser/functions/realize.rb +13 -11
- data/lib/puppet/parser/functions/reduce.rb +134 -132
- data/lib/puppet/parser/functions/regsubst.rb +8 -5
- data/lib/puppet/parser/functions/require.rb +8 -5
- data/lib/puppet/parser/functions/return.rb +90 -88
- data/lib/puppet/parser/functions/reverse_each.rb +59 -57
- data/lib/puppet/parser/functions/scanf.rb +25 -23
- data/lib/puppet/parser/functions/sha1.rb +4 -2
- data/lib/puppet/parser/functions/sha256.rb +3 -1
- data/lib/puppet/parser/functions/shellquote.rb +2 -0
- data/lib/puppet/parser/functions/slice.rb +27 -25
- data/lib/puppet/parser/functions/split.rb +7 -6
- data/lib/puppet/parser/functions/sprintf.rb +8 -7
- data/lib/puppet/parser/functions/step.rb +62 -60
- data/lib/puppet/parser/functions/strftime.rb +175 -173
- data/lib/puppet/parser/functions/tag.rb +10 -7
- data/lib/puppet/parser/functions/tagged.rb +16 -13
- data/lib/puppet/parser/functions/template.rb +27 -24
- data/lib/puppet/parser/functions/then.rb +54 -52
- data/lib/puppet/parser/functions/type.rb +36 -34
- data/lib/puppet/parser/functions/versioncmp.rb +3 -2
- data/lib/puppet/parser/functions/with.rb +22 -20
- data/lib/puppet/parser/functions.rb +12 -9
- data/lib/puppet/parser/parser_factory.rb +2 -0
- data/lib/puppet/parser/relationship.rb +9 -3
- data/lib/puppet/parser/resource/param.rb +4 -2
- data/lib/puppet/parser/resource.rb +42 -40
- data/lib/puppet/parser/scope.rb +84 -70
- data/lib/puppet/parser/script_compiler.rb +12 -12
- data/lib/puppet/parser/templatewrapper.rb +3 -2
- data/lib/puppet/parser/type_loader.rb +31 -30
- data/lib/puppet/parser.rb +3 -1
- data/lib/puppet/plugins/configuration.rb +2 -0
- data/lib/puppet/plugins/syntax_checkers.rb +2 -1
- data/lib/puppet/plugins.rb +3 -1
- data/lib/puppet/pops/adaptable.rb +5 -3
- data/lib/puppet/pops/adapters.rb +4 -1
- data/lib/puppet/pops/evaluator/access_operator.rb +133 -120
- data/lib/puppet/pops/evaluator/callable_signature.rb +6 -5
- data/lib/puppet/pops/evaluator/closure.rb +272 -277
- data/lib/puppet/pops/evaluator/collector_transformer.rb +18 -15
- data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +10 -8
- data/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +4 -3
- data/lib/puppet/pops/evaluator/collectors/exported_collector.rb +6 -5
- data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +10 -10
- data/lib/puppet/pops/evaluator/compare_operator.rb +36 -21
- data/lib/puppet/pops/evaluator/deferred_resolver.rb +19 -17
- data/lib/puppet/pops/evaluator/epp_evaluator.rb +19 -18
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +245 -245
- data/lib/puppet/pops/evaluator/external_syntax_support.rb +3 -2
- data/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +6 -5
- data/lib/puppet/pops/evaluator/literal_evaluator.rb +5 -5
- data/lib/puppet/pops/evaluator/puppet_proc.rb +6 -3
- data/lib/puppet/pops/evaluator/relationship_operator.rb +14 -11
- data/lib/puppet/pops/evaluator/runtime3_converter.rb +34 -30
- data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +35 -35
- data/lib/puppet/pops/evaluator/runtime3_support.rb +32 -39
- data/lib/puppet/pops/functions/dispatch.rb +7 -7
- data/lib/puppet/pops/functions/dispatcher.rb +8 -7
- data/lib/puppet/pops/functions/function.rb +18 -20
- data/lib/puppet/pops/issue_reporter.rb +25 -22
- data/lib/puppet/pops/issues.rb +10 -5
- data/lib/puppet/pops/label_provider.rb +6 -4
- data/lib/puppet/pops/loader/base_loader.rb +4 -4
- data/lib/puppet/pops/loader/dependency_loader.rb +8 -4
- data/lib/puppet/pops/loader/gem_support.rb +5 -2
- data/lib/puppet/pops/loader/generic_plan_instantiator.rb +2 -0
- data/lib/puppet/pops/loader/loader.rb +8 -8
- data/lib/puppet/pops/loader/loader_paths.rb +42 -41
- data/lib/puppet/pops/loader/module_loaders.rb +45 -49
- data/lib/puppet/pops/loader/predefined_loader.rb +3 -3
- data/lib/puppet/pops/loader/puppet_function_instantiator.rb +6 -2
- data/lib/puppet/pops/loader/puppet_plan_instantiator.rb +6 -2
- data/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +6 -5
- data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +5 -1
- data/lib/puppet/pops/loader/ruby_function_instantiator.rb +5 -1
- data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +18 -8
- data/lib/puppet/pops/loader/runtime3_type_loader.rb +4 -3
- data/lib/puppet/pops/loader/simple_environment_loader.rb +3 -3
- data/lib/puppet/pops/loader/static_loader.rb +29 -27
- data/lib/puppet/pops/loader/task_instantiator.rb +4 -2
- data/lib/puppet/pops/loader/type_definition_instantiator.rb +9 -5
- data/lib/puppet/pops/loader/typed_name.rb +4 -2
- data/lib/puppet/pops/loader/uri_helper.rb +3 -1
- data/lib/puppet/pops/loaders.rb +27 -23
- data/lib/puppet/pops/lookup/configured_data_provider.rb +2 -0
- data/lib/puppet/pops/lookup/context.rb +32 -23
- data/lib/puppet/pops/lookup/data_adapter.rb +2 -0
- data/lib/puppet/pops/lookup/data_dig_function_provider.rb +8 -7
- data/lib/puppet/pops/lookup/data_hash_function_provider.rb +5 -3
- data/lib/puppet/pops/lookup/data_provider.rb +2 -0
- data/lib/puppet/pops/lookup/environment_data_provider.rb +2 -0
- data/lib/puppet/pops/lookup/explainer.rb +47 -45
- data/lib/puppet/pops/lookup/function_provider.rb +8 -6
- data/lib/puppet/pops/lookup/global_data_provider.rb +4 -3
- data/lib/puppet/pops/lookup/hiera_config.rb +208 -160
- data/lib/puppet/pops/lookup/interpolation.rb +21 -10
- data/lib/puppet/pops/lookup/invocation.rb +4 -0
- data/lib/puppet/pops/lookup/key_recorder.rb +6 -3
- data/lib/puppet/pops/lookup/location_resolver.rb +4 -2
- data/lib/puppet/pops/lookup/lookup_adapter.rb +39 -34
- data/lib/puppet/pops/lookup/lookup_key.rb +3 -1
- data/lib/puppet/pops/lookup/lookup_key_function_provider.rb +4 -2
- data/lib/puppet/pops/lookup/module_data_provider.rb +12 -9
- data/lib/puppet/pops/lookup/sub_lookup.rb +7 -3
- data/lib/puppet/pops/lookup.rb +16 -11
- data/lib/puppet/pops/merge_strategy.rb +22 -16
- data/lib/puppet/pops/migration/migration_checker.rb +8 -5
- data/lib/puppet/pops/model/ast.rb +786 -685
- data/lib/puppet/pops/model/ast_transformer.rb +18 -18
- data/lib/puppet/pops/model/factory.rb +33 -31
- data/lib/puppet/pops/model/model_label_provider.rb +5 -2
- data/lib/puppet/pops/model/model_tree_dumper.rb +32 -30
- data/lib/puppet/pops/model/pn_transformer.rb +5 -6
- data/lib/puppet/pops/model/tree_dumper.rb +7 -4
- data/lib/puppet/pops/parser/code_merger.rb +3 -3
- data/lib/puppet/pops/parser/epp_parser.rb +6 -5
- data/lib/puppet/pops/parser/epp_support.rb +10 -9
- data/lib/puppet/pops/parser/evaluating_parser.rb +13 -9
- data/lib/puppet/pops/parser/heredoc_support.rb +14 -14
- data/lib/puppet/pops/parser/interpolation_support.rb +25 -25
- data/lib/puppet/pops/parser/lexer2.rb +74 -62
- data/lib/puppet/pops/parser/lexer_support.rb +57 -57
- data/lib/puppet/pops/parser/locatable.rb +2 -2
- data/lib/puppet/pops/parser/locator.rb +47 -43
- data/lib/puppet/pops/parser/parser_support.rb +22 -21
- data/lib/puppet/pops/parser/pn_parser.rb +10 -9
- data/lib/puppet/pops/parser/slurp_support.rb +41 -40
- data/lib/puppet/pops/patterns.rb +14 -14
- data/lib/puppet/pops/pcore.rb +7 -6
- data/lib/puppet/pops/pn.rb +8 -5
- data/lib/puppet/pops/puppet_stack.rb +3 -1
- data/lib/puppet/pops/resource/param.rb +13 -12
- data/lib/puppet/pops/resource/resource_type_impl.rb +47 -45
- data/lib/puppet/pops/semantic_error.rb +3 -1
- data/lib/puppet/pops/serialization/abstract_reader.rb +6 -4
- data/lib/puppet/pops/serialization/abstract_writer.rb +11 -9
- data/lib/puppet/pops/serialization/deserializer.rb +3 -0
- data/lib/puppet/pops/serialization/extension.rb +8 -0
- data/lib/puppet/pops/serialization/from_data_converter.rb +16 -9
- data/lib/puppet/pops/serialization/instance_reader.rb +2 -0
- data/lib/puppet/pops/serialization/instance_writer.rb +2 -0
- data/lib/puppet/pops/serialization/json.rb +9 -5
- data/lib/puppet/pops/serialization/json_path.rb +3 -1
- data/lib/puppet/pops/serialization/object.rb +6 -3
- data/lib/puppet/pops/serialization/serializer.rb +20 -16
- data/lib/puppet/pops/serialization/time_factory.rb +2 -1
- data/lib/puppet/pops/serialization/to_data_converter.rb +9 -6
- data/lib/puppet/pops/serialization/to_stringified_converter.rb +8 -7
- data/lib/puppet/pops/serialization.rb +10 -8
- data/lib/puppet/pops/time/timespan.rb +33 -21
- data/lib/puppet/pops/time/timestamp.rb +12 -5
- data/lib/puppet/pops/types/annotatable.rb +3 -2
- data/lib/puppet/pops/types/annotation.rb +6 -4
- data/lib/puppet/pops/types/class_loader.rb +17 -15
- data/lib/puppet/pops/types/implementation_registry.rb +4 -1
- data/lib/puppet/pops/types/iterable.rb +24 -14
- data/lib/puppet/pops/types/p_binary_type.rb +6 -6
- data/lib/puppet/pops/types/p_init_type.rb +15 -12
- data/lib/puppet/pops/types/p_meta_type.rb +6 -5
- data/lib/puppet/pops/types/p_object_type.rb +104 -79
- data/lib/puppet/pops/types/p_object_type_extension.rb +15 -14
- data/lib/puppet/pops/types/p_runtime_type.rb +12 -10
- data/lib/puppet/pops/types/p_sem_ver_range_type.rb +3 -2
- data/lib/puppet/pops/types/p_sem_ver_type.rb +8 -8
- data/lib/puppet/pops/types/p_sensitive_type.rb +3 -5
- data/lib/puppet/pops/types/p_timespan_type.rb +7 -5
- data/lib/puppet/pops/types/p_timestamp_type.rb +4 -3
- data/lib/puppet/pops/types/p_type_set_type.rb +51 -44
- data/lib/puppet/pops/types/p_uri_type.rb +41 -33
- data/lib/puppet/pops/types/puppet_object.rb +2 -1
- data/lib/puppet/pops/types/recursion_guard.rb +12 -6
- data/lib/puppet/pops/types/ruby_generator.rb +19 -14
- data/lib/puppet/pops/types/ruby_method.rb +8 -7
- data/lib/puppet/pops/types/string_converter.rb +113 -103
- data/lib/puppet/pops/types/tree_iterators.rb +16 -20
- data/lib/puppet/pops/types/type_acceptor.rb +2 -0
- data/lib/puppet/pops/types/type_asserter.rb +5 -3
- data/lib/puppet/pops/types/type_assertion_error.rb +1 -1
- data/lib/puppet/pops/types/type_calculator.rb +56 -49
- data/lib/puppet/pops/types/type_conversion_error.rb +2 -10
- data/lib/puppet/pops/types/type_factory.rb +25 -16
- data/lib/puppet/pops/types/type_formatter.rb +60 -65
- data/lib/puppet/pops/types/type_mismatch_describer.rb +62 -53
- data/lib/puppet/pops/types/type_parser.rb +124 -117
- data/lib/puppet/pops/types/type_set_reference.rb +3 -0
- data/lib/puppet/pops/types/type_with_members.rb +2 -2
- data/lib/puppet/pops/types/types.rb +267 -249
- data/lib/puppet/pops/utils.rb +43 -45
- data/lib/puppet/pops/validation/checker4_0.rb +65 -58
- data/lib/puppet/pops/validation/tasks_checker.rb +7 -5
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +2 -2
- data/lib/puppet/pops/validation.rb +26 -23
- data/lib/puppet/pops/visitable.rb +2 -0
- data/lib/puppet/pops/visitor.rb +18 -4
- data/lib/puppet/pops.rb +6 -3
- data/lib/puppet/property/boolean.rb +2 -0
- data/lib/puppet/property/ensure.rb +17 -16
- data/lib/puppet/property/keyvalue.rb +15 -14
- data/lib/puppet/property/list.rb +10 -9
- data/lib/puppet/property/ordered_list.rb +6 -5
- data/lib/puppet/property.rb +47 -48
- data/lib/puppet/provider/aix_object.rb +15 -9
- data/lib/puppet/provider/command.rb +2 -0
- data/lib/puppet/provider/confine.rb +2 -0
- data/lib/puppet/provider/exec/posix.rb +4 -1
- data/lib/puppet/provider/exec/shell.rb +2 -0
- data/lib/puppet/provider/exec/windows.rb +6 -4
- data/lib/puppet/provider/exec.rb +6 -4
- data/lib/puppet/provider/file/posix.rb +37 -19
- data/lib/puppet/provider/file/windows.rb +28 -29
- data/lib/puppet/provider/group/aix.rb +4 -2
- data/lib/puppet/provider/group/directoryservice.rb +7 -5
- data/lib/puppet/provider/group/groupadd.rb +16 -10
- data/lib/puppet/provider/group/ldap.rb +3 -0
- data/lib/puppet/provider/group/pw.rb +4 -3
- data/lib/puppet/provider/group/windows_adsi.rb +10 -7
- data/lib/puppet/provider/ldap.rb +5 -3
- data/lib/puppet/provider/nameservice/directoryservice.rb +72 -62
- data/lib/puppet/provider/nameservice/objectadd.rb +4 -4
- data/lib/puppet/provider/nameservice/pw.rb +8 -8
- data/lib/puppet/provider/nameservice.rb +23 -19
- data/lib/puppet/provider/network_device.rb +2 -2
- data/lib/puppet/provider/package/aix.rb +29 -27
- data/lib/puppet/provider/package/appdmg.rb +24 -22
- data/lib/puppet/provider/package/apple.rb +7 -5
- data/lib/puppet/provider/package/apt.rb +28 -25
- data/lib/puppet/provider/package/aptitude.rb +3 -3
- data/lib/puppet/provider/package/aptrpm.rb +18 -14
- data/lib/puppet/provider/package/blastwave.rb +19 -22
- data/lib/puppet/provider/package/dnf.rb +12 -5
- data/lib/puppet/provider/package/dnfmodule.rb +17 -15
- data/lib/puppet/provider/package/dpkg.rb +24 -25
- data/lib/puppet/provider/package/fink.rb +17 -15
- data/lib/puppet/provider/package/freebsd.rb +6 -4
- data/lib/puppet/provider/package/gem.rb +29 -26
- data/lib/puppet/provider/package/hpux.rb +9 -7
- data/lib/puppet/provider/package/macports.rb +6 -4
- data/lib/puppet/provider/package/nim.rb +27 -28
- data/lib/puppet/provider/package/openbsd.rb +37 -34
- data/lib/puppet/provider/package/opkg.rb +17 -14
- data/lib/puppet/provider/package/pacman.rb +39 -42
- data/lib/puppet/provider/package/pip.rb +32 -31
- data/lib/puppet/provider/package/pip2.rb +3 -2
- data/lib/puppet/provider/package/pip3.rb +3 -2
- data/lib/puppet/provider/package/pkg.rb +46 -41
- data/lib/puppet/provider/package/pkgdmg.rb +23 -17
- data/lib/puppet/provider/package/pkgin.rb +14 -13
- data/lib/puppet/provider/package/pkgng.rb +20 -15
- data/lib/puppet/provider/package/pkgutil.rb +40 -41
- data/lib/puppet/provider/package/portage.rb +73 -69
- data/lib/puppet/provider/package/ports.rb +19 -16
- data/lib/puppet/provider/package/portupgrade.rb +48 -55
- data/lib/puppet/provider/package/puppet_gem.rb +6 -15
- data/lib/puppet/provider/package/puppetserver_gem.rb +16 -13
- data/lib/puppet/provider/package/rpm.rb +45 -40
- data/lib/puppet/provider/package/rug.rb +11 -11
- data/lib/puppet/provider/package/sun.rb +28 -24
- data/lib/puppet/provider/package/sunfreeware.rb +3 -1
- data/lib/puppet/provider/package/tdnf.rb +9 -2
- data/lib/puppet/provider/package/up2date.rb +10 -10
- data/lib/puppet/provider/package/urpmi.rb +9 -7
- data/lib/puppet/provider/package/windows/exe_package.rb +11 -9
- data/lib/puppet/provider/package/windows/msi_package.rb +5 -3
- data/lib/puppet/provider/package/windows/package.rb +8 -5
- data/lib/puppet/provider/package/windows.rb +10 -9
- data/lib/puppet/provider/package/xbps.rb +127 -0
- data/lib/puppet/provider/package/yum.rb +65 -62
- data/lib/puppet/provider/package/zypper.rb +29 -29
- data/lib/puppet/provider/package.rb +9 -7
- data/lib/puppet/provider/package_targetable.rb +5 -3
- data/lib/puppet/provider/parsedfile.rb +21 -17
- data/lib/puppet/provider/service/base.rb +19 -23
- data/lib/puppet/provider/service/bsd.rb +7 -5
- data/lib/puppet/provider/service/daemontools.rb +42 -39
- data/lib/puppet/provider/service/debian.rb +12 -10
- data/lib/puppet/provider/service/freebsd.rb +50 -52
- data/lib/puppet/provider/service/gentoo.rb +11 -9
- data/lib/puppet/provider/service/init.rb +33 -31
- data/lib/puppet/provider/service/launchd.rb +38 -31
- data/lib/puppet/provider/service/openbsd.rb +17 -16
- data/lib/puppet/provider/service/openrc.rb +6 -5
- data/lib/puppet/provider/service/openwrt.rb +7 -6
- data/lib/puppet/provider/service/rcng.rb +7 -5
- data/lib/puppet/provider/service/redhat.rb +10 -7
- data/lib/puppet/provider/service/runit.rb +16 -15
- data/lib/puppet/provider/service/service.rb +7 -8
- data/lib/puppet/provider/service/smf.rb +42 -37
- data/lib/puppet/provider/service/src.rb +29 -29
- data/lib/puppet/provider/service/systemd.rb +48 -48
- data/lib/puppet/provider/service/upstart.rb +37 -37
- data/lib/puppet/provider/service/windows.rb +45 -48
- data/lib/puppet/provider/user/aix.rb +24 -20
- data/lib/puppet/provider/user/directoryservice.rb +98 -91
- data/lib/puppet/provider/user/hpux.rb +33 -35
- data/lib/puppet/provider/user/ldap.rb +13 -10
- data/lib/puppet/provider/user/openbsd.rb +24 -22
- data/lib/puppet/provider/user/pw.rb +8 -7
- data/lib/puppet/provider/user/user_role_add.rb +40 -36
- data/lib/puppet/provider/user/useradd.rb +64 -53
- data/lib/puppet/provider/user/windows_adsi.rb +14 -10
- data/lib/puppet/provider.rb +20 -19
- data/lib/puppet/reference/configuration.rb +55 -47
- data/lib/puppet/reference/function.rb +2 -0
- data/lib/puppet/reference/indirection.rb +33 -28
- data/lib/puppet/reference/metaparameter.rb +3 -1
- data/lib/puppet/reference/providers.rb +12 -10
- data/lib/puppet/reference/report.rb +2 -0
- data/lib/puppet/reference/type.rb +7 -5
- data/lib/puppet/relationship.rb +10 -9
- data/lib/puppet/reports/http.rb +3 -2
- data/lib/puppet/reports/log.rb +4 -3
- data/lib/puppet/reports/store.rb +9 -6
- data/lib/puppet/reports.rb +8 -6
- data/lib/puppet/resource/catalog.rb +54 -53
- data/lib/puppet/resource/status.rb +9 -7
- data/lib/puppet/resource/type.rb +65 -41
- data/lib/puppet/resource/type_collection.rb +10 -6
- data/lib/puppet/resource.rb +91 -81
- data/lib/puppet/runtime.rb +2 -0
- data/lib/puppet/scheduler/job.rb +2 -0
- data/lib/puppet/scheduler/scheduler.rb +4 -2
- data/lib/puppet/scheduler/splay_job.rb +16 -3
- data/lib/puppet/scheduler/timer.rb +2 -0
- data/lib/puppet/scheduler.rb +3 -1
- data/lib/puppet/settings/alias_setting.rb +5 -5
- data/lib/puppet/settings/array_setting.rb +2 -1
- data/lib/puppet/settings/autosign_setting.rb +2 -1
- data/lib/puppet/settings/base_setting.rb +23 -18
- data/lib/puppet/settings/boolean_setting.rb +5 -3
- data/lib/puppet/settings/certificate_revocation_setting.rb +2 -1
- data/lib/puppet/settings/config_file.rb +11 -9
- data/lib/puppet/settings/directory_setting.rb +2 -0
- data/lib/puppet/settings/duration_setting.rb +5 -4
- data/lib/puppet/settings/enum_setting.rb +3 -1
- data/lib/puppet/settings/environment_conf.rb +19 -15
- data/lib/puppet/settings/errors.rb +6 -3
- data/lib/puppet/settings/file_or_directory_setting.rb +4 -7
- data/lib/puppet/settings/file_setting.rb +15 -24
- data/lib/puppet/settings/http_extra_headers_setting.rb +2 -1
- data/lib/puppet/settings/ini_file.rb +5 -3
- data/lib/puppet/settings/integer_setting.rb +3 -1
- data/lib/puppet/settings/path_setting.rb +2 -0
- data/lib/puppet/settings/port_setting.rb +4 -2
- data/lib/puppet/settings/priority_setting.rb +13 -12
- data/lib/puppet/settings/server_list_setting.rb +7 -6
- data/lib/puppet/settings/string_setting.rb +2 -0
- data/lib/puppet/settings/symbolic_enum_setting.rb +3 -1
- data/lib/puppet/settings/terminus_setting.rb +2 -0
- data/lib/puppet/settings/ttl_setting.rb +7 -5
- data/lib/puppet/settings/value_translator.rb +9 -7
- data/lib/puppet/settings.rb +171 -163
- data/lib/puppet/ssl/base.rb +9 -6
- data/lib/puppet/ssl/certificate.rb +6 -4
- data/lib/puppet/ssl/certificate_request.rb +34 -38
- data/lib/puppet/ssl/certificate_request_attributes.rb +7 -4
- data/lib/puppet/ssl/certificate_signer.rb +3 -3
- data/lib/puppet/ssl/digest.rb +2 -0
- data/lib/puppet/ssl/error.rb +3 -0
- data/lib/puppet/ssl/oids.rb +11 -9
- data/lib/puppet/ssl/openssl_loader.rb +6 -4
- data/lib/puppet/ssl/ssl_context.rb +2 -0
- data/lib/puppet/ssl/ssl_provider.rb +13 -9
- data/lib/puppet/ssl/state_machine.rb +153 -22
- data/lib/puppet/ssl/verifier.rb +3 -2
- data/lib/puppet/ssl.rb +3 -1
- data/lib/puppet/syntax_checkers/base64.rb +7 -5
- data/lib/puppet/syntax_checkers/epp.rb +7 -6
- data/lib/puppet/syntax_checkers/json.rb +7 -7
- data/lib/puppet/syntax_checkers/pp.rb +7 -6
- data/lib/puppet/syntax_checkers.rb +3 -1
- data/lib/puppet/test/test_helper.rb +30 -44
- data/lib/puppet/thread_local.rb +2 -0
- data/lib/puppet/transaction/additional_resource_generator.rb +12 -7
- data/lib/puppet/transaction/event.rb +8 -5
- data/lib/puppet/transaction/event_manager.rb +12 -11
- data/lib/puppet/transaction/persistence.rb +16 -16
- data/lib/puppet/transaction/report.rb +34 -27
- data/lib/puppet/transaction/resource_harness.rb +17 -9
- data/lib/puppet/transaction.rb +37 -35
- data/lib/puppet/trusted_external.rb +10 -5
- data/lib/puppet/type/component.rb +14 -7
- data/lib/puppet/type/exec.rb +71 -61
- data/lib/puppet/type/file/checksum.rb +6 -2
- data/lib/puppet/type/file/checksum_value.rb +6 -4
- data/lib/puppet/type/file/content.rb +24 -20
- data/lib/puppet/type/file/ctime.rb +5 -4
- data/lib/puppet/type/file/data_sync.rb +9 -6
- data/lib/puppet/type/file/ensure.rb +24 -25
- data/lib/puppet/type/file/group.rb +3 -1
- data/lib/puppet/type/file/mode.rb +14 -11
- data/lib/puppet/type/file/mtime.rb +5 -3
- data/lib/puppet/type/file/owner.rb +3 -2
- data/lib/puppet/type/file/selcontext.rb +24 -23
- data/lib/puppet/type/file/source.rb +31 -30
- data/lib/puppet/type/file/target.rb +23 -25
- data/lib/puppet/type/file/type.rb +3 -2
- data/lib/puppet/type/file.rb +60 -54
- data/lib/puppet/type/filebucket.rb +6 -4
- data/lib/puppet/type/group.rb +14 -13
- data/lib/puppet/type/notify.rb +4 -3
- data/lib/puppet/type/package.rb +47 -45
- data/lib/puppet/type/resources.rb +39 -34
- data/lib/puppet/type/schedule.rb +21 -21
- data/lib/puppet/type/service.rb +19 -18
- data/lib/puppet/type/stage.rb +2 -0
- data/lib/puppet/type/tidy.rb +40 -34
- data/lib/puppet/type/user.rb +62 -56
- data/lib/puppet/type/whit.rb +2 -1
- data/lib/puppet/type.rb +180 -227
- data/lib/puppet/util/at_fork/noop.rb +2 -0
- data/lib/puppet/util/at_fork/solaris.rb +37 -39
- data/lib/puppet/util/at_fork.rb +3 -1
- data/lib/puppet/util/autoload.rb +10 -4
- data/lib/puppet/util/backups.rb +13 -11
- data/lib/puppet/util/character_encoding.rb +9 -6
- data/lib/puppet/util/checksums.rb +16 -12
- data/lib/puppet/util/classgen.rb +18 -23
- data/lib/puppet/util/colors.rb +67 -65
- data/lib/puppet/util/command_line/puppet_option_parser.rb +18 -16
- data/lib/puppet/util/command_line/trollop.rb +695 -673
- data/lib/puppet/util/command_line.rb +7 -5
- data/lib/puppet/util/constant_inflector.rb +4 -3
- data/lib/puppet/util/diff.rb +17 -18
- data/lib/puppet/util/docs.rb +8 -4
- data/lib/puppet/util/errors.rb +13 -11
- data/lib/puppet/util/execution.rb +58 -36
- data/lib/puppet/util/execution_stub.rb +2 -0
- data/lib/puppet/util/feature.rb +9 -9
- data/lib/puppet/util/file_watcher.rb +3 -0
- data/lib/puppet/util/fileparsing.rb +20 -24
- data/lib/puppet/util/filetype.rb +43 -43
- data/lib/puppet/util/http_proxy.rb +2 -0
- data/lib/puppet/util/inifile.rb +13 -18
- data/lib/puppet/util/instance_loader.rb +3 -0
- data/lib/puppet/util/json.rb +2 -0
- data/lib/puppet/util/json_lockfile.rb +4 -1
- data/lib/puppet/util/ldap/connection.rb +21 -19
- data/lib/puppet/util/ldap/generator.rb +2 -0
- data/lib/puppet/util/ldap/manager.rb +20 -21
- data/lib/puppet/util/ldap.rb +2 -0
- data/lib/puppet/util/libuser.rb +3 -2
- data/lib/puppet/util/limits.rb +2 -0
- data/lib/puppet/util/lockfile.rb +8 -8
- data/lib/puppet/util/log/destination.rb +4 -3
- data/lib/puppet/util/log/destinations.rb +20 -20
- data/lib/puppet/util/log.rb +40 -31
- data/lib/puppet/util/logging.rb +34 -30
- data/lib/puppet/util/metaid.rb +2 -1
- data/lib/puppet/util/metric.rb +9 -6
- data/lib/puppet/util/monkey_patches.rb +22 -30
- data/lib/puppet/util/multi_match.rb +9 -5
- data/lib/puppet/util/network_device/base.rb +3 -2
- data/lib/puppet/util/network_device/config.rb +9 -9
- data/lib/puppet/util/network_device/transport/base.rb +1 -1
- data/lib/puppet/util/network_device/transport.rb +2 -0
- data/lib/puppet/util/network_device.rb +2 -0
- data/lib/puppet/util/package/version/debian.rb +33 -31
- data/lib/puppet/util/package/version/gem.rb +3 -0
- data/lib/puppet/util/package/version/pip.rb +14 -8
- data/lib/puppet/util/package/version/range/eq.rb +4 -1
- data/lib/puppet/util/package/version/range/gt.rb +3 -0
- data/lib/puppet/util/package/version/range/gt_eq.rb +3 -0
- data/lib/puppet/util/package/version/range/lt.rb +4 -1
- data/lib/puppet/util/package/version/range/lt_eq.rb +3 -0
- data/lib/puppet/util/package/version/range/min_max.rb +5 -0
- data/lib/puppet/util/package/version/range/simple.rb +2 -0
- data/lib/puppet/util/package/version/range.rb +9 -5
- data/lib/puppet/util/package/version/rpm.rb +7 -5
- data/lib/puppet/util/package.rb +5 -2
- data/lib/puppet/util/pidlock.rb +11 -10
- data/lib/puppet/util/platform.rb +5 -3
- data/lib/puppet/util/plist.rb +16 -16
- data/lib/puppet/util/posix.rb +27 -24
- data/lib/puppet/util/profiler/aggregate.rb +7 -10
- data/lib/puppet/util/profiler/around_profiler.rb +2 -1
- data/lib/puppet/util/profiler/logging.rb +3 -1
- data/lib/puppet/util/profiler/object_counts.rb +2 -0
- data/lib/puppet/util/profiler/wall_clock.rb +6 -5
- data/lib/puppet/util/profiler.rb +2 -0
- data/lib/puppet/util/provider_features.rb +10 -6
- data/lib/puppet/util/psych_support.rb +2 -0
- data/lib/puppet/util/rdoc/code_objects.rb +18 -20
- data/lib/puppet/util/rdoc/generators/puppet_generator.rb +118 -128
- data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +62 -79
- data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +32 -29
- data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +3 -1
- data/lib/puppet/util/rdoc/parser.rb +3 -1
- data/lib/puppet/util/rdoc.rb +10 -9
- data/lib/puppet/util/reference.rb +7 -32
- data/lib/puppet/util/resource_template.rb +3 -1
- data/lib/puppet/util/retry_action.rb +6 -5
- data/lib/puppet/util/rpm_compare.rb +31 -28
- data/lib/puppet/util/rubygems.rb +3 -3
- data/lib/puppet/util/run_mode.rb +46 -4
- data/lib/puppet/util/selinux.rb +72 -38
- data/lib/puppet/util/skip_tags.rb +2 -0
- data/lib/puppet/util/splayer.rb +2 -0
- data/lib/puppet/util/storage.rb +13 -13
- data/lib/puppet/util/suidmanager.rb +38 -37
- data/lib/puppet/util/symbolic_file_mode.rb +76 -76
- data/lib/puppet/util/tag_set.rb +4 -2
- data/lib/puppet/util/tagging.rb +12 -13
- data/lib/puppet/util/terminal.rb +6 -4
- data/lib/puppet/util/user_attr.rb +9 -7
- data/lib/puppet/util/warnings.rb +4 -0
- data/lib/puppet/util/watched_file.rb +4 -1
- data/lib/puppet/util/watcher/change_watcher.rb +2 -0
- data/lib/puppet/util/watcher/periodic_watcher.rb +2 -1
- data/lib/puppet/util/watcher/timer.rb +2 -0
- data/lib/puppet/util/watcher.rb +5 -5
- data/lib/puppet/util/windows/access_control_entry.rb +3 -1
- data/lib/puppet/util/windows/access_control_list.rb +10 -7
- data/lib/puppet/util/windows/adsi.rb +82 -74
- data/lib/puppet/util/windows/com.rb +10 -7
- data/lib/puppet/util/windows/daemon.rb +77 -80
- data/lib/puppet/util/windows/error.rb +7 -5
- data/lib/puppet/util/windows/eventlog.rb +13 -9
- data/lib/puppet/util/windows/file.rb +49 -45
- data/lib/puppet/util/windows/monkey_patches/process.rb +2 -3
- data/lib/puppet/util/windows/principal.rb +37 -34
- data/lib/puppet/util/windows/process.rb +36 -40
- data/lib/puppet/util/windows/registry.rb +60 -58
- data/lib/puppet/util/windows/root_certs.rb +5 -3
- data/lib/puppet/util/windows/security.rb +92 -90
- data/lib/puppet/util/windows/security_descriptor.rb +2 -0
- data/lib/puppet/util/windows/service.rb +24 -12
- data/lib/puppet/util/windows/sid.rb +23 -21
- data/lib/puppet/util/windows/string.rb +2 -0
- data/lib/puppet/util/windows/user.rb +56 -55
- data/lib/puppet/util/windows.rb +8 -1
- data/lib/puppet/util/yaml.rb +3 -1
- data/lib/puppet/util.rb +112 -161
- data/lib/puppet/vendor.rb +3 -1
- data/lib/puppet/version.rb +5 -2
- data/lib/puppet/x509/cert_provider.rb +48 -12
- data/lib/puppet/x509/pem_store.rb +3 -1
- data/lib/puppet/x509.rb +2 -0
- data/lib/puppet.rb +22 -19
- data/lib/puppet_pal.rb +2 -0
- data/lib/puppet_x.rb +2 -0
- data/locales/puppet.pot +9723 -5
- data/man/man5/puppet.conf.5 +121 -912
- data/man/man8/puppet-agent.8 +39 -107
- data/man/man8/puppet-apply.8 +18 -51
- data/man/man8/puppet-catalog.8 +25 -122
- data/man/man8/puppet-config.8 +22 -70
- data/man/man8/puppet-describe.8 +6 -22
- data/man/man8/puppet-device.8 +13 -49
- data/man/man8/puppet-doc.8 +8 -24
- data/man/man8/puppet-epp.8 +23 -168
- data/man/man8/puppet-facts.8 +14 -92
- data/man/man8/puppet-filebucket.8 +22 -54
- data/man/man8/puppet-generate.8 +5 -35
- data/man/man8/puppet-help.8 +8 -29
- data/man/man8/puppet-lookup.8 +25 -61
- data/man/man8/puppet-module.8 +19 -124
- data/man/man8/puppet-node.8 +47 -68
- data/man/man8/puppet-parser.8 +12 -55
- data/man/man8/puppet-plugin.8 +10 -33
- data/man/man8/puppet-report.8 +10 -53
- data/man/man8/puppet-resource.8 +19 -44
- data/man/man8/puppet-script.8 +11 -33
- data/man/man8/puppet-ssl.8 +12 -30
- data/man/man8/puppet.8 +90 -20
- data/tasks/tag.rake +34 -0
- metadata +77 -65
- data/CONTRIBUTING.md +0 -161
- data/examples/hiera/etc/hiera.yaml +0 -15
- data/examples/hiera/etc/hieradb/common.yaml +0 -3
- data/examples/hiera/etc/hieradb/dc1.yaml +0 -6
- data/examples/hiera/etc/hieradb/development.yaml +0 -2
- data/examples/hiera/etc/puppet.conf +0 -3
- data/examples/hiera/modules/data/manifests/common.pp +0 -4
- data/examples/hiera/modules/ntp/manifests/data.pp +0 -4
- data/examples/hiera/modules/ntp/templates/ntp.conf.erb +0 -3
- data/examples/hiera/modules/users/manifests/development.pp +0 -4
- data/lib/puppet/external/pson/common.rb +0 -374
- data/lib/puppet/external/pson/pure/generator.rb +0 -395
- data/lib/puppet/external/pson/pure/parser.rb +0 -308
- data/lib/puppet/external/pson/pure.rb +0 -15
- data/lib/puppet/external/pson/version.rb +0 -8
- data/lib/puppet/module_tool/contents_description.rb +0 -89
- data/tasks/benchmark.rake +0 -180
- data/tasks/ci.rake +0 -24
- data/tasks/generate_ast_model.rake +0 -90
- data/tasks/generate_cert_fixtures.rake +0 -194
- data/tasks/manpages.rake +0 -67
- data/tasks/memwalk.rake +0 -195
- data/tasks/parallel.rake +0 -410
- data/tasks/parser.rake +0 -22
- data/tasks/yard.rake +0 -59
data/lib/puppet/node.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require_relative '../puppet/indirector'
|
2
4
|
|
3
5
|
# A class for managing nodes, including their facts and environment.
|
@@ -21,7 +23,7 @@ class Puppet::Node
|
|
21
23
|
|
22
24
|
attr_reader :server_facts
|
23
25
|
|
24
|
-
ENVIRONMENT = 'environment'
|
26
|
+
ENVIRONMENT = 'environment'
|
25
27
|
|
26
28
|
def initialize_from_hash(data)
|
27
29
|
@name = data['name'] || (raise ArgumentError, _("No name provided in serialized data"))
|
@@ -46,7 +48,7 @@ class Puppet::Node
|
|
46
48
|
'environment' => environment.name.to_s,
|
47
49
|
}
|
48
50
|
result['classes'] = classes unless classes.empty?
|
49
|
-
serialized_params =
|
51
|
+
serialized_params = serializable_parameters
|
50
52
|
result['parameters'] = serialized_params unless serialized_params.empty?
|
51
53
|
result
|
52
54
|
end
|
@@ -58,9 +60,7 @@ class Puppet::Node
|
|
58
60
|
end
|
59
61
|
|
60
62
|
def environment
|
61
|
-
|
62
|
-
@environment
|
63
|
-
else
|
63
|
+
unless @environment
|
64
64
|
env = parameters[ENVIRONMENT]
|
65
65
|
if env
|
66
66
|
self.environment = env
|
@@ -74,8 +74,8 @@ class Puppet::Node
|
|
74
74
|
self.environment = Puppet.lookup(:environments).get!(Puppet[:environment])
|
75
75
|
end
|
76
76
|
|
77
|
-
@environment
|
78
77
|
end
|
78
|
+
@environment
|
79
79
|
end
|
80
80
|
|
81
81
|
def environment=(env)
|
@@ -91,7 +91,6 @@ class Puppet::Node
|
|
91
91
|
@parameters[ENVIRONMENT] = @environment.name.to_s
|
92
92
|
self.environment_name = @environment.name
|
93
93
|
end
|
94
|
-
@environment
|
95
94
|
end
|
96
95
|
|
97
96
|
def has_environment_instance?
|
@@ -100,6 +99,7 @@ class Puppet::Node
|
|
100
99
|
|
101
100
|
def initialize(name, options = {})
|
102
101
|
raise ArgumentError, _("Node names cannot be nil") unless name
|
102
|
+
|
103
103
|
@name = name
|
104
104
|
|
105
105
|
classes = options[:classes]
|
@@ -142,7 +142,7 @@ class Puppet::Node
|
|
142
142
|
raise error
|
143
143
|
end
|
144
144
|
|
145
|
-
|
145
|
+
unless @facts.nil?
|
146
146
|
@facts.sanitize
|
147
147
|
# facts should never modify the environment parameter
|
148
148
|
orig_param_env = @parameters[ENVIRONMENT]
|
@@ -174,7 +174,7 @@ class Puppet::Node
|
|
174
174
|
|
175
175
|
def add_server_facts(facts)
|
176
176
|
# Append the current environment to the list of server facts
|
177
|
-
@server_facts = facts.merge({ "environment" =>
|
177
|
+
@server_facts = facts.merge({ "environment" => environment.name.to_s })
|
178
178
|
|
179
179
|
# Merge the server facts into the parameters for the node
|
180
180
|
merge(facts)
|
@@ -189,7 +189,7 @@ class Puppet::Node
|
|
189
189
|
def split_name(name)
|
190
190
|
list = name.split(".")
|
191
191
|
tmp = []
|
192
|
-
list.each_with_index do |
|
192
|
+
list.each_with_index do |_short, i|
|
193
193
|
tmp << list[0..i].join(".")
|
194
194
|
end
|
195
195
|
tmp.reverse
|
@@ -228,7 +228,7 @@ class Puppet::Node
|
|
228
228
|
if trusted_param
|
229
229
|
# Blows up if it is a parameter as it will be set as $trusted by the compiler as if it was a variable
|
230
230
|
@parameters.delete('trusted')
|
231
|
-
unless trusted_param.is_a?(Hash) && %w
|
231
|
+
unless trusted_param.is_a?(Hash) && %w[authenticated certname extensions].all? { |key| trusted_param.has_key?(key) }
|
232
232
|
# trusted is some kind of garbage, do not resurrect
|
233
233
|
trusted_param = nil
|
234
234
|
end
|
@@ -245,7 +245,7 @@ class Puppet::Node
|
|
245
245
|
#
|
246
246
|
# Note that trusted_data should be a hash, but (2) and (4) are not
|
247
247
|
# hashes, so we to_h at the end
|
248
|
-
|
248
|
+
unless trusted_data
|
249
249
|
trusted = Puppet.lookup(:trusted_information) do
|
250
250
|
trusted_param || Puppet::Context::TrustedInformation.local(self)
|
251
251
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Puppet
|
2
4
|
module Pal
|
3
5
|
# A CatalogCompiler is a compiler that builds a catalog of resources and dependencies as a side effect of
|
@@ -8,7 +10,6 @@ module Pal
|
|
8
10
|
#
|
9
11
|
# @api public
|
10
12
|
class CatalogCompiler < Compiler
|
11
|
-
|
12
13
|
# @api private
|
13
14
|
def catalog
|
14
15
|
internal_compiler.catalog
|
@@ -62,7 +63,6 @@ module Pal
|
|
62
63
|
end
|
63
64
|
end
|
64
65
|
|
65
|
-
|
66
66
|
# Compiles the result of additional evaluation taking place in a PAL catalog compilation.
|
67
67
|
# This will evaluate all lazy constructs until all have been evaluated, and will the validate
|
68
68
|
# the result.
|
@@ -103,6 +103,5 @@ module Pal
|
|
103
103
|
internal_compiler.evaluate_ast_node
|
104
104
|
end
|
105
105
|
end
|
106
|
-
|
107
106
|
end
|
108
107
|
end
|
data/lib/puppet/pal/compiler.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Puppet
|
2
4
|
module Pal
|
3
|
-
|
4
5
|
# A configured compiler as obtained in the callback from `Puppet::Pal.with_script_compiler`.
|
5
6
|
# (Later, there may also be a catalog compiler available.)
|
6
7
|
#
|
@@ -24,8 +25,8 @@ module Pal
|
|
24
25
|
#
|
25
26
|
def call_function(function_name, *args, &block)
|
26
27
|
# TRANSLATORS: do not translate variable name strings in these assertions
|
27
|
-
Pal
|
28
|
-
Pal
|
28
|
+
Pal.assert_non_empty_string(function_name, 'function_name', false)
|
29
|
+
Pal.assert_type(Pal::T_ANY_ARRAY, args, 'args', false)
|
29
30
|
internal_evaluator.evaluator.external_call_function(function_name, args, topscope, &block)
|
30
31
|
end
|
31
32
|
|
@@ -45,6 +46,7 @@ module Pal
|
|
45
46
|
if func
|
46
47
|
return FunctionSignature.new(func.class)
|
47
48
|
end
|
49
|
+
|
48
50
|
# Could not find function
|
49
51
|
nil
|
50
52
|
end
|
@@ -86,6 +88,7 @@ module Pal
|
|
86
88
|
unless puppet_code.is_a?(String)
|
87
89
|
raise ArgumentError, _("The argument 'puppet_code' must be a String, got %{type}") % { type: puppet_code.class }
|
88
90
|
end
|
91
|
+
|
89
92
|
evaluate(parse_string(puppet_code, source_file))
|
90
93
|
end
|
91
94
|
|
@@ -140,6 +143,7 @@ module Pal
|
|
140
143
|
unless code_string.is_a?(String)
|
141
144
|
raise ArgumentError, _("The argument 'code_string' must be a String, got %{type}") % { type: code_string.class }
|
142
145
|
end
|
146
|
+
|
143
147
|
internal_evaluator.parse_string(code_string, source_file)
|
144
148
|
end
|
145
149
|
|
@@ -153,6 +157,7 @@ module Pal
|
|
153
157
|
unless file.is_a?(String)
|
154
158
|
raise ArgumentError, _("The argument 'file' must be a String, got %{type}") % { type: file.class }
|
155
159
|
end
|
160
|
+
|
156
161
|
internal_evaluator.parse_file(file)
|
157
162
|
end
|
158
163
|
|
@@ -188,8 +193,9 @@ module Pal
|
|
188
193
|
def create(data_type, *arguments)
|
189
194
|
t = data_type.is_a?(String) ? type(data_type) : data_type
|
190
195
|
unless t.is_a?(Puppet::Pops::Types::PAnyType)
|
191
|
-
raise ArgumentError, _("Given data_type value is not a data type, got '%{type}'") % {type: t.class}
|
196
|
+
raise ArgumentError, _("Given data_type value is not a data type, got '%{type}'") % { type: t.class }
|
192
197
|
end
|
198
|
+
|
193
199
|
call_function('new', t, *arguments)
|
194
200
|
end
|
195
201
|
|
@@ -207,7 +213,7 @@ module Pal
|
|
207
213
|
if filter_regex.nil?
|
208
214
|
loader.discover(kind, error_collector)
|
209
215
|
else
|
210
|
-
loader.discover(kind, error_collector) {|f| f.name =~ filter_regex }
|
216
|
+
loader.discover(kind, error_collector) { |f| f.name =~ filter_regex }
|
211
217
|
end
|
212
218
|
end
|
213
219
|
|
@@ -217,6 +223,5 @@ module Pal
|
|
217
223
|
internal_compiler.topscope
|
218
224
|
end
|
219
225
|
end
|
220
|
-
|
221
226
|
end
|
222
227
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Puppet
|
2
4
|
module Pal
|
3
5
|
# A FunctionSignature is returned from `function_signature`. Its purpose is to answer questions about the function's parameters
|
@@ -25,12 +27,13 @@ module Pal
|
|
25
27
|
# @return [Boolean] true if the function can be called with given args + block, and false otherwise
|
26
28
|
# @api public
|
27
29
|
#
|
28
|
-
def callable_with?(args, callable=nil)
|
30
|
+
def callable_with?(args, callable = nil)
|
29
31
|
signatures = @func.dispatcher.to_type
|
30
32
|
callables = signatures.is_a?(Puppet::Pops::Types::PVariantType) ? signatures.types : [signatures]
|
31
33
|
|
32
|
-
return true if callables.any? {|t| t.callable_with?(args) }
|
34
|
+
return true if callables.any? { |t| t.callable_with?(args) }
|
33
35
|
return false unless block_given?
|
36
|
+
|
34
37
|
args_type = Puppet::Pops::Types::TypeCalculator.singleton.infer_set(callable.nil? ? args : args + [callable])
|
35
38
|
error_message = Puppet::Pops::Types::TypeMismatchDescriber.describe_signatures(@func.name, @func.signatures, args_type)
|
36
39
|
yield error_message
|
@@ -47,6 +50,5 @@ module Pal
|
|
47
50
|
signatures.is_a?(Puppet::Pops::Types::PVariantType) ? signatures.types : [signatures]
|
48
51
|
end
|
49
52
|
end
|
50
|
-
|
51
53
|
end
|
52
54
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# The JsonCatalogEncoder is a wrapper around a catalog produced by the Pal::CatalogCompiler.with_json_encoding
|
2
4
|
# method.
|
3
5
|
# It allows encoding the entire catalog or an individual resource as Rich Data Json.
|
@@ -52,8 +54,10 @@ class JsonCatalogEncoder
|
|
52
54
|
#
|
53
55
|
# TRANSLATORS 'type' and 'title' are internal parameter names - do not translate
|
54
56
|
raise ArgumentError, _("Both type and title must be given") if type.nil? or title.nil?
|
57
|
+
|
55
58
|
r = possibly_filtered_catalog.resource(type, title)
|
56
59
|
return nil if r.nil?
|
60
|
+
|
57
61
|
r.to_data_hash.to_json(:pretty => pretty)
|
58
62
|
end
|
59
63
|
|
@@ -61,11 +65,12 @@ class JsonCatalogEncoder
|
|
61
65
|
# or the catalog itself if filtering was not needed.
|
62
66
|
# The result is cached.
|
63
67
|
# @api private
|
64
|
-
#
|
68
|
+
# rubocop:disable Naming/MemoizedInstanceVariableName
|
65
69
|
def possibly_filtered_catalog
|
66
|
-
@filtered ||= (exclude_virtual ? catalog.filter
|
70
|
+
@filtered ||= (exclude_virtual ? catalog.filter(&:virtual?) : catalog)
|
67
71
|
end
|
68
72
|
private :possibly_filtered_catalog
|
73
|
+
# rubocop:enable Naming/MemoizedInstanceVariableName
|
69
74
|
end
|
70
75
|
end
|
71
76
|
end
|
data/lib/puppet/pal/pal_api.rb
CHANGED
data/lib/puppet/pal/pal_impl.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# Puppet as a Library "PAL"
|
2
4
|
|
3
5
|
# Yes, this requires all of puppet for now because 'settings' and many other things...
|
@@ -27,7 +29,6 @@ module Puppet
|
|
27
29
|
#
|
28
30
|
# @api public
|
29
31
|
module Pal
|
30
|
-
|
31
32
|
# Defines a context in which multiple operations in an env with a script compiler can be performed in a given block.
|
32
33
|
# The calls that takes place to PAL inside of the given block are all with the same instance of the compiler.
|
33
34
|
# The parameter `configured_by_env` makes it possible to either use the configuration in the environment, or specify
|
@@ -56,14 +57,14 @@ module Pal
|
|
56
57
|
# @yieldparam [Puppet::Pal::ScriptCompiler] compiler, a ScriptCompiler to perform operations on.
|
57
58
|
#
|
58
59
|
def self.with_script_compiler(
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
60
|
+
configured_by_env: false,
|
61
|
+
manifest_file: nil,
|
62
|
+
code_string: nil,
|
63
|
+
facts: {},
|
64
|
+
variables: {},
|
65
|
+
set_local_facts: true,
|
66
|
+
&block
|
67
|
+
)
|
67
68
|
# TRANSLATORS: do not translate variable name strings in these assertions
|
68
69
|
assert_mutually_exclusive(manifest_file, code_string, 'manifest_file', 'code_string')
|
69
70
|
assert_non_empty_string(manifest_file, 'manifest_file', true)
|
@@ -75,15 +76,14 @@ module Pal
|
|
75
76
|
# TRANSLATORS: do not translate the variable names in this error message
|
76
77
|
raise ArgumentError, _("manifest_file or code_string cannot be given when configured_by_env is true")
|
77
78
|
end
|
79
|
+
|
78
80
|
# Use the manifest setting
|
79
81
|
manifest_file = Puppet[:manifest]
|
80
|
-
|
82
|
+
elsif manifest_file.nil? && code_string.nil?
|
81
83
|
# An "undef" code_string is the only way to override Puppet[:manifest] & Puppet[:code] settings since an
|
82
84
|
# empty string is taken as Puppet[:code] not being set.
|
83
85
|
#
|
84
|
-
|
85
|
-
code_string = 'undef'
|
86
|
-
end
|
86
|
+
code_string = 'undef'
|
87
87
|
end
|
88
88
|
|
89
89
|
previous_tasks_value = Puppet[:tasks]
|
@@ -95,11 +95,11 @@ module Pal
|
|
95
95
|
# If manifest_file is nil, the #main method will use the env configured manifest
|
96
96
|
# to do things in the block while a Script Compiler is in effect
|
97
97
|
main(
|
98
|
-
manifest:
|
99
|
-
facts:
|
100
|
-
variables:
|
98
|
+
manifest: manifest_file,
|
99
|
+
facts: facts,
|
100
|
+
variables: variables,
|
101
101
|
internal_compiler_class: :script,
|
102
|
-
set_local_facts:
|
102
|
+
set_local_facts: set_local_facts,
|
103
103
|
&block
|
104
104
|
)
|
105
105
|
ensure
|
@@ -163,12 +163,12 @@ module Pal
|
|
163
163
|
#
|
164
164
|
def self.with_catalog_compiler(
|
165
165
|
configured_by_env: false,
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
166
|
+
manifest_file: nil,
|
167
|
+
code_string: nil,
|
168
|
+
facts: {},
|
169
|
+
variables: {},
|
170
|
+
target_variables: {},
|
171
|
+
&block
|
172
172
|
)
|
173
173
|
# TRANSLATORS: do not translate variable name strings in these assertions
|
174
174
|
assert_mutually_exclusive(manifest_file, code_string, 'manifest_file', 'code_string')
|
@@ -181,15 +181,14 @@ module Pal
|
|
181
181
|
# TRANSLATORS: do not translate the variable names in this error message
|
182
182
|
raise ArgumentError, _("manifest_file or code_string cannot be given when configured_by_env is true")
|
183
183
|
end
|
184
|
+
|
184
185
|
# Use the manifest setting
|
185
186
|
manifest_file = Puppet[:manifest]
|
186
|
-
|
187
|
+
elsif manifest_file.nil? && code_string.nil?
|
187
188
|
# An "undef" code_string is the only way to override Puppet[:manifest] & Puppet[:code] settings since an
|
188
189
|
# empty string is taken as Puppet[:code] not being set.
|
189
190
|
#
|
190
|
-
|
191
|
-
code_string = 'undef'
|
192
|
-
end
|
191
|
+
code_string = 'undef'
|
193
192
|
end
|
194
193
|
|
195
194
|
# We need to make sure to set these back when we're done
|
@@ -203,12 +202,12 @@ module Pal
|
|
203
202
|
# If manifest_file is nil, the #main method will use the env configured manifest
|
204
203
|
# to do things in the block while a Script Compiler is in effect
|
205
204
|
main(
|
206
|
-
manifest:
|
207
|
-
facts:
|
208
|
-
variables:
|
209
|
-
target_variables:
|
205
|
+
manifest: manifest_file,
|
206
|
+
facts: facts,
|
207
|
+
variables: variables,
|
208
|
+
target_variables: target_variables,
|
210
209
|
internal_compiler_class: :catalog,
|
211
|
-
set_local_facts:
|
210
|
+
set_local_facts: false,
|
212
211
|
&block
|
213
212
|
)
|
214
213
|
ensure
|
@@ -229,12 +228,11 @@ module Pal
|
|
229
228
|
# @yieldparam [Puppet::Pal] context, a context that responds to Puppet::Pal methods
|
230
229
|
#
|
231
230
|
def self.in_tmp_environment(env_name,
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
)
|
231
|
+
modulepath: [],
|
232
|
+
settings_hash: {},
|
233
|
+
facts: nil,
|
234
|
+
variables: {},
|
235
|
+
&block)
|
238
236
|
assert_non_empty_string(env_name, _("temporary environment name"))
|
239
237
|
# TRANSLATORS: do not translate variable name string in these assertions
|
240
238
|
assert_optionally_empty_array(modulepath, 'modulepath')
|
@@ -248,7 +246,7 @@ module Pal
|
|
248
246
|
in_environment_context(
|
249
247
|
Puppet::Environments::Static.new(env), # The tmp env is the only known env
|
250
248
|
env, facts, variables, &block
|
251
|
-
|
249
|
+
)
|
252
250
|
end
|
253
251
|
|
254
252
|
# Defines the context in which to perform puppet operations (evaluation, etc)
|
@@ -277,16 +275,15 @@ module Pal
|
|
277
275
|
#
|
278
276
|
# @api public
|
279
277
|
def self.in_environment(env_name,
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
)
|
278
|
+
modulepath: nil,
|
279
|
+
pre_modulepath: [],
|
280
|
+
post_modulepath: [],
|
281
|
+
settings_hash: {},
|
282
|
+
env_dir: nil,
|
283
|
+
envpath: nil,
|
284
|
+
facts: nil,
|
285
|
+
variables: {},
|
286
|
+
&block)
|
290
287
|
# TRANSLATORS terms in the assertions below are names of terms in code
|
291
288
|
assert_non_empty_string(env_name, 'env_name')
|
292
289
|
assert_optionally_empty_array(modulepath, 'modulepath', true)
|
@@ -325,6 +322,7 @@ module Pal
|
|
325
322
|
if env.nil?
|
326
323
|
raise ArgumentError, _("No directory found for the environment '%{env_name}' on the path '%{envpath}'") % { env_name: env_name, envpath: envpath }
|
327
324
|
end
|
325
|
+
|
328
326
|
# A given modulepath should override the default
|
329
327
|
mid_modulepath = modulepath.nil? ? env.modulepath : modulepath
|
330
328
|
env_path = env.configuration.path_to_env
|
@@ -381,7 +379,7 @@ module Pal
|
|
381
379
|
end
|
382
380
|
|
383
381
|
rich_data_t = Puppet::Pops::Types::TypeFactory.rich_data
|
384
|
-
variables.each_pair do |k,v|
|
382
|
+
variables.each_pair do |k, v|
|
385
383
|
unless k =~ Puppet::Pops::Patterns::VAR_NAME
|
386
384
|
raise ArgumentError, _("Given variable '%{varname}' has illegal name") % { varname: k }
|
387
385
|
end
|
@@ -444,67 +442,63 @@ module Pal
|
|
444
442
|
node.environment = apply_environment
|
445
443
|
|
446
444
|
# TRANSLATORS, the string "For puppet PAL" is not user facing
|
447
|
-
Puppet.override({:current_environment => apply_environment}, "For puppet PAL") do
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
end
|
445
|
+
Puppet.override({ :current_environment => apply_environment }, "For puppet PAL") do
|
446
|
+
node.sanitize()
|
447
|
+
compiler = create_internal_compiler(internal_compiler_class, node)
|
448
|
+
|
449
|
+
case internal_compiler_class
|
450
|
+
when :script
|
451
|
+
pal_compiler = ScriptCompiler.new(compiler)
|
452
|
+
overrides[:pal_script_compiler] = overrides[:pal_compiler] = pal_compiler
|
453
|
+
when :catalog
|
454
|
+
pal_compiler = CatalogCompiler.new(compiler)
|
455
|
+
overrides[:pal_catalog_compiler] = overrides[:pal_compiler] = pal_compiler
|
456
|
+
end
|
460
457
|
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
458
|
+
# When scripting the trusted data are always local; default is to set them anyway
|
459
|
+
# When compiling for a catalog, the catalog compiler does this
|
460
|
+
if set_local_facts
|
461
|
+
compiler.topscope.set_trusted(node.trusted_data)
|
465
462
|
|
466
|
-
|
467
|
-
|
463
|
+
# Server facts are always about the local node's version etc.
|
464
|
+
compiler.topscope.set_server_facts(node.server_facts)
|
468
465
|
|
469
|
-
|
470
|
-
|
471
|
-
|
466
|
+
# Set $facts for the node running the script
|
467
|
+
facts_hash = node.facts.nil? ? {} : node.facts.values
|
468
|
+
compiler.topscope.set_facts(facts_hash)
|
472
469
|
|
473
|
-
|
474
|
-
|
475
|
-
|
470
|
+
# create the $settings:: variables
|
471
|
+
compiler.topscope.merge_settings(node.environment.name, false)
|
472
|
+
end
|
476
473
|
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
|
495
|
-
|
496
|
-
end
|
474
|
+
# Make compiler available to Puppet#lookup and injection in functions
|
475
|
+
# TODO: The compiler instances should be available under non PAL use as well!
|
476
|
+
# TRANSLATORS: Do not translate, symbolic name
|
477
|
+
Puppet.override(overrides, "PAL::with_#{internal_compiler_class}_compiler") do
|
478
|
+
compiler.compile do |_compiler_yield|
|
479
|
+
# In case the variables passed to the compiler are PCore types defined in modules, they
|
480
|
+
# need to be deserialized and added from within the this scope, so that loaders are
|
481
|
+
# available during deserizlization.
|
482
|
+
pal_variables = Puppet::Pops::Serialization::FromDataConverter.convert(pal_variables)
|
483
|
+
variables = Puppet::Pops::Serialization::FromDataConverter.convert(variables)
|
484
|
+
|
485
|
+
# Merge together target variables and plan variables. This will also shadow any
|
486
|
+
# collisions with facts and emit a warning.
|
487
|
+
topscope_vars = pal_variables.merge(merge_vars(target_variables, variables, node.facts.values))
|
488
|
+
|
489
|
+
add_variables(compiler.topscope, topscope_vars)
|
490
|
+
# wrap the internal compiler to prevent it from leaking in the PAL API
|
491
|
+
if block_given?
|
492
|
+
yield(pal_compiler)
|
497
493
|
end
|
498
494
|
end
|
499
|
-
|
500
|
-
rescue Puppet::Error
|
501
|
-
# already logged and handled by the compiler, including Puppet::ParseErrorWithIssue
|
502
|
-
raise
|
503
|
-
|
504
|
-
rescue => detail
|
505
|
-
Puppet.log_exception(detail)
|
506
|
-
raise
|
507
495
|
end
|
496
|
+
rescue Puppet::Error
|
497
|
+
# already logged and handled by the compiler, including Puppet::ParseErrorWithIssue
|
498
|
+
raise
|
499
|
+
rescue => detail
|
500
|
+
Puppet.log_exception(detail)
|
501
|
+
raise
|
508
502
|
end
|
509
503
|
end
|
510
504
|
private_class_method :main
|
@@ -558,17 +552,18 @@ module Pal
|
|
558
552
|
T_BOOLEAN = Puppet::Pops::Types::PBooleanType::DEFAULT
|
559
553
|
|
560
554
|
T_GENERIC_TASK_HASH = Puppet::Pops::Types::TypeFactory.hash_kv(
|
561
|
-
Puppet::Pops::Types::TypeFactory.pattern(/\A[a-z][a-z0-9_]*\z/), Puppet::Pops::Types::TypeFactory.data
|
555
|
+
Puppet::Pops::Types::TypeFactory.pattern(/\A[a-z][a-z0-9_]*\z/), Puppet::Pops::Types::TypeFactory.data
|
556
|
+
)
|
562
557
|
|
563
|
-
def self.assert_type(type, value, what, allow_nil=false)
|
564
|
-
Puppet::Pops::Types::TypeAsserter.assert_instance_of(nil, type, value, allow_nil) { _('Puppet Pal: %{what}') % {what: what} }
|
558
|
+
def self.assert_type(type, value, what, allow_nil = false)
|
559
|
+
Puppet::Pops::Types::TypeAsserter.assert_instance_of(nil, type, value, allow_nil) { _('Puppet Pal: %{what}') % { what: what } }
|
565
560
|
end
|
566
561
|
|
567
|
-
def self.assert_non_empty_string(s, what, allow_nil=false)
|
562
|
+
def self.assert_non_empty_string(s, what, allow_nil = false)
|
568
563
|
assert_type(T_STRING, s, what, allow_nil)
|
569
564
|
end
|
570
565
|
|
571
|
-
def self.assert_optionally_empty_array(a, what, allow_nil=false)
|
566
|
+
def self.assert_optionally_empty_array(a, what, allow_nil = false)
|
572
567
|
assert_type(T_STRING_ARRAY, a, what, allow_nil)
|
573
568
|
end
|
574
569
|
private_class_method :assert_optionally_empty_array
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Puppet
|
2
4
|
module Pal
|
3
5
|
# A PlanSignature is returned from `plan_signature`. Its purpose is to answer questions about the plans's parameters
|
@@ -47,8 +49,9 @@ module Pal
|
|
47
49
|
|
48
50
|
errors = Puppet::Pops::Types::TypeMismatchDescriber.singleton.describe_struct_signature(dispatcher.params_struct, param_scope).flatten
|
49
51
|
return true if errors.empty?
|
52
|
+
|
50
53
|
if block_given?
|
51
|
-
yield errors.map
|
54
|
+
yield errors.map(&:format).join("\n")
|
52
55
|
end
|
53
56
|
false
|
54
57
|
end
|
@@ -66,6 +69,5 @@ module Pal
|
|
66
69
|
dispatcher.params_struct
|
67
70
|
end
|
68
71
|
end
|
69
|
-
|
70
72
|
end
|
71
73
|
end
|
@@ -1,6 +1,7 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Puppet
|
2
4
|
module Pal
|
3
|
-
|
4
5
|
class ScriptCompiler < Compiler
|
5
6
|
# Returns the signature of the given plan name
|
6
7
|
# @param plan_name [String] the name of the plan to get the signature of
|
@@ -12,6 +13,7 @@ module Pal
|
|
12
13
|
if func
|
13
14
|
return PlanSignature.new(func)
|
14
15
|
end
|
16
|
+
|
15
17
|
# Could not find plan
|
16
18
|
nil
|
17
19
|
end
|
@@ -45,6 +47,7 @@ module Pal
|
|
45
47
|
if task
|
46
48
|
return TaskSignature.new(task)
|
47
49
|
end
|
50
|
+
|
48
51
|
# Could not find task
|
49
52
|
nil
|
50
53
|
end
|
@@ -68,6 +71,5 @@ module Pal
|
|
68
71
|
list_loadable_kind(:task, filter_regex, error_collector)
|
69
72
|
end
|
70
73
|
end
|
71
|
-
|
72
74
|
end
|
73
75
|
end
|