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,8 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
module Puppet::Pops
|
3
4
|
module Types
|
4
5
|
class PURIType < PAnyType
|
5
|
-
|
6
6
|
# Tell evaluator that an members of instances of this type can be invoked using dot notation
|
7
7
|
include TypeWithMembers
|
8
8
|
|
@@ -37,20 +37,26 @@ class PURIType < PAnyType
|
|
37
37
|
TypeFactory.optional(OPAQUE) => PStringType::NON_EMPTY,
|
38
38
|
)
|
39
39
|
|
40
|
-
TYPE_STRING_PARAM =
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
40
|
+
TYPE_STRING_PARAM =
|
41
|
+
TypeFactory
|
42
|
+
.optional(PVariantType
|
43
|
+
.new([
|
44
|
+
PStringType::NON_EMPTY,
|
45
|
+
PRegexpType::DEFAULT,
|
46
|
+
TypeFactory.type_type(PPatternType::DEFAULT),
|
47
|
+
TypeFactory.type_type(PEnumType::DEFAULT),
|
48
|
+
TypeFactory.type_type(PNotUndefType::DEFAULT),
|
49
|
+
TypeFactory.type_type(PUndefType::DEFAULT),
|
50
|
+
]))
|
51
|
+
|
52
|
+
TYPE_INTEGER_PARAM =
|
53
|
+
TypeFactory
|
54
|
+
.optional(PVariantType
|
55
|
+
.new([
|
56
|
+
PIntegerType.new(0),
|
57
|
+
TypeFactory.type_type(PNotUndefType::DEFAULT),
|
58
|
+
TypeFactory.type_type(PUndefType::DEFAULT),
|
59
|
+
]))
|
54
60
|
|
55
61
|
TYPE_URI_PARAM_HASH_TYPE = TypeFactory.struct(
|
56
62
|
TypeFactory.optional(SCHEME) => TYPE_STRING_PARAM,
|
@@ -67,9 +73,9 @@ class PURIType < PAnyType
|
|
67
73
|
|
68
74
|
def self.register_ptype(loader, ir)
|
69
75
|
create_ptype(loader, ir, 'AnyType',
|
70
|
-
|
71
|
-
|
72
|
-
|
76
|
+
{
|
77
|
+
'parameters' => { KEY_TYPE => TypeFactory.optional(TYPE_URI_PARAM_TYPE), KEY_VALUE => nil }
|
78
|
+
}
|
73
79
|
)
|
74
80
|
end
|
75
81
|
|
@@ -152,6 +158,7 @@ class PURIType < PAnyType
|
|
152
158
|
def _assignable?(o, guard = nil)
|
153
159
|
return false unless o.class == self.class
|
154
160
|
return true if @parameters.nil?
|
161
|
+
|
155
162
|
o_params = o.parameters || EMPTY_HASH
|
156
163
|
|
157
164
|
eval = Parser::EvaluatingParser.singleton.evaluator
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
module Puppet::Pops
|
3
4
|
module Types
|
4
5
|
# Keeps track of self recursion of conceptual 'this' and 'that' instances using two separate maps and
|
@@ -8,6 +9,10 @@ module Types
|
|
8
9
|
#
|
9
10
|
# All comparisons are made using the `object_id` of the instance rather than the instance itself.
|
10
11
|
#
|
12
|
+
# Hash#compare_by_identity is intentionally not used since we only need to keep
|
13
|
+
# track of object ids we've seen before, based on object_id, so we don't store
|
14
|
+
# entire objects in memory.
|
15
|
+
#
|
11
16
|
# @api private
|
12
17
|
class RecursionGuard
|
13
18
|
attr_reader :state
|
@@ -25,14 +30,14 @@ class RecursionGuard
|
|
25
30
|
# @param instance [Object] the instance to check
|
26
31
|
# @return [Integer] the resulting state
|
27
32
|
def recursive_this?(instance)
|
28
|
-
instance_variable_defined?(:@recursive_this_map) && @recursive_this_map.has_key?(instance.object_id)
|
33
|
+
instance_variable_defined?(:@recursive_this_map) && @recursive_this_map.has_key?(instance.object_id) # rubocop:disable Lint/HashCompareByIdentity
|
29
34
|
end
|
30
35
|
|
31
36
|
# Checks if recursion was detected for the given argument in the 'that' context
|
32
37
|
# @param instance [Object] the instance to check
|
33
38
|
# @return [Integer] the resulting state
|
34
39
|
def recursive_that?(instance)
|
35
|
-
instance_variable_defined?(:@recursive_that_map) && @recursive_that_map.has_key?(instance.object_id)
|
40
|
+
instance_variable_defined?(:@recursive_that_map) && @recursive_that_map.has_key?(instance.object_id) # rubocop:disable Lint/HashCompareByIdentity
|
36
41
|
end
|
37
42
|
|
38
43
|
# Add the given argument as 'this' invoke the given block with the resulting state
|
@@ -1,10 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
module Puppet::Pops
|
3
4
|
module Types
|
4
|
-
|
5
5
|
# @api private
|
6
6
|
class RubyGenerator < TypeFormatter
|
7
|
-
|
8
7
|
RUBY_RESERVED_WORDS = {
|
9
8
|
'alias' => '_alias',
|
10
9
|
'begin' => '_begin',
|
@@ -45,6 +44,7 @@ class RubyGenerator < TypeFormatter
|
|
45
44
|
segments = name.split(TypeFormatter::NAME_SEGMENT_SEPARATOR)
|
46
45
|
namespace_segments.size.times do |idx|
|
47
46
|
break if segments.empty? || namespace_segments[idx] != segments[0]
|
47
|
+
|
48
48
|
segments.shift
|
49
49
|
end
|
50
50
|
segments
|
@@ -70,6 +70,7 @@ class RubyGenerator < TypeFormatter
|
|
70
70
|
hash[key] = cls
|
71
71
|
end
|
72
72
|
raise ArgumentError, "Expected a Puppet Type, got '#{obj.class.name}'" unless obj.is_a?(PAnyType)
|
73
|
+
|
73
74
|
@dynamic_classes[obj]
|
74
75
|
end
|
75
76
|
|
@@ -105,6 +106,7 @@ class RubyGenerator < TypeFormatter
|
|
105
106
|
min_prefix_length.times do |idx|
|
106
107
|
segment = segments_array[0][idx]
|
107
108
|
break unless segments_array.all? { |sn| sn[idx] == segment }
|
109
|
+
|
108
110
|
common_prefix << segment
|
109
111
|
end
|
110
112
|
|
@@ -159,6 +161,7 @@ class RubyGenerator < TypeFormatter
|
|
159
161
|
ir = Loaders.implementation_registry
|
160
162
|
impl_name = ir.module_name_for_type(type)
|
161
163
|
raise Puppet::Error, "Unable to create an instance of #{type.name}. No mapping exists to runtime object" if impl_name.nil?
|
164
|
+
|
162
165
|
impl_name
|
163
166
|
end
|
164
167
|
end
|
@@ -363,7 +366,7 @@ class RubyGenerator < TypeFormatter
|
|
363
366
|
if array_type?(cp.type)
|
364
367
|
bld << ' @' << rname(cp.name) << ".each { |value| yield(value) }\n"
|
365
368
|
else
|
366
|
-
bld << ' yield(@' << rname(cp.name) << ') unless @' << rname(cp.name)
|
369
|
+
bld << ' yield(@' << rname(cp.name) << ') unless @' << rname(cp.name) << ".nil?\n"
|
367
370
|
end
|
368
371
|
end
|
369
372
|
bld << " end\n\n def _pcore_all_contents(path, &block)\n path << self\n"
|
@@ -405,7 +408,7 @@ class RubyGenerator < TypeFormatter
|
|
405
408
|
bld << "\n def eql?(o)\n"
|
406
409
|
bld << " super &&\n" unless obj.parent.nil?
|
407
410
|
bld << " o.instance_of?(self.class) &&\n" if include_type
|
408
|
-
eq_names.each { |eqn| bld << ' @' << rname(eqn) << '.eql?(o.' <<
|
411
|
+
eq_names.each { |eqn| bld << ' @' << rname(eqn) << '.eql?(o.' << rname(eqn) << ") &&\n" }
|
409
412
|
bld.chomp!(" &&\n")
|
410
413
|
bld << "\n end\n alias == eql?\n"
|
411
414
|
end
|
@@ -1,15 +1,16 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
module Puppet::Pops
|
3
4
|
module Types
|
4
5
|
class RubyMethod < Annotation
|
5
6
|
# Register the Annotation type. This is the type that all custom Annotations will inherit from.
|
6
7
|
def self.register_ptype(loader, ir)
|
7
8
|
@type = Pcore::create_object_type(loader, ir, self, 'RubyMethod', 'Annotation',
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
9
|
+
'body' => PStringType::DEFAULT,
|
10
|
+
'parameters' => {
|
11
|
+
KEY_TYPE => POptionalType.new(PStringType::NON_EMPTY),
|
12
|
+
KEY_VALUE => nil
|
13
|
+
}
|
13
14
|
)
|
14
15
|
end
|
15
16
|
|
@@ -1,16 +1,15 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require_relative '../../../puppet/concurrent/thread_local_singleton'
|
3
4
|
|
4
5
|
module Puppet::Pops
|
5
6
|
module Types
|
6
|
-
|
7
7
|
# Converts Puppet runtime objects to String under the control of a Format.
|
8
8
|
# Use from Puppet Language is via the function `new`.
|
9
9
|
#
|
10
10
|
# @api private
|
11
11
|
#
|
12
12
|
class StringConverter
|
13
|
-
|
14
13
|
# @api private
|
15
14
|
class FormatError < ArgumentError
|
16
15
|
def initialize(type_string, actual, expected)
|
@@ -111,11 +110,13 @@ class StringConverter
|
|
111
110
|
unless @format.is_a?(String) && @format.length == 1
|
112
111
|
raise ArgumentError, "The format must be a one letter format specifier, got '#{@format}'"
|
113
112
|
end
|
113
|
+
|
114
114
|
@format = @format.to_sym
|
115
115
|
flags = match[1].split('') || []
|
116
116
|
unless flags.uniq.size == flags.size
|
117
117
|
raise ArgumentError, "The same flag can only be used once, got '#{fmt}'"
|
118
118
|
end
|
119
|
+
|
119
120
|
@left = flags.include?('-')
|
120
121
|
@alt = flags.include?('#')
|
121
122
|
@plus = (flags.include?(' ') ? :space : (flags.include?('+') ? :plus : :ignore))
|
@@ -124,10 +125,11 @@ class StringConverter
|
|
124
125
|
@delimiters = nil
|
125
126
|
DELIMITERS.each do |d|
|
126
127
|
next unless flags.include?(d)
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
128
|
+
if !@delimiters.nil?
|
129
|
+
raise ArgumentError, "Only one of the delimiters [ { ( < | can be given in the format flags, got '#{fmt}'"
|
130
|
+
end
|
131
|
+
|
132
|
+
@delimiters = d
|
131
133
|
end
|
132
134
|
|
133
135
|
@width = match[2] ? match[2].to_i : nil
|
@@ -155,6 +157,7 @@ class StringConverter
|
|
155
157
|
unless lower && higher
|
156
158
|
return lower || higher
|
157
159
|
end
|
160
|
+
|
158
161
|
lower.merge(higher)
|
159
162
|
end
|
160
163
|
|
@@ -226,6 +229,7 @@ class StringConverter
|
|
226
229
|
0
|
227
230
|
end
|
228
231
|
end
|
232
|
+
|
229
233
|
# Returns an array with a delimiter pair derived from the format.
|
230
234
|
# If format does not contain a delimiter specification the given default is returned
|
231
235
|
#
|
@@ -260,7 +264,7 @@ class StringConverter
|
|
260
264
|
# (basically strings are quoted since they may contain a ','))
|
261
265
|
#
|
262
266
|
DEFAULT_CONTAINER_FORMATS = {
|
263
|
-
PAnyType::DEFAULT
|
267
|
+
PAnyType::DEFAULT => Format.new('%p').freeze, # quoted string (Ruby inspect)
|
264
268
|
}.freeze
|
265
269
|
|
266
270
|
DEFAULT_ARRAY_FORMAT = Format.new('%a')
|
@@ -279,13 +283,13 @@ class StringConverter
|
|
279
283
|
DEFAULT_ARRAY_DELIMITERS = ['[', ']'].freeze
|
280
284
|
|
281
285
|
DEFAULT_STRING_FORMATS = {
|
282
|
-
PObjectType::DEFAULT
|
283
|
-
PFloatType::DEFAULT
|
284
|
-
PNumericType::DEFAULT
|
285
|
-
PArrayType::DEFAULT
|
286
|
-
PHashType::DEFAULT
|
287
|
-
PBinaryType::DEFAULT
|
288
|
-
PAnyType::DEFAULT
|
286
|
+
PObjectType::DEFAULT => Format.new('%p').freeze, # call with initialization hash
|
287
|
+
PFloatType::DEFAULT => Format.new('%f').freeze, # float
|
288
|
+
PNumericType::DEFAULT => Format.new('%d').freeze, # decimal number
|
289
|
+
PArrayType::DEFAULT => DEFAULT_ARRAY_FORMAT.freeze,
|
290
|
+
PHashType::DEFAULT => DEFAULT_HASH_FORMAT.freeze,
|
291
|
+
PBinaryType::DEFAULT => Format.new('%B').freeze, # strict base64 string unquoted
|
292
|
+
PAnyType::DEFAULT => Format.new('%s').freeze, # unquoted string
|
289
293
|
}.freeze
|
290
294
|
|
291
295
|
DEFAULT_PARAMETER_FORMAT = {
|
@@ -487,8 +491,8 @@ class StringConverter
|
|
487
491
|
# add the format given for the exact type
|
488
492
|
string_formats = { Puppet::Pops::Types::PArrayType::DEFAULT => {'format' => string_formats }}
|
489
493
|
elsif Puppet::Pops::Types::PHashType::DEFAULT.assignable?(value_type)
|
490
|
-
|
491
|
-
|
494
|
+
# add the format given for the exact type
|
495
|
+
string_formats = { Puppet::Pops::Types::PHashType::DEFAULT => {'format' => string_formats }}
|
492
496
|
else
|
493
497
|
# add the format given for the exact type
|
494
498
|
string_formats = { value_type => string_formats }
|
@@ -497,7 +501,7 @@ class StringConverter
|
|
497
501
|
|
498
502
|
case string_formats
|
499
503
|
when :default
|
500
|
-
|
504
|
+
# do nothing, use default formats
|
501
505
|
|
502
506
|
when Hash
|
503
507
|
# Convert and validate user input
|
@@ -511,14 +515,14 @@ class StringConverter
|
|
511
515
|
_convert(value_type, value, options, DEFAULT_INDENTATION)
|
512
516
|
end
|
513
517
|
|
514
|
-
# # A method only used for manual debugging as the default output of the formatting rules is
|
515
|
-
# # very hard to read otherwise.
|
516
|
-
# #
|
517
|
-
# # @api private
|
518
|
-
# def dump_string_formats(f, indent = 1)
|
519
|
-
# return f.to_s unless f.is_a?(Hash)
|
520
|
-
# "{#{f.map {|k,v| "#{k.to_s} => #{dump_string_formats(v,indent+1)}"}.join(",\n#{' '*indent} ")}}"
|
521
|
-
# end
|
518
|
+
# # A method only used for manual debugging as the default output of the formatting rules is
|
519
|
+
# # very hard to read otherwise.
|
520
|
+
# #
|
521
|
+
# # @api private
|
522
|
+
# def dump_string_formats(f, indent = 1)
|
523
|
+
# return f.to_s unless f.is_a?(Hash)
|
524
|
+
# "{#{f.map {|k,v| "#{k.to_s} => #{dump_string_formats(v,indent+1)}"}.join(",\n#{' '*indent} ")}}"
|
525
|
+
# end
|
522
526
|
|
523
527
|
def _convert(val_type, value, format_map, indentation)
|
524
528
|
@string_visitor.visit_this_3(self, val_type, value, format_map, indentation)
|
@@ -530,11 +534,13 @@ class StringConverter
|
|
530
534
|
unless fmt.is_a?(Hash)
|
531
535
|
raise ArgumentError, "expected a hash with type to format mappings, got instance of '#{fmt.class}'"
|
532
536
|
end
|
537
|
+
|
533
538
|
fmt.reduce({}) do | result, entry|
|
534
539
|
key, value = entry
|
535
540
|
unless key.is_a?(Types::PAnyType)
|
536
541
|
raise ArgumentError, "top level keys in the format hash must be data types, got instance of '#{key.class}'"
|
537
542
|
end
|
543
|
+
|
538
544
|
if value.is_a?(Hash)
|
539
545
|
result[key] = validate_container_input(value)
|
540
546
|
else
|
@@ -551,6 +557,7 @@ class StringConverter
|
|
551
557
|
if (fmt.keys - FMT_KEYS).size > 0
|
552
558
|
raise ArgumentError, "only #{FMT_KEYS.map {|k| "'#{k}'"}.join(', ')} are allowed in a container format, got #{fmt}"
|
553
559
|
end
|
560
|
+
|
554
561
|
result = Format.new(fmt['format'])
|
555
562
|
result.separator = fmt['separator']
|
556
563
|
result.separator2 = fmt['separator2']
|
@@ -619,36 +626,37 @@ class StringConverter
|
|
619
626
|
def string_PDefaultType(val_type, val, format_map, _)
|
620
627
|
f = get_format(val_type, format_map)
|
621
628
|
apply_string_flags(f, case f.format
|
622
|
-
|
623
|
-
|
624
|
-
|
625
|
-
|
626
|
-
|
627
|
-
|
628
|
-
|
629
|
+
when :d, :s, :p
|
630
|
+
f.alt? ? '"default"' : 'default'
|
631
|
+
when :D
|
632
|
+
f.alt? ? '"Default"' : 'Default'
|
633
|
+
else
|
634
|
+
raise FormatError.new('Default', f.format, 'dDsp')
|
635
|
+
end)
|
629
636
|
end
|
630
637
|
|
631
638
|
# @api private
|
632
639
|
def string_PUndefType(val_type, val, format_map, _)
|
633
640
|
f = get_format(val_type, format_map)
|
634
641
|
apply_string_flags(f, case f.format
|
635
|
-
|
636
|
-
|
637
|
-
|
638
|
-
|
639
|
-
|
640
|
-
|
641
|
-
|
642
|
-
|
643
|
-
|
644
|
-
|
645
|
-
|
646
|
-
|
647
|
-
|
648
|
-
|
649
|
-
|
650
|
-
|
651
|
-
|
642
|
+
when :n
|
643
|
+
f.alt? ? 'null' : 'nil'
|
644
|
+
when :u
|
645
|
+
f.alt? ? 'undefined' : 'undef'
|
646
|
+
when :d, :x, :X, :o, :b, :B, :e, :E, :f, :g, :G, :a, :A
|
647
|
+
'NaN'
|
648
|
+
when :v
|
649
|
+
'n/a'
|
650
|
+
when :V
|
651
|
+
'N/A'
|
652
|
+
when :s
|
653
|
+
f.alt? ? '""' : ''
|
654
|
+
when :p
|
655
|
+
f.alt? ? '"undef"' : 'undef'
|
656
|
+
else
|
657
|
+
raise FormatError.new('Undef', f.format,
|
658
|
+
'nudxXobBeEfgGaAvVsp')
|
659
|
+
end)
|
652
660
|
end
|
653
661
|
|
654
662
|
# @api private
|
@@ -815,23 +823,23 @@ class StringConverter
|
|
815
823
|
|
816
824
|
when :c
|
817
825
|
c_val = val.capitalize
|
818
|
-
f.alt? ? apply_string_flags(f, puppet_quote(c_val)) :
|
826
|
+
f.alt? ? apply_string_flags(f, puppet_quote(c_val)) : Kernel.format(f.orig_fmt.tr('c', 's'), c_val)
|
819
827
|
|
820
828
|
when :C
|
821
829
|
c_val = val.split('::').map {|s| s.capitalize }.join('::')
|
822
|
-
f.alt? ? apply_string_flags(f, puppet_quote(c_val)) :
|
830
|
+
f.alt? ? apply_string_flags(f, puppet_quote(c_val)) : Kernel.format(f.orig_fmt.tr('C', 's'), c_val)
|
823
831
|
|
824
832
|
when :u
|
825
833
|
c_val = val.upcase
|
826
|
-
f.alt? ? apply_string_flags(f, puppet_quote(c_val)) :
|
834
|
+
f.alt? ? apply_string_flags(f, puppet_quote(c_val)) : Kernel.format(f.orig_fmt.tr('u', 's'), c_val)
|
827
835
|
|
828
836
|
when :d
|
829
837
|
c_val = val.downcase
|
830
|
-
f.alt? ? apply_string_flags(f, puppet_quote(c_val)) :
|
838
|
+
f.alt? ? apply_string_flags(f, puppet_quote(c_val)) : Kernel.format(f.orig_fmt.tr('d', 's'), c_val)
|
831
839
|
|
832
|
-
when :t
|
840
|
+
when :t # trim
|
833
841
|
c_val = val.strip
|
834
|
-
f.alt? ? apply_string_flags(f, puppet_quote(c_val)) :
|
842
|
+
f.alt? ? apply_string_flags(f, puppet_quote(c_val)) : Kernel.format(f.orig_fmt.tr('t', 's'), c_val)
|
835
843
|
|
836
844
|
else
|
837
845
|
raise FormatError.new('String', f.format, 'cCudspt')
|
@@ -1067,7 +1075,7 @@ class StringConverter
|
|
1067
1075
|
padding = children_indentation.padding
|
1068
1076
|
end
|
1069
1077
|
buf << delims[0]
|
1070
|
-
buf << cond_break
|
1078
|
+
buf << cond_break # break after opening delimiter if pretty printing
|
1071
1079
|
buf << val.map do |k,v|
|
1072
1080
|
key_type = TypeCalculator.infer_set(k)
|
1073
1081
|
val_type = TypeCalculator.infer_set(v)
|
@@ -1126,10 +1134,10 @@ class StringConverter
|
|
1126
1134
|
def get_format(val_t, format_options)
|
1127
1135
|
fmt = format_options.find {|k,_| k.assignable?(val_t) }
|
1128
1136
|
return fmt[1] unless fmt.nil?
|
1137
|
+
|
1129
1138
|
return Format.new("%s")
|
1130
1139
|
end
|
1131
1140
|
private :get_format
|
1132
|
-
|
1133
1141
|
end
|
1134
1142
|
end
|
1135
1143
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
module Puppet::Pops::Types
|
3
4
|
module Iterable
|
4
|
-
|
5
5
|
class TreeIterator
|
6
6
|
include Iterable
|
7
7
|
|
@@ -9,7 +9,7 @@ class TreeIterator
|
|
9
9
|
PArrayType::DEFAULT,
|
10
10
|
PHashType::DEFAULT,
|
11
11
|
PObjectType::DEFAULT
|
12
|
-
|
12
|
+
)
|
13
13
|
|
14
14
|
# Creates a TreeIterator that by default treats all Array, Hash and Object instances as
|
15
15
|
# containers - the 'containers' option can be set to a type that denotes which types of values
|
@@ -38,6 +38,7 @@ class TreeIterator
|
|
38
38
|
unless DEFAULT_CONTAINERS.assignable?(@containers_t)
|
39
39
|
raise ArgumentError, _("Only Array, Hash, and Object types can be used as container types. Got %{type}") % {type: @containers_t}
|
40
40
|
end
|
41
|
+
|
41
42
|
@with_root = extract_option(options, 'include_root', true)
|
42
43
|
@with_containers = extract_option(options, 'include_containers', true)
|
43
44
|
@with_values = extract_option(options, 'include_values', true)
|
@@ -45,6 +46,7 @@ class TreeIterator
|
|
45
46
|
unless @with_containers || @with_values
|
46
47
|
raise ArgumentError, _("Options 'include_containers' and 'include_values' cannot both be false")
|
47
48
|
end
|
49
|
+
|
48
50
|
@include_refs = !!options['include_refs']
|
49
51
|
end
|
50
52
|
|
@@ -92,6 +94,7 @@ class TreeIterator
|
|
92
94
|
|
93
95
|
def indexer_on(val)
|
94
96
|
return nil unless @containers_t.instance?(val)
|
97
|
+
|
95
98
|
if val.is_a?(Array)
|
96
99
|
val.size.times
|
97
100
|
elsif val.is_a?(Hash)
|
@@ -100,7 +103,7 @@ class TreeIterator
|
|
100
103
|
if @include_refs
|
101
104
|
val._pcore_type.attributes.each_key
|
102
105
|
else
|
103
|
-
val._pcore_type.attributes.reject {|
|
106
|
+
val._pcore_type.attributes.reject {|_k,v| v.kind == PObjectType::ATTRIBUTE_KIND_REFERENCE }.each_key
|
104
107
|
end
|
105
108
|
end
|
106
109
|
end
|
@@ -124,7 +127,6 @@ class TreeIterator
|
|
124
127
|
end
|
125
128
|
|
126
129
|
class DepthFirstTreeIterator < TreeIterator
|
127
|
-
|
128
130
|
# Creates a DepthFirstTreeIterator that by default treats all Array, Hash and Object instances as
|
129
131
|
# containers - the 'containers' option can be set to a type that denotes which types of values
|
130
132
|
# should be treated as containers - a `Variant[Array, Hash]` would for instance not treat
|
@@ -169,7 +171,6 @@ class DepthFirstTreeIterator < TreeIterator
|
|
169
171
|
redo unless @with_values
|
170
172
|
end
|
171
173
|
return [@current_path.dup, value]
|
172
|
-
|
173
174
|
rescue StopIteration
|
174
175
|
# end of current value's range of content
|
175
176
|
# pop all until out of next values
|
@@ -227,7 +228,6 @@ class BreadthFirstTreeIterator < TreeIterator
|
|
227
228
|
next unless @with_containers
|
228
229
|
end
|
229
230
|
return [@current_path.dup, value]
|
230
|
-
|
231
231
|
rescue StopIteration
|
232
232
|
# end of current value's range of content
|
233
233
|
# shift all until out of next values
|
@@ -249,7 +249,6 @@ class BreadthFirstTreeIterator < TreeIterator
|
|
249
249
|
@recursed = true
|
250
250
|
end
|
251
251
|
private :shift_level
|
252
|
-
|
253
252
|
end
|
254
253
|
end
|
255
254
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require_relative '../../../puppet/concurrent/thread_local_singleton'
|
3
4
|
|
4
5
|
module Puppet::Pops
|
@@ -139,9 +140,10 @@ class TypeCalculator
|
|
139
140
|
o.instance_of?(Array) ||
|
140
141
|
o.instance_of?(Hash) ||
|
141
142
|
Types::PUndefType::DEFAULT.instance?(o)
|
142
|
-
|
143
|
+
)
|
143
144
|
return nil
|
144
145
|
end
|
146
|
+
|
145
147
|
# For other objects (e.g. PObjectType instances, and runtime types) full inference needed, since that will
|
146
148
|
# cover looking into the runtime type registry.
|
147
149
|
#
|
@@ -197,6 +199,7 @@ class TypeCalculator
|
|
197
199
|
# Answers if the two given types describe the same type
|
198
200
|
def equals(left, right)
|
199
201
|
return false unless left.is_a?(PAnyType) && right.is_a?(PAnyType)
|
202
|
+
|
200
203
|
# Types compare per class only - an extra test must be made if the are mutually assignable
|
201
204
|
# to find all types that represent the same type of instance
|
202
205
|
#
|
@@ -369,7 +372,7 @@ class TypeCalculator
|
|
369
372
|
# when both are resources, reduce to Resource[T] or Resource[] (since one was not assignable to the other)
|
370
373
|
if t1.is_a?(PResourceType) && t2.is_a?(PResourceType)
|
371
374
|
# only Resource[] unless the type name is the same
|
372
|
-
return t1.type_name == t2.type_name ?
|
375
|
+
return t1.type_name == t2.type_name ? PResourceType.new(t1.type_name, nil) : PResourceType::DEFAULT
|
373
376
|
end
|
374
377
|
|
375
378
|
# Integers have range, expand the range to the common range
|
@@ -455,6 +458,7 @@ class TypeCalculator
|
|
455
458
|
if t1.runtime == t2.runtime && t1.runtime_type_name == t2.runtime_type_name
|
456
459
|
return t1
|
457
460
|
end
|
461
|
+
|
458
462
|
# finding the common super class requires that names are resolved to class
|
459
463
|
# NOTE: This only supports runtime type of :ruby
|
460
464
|
c1 = ClassLoader.provide_from_type(t1)
|
@@ -478,7 +482,7 @@ class TypeCalculator
|
|
478
482
|
# Produces the superclasses of the given class, including the class
|
479
483
|
def superclasses(c)
|
480
484
|
result = [c]
|
481
|
-
while s = c.superclass #rubocop:disable Lint/AssignmentInCondition
|
485
|
+
while s = c.superclass # rubocop:disable Lint/AssignmentInCondition
|
482
486
|
result << s
|
483
487
|
c = s
|
484
488
|
end
|
@@ -528,9 +532,11 @@ class TypeCalculator
|
|
528
532
|
else
|
529
533
|
name = o.class.name
|
530
534
|
return PRuntimeType.new(:ruby, nil) if name.nil? # anonymous class that doesn't implement PuppetObject is impossible to infer
|
535
|
+
|
531
536
|
ir = Loaders.implementation_registry
|
532
537
|
type = ir.nil? ? nil : ir.type_for_module(name)
|
533
538
|
return PRuntimeType.new(:ruby, name) if type.nil?
|
539
|
+
|
534
540
|
if type.is_a?(PObjectType) && type.parameterized?
|
535
541
|
type = PObjectTypeExtension.create_from_instance(type, o)
|
536
542
|
end
|
@@ -750,6 +756,7 @@ class TypeCalculator
|
|
750
756
|
#
|
751
757
|
def size_range(range)
|
752
758
|
return [1,1] if range.nil?
|
759
|
+
|
753
760
|
from = range.from
|
754
761
|
to = range.to
|
755
762
|
x = from.nil? ? 1 : from
|
@@ -817,7 +824,6 @@ class TypeCalculator
|
|
817
824
|
def common_numeric?(t1, t2)
|
818
825
|
PNumericType::DEFAULT.assignable?(t1) && PNumericType::DEFAULT.assignable?(t2)
|
819
826
|
end
|
820
|
-
|
821
827
|
end
|
822
828
|
end
|
823
829
|
end
|
@@ -3,14 +3,5 @@
|
|
3
3
|
module Puppet::Pops::Types
|
4
4
|
# Raised when a conversion of a value to another type failed.
|
5
5
|
#
|
6
|
-
class TypeConversionError < Puppet::Error
|
7
|
-
|
8
|
-
# Creates a new instance with a given message
|
9
|
-
#
|
10
|
-
# @param message [String] The error message describing what failed
|
11
|
-
#
|
12
|
-
def initialize(message)
|
13
|
-
super(message)
|
14
|
-
end
|
15
|
-
end
|
6
|
+
class TypeConversionError < Puppet::Error; end
|
16
7
|
end
|