puppet 8.5.1-x86-mingw32 → 8.6.0-x86-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 +23 -20
- 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/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 +1 -1
- 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
@@ -26,7 +26,7 @@ class CollectorTransformer
|
|
26
26
|
|
27
27
|
fail "Resource type #{type} doesn't exist" unless resource_type
|
28
28
|
|
29
|
-
|
29
|
+
unless o.operations.empty?
|
30
30
|
overrides = {
|
31
31
|
:parameters => o.operations.map { |x| @@evaluator.evaluate(x, scope) }.flatten,
|
32
32
|
:file => o.file,
|
@@ -182,19 +182,19 @@ class CollectorTransformer
|
|
182
182
|
def match_AndExpression(o, scope)
|
183
183
|
left_match = match(o.left_expr, scope)
|
184
184
|
right_match = match(o.right_expr, scope)
|
185
|
-
|
185
|
+
[left_match, 'and', right_match]
|
186
186
|
end
|
187
187
|
|
188
188
|
def match_OrExpression(o, scope)
|
189
189
|
left_match = match(o.left_expr, scope)
|
190
190
|
right_match = match(o.right_expr, scope)
|
191
|
-
|
191
|
+
[left_match, 'or', right_match]
|
192
192
|
end
|
193
193
|
|
194
194
|
def match_ComparisonExpression(o, scope)
|
195
195
|
left_match = match(o.left_expr, scope)
|
196
196
|
right_match = match(o.right_expr, scope)
|
197
|
-
|
197
|
+
[left_match, o.operator.to_s, right_match]
|
198
198
|
end
|
199
199
|
|
200
200
|
def match_VariableExpression(o, scope)
|
@@ -28,7 +28,7 @@ class Puppet::Pops::Evaluator::Collectors::AbstractCollector
|
|
28
28
|
@collected = {}
|
29
29
|
@scope = scope
|
30
30
|
|
31
|
-
|
31
|
+
unless overrides.nil? || overrides[:parameters]
|
32
32
|
raise ArgumentError, _("Exported resource try to override without parameters")
|
33
33
|
end
|
34
34
|
|
@@ -50,12 +50,12 @@ class Puppet::Pops::Evaluator::Collectors::AbstractCollector
|
|
50
50
|
overrides[:source].override = true
|
51
51
|
|
52
52
|
objects.each do |res|
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
53
|
+
next if @collected.include?(res.ref)
|
54
|
+
|
55
|
+
t = res.type
|
56
|
+
t = Puppet::Pops::Evaluator::Runtime3ResourceSupport.find_resource_type(scope, t)
|
57
|
+
newres = Puppet::Parser::Resource.new(t, res.title, @overrides)
|
58
|
+
scope.compiler.add_override(newres)
|
59
59
|
end
|
60
60
|
end
|
61
61
|
|
@@ -18,14 +18,14 @@ class Puppet::Pops::Evaluator::Collectors::FixedSetCollector < Puppet::Pops::Eva
|
|
18
18
|
resolved = []
|
19
19
|
result = @resources.each_with_object([]) do |ref, memo|
|
20
20
|
res = @scope.findresource(ref.to_s)
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
21
|
+
next unless res
|
22
|
+
|
23
|
+
res.virtual = false
|
24
|
+
memo << res
|
25
|
+
resolved << ref
|
26
26
|
end
|
27
27
|
|
28
|
-
@resources
|
28
|
+
@resources -= resolved
|
29
29
|
|
30
30
|
@scope.compiler.delete_collection(self) if @resources.empty?
|
31
31
|
|
@@ -50,7 +50,7 @@ class CompareOperator
|
|
50
50
|
def cmp_String(a, b)
|
51
51
|
return a.casecmp(b) if b.is_a?(String)
|
52
52
|
|
53
|
-
raise ArgumentError
|
53
|
+
raise ArgumentError, _("A String is not comparable to a non String")
|
54
54
|
end
|
55
55
|
|
56
56
|
# Equality is case independent.
|
@@ -67,7 +67,7 @@ class CompareOperator
|
|
67
67
|
when Time::Timespan, Time::Timestamp
|
68
68
|
-(b <=> a) # compare other way and invert result
|
69
69
|
else
|
70
|
-
raise ArgumentError
|
70
|
+
raise ArgumentError, _("A Numeric is not comparable to non Numeric")
|
71
71
|
end
|
72
72
|
end
|
73
73
|
|
@@ -97,30 +97,30 @@ class CompareOperator
|
|
97
97
|
if b.is_a?(Symbol)
|
98
98
|
a <=> b
|
99
99
|
else
|
100
|
-
raise ArgumentError
|
100
|
+
raise ArgumentError, _("Symbol not comparable to non Symbol")
|
101
101
|
end
|
102
102
|
end
|
103
103
|
|
104
104
|
def cmp_Timespan(a, b)
|
105
|
-
raise ArgumentError
|
105
|
+
raise ArgumentError, _('Timespans are only comparable to Timespans, Integers, and Floats') unless b.is_a?(Time::Timespan) || b.is_a?(Integer) || b.is_a?(Float)
|
106
106
|
|
107
107
|
a <=> b
|
108
108
|
end
|
109
109
|
|
110
110
|
def cmp_Timestamp(a, b)
|
111
|
-
raise ArgumentError
|
111
|
+
raise ArgumentError, _('Timestamps are only comparable to Timestamps, Integers, and Floats') unless b.is_a?(Time::Timestamp) || b.is_a?(Integer) || b.is_a?(Float)
|
112
112
|
|
113
113
|
a <=> b
|
114
114
|
end
|
115
115
|
|
116
116
|
def cmp_Version(a, b)
|
117
|
-
raise ArgumentError
|
117
|
+
raise ArgumentError, _('Versions not comparable to non Versions') unless b.is_a?(SemanticPuppet::Version)
|
118
118
|
|
119
119
|
a <=> b
|
120
120
|
end
|
121
121
|
|
122
122
|
def cmp_Object(a, b)
|
123
|
-
raise ArgumentError
|
123
|
+
raise ArgumentError, _('Only Strings, Numbers, Timespans, Timestamps, and Versions are comparable')
|
124
124
|
end
|
125
125
|
|
126
126
|
def equals_Object(a, b)
|
@@ -183,15 +183,15 @@ class CompareOperator
|
|
183
183
|
end
|
184
184
|
# Always set match data, a "not found" should not keep old match data visible
|
185
185
|
set_match_data(matched, scope) # creates ephemeral
|
186
|
-
|
186
|
+
!!matched
|
187
187
|
when String, SemanticPuppet::Version
|
188
188
|
a.any? { |element| match(b, element, scope) }
|
189
189
|
when Types::PAnyType
|
190
190
|
a.each { |element| return true if b.instance?(element) }
|
191
|
-
|
191
|
+
false
|
192
192
|
else
|
193
193
|
a.each { |element| return true if equals(element, b) }
|
194
|
-
|
194
|
+
false
|
195
195
|
end
|
196
196
|
end
|
197
197
|
|
@@ -172,7 +172,7 @@ class DeferredResolver
|
|
172
172
|
else
|
173
173
|
# call the function later
|
174
174
|
DeferredValue.new(
|
175
|
-
|
175
|
+
proc {
|
176
176
|
# deferred functions can have nested deferred arguments
|
177
177
|
resolved_arguments = mapped_arguments.map { |arg| resolve_lazy_args(arg) }
|
178
178
|
@scope.call_function(func_name, resolved_arguments)
|
@@ -31,7 +31,7 @@ class Puppet::Pops::Evaluator::EppEvaluator
|
|
31
31
|
|
32
32
|
unless Puppet::FileSystem.exist?(file)
|
33
33
|
unless file =~ /\.epp$/
|
34
|
-
file
|
34
|
+
file += ".epp"
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
@@ -82,7 +82,7 @@ class Puppet::Pops::Evaluator::EppEvaluator
|
|
82
82
|
end
|
83
83
|
|
84
84
|
# filter out all qualified names and set them in qualified_variables
|
85
|
-
# only pass unqualified (filtered) variable names to the
|
85
|
+
# only pass unqualified (filtered) variable names to the template
|
86
86
|
filtered_args = {}
|
87
87
|
template_args.each_pair do |k, v|
|
88
88
|
if k =~ /::/
|
@@ -74,46 +74,44 @@ class EvaluatorImpl
|
|
74
74
|
# @api public
|
75
75
|
#
|
76
76
|
def evaluate(target, scope)
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
if e.file || e.line
|
100
|
-
raise e
|
101
|
-
else
|
102
|
-
# Since it had no location information, treat it as user intended a general purpose
|
103
|
-
# error. Pass on its call stack.
|
104
|
-
fail(Issues::RUNTIME_ERROR, target, { :detail => e.message }, e)
|
105
|
-
end
|
106
|
-
rescue Puppet::Error => e
|
107
|
-
# PuppetError has the ability to wrap an exception, if so, use the wrapped exception's
|
108
|
-
# call stack instead
|
109
|
-
fail(Issues::RUNTIME_ERROR, target, { :detail => e.message }, e.original || e)
|
110
|
-
rescue StopIteration => e
|
111
|
-
# Ensure these are not rescued as StandardError
|
77
|
+
@@eval_visitor.visit_this_1(self, target, scope)
|
78
|
+
rescue SemanticError => e
|
79
|
+
# A raised issue may not know the semantic target, use errors call stack, but fill in the
|
80
|
+
# rest from a supplied semantic object, or the target instruction if there is not semantic
|
81
|
+
# object.
|
82
|
+
#
|
83
|
+
fail(e.issue, e.semantic || target, e.options, e)
|
84
|
+
rescue Puppet::PreformattedError => e
|
85
|
+
# Already formatted with location information, and with the wanted call stack.
|
86
|
+
# Note this is currently a specialized ParseError, so rescue-order is important
|
87
|
+
#
|
88
|
+
raise e
|
89
|
+
rescue Puppet::ParseError => e
|
90
|
+
# ParseError may be raised in ruby code without knowing the location
|
91
|
+
# in puppet code.
|
92
|
+
# Accept a ParseError that has file or line information available
|
93
|
+
# as an error that should be used verbatim. (Tests typically run without
|
94
|
+
# setting a file name).
|
95
|
+
# ParseError can supply an original - it is impossible to determine which
|
96
|
+
# call stack that should be propagated, using the ParseError's backtrace.
|
97
|
+
#
|
98
|
+
if e.file || e.line
|
112
99
|
raise e
|
113
|
-
|
114
|
-
#
|
100
|
+
else
|
101
|
+
# Since it had no location information, treat it as user intended a general purpose
|
102
|
+
# error. Pass on its call stack.
|
115
103
|
fail(Issues::RUNTIME_ERROR, target, { :detail => e.message }, e)
|
116
104
|
end
|
105
|
+
rescue Puppet::Error => e
|
106
|
+
# PuppetError has the ability to wrap an exception, if so, use the wrapped exception's
|
107
|
+
# call stack instead
|
108
|
+
fail(Issues::RUNTIME_ERROR, target, { :detail => e.message }, e.original || e)
|
109
|
+
rescue StopIteration => e
|
110
|
+
# Ensure these are not rescued as StandardError
|
111
|
+
raise e
|
112
|
+
rescue StandardError => e
|
113
|
+
# All other errors, use its message and call stack
|
114
|
+
fail(Issues::RUNTIME_ERROR, target, { :detail => e.message }, e)
|
117
115
|
end
|
118
116
|
|
119
117
|
# Assigns the given _value_ to the given _target_. The additional argument _o_ is the instruction that
|
@@ -693,7 +691,7 @@ class EvaluatorImpl
|
|
693
691
|
the_default = nil
|
694
692
|
if o.options.find do |co|
|
695
693
|
# the first case option that matches
|
696
|
-
|
694
|
+
next unless co.values.find do |c|
|
697
695
|
c = unwind_parentheses(c)
|
698
696
|
case c
|
699
697
|
when Model::LiteralDefault
|
@@ -707,9 +705,9 @@ class EvaluatorImpl
|
|
707
705
|
is_match?(test, evaluate(c, scope), c, co, scope)
|
708
706
|
end
|
709
707
|
end
|
710
|
-
|
711
|
-
|
712
|
-
|
708
|
+
|
709
|
+
result = evaluate(co.then_expr, scope)
|
710
|
+
true # the option was picked
|
713
711
|
end
|
714
712
|
result # an option was picked, and produced a result
|
715
713
|
else
|
@@ -746,17 +744,15 @@ class EvaluatorImpl
|
|
746
744
|
end
|
747
745
|
|
748
746
|
def eval_Program(o, scope)
|
749
|
-
|
750
|
-
|
751
|
-
|
752
|
-
|
753
|
-
|
754
|
-
|
755
|
-
|
756
|
-
|
757
|
-
|
758
|
-
raise Puppet::ParseError.new(_("break() from context where this is illegal"), ex.file, ex.line)
|
759
|
-
end
|
747
|
+
file = o.locator.file
|
748
|
+
line = 0
|
749
|
+
# Add stack frame for "top scope" logic. See Puppet::Pops::PuppetStack
|
750
|
+
Puppet::Pops::PuppetStack.stack(file, line, self, 'evaluate', [o.body, scope])
|
751
|
+
# evaluate(o.body, scope)
|
752
|
+
rescue Puppet::Pops::Evaluator::PuppetStopIteration => ex
|
753
|
+
# breaking out of a file level program is not allowed
|
754
|
+
# TRANSLATOR break() is a method that should not be translated
|
755
|
+
raise Puppet::ParseError.new(_("break() from context where this is illegal"), ex.file, ex.line)
|
760
756
|
end
|
761
757
|
|
762
758
|
# Produces Array[PAnyType], an array of resource references
|
@@ -811,7 +807,7 @@ class EvaluatorImpl
|
|
811
807
|
|
812
808
|
# This is a runtime check - the model is valid, but will have runtime issues when evaluated
|
813
809
|
# and storeconfigs is not set.
|
814
|
-
if
|
810
|
+
if o.exported
|
815
811
|
optionally_fail(Issues::RT_NO_STORECONFIGS_EXPORT, o);
|
816
812
|
end
|
817
813
|
|
@@ -1068,10 +1064,10 @@ class EvaluatorImpl
|
|
1068
1064
|
# Evaluates Puppet DSL `unless`
|
1069
1065
|
def eval_UnlessExpression o, scope
|
1070
1066
|
scope.with_guarded_scope do
|
1071
|
-
|
1072
|
-
evaluate(o.then_expr, scope)
|
1073
|
-
else
|
1067
|
+
if is_true?(evaluate(o.test, scope), o.test)
|
1074
1068
|
evaluate(o.else_expr, scope)
|
1069
|
+
else
|
1070
|
+
evaluate(o.then_expr, scope)
|
1075
1071
|
end
|
1076
1072
|
end
|
1077
1073
|
end
|
@@ -1236,15 +1232,15 @@ class EvaluatorImpl
|
|
1236
1232
|
Hash[*y]
|
1237
1233
|
end
|
1238
1234
|
else
|
1239
|
-
raise ArgumentError
|
1235
|
+
raise ArgumentError, _('Can only append Array or Hash to a Hash')
|
1240
1236
|
end
|
1241
1237
|
x.merge y # new hash with overwrite
|
1242
1238
|
when URI
|
1243
|
-
raise ArgumentError
|
1239
|
+
raise ArgumentError, _('An URI can only be merged with an URI or String') unless y.is_a?(String) || y.is_a?(URI)
|
1244
1240
|
|
1245
1241
|
x + y
|
1246
1242
|
when Types::PBinaryType::Binary
|
1247
|
-
raise ArgumentError
|
1243
|
+
raise ArgumentError, _('Can only append Binary to a Binary') unless y.is_a?(Types::PBinaryType::Binary)
|
1248
1244
|
|
1249
1245
|
Types::PBinaryType::Binary.from_binary_string(x.binary_buffer + y.binary_buffer)
|
1250
1246
|
else
|
@@ -1276,7 +1272,7 @@ class EvaluatorImpl
|
|
1276
1272
|
end
|
1277
1273
|
y.each { |e| result.delete(e) }
|
1278
1274
|
else
|
1279
|
-
raise ArgumentError
|
1275
|
+
raise ArgumentError, _("Can only delete from an Array or Hash.")
|
1280
1276
|
end
|
1281
1277
|
result
|
1282
1278
|
end
|
@@ -47,7 +47,7 @@ class RelationshipOperator
|
|
47
47
|
# Catch all non transformable objects
|
48
48
|
# @api private
|
49
49
|
def transform_Object(o, scope)
|
50
|
-
raise IllegalRelationshipOperandError
|
50
|
+
raise IllegalRelationshipOperandError, o
|
51
51
|
end
|
52
52
|
|
53
53
|
# A Resource is by definition a Catalog type, but of 3.x type
|
@@ -98,7 +98,7 @@ class RelationshipOperator
|
|
98
98
|
#
|
99
99
|
def assert_catalog_type(o, scope)
|
100
100
|
unless @type_calculator.assignable?(@catalog_type, o)
|
101
|
-
raise NotCatalogTypeError
|
101
|
+
raise NotCatalogTypeError, o
|
102
102
|
end
|
103
103
|
|
104
104
|
# TODO must check if this is an abstract PResourceType (i.e. without a type_name) - which should fail ?
|
@@ -70,7 +70,7 @@ class Runtime3Converter
|
|
70
70
|
return o unless o < MIN_INTEGER || o > MAX_INTEGER
|
71
71
|
|
72
72
|
range_end = o > MAX_INTEGER ? 'max' : 'min'
|
73
|
-
raise Puppet::Error, "Use of a Ruby Integer outside of Puppet Integer #{range_end} range, got '#{
|
73
|
+
raise Puppet::Error, "Use of a Ruby Integer outside of Puppet Integer #{range_end} range, got '#{'0x%x' % o}'"
|
74
74
|
end
|
75
75
|
|
76
76
|
def convert_BigDecimal(o, scope, undef_value)
|
@@ -165,7 +165,7 @@ class Runtime3Converter
|
|
165
165
|
@convert_visitor = Puppet::Pops::Visitor.new(self, 'convert', 2, 2)
|
166
166
|
end
|
167
167
|
|
168
|
-
@instance =
|
168
|
+
@instance = new
|
169
169
|
end
|
170
170
|
|
171
171
|
# A Ruby function written for the 3.x API cannot be expected to handle extended data types. This
|
@@ -220,6 +220,6 @@ class Runtime3FunctionArgumentConverter < Runtime3Converter
|
|
220
220
|
end
|
221
221
|
end
|
222
222
|
|
223
|
-
@instance =
|
223
|
+
@instance = new
|
224
224
|
end
|
225
225
|
end
|
@@ -37,7 +37,7 @@ module Runtime3Support
|
|
37
37
|
if except.nil? && diagnostic_producer.severity_producer[issue] == :error
|
38
38
|
# Want a stacktrace, and it must be passed as an exception
|
39
39
|
begin
|
40
|
-
raise EvaluationError
|
40
|
+
raise EvaluationError
|
41
41
|
rescue EvaluationError => e
|
42
42
|
except = e
|
43
43
|
end
|
@@ -62,15 +62,15 @@ class Puppet::Pops::Functions::Dispatcher
|
|
62
62
|
# make a copy to make sure it can be contained by someone else (even if it is not contained here, it
|
63
63
|
# should be treated as immutable).
|
64
64
|
#
|
65
|
-
callables = dispatchers.map
|
65
|
+
callables = dispatchers.map(&:type)
|
66
66
|
|
67
67
|
# multiple signatures, produce a Variant type of Callable1-n (must copy them)
|
68
68
|
# single signature, produce single Callable
|
69
|
-
callables.size > 1 ?
|
69
|
+
callables.size > 1 ? Puppet::Pops::Types::TypeFactory.variant(*callables) : callables.pop
|
70
70
|
end
|
71
71
|
|
72
72
|
# @api private
|
73
73
|
def signatures
|
74
|
-
@dispatchers.reject
|
74
|
+
@dispatchers.reject(&:argument_mismatch_handler?)
|
75
75
|
end
|
76
76
|
end
|
@@ -40,23 +40,21 @@ class Puppet::Pops::Functions::Function
|
|
40
40
|
#
|
41
41
|
# @api public
|
42
42
|
def call(scope, *args, &block)
|
43
|
+
result = catch(:return) do
|
44
|
+
return self.class.dispatcher.dispatch(self, scope, args, &block)
|
45
|
+
end
|
46
|
+
result.value
|
47
|
+
rescue Puppet::Pops::Evaluator::Next => jumper
|
43
48
|
begin
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
end
|
54
|
-
rescue Puppet::Pops::Evaluator::Return => jumper
|
55
|
-
begin
|
56
|
-
throw :return, jumper
|
57
|
-
rescue Puppet::Parser::Scope::UNCAUGHT_THROW_EXCEPTION
|
58
|
-
raise Puppet::ParseError.new("return() from context where this is illegal", jumper.file, jumper.line)
|
59
|
-
end
|
49
|
+
throw :next, jumper.value
|
50
|
+
rescue Puppet::Parser::Scope::UNCAUGHT_THROW_EXCEPTION
|
51
|
+
raise Puppet::ParseError.new("next() from context where this is illegal", jumper.file, jumper.line)
|
52
|
+
end
|
53
|
+
rescue Puppet::Pops::Evaluator::Return => jumper
|
54
|
+
begin
|
55
|
+
throw :return, jumper
|
56
|
+
rescue Puppet::Parser::Scope::UNCAUGHT_THROW_EXCEPTION
|
57
|
+
raise Puppet::ParseError.new("return() from context where this is illegal", jumper.file, jumper.line)
|
60
58
|
end
|
61
59
|
end
|
62
60
|
|
@@ -48,7 +48,7 @@ class IssueReporter
|
|
48
48
|
errors = acceptor.errors
|
49
49
|
if errors.size > 0
|
50
50
|
unless emit_errors
|
51
|
-
raise emit_exception
|
51
|
+
raise emit_exception, emit_message
|
52
52
|
end
|
53
53
|
|
54
54
|
formatter = Validation::DiagnosticFormatterPuppetStyle.new
|
@@ -70,7 +70,7 @@ class IssueReporter
|
|
70
70
|
emitted += 1
|
71
71
|
break if emitted >= max_errors
|
72
72
|
end
|
73
|
-
giving_up_message = if
|
73
|
+
giving_up_message = if emit_warnings && warnings.size > 0
|
74
74
|
_("Language validation logged %{error_count} errors, and %{warning_count} warnings. Giving up") %
|
75
75
|
{ error_count: errors.size, warning_count: warnings.size }
|
76
76
|
else
|
@@ -4,8 +4,8 @@
|
|
4
4
|
# This simple implementation calls #to_s on the given object, and handles articles 'a/an/the'.
|
5
5
|
#
|
6
6
|
module Puppet::Pops::LabelProvider
|
7
|
-
VOWELS = %w
|
8
|
-
SKIPPED_CHARACTERS = %w
|
7
|
+
VOWELS = %w[a e i o u y]
|
8
|
+
SKIPPED_CHARACTERS = %w[" ']
|
9
9
|
A = "a"
|
10
10
|
AN = "an"
|
11
11
|
|
@@ -44,7 +44,7 @@ class Puppet::Pops::Loader::DependencyLoader < Puppet::Pops::Loader::BaseLoader
|
|
44
44
|
# (Note: superclass caches the result in this loader as it would have to repeat this search for every
|
45
45
|
# lookup otherwise).
|
46
46
|
loaded = @dependency_loaders.reduce(nil) do |previous, loader|
|
47
|
-
break previous
|
47
|
+
break previous unless previous.nil?
|
48
48
|
|
49
49
|
loader.load_typed(typed_name)
|
50
50
|
end
|
@@ -62,7 +62,7 @@ class Puppet::Pops::Loader::DependencyLoader < Puppet::Pops::Loader::BaseLoader
|
|
62
62
|
end
|
63
63
|
|
64
64
|
def to_s
|
65
|
-
"(DependencyLoader '#{@loader_name}' [" + @dependency_loaders.map
|
65
|
+
"(DependencyLoader '#{@loader_name}' [" + @dependency_loaders.map(&:to_s).join(' ,') + "])"
|
66
66
|
end
|
67
67
|
|
68
68
|
private
|
@@ -81,7 +81,7 @@ class Puppet::Pops::Loader::DependencyLoader < Puppet::Pops::Loader::BaseLoader
|
|
81
81
|
# (Note: superclass caches the result in this loader as it would have to repeat this search for every
|
82
82
|
# lookup otherwise).
|
83
83
|
@dependency_loaders.reduce(nil) do |previous, loader|
|
84
|
-
break previous
|
84
|
+
break previous unless previous.nil?
|
85
85
|
|
86
86
|
loader.loaded_entry(typed_name, check_dependencies)
|
87
87
|
end
|
@@ -54,7 +54,7 @@ class Loader
|
|
54
54
|
# @yieldreturn [Boolean] `true` to keep the entry, `false` to discard it.
|
55
55
|
# @return [Array<TypedName>] the list of names of discovered values
|
56
56
|
def discover(type, error_collector = nil, name_authority = Pcore::RUNTIME_NAME_AUTHORITY, &block)
|
57
|
-
|
57
|
+
EMPTY_ARRAY
|
58
58
|
end
|
59
59
|
|
60
60
|
# Produces the value associated with the given name if already loaded, or available for loading
|
@@ -164,7 +164,7 @@ class Loader
|
|
164
164
|
# @api private
|
165
165
|
#
|
166
166
|
def set_entry(type, name, value, origin = nil)
|
167
|
-
raise NotImplementedError
|
167
|
+
raise NotImplementedError
|
168
168
|
end
|
169
169
|
|
170
170
|
# Produces a NamedEntry if a value is bound to the given name, or nil if nothing is bound.
|
@@ -175,7 +175,7 @@ class Loader
|
|
175
175
|
# @api private
|
176
176
|
#
|
177
177
|
def get_entry(typed_name)
|
178
|
-
raise NotImplementedError
|
178
|
+
raise NotImplementedError
|
179
179
|
end
|
180
180
|
|
181
181
|
# A loader is by default a loader for all kinds of loadables. An implementation may override
|
@@ -199,7 +199,7 @@ class Loader
|
|
199
199
|
# at this point to inspect (ie children would print out `loader_name`
|
200
200
|
# rather than their version of to_s if they chose to implement it).
|
201
201
|
def inspect
|
202
|
-
|
202
|
+
to_s
|
203
203
|
end
|
204
204
|
|
205
205
|
# An entry for one entity loaded by the loader.
|
@@ -108,11 +108,11 @@ module LoaderPaths
|
|
108
108
|
end
|
109
109
|
|
110
110
|
def relative_path
|
111
|
-
raise NotImplementedError
|
111
|
+
raise NotImplementedError
|
112
112
|
end
|
113
113
|
|
114
114
|
def instantiator
|
115
|
-
raise NotImplementedError
|
115
|
+
raise NotImplementedError
|
116
116
|
end
|
117
117
|
end
|
118
118
|
|
@@ -234,7 +234,7 @@ module LoaderPaths
|
|
234
234
|
# match more than one path with one name
|
235
235
|
class TaskPath < PuppetSmartPath
|
236
236
|
TASKS_PATH = 'tasks'
|
237
|
-
FORBIDDEN_EXTENSIONS = %w
|
237
|
+
FORBIDDEN_EXTENSIONS = %w[.conf .md].freeze
|
238
238
|
|
239
239
|
def extension
|
240
240
|
EMPTY_STRING
|