puppet 8.5.0-x64-mingw32 → 8.6.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 +29 -26
- data/ext/windows/service/daemon.rb +49 -55
- data/lib/hiera/scope.rb +3 -3
- data/lib/hiera_puppet.rb +1 -1
- data/lib/puppet/agent/disabler.rb +1 -1
- data/lib/puppet/application/agent.rb +2 -2
- data/lib/puppet/application/apply.rb +2 -2
- data/lib/puppet/application/describe.rb +6 -6
- data/lib/puppet/application/device.rb +99 -100
- data/lib/puppet/application/doc.rb +1 -1
- data/lib/puppet/application/face_base.rb +7 -7
- data/lib/puppet/application/filebucket.rb +1 -1
- data/lib/puppet/application/lookup.rb +5 -5
- data/lib/puppet/application/resource.rb +10 -3
- data/lib/puppet/application/ssl.rb +3 -3
- data/lib/puppet/application.rb +16 -18
- data/lib/puppet/coercion.rb +1 -1
- data/lib/puppet/configurer/downloader.rb +9 -4
- data/lib/puppet/configurer/fact_handler.rb +12 -13
- data/lib/puppet/configurer.rb +16 -18
- data/lib/puppet/confine/feature.rb +1 -1
- data/lib/puppet/confine/variable.rb +1 -1
- data/lib/puppet/confine.rb +2 -2
- data/lib/puppet/confine_collection.rb +1 -1
- data/lib/puppet/confiner.rb +2 -2
- data/lib/puppet/daemon.rb +3 -3
- data/lib/puppet/datatypes.rb +5 -6
- data/lib/puppet/defaults.rb +14 -8
- data/lib/puppet/environments.rb +3 -7
- data/lib/puppet/error.rb +3 -3
- data/lib/puppet/external/dot.rb +42 -34
- data/lib/puppet/face/catalog/select.rb +1 -1
- data/lib/puppet/face/epp.rb +7 -9
- data/lib/puppet/face/help.rb +12 -12
- data/lib/puppet/face/module/changes.rb +1 -3
- data/lib/puppet/face/module/list.rb +37 -37
- data/lib/puppet/face/node/clean.rb +1 -1
- data/lib/puppet/face/parser.rb +6 -8
- data/lib/puppet/face/report.rb +5 -7
- data/lib/puppet/facter_impl.rb +1 -1
- data/lib/puppet/feature/base.rb +9 -11
- data/lib/puppet/feature/pe_license.rb +1 -1
- data/lib/puppet/feature/ssh.rb +1 -1
- data/lib/puppet/feature/telnet.rb +3 -5
- data/lib/puppet/feature/zlib.rb +1 -1
- data/lib/puppet/ffi/windows/constants.rb +1 -1
- data/lib/puppet/ffi/windows/functions.rb +2 -2
- data/lib/puppet/ffi/windows/structs.rb +3 -3
- data/lib/puppet/file_bucket/dipper.rb +4 -4
- data/lib/puppet/file_bucket/file.rb +4 -4
- data/lib/puppet/file_serving/base.rb +5 -5
- data/lib/puppet/file_serving/configuration/parser.rb +9 -9
- data/lib/puppet/file_serving/configuration.rb +3 -3
- data/lib/puppet/file_serving/fileset.rb +13 -13
- data/lib/puppet/file_serving/http_metadata.rb +1 -1
- data/lib/puppet/file_serving/metadata.rb +13 -9
- data/lib/puppet/file_serving/mount/file.rb +6 -6
- data/lib/puppet/file_serving/mount/locales.rb +2 -4
- data/lib/puppet/file_serving/mount/pluginfacts.rb +2 -4
- data/lib/puppet/file_serving/mount/plugins.rb +2 -4
- data/lib/puppet/file_serving/mount.rb +1 -1
- data/lib/puppet/file_system/file_impl.rb +3 -3
- data/lib/puppet/file_system/memory_impl.rb +1 -1
- data/lib/puppet/file_system/path_pattern.rb +1 -1
- data/lib/puppet/file_system/uniquefile.rb +17 -16
- data/lib/puppet/file_system/windows.rb +26 -18
- data/lib/puppet/forge/cache.rb +2 -2
- data/lib/puppet/forge/errors.rb +1 -1
- data/lib/puppet/forge/repository.rb +2 -2
- data/lib/puppet/forge.rb +13 -19
- data/lib/puppet/functions/abs.rb +2 -2
- data/lib/puppet/functions/camelcase.rb +1 -1
- data/lib/puppet/functions/compare.rb +2 -2
- data/lib/puppet/functions/contain.rb +1 -1
- data/lib/puppet/functions/defined.rb +2 -2
- data/lib/puppet/functions/dig.rb +1 -1
- data/lib/puppet/functions/eyaml_lookup_key.rb +11 -13
- data/lib/puppet/functions/get.rb +1 -1
- data/lib/puppet/functions/hocon_data.rb +3 -5
- data/lib/puppet/functions/import.rb +1 -1
- data/lib/puppet/functions/json_data.rb +4 -6
- data/lib/puppet/functions/max.rb +2 -2
- data/lib/puppet/functions/min.rb +2 -2
- data/lib/puppet/functions/new.rb +1 -1
- data/lib/puppet/functions/reduce.rb +6 -10
- data/lib/puppet/functions/regsubst.rb +2 -2
- data/lib/puppet/functions/require.rb +1 -1
- data/lib/puppet/functions/yaml_data.rb +11 -13
- data/lib/puppet/functions.rb +32 -37
- data/lib/puppet/generate/type.rb +2 -2
- data/lib/puppet/gettext/config.rb +9 -9
- data/lib/puppet/graph/rb_tree_map.rb +31 -23
- data/lib/puppet/graph/relationship_graph.rb +12 -12
- data/lib/puppet/graph/simple_graph.rb +8 -10
- data/lib/puppet/http/client.rb +1 -1
- data/lib/puppet/http/dns.rb +4 -4
- data/lib/puppet/http/external_client.rb +1 -1
- data/lib/puppet/http/factory.rb +1 -1
- data/lib/puppet/http/proxy.rb +15 -15
- data/lib/puppet/http/redirector.rb +6 -2
- data/lib/puppet/http/resolver.rb +2 -2
- data/lib/puppet/http/retry_after_handler.rb +2 -2
- data/lib/puppet/http/service/ca.rb +1 -1
- data/lib/puppet/http/service/compiler.rb +4 -4
- data/lib/puppet/http/service/file_server.rb +1 -1
- data/lib/puppet/http/service/report.rb +2 -2
- data/lib/puppet/http/service.rb +9 -13
- data/lib/puppet/http/session.rb +1 -1
- data/lib/puppet/http/site.rb +1 -1
- data/lib/puppet/indirector/catalog/compiler.rb +44 -45
- data/lib/puppet/indirector/catalog/rest.rb +7 -5
- data/lib/puppet/indirector/catalog/store_configs.rb +1 -1
- data/lib/puppet/indirector/exec.rb +2 -2
- data/lib/puppet/indirector/face.rb +7 -9
- data/lib/puppet/indirector/fact_search.rb +1 -1
- data/lib/puppet/indirector/facts/facter.rb +6 -6
- data/lib/puppet/indirector/facts/json.rb +1 -1
- data/lib/puppet/indirector/facts/store_configs.rb +1 -1
- data/lib/puppet/indirector/file_bucket_file/file.rb +17 -17
- data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -3
- data/lib/puppet/indirector/file_content/rest.rb +1 -1
- data/lib/puppet/indirector/file_metadata/rest.rb +1 -1
- data/lib/puppet/indirector/hiera.rb +1 -1
- data/lib/puppet/indirector/indirection.rb +27 -29
- data/lib/puppet/indirector/json.rb +4 -4
- data/lib/puppet/indirector/memory.rb +2 -2
- data/lib/puppet/indirector/msgpack.rb +5 -5
- data/lib/puppet/indirector/node/store_configs.rb +1 -1
- data/lib/puppet/indirector/none.rb +1 -1
- data/lib/puppet/indirector/report/json.rb +1 -1
- data/lib/puppet/indirector/report/yaml.rb +1 -1
- data/lib/puppet/indirector/request.rb +4 -4
- data/lib/puppet/indirector/resource/ral.rb +2 -4
- data/lib/puppet/indirector/resource/store_configs.rb +1 -1
- data/lib/puppet/indirector/terminus.rb +4 -4
- data/lib/puppet/indirector/yaml.rb +3 -3
- data/lib/puppet/info_service/class_information_service.rb +5 -8
- data/lib/puppet/info_service/task_information_service.rb +6 -7
- data/lib/puppet/interface/action.rb +5 -5
- data/lib/puppet/interface/action_manager.rb +5 -5
- data/lib/puppet/interface/documentation.rb +5 -5
- data/lib/puppet/interface/face_collection.rb +7 -7
- data/lib/puppet/interface/option.rb +2 -2
- data/lib/puppet/interface/option_manager.rb +6 -6
- data/lib/puppet/interface.rb +4 -4
- data/lib/puppet/metatype/manager.rb +2 -2
- data/lib/puppet/module/plan.rb +10 -10
- data/lib/puppet/module/task.rb +8 -8
- data/lib/puppet/module.rb +39 -41
- data/lib/puppet/module_tool/applications/application.rb +10 -8
- data/lib/puppet/module_tool/applications/installer.rb +53 -50
- data/lib/puppet/module_tool/applications/unpacker.rb +6 -8
- data/lib/puppet/module_tool/applications/upgrader.rb +37 -34
- data/lib/puppet/module_tool/checksums.rb +2 -2
- data/lib/puppet/module_tool/dependency.rb +1 -1
- data/lib/puppet/module_tool/errors/base.rb +1 -1
- data/lib/puppet/module_tool/install_directory.rb +1 -1
- data/lib/puppet/module_tool/local_tarball.rb +3 -5
- data/lib/puppet/module_tool/metadata.rb +12 -8
- data/lib/puppet/module_tool/shared_behaviors.rb +27 -12
- data/lib/puppet/module_tool/tar/mini.rb +3 -3
- data/lib/puppet/module_tool.rb +4 -4
- data/lib/puppet/network/client_request.rb +5 -3
- data/lib/puppet/network/format.rb +2 -2
- data/lib/puppet/network/format_support.rb +1 -1
- data/lib/puppet/network/formats.rb +1 -1
- data/lib/puppet/network/http/api/indirected_routes.rb +24 -44
- data/lib/puppet/network/http/api/server/v3.rb +1 -1
- data/lib/puppet/network/http/connection.rb +1 -1
- data/lib/puppet/network/http/handler.rb +8 -12
- data/lib/puppet/network/http/request.rb +1 -1
- data/lib/puppet/network/http/route.rb +9 -9
- data/lib/puppet/node/environment.rb +21 -23
- data/lib/puppet/node/facts.rb +1 -1
- data/lib/puppet/node.rb +5 -5
- data/lib/puppet/pal/json_catalog_encoder.rb +1 -1
- data/lib/puppet/pal/pal_impl.rb +48 -50
- data/lib/puppet/pal/plan_signature.rb +1 -1
- data/lib/puppet/pal/task_signature.rb +1 -1
- data/lib/puppet/parameter/package_options.rb +1 -1
- data/lib/puppet/parameter/value.rb +2 -2
- data/lib/puppet/parameter/value_collection.rb +7 -7
- data/lib/puppet/parameter.rb +8 -9
- data/lib/puppet/parser/ast/block_expression.rb +2 -2
- data/lib/puppet/parser/ast/hostclass.rb +1 -1
- data/lib/puppet/parser/ast/pops_bridge.rb +3 -4
- data/lib/puppet/parser/ast/resource.rb +4 -4
- data/lib/puppet/parser/ast/resourceparam.rb +4 -4
- data/lib/puppet/parser/ast.rb +14 -15
- data/lib/puppet/parser/compiler.rb +26 -28
- data/lib/puppet/parser/functions/create_resources.rb +3 -3
- data/lib/puppet/parser/functions/fail.rb +1 -1
- data/lib/puppet/parser/functions/generate.rb +2 -2
- data/lib/puppet/parser/functions/tag.rb +1 -1
- data/lib/puppet/parser/functions.rb +2 -2
- data/lib/puppet/parser/relationship.rb +3 -1
- data/lib/puppet/parser/resource/param.rb +2 -2
- data/lib/puppet/parser/resource.rb +23 -23
- data/lib/puppet/parser/scope.rb +10 -10
- data/lib/puppet/parser/script_compiler.rb +1 -1
- data/lib/puppet/parser/templatewrapper.rb +1 -1
- data/lib/puppet/parser/type_loader.rb +10 -12
- data/lib/puppet/parser.rb +1 -1
- data/lib/puppet/pops/adaptable.rb +1 -1
- data/lib/puppet/pops/evaluator/access_operator.rb +8 -8
- data/lib/puppet/pops/evaluator/callable_signature.rb +4 -4
- data/lib/puppet/pops/evaluator/collector_transformer.rb +4 -4
- data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +7 -7
- data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +6 -6
- data/lib/puppet/pops/evaluator/compare_operator.rb +10 -10
- data/lib/puppet/pops/evaluator/deferred_resolver.rb +1 -1
- data/lib/puppet/pops/evaluator/epp_evaluator.rb +2 -2
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +56 -60
- data/lib/puppet/pops/evaluator/literal_evaluator.rb +4 -0
- data/lib/puppet/pops/evaluator/relationship_operator.rb +2 -2
- data/lib/puppet/pops/evaluator/runtime3_converter.rb +3 -3
- data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
- data/lib/puppet/pops/functions/dispatcher.rb +3 -3
- data/lib/puppet/pops/functions/function.rb +14 -16
- data/lib/puppet/pops/issue_reporter.rb +2 -2
- data/lib/puppet/pops/label_provider.rb +2 -2
- data/lib/puppet/pops/loader/dependency_loader.rb +3 -3
- data/lib/puppet/pops/loader/loader.rb +4 -4
- data/lib/puppet/pops/loader/loader_paths.rb +3 -3
- data/lib/puppet/pops/loader/module_loaders.rb +11 -11
- data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +1 -1
- data/lib/puppet/pops/loader/ruby_function_instantiator.rb +1 -1
- data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +5 -1
- data/lib/puppet/pops/loader/static_loader.rb +3 -3
- data/lib/puppet/pops/loaders.rb +3 -3
- data/lib/puppet/pops/lookup/data_dig_function_provider.rb +1 -1
- data/lib/puppet/pops/lookup/explainer.rb +2 -2
- data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
- data/lib/puppet/pops/lookup/hiera_config.rb +15 -11
- data/lib/puppet/pops/lookup/interpolation.rb +3 -3
- data/lib/puppet/pops/lookup/key_recorder.rb +1 -1
- data/lib/puppet/pops/lookup/location_resolver.rb +1 -1
- data/lib/puppet/pops/lookup/lookup_adapter.rb +7 -7
- data/lib/puppet/pops/lookup/sub_lookup.rb +1 -1
- data/lib/puppet/pops/merge_strategy.rb +6 -6
- data/lib/puppet/pops/migration/migration_checker.rb +1 -1
- data/lib/puppet/pops/model/ast_transformer.rb +9 -11
- data/lib/puppet/pops/model/factory.rb +4 -5
- data/lib/puppet/pops/parser/epp_parser.rb +2 -2
- data/lib/puppet/pops/parser/epp_support.rb +1 -1
- data/lib/puppet/pops/parser/evaluating_parser.rb +2 -2
- data/lib/puppet/pops/parser/heredoc_support.rb +4 -4
- data/lib/puppet/pops/parser/interpolation_support.rb +3 -3
- data/lib/puppet/pops/parser/lexer2.rb +20 -12
- data/lib/puppet/pops/parser/lexer_support.rb +1 -1
- data/lib/puppet/pops/parser/locator.rb +4 -4
- data/lib/puppet/pops/parser/parser_support.rb +12 -14
- data/lib/puppet/pops/parser/pn_parser.rb +3 -3
- data/lib/puppet/pops/parser/slurp_support.rb +8 -8
- data/lib/puppet/pops/patterns.rb +12 -12
- data/lib/puppet/pops/pcore.rb +1 -1
- data/lib/puppet/pops/pn.rb +2 -2
- data/lib/puppet/pops/puppet_stack.rb +1 -1
- data/lib/puppet/pops/resource/resource_type_impl.rb +1 -1
- data/lib/puppet/pops/serialization/abstract_reader.rb +2 -2
- data/lib/puppet/pops/serialization/abstract_writer.rb +3 -3
- data/lib/puppet/pops/time/timestamp.rb +1 -1
- data/lib/puppet/pops/types/class_loader.rb +4 -6
- data/lib/puppet/pops/types/iterable.rb +1 -1
- data/lib/puppet/pops/types/p_binary_type.rb +1 -1
- data/lib/puppet/pops/types/p_init_type.rb +1 -1
- data/lib/puppet/pops/types/p_object_type.rb +5 -5
- data/lib/puppet/pops/types/p_object_type_extension.rb +4 -6
- data/lib/puppet/pops/types/p_sem_ver_range_type.rb +1 -1
- data/lib/puppet/pops/types/p_sensitive_type.rb +1 -1
- data/lib/puppet/pops/types/p_timespan_type.rb +2 -2
- data/lib/puppet/pops/types/p_type_set_type.rb +10 -10
- data/lib/puppet/pops/types/p_uri_type.rb +4 -4
- data/lib/puppet/pops/types/recursion_guard.rb +4 -4
- data/lib/puppet/pops/types/ruby_generator.rb +2 -2
- data/lib/puppet/pops/types/string_converter.rb +12 -8
- data/lib/puppet/pops/types/tree_iterators.rb +4 -6
- data/lib/puppet/pops/types/type_calculator.rb +10 -10
- data/lib/puppet/pops/types/type_factory.rb +7 -3
- data/lib/puppet/pops/types/type_formatter.rb +22 -24
- data/lib/puppet/pops/types/type_mismatch_describer.rb +24 -24
- data/lib/puppet/pops/types/types.rb +28 -24
- data/lib/puppet/pops/utils.rb +38 -42
- data/lib/puppet/pops/validation/checker4_0.rb +10 -10
- data/lib/puppet/pops/validation/tasks_checker.rb +1 -1
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +2 -0
- data/lib/puppet/pops/validation.rb +4 -4
- data/lib/puppet/pops/visitor.rb +2 -2
- data/lib/puppet/property/ensure.rb +12 -14
- data/lib/puppet/property/keyvalue.rb +4 -4
- data/lib/puppet/property/list.rb +4 -4
- data/lib/puppet/property/ordered_list.rb +1 -1
- data/lib/puppet/property.rb +31 -33
- data/lib/puppet/provider/exec.rb +2 -2
- data/lib/puppet/provider/file/posix.rb +19 -17
- data/lib/puppet/provider/file/windows.rb +13 -19
- data/lib/puppet/provider/group/directoryservice.rb +3 -2
- data/lib/puppet/provider/group/groupadd.rb +4 -4
- data/lib/puppet/provider/group/windows_adsi.rb +2 -2
- data/lib/puppet/provider/nameservice/directoryservice.rb +29 -29
- data/lib/puppet/provider/nameservice/objectadd.rb +2 -4
- data/lib/puppet/provider/nameservice/pw.rb +1 -2
- data/lib/puppet/provider/nameservice.rb +8 -8
- data/lib/puppet/provider/package/aix.rb +19 -19
- data/lib/puppet/provider/package/appdmg.rb +2 -2
- data/lib/puppet/provider/package/apple.rb +1 -1
- data/lib/puppet/provider/package/apt.rb +18 -18
- data/lib/puppet/provider/package/aptitude.rb +1 -3
- data/lib/puppet/provider/package/aptrpm.rb +9 -9
- data/lib/puppet/provider/package/blastwave.rb +10 -14
- data/lib/puppet/provider/package/dnfmodule.rb +3 -3
- data/lib/puppet/provider/package/dpkg.rb +11 -13
- data/lib/puppet/provider/package/fink.rb +14 -14
- data/lib/puppet/provider/package/freebsd.rb +1 -1
- data/lib/puppet/provider/package/gem.rb +12 -14
- data/lib/puppet/provider/package/macports.rb +2 -2
- data/lib/puppet/provider/package/nim.rb +10 -10
- data/lib/puppet/provider/package/openbsd.rb +22 -22
- data/lib/puppet/provider/package/opkg.rb +6 -6
- data/lib/puppet/provider/package/pacman.rb +35 -29
- data/lib/puppet/provider/package/pip.rb +25 -24
- data/lib/puppet/provider/package/pkg.rb +15 -15
- data/lib/puppet/provider/package/pkgdmg.rb +10 -10
- data/lib/puppet/provider/package/pkgin.rb +2 -2
- data/lib/puppet/provider/package/pkgng.rb +5 -5
- data/lib/puppet/provider/package/pkgutil.rb +17 -21
- data/lib/puppet/provider/package/portage.rb +59 -61
- data/lib/puppet/provider/package/ports.rb +12 -11
- data/lib/puppet/provider/package/portupgrade.rb +35 -35
- data/lib/puppet/provider/package/puppetserver_gem.rb +10 -9
- data/lib/puppet/provider/package/rpm.rb +26 -26
- data/lib/puppet/provider/package/rug.rb +7 -9
- data/lib/puppet/provider/package/sun.rb +4 -4
- data/lib/puppet/provider/package/up2date.rb +5 -7
- data/lib/puppet/provider/package/urpmi.rb +6 -6
- data/lib/puppet/provider/package/windows/exe_package.rb +7 -7
- data/lib/puppet/provider/package/windows/msi_package.rb +3 -3
- data/lib/puppet/provider/package/windows/package.rb +2 -2
- data/lib/puppet/provider/package/windows.rb +3 -5
- data/lib/puppet/provider/package/yum.rb +33 -37
- data/lib/puppet/provider/package/zypper.rb +12 -14
- data/lib/puppet/provider/package.rb +1 -1
- data/lib/puppet/provider/package_targetable.rb +1 -1
- data/lib/puppet/provider/parsedfile.rb +9 -9
- data/lib/puppet/provider/service/base.rb +16 -21
- data/lib/puppet/provider/service/bsd.rb +4 -4
- data/lib/puppet/provider/service/daemontools.rb +31 -31
- data/lib/puppet/provider/service/debian.rb +6 -6
- data/lib/puppet/provider/service/freebsd.rb +36 -36
- data/lib/puppet/provider/service/gentoo.rb +6 -6
- data/lib/puppet/provider/service/init.rb +19 -19
- data/lib/puppet/provider/service/launchd.rb +22 -22
- data/lib/puppet/provider/service/openbsd.rb +10 -10
- data/lib/puppet/provider/service/openrc.rb +1 -1
- data/lib/puppet/provider/service/openwrt.rb +3 -3
- data/lib/puppet/provider/service/rcng.rb +3 -3
- data/lib/puppet/provider/service/redhat.rb +4 -4
- data/lib/puppet/provider/service/runit.rb +6 -6
- data/lib/puppet/provider/service/service.rb +5 -7
- data/lib/puppet/provider/service/smf.rb +28 -27
- data/lib/puppet/provider/service/src.rb +7 -7
- data/lib/puppet/provider/service/systemd.rb +31 -37
- data/lib/puppet/provider/service/upstart.rb +17 -17
- data/lib/puppet/provider/service/windows.rb +7 -7
- data/lib/puppet/provider/user/aix.rb +4 -2
- data/lib/puppet/provider/user/directoryservice.rb +34 -36
- data/lib/puppet/provider/user/hpux.rb +10 -14
- data/lib/puppet/provider/user/pw.rb +1 -1
- data/lib/puppet/provider/user/user_role_add.rb +16 -18
- data/lib/puppet/provider/user/useradd.rb +7 -7
- data/lib/puppet/provider/user/windows_adsi.rb +1 -1
- data/lib/puppet/provider.rb +8 -8
- data/lib/puppet/reference/indirection.rb +3 -0
- data/lib/puppet/reference/metaparameter.rb +1 -1
- data/lib/puppet/reference/providers.rb +3 -3
- data/lib/puppet/reference/type.rb +1 -1
- data/lib/puppet/relationship.rb +4 -5
- data/lib/puppet/reports/http.rb +1 -1
- data/lib/puppet/reports/log.rb +2 -2
- data/lib/puppet/reports/store.rb +4 -4
- data/lib/puppet/reports.rb +2 -2
- data/lib/puppet/resource/catalog.rb +16 -16
- data/lib/puppet/resource/status.rb +3 -3
- data/lib/puppet/resource/type.rb +8 -8
- data/lib/puppet/resource/type_collection.rb +1 -1
- data/lib/puppet/resource.rb +41 -41
- data/lib/puppet/scheduler/scheduler.rb +1 -1
- data/lib/puppet/settings/alias_setting.rb +3 -5
- data/lib/puppet/settings/base_setting.rb +11 -11
- data/lib/puppet/settings/boolean_setting.rb +2 -2
- data/lib/puppet/settings/config_file.rb +5 -4
- data/lib/puppet/settings/duration_setting.rb +2 -2
- data/lib/puppet/settings/environment_conf.rb +3 -3
- data/lib/puppet/settings/file_or_directory_setting.rb +2 -2
- data/lib/puppet/settings/file_setting.rb +11 -11
- data/lib/puppet/settings/ini_file.rb +3 -3
- data/lib/puppet/settings/port_setting.rb +1 -1
- data/lib/puppet/settings/priority_setting.rb +2 -2
- data/lib/puppet/settings/ttl_setting.rb +2 -2
- data/lib/puppet/settings/value_translator.rb +8 -8
- data/lib/puppet/settings.rb +65 -70
- data/lib/puppet/ssl/base.rb +2 -4
- data/lib/puppet/ssl/certificate_request.rb +18 -22
- data/lib/puppet/ssl/certificate_request_attributes.rb +3 -3
- data/lib/puppet/ssl/oids.rb +2 -2
- data/lib/puppet/ssl/openssl_loader.rb +4 -4
- data/lib/puppet/syntax_checkers/base64.rb +3 -3
- data/lib/puppet/syntax_checkers/epp.rb +3 -3
- data/lib/puppet/syntax_checkers/json.rb +3 -3
- data/lib/puppet/syntax_checkers/pp.rb +3 -3
- data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
- data/lib/puppet/transaction/event.rb +2 -2
- data/lib/puppet/transaction/event_manager.rb +5 -5
- data/lib/puppet/transaction/persistence.rb +12 -14
- data/lib/puppet/transaction/report.rb +4 -4
- data/lib/puppet/transaction/resource_harness.rb +2 -2
- data/lib/puppet/transaction.rb +14 -18
- data/lib/puppet/type/component.rb +3 -3
- data/lib/puppet/type/exec.rb +43 -45
- data/lib/puppet/type/file/checksum_value.rb +1 -1
- data/lib/puppet/type/file/content.rb +6 -6
- data/lib/puppet/type/file/ctime.rb +2 -2
- data/lib/puppet/type/file/data_sync.rb +3 -3
- data/lib/puppet/type/file/ensure.rb +16 -15
- data/lib/puppet/type/file/mode.rb +9 -9
- data/lib/puppet/type/file/mtime.rb +2 -2
- data/lib/puppet/type/file/selcontext.rb +14 -14
- data/lib/puppet/type/file/source.rb +19 -21
- data/lib/puppet/type/file/target.rb +11 -11
- data/lib/puppet/type/file.rb +21 -21
- data/lib/puppet/type/filebucket.rb +3 -3
- data/lib/puppet/type/group.rb +3 -3
- data/lib/puppet/type/notify.rb +2 -2
- data/lib/puppet/type/package.rb +4 -4
- data/lib/puppet/type/resources.rb +6 -6
- data/lib/puppet/type/schedule.rb +9 -9
- data/lib/puppet/type/service.rb +6 -8
- data/lib/puppet/type/tidy.rb +22 -24
- data/lib/puppet/type/user.rb +13 -13
- data/lib/puppet/type.rb +76 -88
- data/lib/puppet/util/at_fork/solaris.rb +33 -37
- data/lib/puppet/util/autoload.rb +2 -2
- data/lib/puppet/util/backups.rb +9 -9
- data/lib/puppet/util/character_encoding.rb +7 -6
- data/lib/puppet/util/checksums.rb +2 -2
- data/lib/puppet/util/classgen.rb +8 -8
- data/lib/puppet/util/colors.rb +1 -1
- data/lib/puppet/util/command_line/puppet_option_parser.rb +1 -1
- data/lib/puppet/util/command_line/trollop.rb +42 -46
- data/lib/puppet/util/command_line.rb +2 -2
- data/lib/puppet/util/constant_inflector.rb +2 -2
- data/lib/puppet/util/diff.rb +19 -21
- data/lib/puppet/util/docs.rb +2 -2
- data/lib/puppet/util/errors.rb +9 -9
- data/lib/puppet/util/execution.rb +32 -9
- data/lib/puppet/util/feature.rb +1 -1
- data/lib/puppet/util/fileparsing.rb +12 -16
- data/lib/puppet/util/filetype.rb +36 -40
- data/lib/puppet/util/inifile.rb +6 -12
- data/lib/puppet/util/ldap/connection.rb +1 -1
- data/lib/puppet/util/ldap/manager.rb +10 -12
- data/lib/puppet/util/lockfile.rb +6 -8
- data/lib/puppet/util/log/destination.rb +2 -2
- data/lib/puppet/util/log/destinations.rb +4 -4
- data/lib/puppet/util/log.rb +12 -9
- data/lib/puppet/util/logging.rb +11 -11
- data/lib/puppet/util/metric.rb +3 -3
- data/lib/puppet/util/monkey_patches.rb +5 -7
- data/lib/puppet/util/network_device/config.rb +3 -3
- data/lib/puppet/util/package/version/debian.rb +27 -28
- data/lib/puppet/util/package/version/pip.rb +5 -5
- data/lib/puppet/util/package/version/range/eq.rb +1 -1
- data/lib/puppet/util/package/version/rpm.rb +1 -1
- data/lib/puppet/util/package.rb +2 -2
- data/lib/puppet/util/pidlock.rb +2 -2
- data/lib/puppet/util/platform.rb +1 -1
- data/lib/puppet/util/plist.rb +8 -10
- data/lib/puppet/util/posix.rb +17 -17
- data/lib/puppet/util/profiler/aggregate.rb +1 -1
- data/lib/puppet/util/provider_features.rb +3 -3
- data/lib/puppet/util/rdoc/code_objects.rb +3 -3
- data/lib/puppet/util/rdoc/generators/puppet_generator.rb +63 -64
- data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +23 -23
- data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +12 -12
- data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -1
- data/lib/puppet/util/rdoc/parser.rb +1 -1
- data/lib/puppet/util/reference.rb +13 -9
- data/lib/puppet/util/retry_action.rb +1 -1
- data/lib/puppet/util/rpm_compare.rb +17 -18
- data/lib/puppet/util/rubygems.rb +1 -1
- data/lib/puppet/util/selinux.rb +7 -7
- data/lib/puppet/util/storage.rb +10 -12
- data/lib/puppet/util/suidmanager.rb +18 -19
- data/lib/puppet/util/symbolic_file_mode.rb +71 -75
- data/lib/puppet/util/tag_set.rb +2 -2
- data/lib/puppet/util/tagging.rb +8 -10
- data/lib/puppet/util/terminal.rb +4 -4
- data/lib/puppet/util/user_attr.rb +7 -7
- data/lib/puppet/util/watcher.rb +3 -5
- data/lib/puppet/util/windows/access_control_list.rb +1 -1
- data/lib/puppet/util/windows/adsi.rb +42 -42
- data/lib/puppet/util/windows/daemon.rb +64 -68
- data/lib/puppet/util/windows/error.rb +2 -2
- data/lib/puppet/util/windows/file.rb +18 -25
- data/lib/puppet/util/windows/monkey_patches/process.rb +1 -1
- data/lib/puppet/util/windows/principal.rb +8 -8
- data/lib/puppet/util/windows/process.rb +16 -28
- data/lib/puppet/util/windows/registry.rb +16 -15
- data/lib/puppet/util/windows/root_certs.rb +2 -2
- data/lib/puppet/util/windows/security.rb +31 -31
- data/lib/puppet/util/windows/service.rb +11 -11
- data/lib/puppet/util/windows/sid.rb +8 -8
- data/lib/puppet/util/windows/user.rb +18 -20
- data/lib/puppet/util/yaml.rb +1 -1
- data/lib/puppet/util.rb +55 -46
- data/lib/puppet/version.rb +2 -2
- data/lib/puppet/x509/pem_store.rb +1 -1
- data/lib/puppet.rb +3 -3
- data/man/man5/puppet.conf.5 +10 -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 +5 -1
- data/man/man8/puppet-script.8 +1 -1
- data/man/man8/puppet-ssl.8 +1 -1
- data/man/man8/puppet.8 +2 -2
- metadata +2 -2
@@ -170,7 +170,7 @@ class PObjectType < PMetaType
|
|
170
170
|
# @raises [Puppet::ParseError] if the assertion fails
|
171
171
|
# @api private
|
172
172
|
def assert_can_be_overridden(member)
|
173
|
-
unless
|
173
|
+
unless instance_of?(member.class)
|
174
174
|
raise Puppet::ParseError, _("%{member} attempts to override %{label}") % { member: member.label, label: label }
|
175
175
|
end
|
176
176
|
if @final && !(constant? && member.constant?)
|
@@ -261,7 +261,7 @@ class PObjectType < PMetaType
|
|
261
261
|
# @api private
|
262
262
|
def create_dispatch(instance)
|
263
263
|
# TODO: Assumes Ruby implementation for now
|
264
|
-
if
|
264
|
+
if callable_type.is_a?(PVariantType)
|
265
265
|
callable_type.types.map do |ct|
|
266
266
|
Functions::Dispatch.new(ct, RubyGenerator.protect_reserved_name(name), [], false, ct.block_type.nil? ? nil : 'block')
|
267
267
|
end
|
@@ -656,7 +656,7 @@ class PObjectType < PMetaType
|
|
656
656
|
index = param_names.index(ip)
|
657
657
|
if index.nil?
|
658
658
|
raise Serialization::SerializationError,
|
659
|
-
"Initializer for class #{impl_class.name} parameter '#{ip}' does not match any of the
|
659
|
+
"Initializer for class #{impl_class.name} parameter '#{ip}' does not match any of the attributes of type #{name}"
|
660
660
|
end
|
661
661
|
new_param_types << param_types[index]
|
662
662
|
end
|
@@ -901,7 +901,7 @@ class PObjectType < PMetaType
|
|
901
901
|
tc = TypeCalculator.singleton
|
902
902
|
constants, others = @attributes.partition do |_, a|
|
903
903
|
a.kind == ATTRIBUTE_KIND_CONSTANT && a.type == tc.infer(a.value).generalize
|
904
|
-
end.map
|
904
|
+
end.map(&:to_h)
|
905
905
|
|
906
906
|
result[KEY_ATTRIBUTES] = compressed_members_hash(others) unless others.empty?
|
907
907
|
unless constants.empty?
|
@@ -1111,7 +1111,7 @@ class PObjectType < PMetaType
|
|
1111
1111
|
# @return [PObjectType] the topmost parent who's #equality_attributes include the given _attr_
|
1112
1112
|
def find_equality_definer_of(attr)
|
1113
1113
|
type = self
|
1114
|
-
|
1114
|
+
until type.nil?
|
1115
1115
|
p = type.resolved_parent
|
1116
1116
|
return type unless p.is_a?(PObjectType)
|
1117
1117
|
return type unless p.equality_attributes.include?(attr.name)
|
@@ -209,12 +209,10 @@ class PObjectTypeExtension < PAnyType
|
|
209
209
|
def test_instance?(o, guard)
|
210
210
|
eval = Parser::EvaluatingParser.singleton.evaluator
|
211
211
|
@parameters.keys.all? do |pn|
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
false
|
217
|
-
end
|
212
|
+
m = o.public_method(pn)
|
213
|
+
m.arity == 0 ? eval.match?(m.call, @parameters[pn]) : false
|
214
|
+
rescue NameError
|
215
|
+
false
|
218
216
|
end
|
219
217
|
end
|
220
218
|
|
@@ -158,7 +158,7 @@ class PSemVerRangeType < PAnyType
|
|
158
158
|
end
|
159
159
|
|
160
160
|
def from_hash(hash)
|
161
|
-
from_versions(hash['min'], hash.fetch('max'
|
161
|
+
from_versions(hash['min'], hash.fetch('max', :default), hash.fetch('exclude_max', false))
|
162
162
|
end
|
163
163
|
end
|
164
164
|
end
|
@@ -17,7 +17,7 @@ module Types
|
|
17
17
|
# @return [Boolean] `true` if this range intersects with the other range
|
18
18
|
# @api public
|
19
19
|
def intersect?(o)
|
20
|
-
|
20
|
+
instance_of?(o.class) && !(@to < o.numeric_from || o.numeric_to < @from)
|
21
21
|
end
|
22
22
|
|
23
23
|
# Returns the lower bound of the numeric range or `nil` if no lower bound is set.
|
@@ -94,7 +94,7 @@ module Types
|
|
94
94
|
end
|
95
95
|
|
96
96
|
def _assignable?(o, guard)
|
97
|
-
|
97
|
+
instance_of?(o.class) && numeric_from <= o.numeric_from && numeric_to >= o.numeric_to
|
98
98
|
end
|
99
99
|
end
|
100
100
|
|
@@ -183,7 +183,7 @@ class PTypeSetType < PMetaType
|
|
183
183
|
result[KEY_NAME] = @name
|
184
184
|
result[KEY_VERSION] = @version.to_s unless @version.nil?
|
185
185
|
result[KEY_TYPES] = @types unless @types.empty?
|
186
|
-
result[KEY_REFERENCES] = @references.transform_values
|
186
|
+
result[KEY_REFERENCES] = @references.transform_values(&:_pcore_init_hash) unless @references.empty?
|
187
187
|
result
|
188
188
|
end
|
189
189
|
|
@@ -359,20 +359,20 @@ class PTypeSetType < PMetaType
|
|
359
359
|
end
|
360
360
|
|
361
361
|
DEFAULT =
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
362
|
+
|
363
|
+
new({
|
364
|
+
KEY_NAME => 'DefaultTypeSet',
|
365
|
+
KEY_NAME_AUTHORITY => Pcore::RUNTIME_NAME_AUTHORITY,
|
366
|
+
Pcore::KEY_PCORE_URI => Pcore::PCORE_URI,
|
367
|
+
Pcore::KEY_PCORE_VERSION => Pcore::PCORE_VERSION,
|
368
|
+
KEY_VERSION => SemanticPuppet::Version.new(0, 0, 0)
|
369
|
+
})
|
370
370
|
|
371
371
|
protected
|
372
372
|
|
373
373
|
# @api_private
|
374
374
|
def _assignable?(o, guard)
|
375
|
-
|
375
|
+
instance_of?(o.class) && (self == DEFAULT || eql?(o))
|
376
376
|
end
|
377
377
|
|
378
378
|
private
|
@@ -34,7 +34,7 @@ class PURIType < PAnyType
|
|
34
34
|
TypeFactory.optional(PATH) => PStringType::NON_EMPTY,
|
35
35
|
TypeFactory.optional(QUERY) => PStringType::NON_EMPTY,
|
36
36
|
TypeFactory.optional(FRAGMENT) => PStringType::NON_EMPTY,
|
37
|
-
TypeFactory.optional(OPAQUE) => PStringType::NON_EMPTY
|
37
|
+
TypeFactory.optional(OPAQUE) => PStringType::NON_EMPTY
|
38
38
|
)
|
39
39
|
|
40
40
|
TYPE_STRING_PARAM =
|
@@ -46,7 +46,7 @@ class PURIType < PAnyType
|
|
46
46
|
TypeFactory.type_type(PPatternType::DEFAULT),
|
47
47
|
TypeFactory.type_type(PEnumType::DEFAULT),
|
48
48
|
TypeFactory.type_type(PNotUndefType::DEFAULT),
|
49
|
-
TypeFactory.type_type(PUndefType::DEFAULT)
|
49
|
+
TypeFactory.type_type(PUndefType::DEFAULT)
|
50
50
|
]))
|
51
51
|
|
52
52
|
TYPE_INTEGER_PARAM =
|
@@ -55,7 +55,7 @@ class PURIType < PAnyType
|
|
55
55
|
.new([
|
56
56
|
PIntegerType.new(0),
|
57
57
|
TypeFactory.type_type(PNotUndefType::DEFAULT),
|
58
|
-
TypeFactory.type_type(PUndefType::DEFAULT)
|
58
|
+
TypeFactory.type_type(PUndefType::DEFAULT)
|
59
59
|
]))
|
60
60
|
|
61
61
|
TYPE_URI_PARAM_HASH_TYPE = TypeFactory.struct(
|
@@ -66,7 +66,7 @@ class PURIType < PAnyType
|
|
66
66
|
TypeFactory.optional(PATH) => TYPE_STRING_PARAM,
|
67
67
|
TypeFactory.optional(QUERY) => TYPE_STRING_PARAM,
|
68
68
|
TypeFactory.optional(FRAGMENT) => TYPE_STRING_PARAM,
|
69
|
-
TypeFactory.optional(OPAQUE) => TYPE_STRING_PARAM
|
69
|
+
TypeFactory.optional(OPAQUE) => TYPE_STRING_PARAM
|
70
70
|
)
|
71
71
|
|
72
72
|
TYPE_URI_PARAM_TYPE = PVariantType.new([PStringType::NON_EMPTY, TYPE_URI_PARAM_HASH_TYPE])
|
@@ -46,7 +46,7 @@ class RecursionGuard
|
|
46
46
|
def with_this(instance)
|
47
47
|
if (@state & SELF_RECURSION_IN_THIS) == 0
|
48
48
|
tc = this_count
|
49
|
-
@state
|
49
|
+
@state |= SELF_RECURSION_IN_THIS if this_put(instance)
|
50
50
|
if tc < this_count
|
51
51
|
# recursive state detected
|
52
52
|
result = yield(@state)
|
@@ -66,7 +66,7 @@ class RecursionGuard
|
|
66
66
|
def with_that(instance)
|
67
67
|
if (@state & SELF_RECURSION_IN_THAT) == 0
|
68
68
|
tc = that_count
|
69
|
-
@state
|
69
|
+
@state |= SELF_RECURSION_IN_THAT if that_put(instance)
|
70
70
|
if tc < that_count
|
71
71
|
# recursive state detected
|
72
72
|
result = yield(@state)
|
@@ -85,7 +85,7 @@ class RecursionGuard
|
|
85
85
|
# @return [Integer] the resulting state
|
86
86
|
def add_this(instance)
|
87
87
|
if (@state & SELF_RECURSION_IN_THIS) == 0
|
88
|
-
@state
|
88
|
+
@state |= SELF_RECURSION_IN_THIS if this_put(instance)
|
89
89
|
end
|
90
90
|
@state
|
91
91
|
end
|
@@ -95,7 +95,7 @@ class RecursionGuard
|
|
95
95
|
# @return [Integer] the resulting state
|
96
96
|
def add_that(instance)
|
97
97
|
if (@state & SELF_RECURSION_IN_THAT) == 0
|
98
|
-
@state
|
98
|
+
@state |= SELF_RECURSION_IN_THAT if that_put(instance)
|
99
99
|
end
|
100
100
|
@state
|
101
101
|
end
|
@@ -64,7 +64,7 @@ class RubyGenerator < TypeFormatter
|
|
64
64
|
class_body(key, EMPTY_ARRAY, class_def)
|
65
65
|
cls = Class.new(parent_class)
|
66
66
|
cls.class_eval(class_def)
|
67
|
-
cls.define_singleton_method(:_pcore_type) {
|
67
|
+
cls.define_singleton_method(:_pcore_type) { key }
|
68
68
|
key.implementation_class = cls
|
69
69
|
end
|
70
70
|
hash[key] = cls
|
@@ -220,7 +220,7 @@ class RubyGenerator < TypeFormatter
|
|
220
220
|
end
|
221
221
|
|
222
222
|
init_params = others.reject { |a| a.kind == PObjectType::ATTRIBUTE_KIND_DERIVED }
|
223
|
-
opt, non_opt = init_params.partition
|
223
|
+
opt, non_opt = init_params.partition(&:value?)
|
224
224
|
derived_attrs, obj_attrs = others.select { |a| a.container.equal?(obj) }.partition { |ip| ip.kind == PObjectType::ATTRIBUTE_KIND_DERIVED }
|
225
225
|
|
226
226
|
include_type = obj.equality_include_type? && !(obj.parent.is_a?(PObjectType) && obj.parent.equality_include_type?)
|
@@ -47,7 +47,7 @@ class StringConverter
|
|
47
47
|
end
|
48
48
|
|
49
49
|
def padding
|
50
|
-
|
50
|
+
' ' * 2 * level
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
@@ -89,7 +89,7 @@ class StringConverter
|
|
89
89
|
|
90
90
|
FMT_PATTERN_STR = '^%([\s\[+#0{<(|-]*)([1-9][0-9]*)?(?:\.([0-9]+))?([a-zA-Z])$'
|
91
91
|
FMT_PATTERN = Regexp.compile(FMT_PATTERN_STR)
|
92
|
-
DELIMITERS = ['[', '{', '(', '<', '|'
|
92
|
+
DELIMITERS = ['[', '{', '(', '<', '|']
|
93
93
|
DELIMITER_MAP = {
|
94
94
|
'[' => ['[', ']'],
|
95
95
|
'{' => ['{', '}'],
|
@@ -119,13 +119,17 @@ class StringConverter
|
|
119
119
|
|
120
120
|
@left = flags.include?('-')
|
121
121
|
@alt = flags.include?('#')
|
122
|
-
@plus =
|
122
|
+
@plus = if flags.include?(' ')
|
123
|
+
:space
|
124
|
+
else
|
125
|
+
flags.include?('+') ? :plus : :ignore
|
126
|
+
end
|
123
127
|
@zero_pad = flags.include?('0')
|
124
128
|
|
125
129
|
@delimiters = nil
|
126
130
|
DELIMITERS.each do |d|
|
127
131
|
next unless flags.include?(d)
|
128
|
-
|
132
|
+
unless @delimiters.nil?
|
129
133
|
raise ArgumentError, "Only one of the delimiters [ { ( < | can be given in the format flags, got '#{fmt}'"
|
130
134
|
end
|
131
135
|
|
@@ -550,7 +554,7 @@ class StringConverter
|
|
550
554
|
end
|
551
555
|
private :validate_input
|
552
556
|
|
553
|
-
FMT_KEYS = %w
|
557
|
+
FMT_KEYS = %w[separator separator2 format string_formats].freeze
|
554
558
|
|
555
559
|
def validate_container_input(fmt)
|
556
560
|
if (fmt.keys - FMT_KEYS).size > 0
|
@@ -786,7 +790,7 @@ class StringConverter
|
|
786
790
|
Kernel.format(f.orig_fmt.gsub('s', substitute), val_to_convert)
|
787
791
|
|
788
792
|
when :p
|
789
|
-
# width & precision applied to string, not the
|
793
|
+
# width & precision applied to string, not the name of the type
|
790
794
|
"Binary(\"#{Kernel.format(f.orig_fmt.tr('p', 's'), val.to_s)}\")"
|
791
795
|
|
792
796
|
when :b
|
@@ -826,7 +830,7 @@ class StringConverter
|
|
826
830
|
f.alt? ? apply_string_flags(f, puppet_quote(c_val)) : Kernel.format(f.orig_fmt.tr('c', 's'), c_val)
|
827
831
|
|
828
832
|
when :C
|
829
|
-
c_val = val.split('::').map
|
833
|
+
c_val = val.split('::').map(&:capitalize).join('::')
|
830
834
|
f.alt? ? apply_string_flags(f, puppet_quote(c_val)) : Kernel.format(f.orig_fmt.tr('C', 's'), c_val)
|
831
835
|
|
832
836
|
when :u
|
@@ -1132,7 +1136,7 @@ class StringConverter
|
|
1132
1136
|
fmt = format_options.find { |k, _| k.assignable?(val_t) }
|
1133
1137
|
return fmt[1] unless fmt.nil?
|
1134
1138
|
|
1135
|
-
|
1139
|
+
Format.new("%s")
|
1136
1140
|
end
|
1137
1141
|
private :get_format
|
1138
1142
|
end
|
@@ -108,12 +108,10 @@ class TreeIterator
|
|
108
108
|
private :indexer_on
|
109
109
|
|
110
110
|
def has_next?(iterator)
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
false
|
116
|
-
end
|
111
|
+
iterator.peek
|
112
|
+
true
|
113
|
+
rescue StopIteration
|
114
|
+
false
|
117
115
|
end
|
118
116
|
private :has_next?
|
119
117
|
|
@@ -132,15 +132,15 @@ class TypeCalculator
|
|
132
132
|
# @api private
|
133
133
|
def self.infer_callable_methods_t(o)
|
134
134
|
# If being a value that cannot have Pcore based methods callable from Puppet Language
|
135
|
-
if
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
135
|
+
if o.is_a?(String) ||
|
136
|
+
o.is_a?(Numeric) ||
|
137
|
+
o.is_a?(TrueClass) ||
|
138
|
+
o.is_a?(FalseClass) ||
|
139
|
+
o.is_a?(Regexp) ||
|
140
|
+
o.instance_of?(Array) ||
|
141
|
+
o.instance_of?(Hash) ||
|
142
|
+
Types::PUndefType::DEFAULT.instance?(o)
|
143
|
+
|
144
144
|
return nil
|
145
145
|
end
|
146
146
|
|
@@ -386,7 +386,7 @@ class TypeCalculator
|
|
386
386
|
end
|
387
387
|
|
388
388
|
if t1.is_a?(PStringType) && (t2.is_a?(PStringType) || t2.is_a?(PEnumType))
|
389
|
-
if
|
389
|
+
if t2.is_a?(PEnumType)
|
390
390
|
return t1.value.nil? ? PEnumType::DEFAULT : PEnumType.new(t2.values | [t1.value])
|
391
391
|
end
|
392
392
|
|
@@ -248,7 +248,11 @@ module TypeFactory
|
|
248
248
|
# @api public
|
249
249
|
#
|
250
250
|
def self.boolean(value = nil)
|
251
|
-
value.nil?
|
251
|
+
if value.nil?
|
252
|
+
PBooleanType::DEFAULT
|
253
|
+
else
|
254
|
+
value ? PBooleanType::TRUE : PBooleanType::FALSE
|
255
|
+
end
|
252
256
|
end
|
253
257
|
|
254
258
|
# Produces the Any type
|
@@ -309,7 +313,7 @@ module TypeFactory
|
|
309
313
|
# @api public
|
310
314
|
#
|
311
315
|
def self.all_callables
|
312
|
-
|
316
|
+
PCallableType::DEFAULT
|
313
317
|
end
|
314
318
|
|
315
319
|
# Produces a Callable type with one signature without support for a block
|
@@ -623,7 +627,7 @@ module TypeFactory
|
|
623
627
|
# @param type_string [String] the string form of the type
|
624
628
|
# @return [PTypeReferenceType] the type reference
|
625
629
|
def self.type_reference(type_string = nil)
|
626
|
-
type_string
|
630
|
+
type_string.nil? ? PTypeReferenceType::DEFAULT : PTypeReferenceType.new(type_string)
|
627
631
|
end
|
628
632
|
|
629
633
|
# Returns true if the given type t is of valid range parameter type (integer
|
@@ -687,37 +687,35 @@ class TypeFormatter
|
|
687
687
|
end
|
688
688
|
|
689
689
|
def append_object_hash(hash)
|
690
|
-
|
691
|
-
|
692
|
-
|
693
|
-
|
694
|
-
|
695
|
-
|
696
|
-
|
697
|
-
|
698
|
-
|
699
|
-
|
700
|
-
|
701
|
-
|
702
|
-
|
703
|
-
|
704
|
-
append_string(fav)
|
705
|
-
end
|
690
|
+
@expanded = false
|
691
|
+
append_array('Object') do
|
692
|
+
append_hash(hash, proc { |k| @bld << symbolic_key(k) }) do |k, v|
|
693
|
+
case k
|
694
|
+
when KEY_ATTRIBUTES, KEY_FUNCTIONS
|
695
|
+
# Types might need to be output as type references
|
696
|
+
append_hash(v) do |_, fv|
|
697
|
+
if fv.is_a?(Hash)
|
698
|
+
append_hash(fv, proc { |fak| @bld << symbolic_key(fak) }) do |fak, fav|
|
699
|
+
case fak
|
700
|
+
when KEY_KIND
|
701
|
+
@bld << fav
|
702
|
+
else
|
703
|
+
append_string(fav)
|
706
704
|
end
|
707
|
-
else
|
708
|
-
append_string(fv)
|
709
705
|
end
|
706
|
+
else
|
707
|
+
append_string(fv)
|
710
708
|
end
|
711
|
-
when KEY_EQUALITY
|
712
|
-
append_array('') { append_strings(v) } if v.is_a?(Array)
|
713
|
-
else
|
714
|
-
append_string(v)
|
715
709
|
end
|
710
|
+
when KEY_EQUALITY
|
711
|
+
append_array('') { append_strings(v) } if v.is_a?(Array)
|
712
|
+
else
|
713
|
+
append_string(v)
|
716
714
|
end
|
717
715
|
end
|
718
|
-
ensure
|
719
|
-
@expanded = true
|
720
716
|
end
|
717
|
+
ensure
|
718
|
+
@expanded = true
|
721
719
|
end
|
722
720
|
|
723
721
|
def append_elements(array, to_be_continued = false)
|
@@ -131,7 +131,7 @@ module Types
|
|
131
131
|
|
132
132
|
chopped_path = @path.clone
|
133
133
|
chopped_path.delete_at(element_index)
|
134
|
-
copy =
|
134
|
+
copy = clone
|
135
135
|
copy.instance_variable_set(:@path, chopped_path)
|
136
136
|
copy
|
137
137
|
end
|
@@ -287,7 +287,7 @@ module Types
|
|
287
287
|
if e.is_a?(Array)
|
288
288
|
if report_detailed?(e, a)
|
289
289
|
a = detailed_actual_to_s(e, a)
|
290
|
-
e = e.map
|
290
|
+
e = e.map(&:to_alias_expanded_s)
|
291
291
|
else
|
292
292
|
e = e.map { |t| short_name(t) }.uniq
|
293
293
|
a = short_name(a)
|
@@ -533,10 +533,10 @@ module Types
|
|
533
533
|
when 0
|
534
534
|
# do nothing
|
535
535
|
when 1
|
536
|
-
raise Puppet::ParseError
|
536
|
+
raise Puppet::ParseError, "#{subject}:#{errors[0].format}"
|
537
537
|
else
|
538
|
-
errors_str = errors.map
|
539
|
-
raise Puppet::ParseError
|
538
|
+
errors_str = errors.map(&:format).join("\n ")
|
539
|
+
raise Puppet::ParseError, "#{subject}:\n #{errors_str}"
|
540
540
|
end
|
541
541
|
end
|
542
542
|
|
@@ -556,7 +556,7 @@ module Types
|
|
556
556
|
when 1
|
557
557
|
errors[0].format.strip
|
558
558
|
else
|
559
|
-
errors.map
|
559
|
+
errors.map(&:format).join("\n ")
|
560
560
|
end
|
561
561
|
end
|
562
562
|
|
@@ -574,10 +574,10 @@ module Types
|
|
574
574
|
when 0
|
575
575
|
# do nothing
|
576
576
|
when 1
|
577
|
-
raise Puppet::ParseError
|
577
|
+
raise Puppet::ParseError, "#{subject}:#{errors[0].format}"
|
578
578
|
else
|
579
|
-
errors_str = errors.map
|
580
|
-
raise Puppet::ParseError
|
579
|
+
errors_str = errors.map(&:format).join("\n ")
|
580
|
+
raise Puppet::ParseError, "#{subject}:\n #{errors_str}"
|
581
581
|
end
|
582
582
|
end
|
583
583
|
end
|
@@ -758,19 +758,19 @@ module Types
|
|
758
758
|
descriptions = variant_descriptions.flatten
|
759
759
|
[size_mismatch_class, MissingRequiredBlock, UnexpectedBlock, TypeMismatch].each do |mismatch_class|
|
760
760
|
mismatches = descriptions.select { |desc| desc.is_a?(mismatch_class) }
|
761
|
-
|
762
|
-
# If they all have the same canonical path, then we can compact this into one
|
763
|
-
generic_mismatch = mismatches.inject do |prev, curr|
|
764
|
-
break nil unless prev.canonical_path == curr.canonical_path
|
761
|
+
next unless mismatches.size == variant_descriptions.size
|
765
762
|
|
766
|
-
|
767
|
-
|
768
|
-
unless
|
769
|
-
|
770
|
-
|
771
|
-
break
|
772
|
-
end
|
763
|
+
# If they all have the same canonical path, then we can compact this into one
|
764
|
+
generic_mismatch = mismatches.inject do |prev, curr|
|
765
|
+
break nil unless prev.canonical_path == curr.canonical_path
|
766
|
+
|
767
|
+
prev.merge(prev.path, curr)
|
773
768
|
end
|
769
|
+
next if generic_mismatch.nil?
|
770
|
+
|
771
|
+
# Report the generic mismatch and skip the rest
|
772
|
+
descriptions = [generic_mismatch]
|
773
|
+
break
|
774
774
|
end
|
775
775
|
descriptions = descriptions.uniq
|
776
776
|
descriptions.size == 1 ? [descriptions[0].chop_path(varying_path_position)] : descriptions
|
@@ -894,7 +894,7 @@ module Types
|
|
894
894
|
end
|
895
895
|
|
896
896
|
def describe_tuple(expected, original, actual, path, size_mismatch_class)
|
897
|
-
return EMPTY_ARRAY if expected == actual || expected.types.empty? &&
|
897
|
+
return EMPTY_ARRAY if expected == actual || expected.types.empty? && actual.is_a?(PArrayType)
|
898
898
|
|
899
899
|
expected_size = expected.size_type || TypeFactory.range(*expected.size_range)
|
900
900
|
|
@@ -954,9 +954,7 @@ module Types
|
|
954
954
|
if param_errors.empty?
|
955
955
|
this_return_t = expected.return_type || PAnyType::DEFAULT
|
956
956
|
that_return_t = actual.return_type || PAnyType::DEFAULT
|
957
|
-
|
958
|
-
[TypeMismatch.new(path + [ReturnTypeElement.new], this_return_t, that_return_t)]
|
959
|
-
else
|
957
|
+
if this_return_t.assignable?(that_return_t)
|
960
958
|
# names are ignored, they are just information
|
961
959
|
# Blocks must be compatible
|
962
960
|
this_block_t = expected.block_type || PUndefType::DEFAULT
|
@@ -966,6 +964,8 @@ module Types
|
|
966
964
|
else
|
967
965
|
[TypeMismatch.new(path + [BlockPathElement.new], this_block_t, that_block_t)]
|
968
966
|
end
|
967
|
+
else
|
968
|
+
[TypeMismatch.new(path + [ReturnTypeElement.new], this_return_t, that_return_t)]
|
969
969
|
end
|
970
970
|
else
|
971
971
|
param_errors
|