puppet 8.5.0-universal-darwin → 8.6.0-universal-darwin
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
@@ -57,7 +57,7 @@ class TypedModelObject < Object
|
|
57
57
|
def self.register_ptypes(loader, ir)
|
58
58
|
types = [
|
59
59
|
Annotation.register_ptype(loader, ir),
|
60
|
-
RubyMethod.register_ptype(loader, ir)
|
60
|
+
RubyMethod.register_ptype(loader, ir)
|
61
61
|
]
|
62
62
|
Types.constants.each do |c|
|
63
63
|
next if c == :PType || c == :PHostClassType
|
@@ -131,7 +131,7 @@ class PAnyType < TypedModelObject
|
|
131
131
|
end
|
132
132
|
when PVariantType
|
133
133
|
# Assignable if all contained types are assignable, or if this is exactly Any
|
134
|
-
return true if
|
134
|
+
return true if instance_of?(PAnyType)
|
135
135
|
# An empty variant may be assignable to NotUndef[T] if T is assignable to empty variant
|
136
136
|
return _assignable?(o, guard) if is_a?(PNotUndefType) && o.types.empty?
|
137
137
|
|
@@ -342,7 +342,7 @@ class PAnyType < TypedModelObject
|
|
342
342
|
# @raises ArgumentError
|
343
343
|
#
|
344
344
|
def self.new_function(type)
|
345
|
-
raise ArgumentError
|
345
|
+
raise ArgumentError, "Creation of new instance of type '#{type}' is not supported"
|
346
346
|
end
|
347
347
|
|
348
348
|
# Answers the question if instances of this type can represent themselves as a string that
|
@@ -400,7 +400,7 @@ class PAnyType < TypedModelObject
|
|
400
400
|
modified = false
|
401
401
|
modified_types = types.map do |t|
|
402
402
|
t_mod = t.send(method, *method_args)
|
403
|
-
modified
|
403
|
+
modified ||= !t.equal?(t_mod)
|
404
404
|
t_mod
|
405
405
|
end
|
406
406
|
if modified
|
@@ -737,7 +737,7 @@ class PScalarDataType < PScalarType
|
|
737
737
|
end
|
738
738
|
|
739
739
|
def instance?(o, guard = nil)
|
740
|
-
|
740
|
+
o.instance_of?(String) || o.is_a?(Integer) || o.is_a?(Float) || o.is_a?(TrueClass) || o.is_a?(FalseClass)
|
741
741
|
end
|
742
742
|
|
743
743
|
DEFAULT = PScalarDataType.new
|
@@ -919,9 +919,9 @@ class PNumericType < PScalarDataType
|
|
919
919
|
|
920
920
|
Puppet::Pops::Utils.to_n(from)
|
921
921
|
rescue TypeError => e
|
922
|
-
raise TypeConversionError
|
922
|
+
raise TypeConversionError, e.message
|
923
923
|
rescue ArgumentError => e
|
924
|
-
raise TypeConversionError
|
924
|
+
raise TypeConversionError, e.message
|
925
925
|
end
|
926
926
|
end
|
927
927
|
end
|
@@ -952,7 +952,7 @@ class PNumericType < PScalarDataType
|
|
952
952
|
# @return [Boolean] `true` if this range intersects with the other range
|
953
953
|
# @api public
|
954
954
|
def intersect?(o)
|
955
|
-
|
955
|
+
instance_of?(o.class) && !(@to < o.numeric_from || o.numeric_to < @from)
|
956
956
|
end
|
957
957
|
|
958
958
|
# Returns the lower bound of the numeric range or `nil` if no lower bound is set.
|
@@ -1088,7 +1088,11 @@ class PIntegerType < PNumericType
|
|
1088
1088
|
# numbers are converted to zero
|
1089
1089
|
# @return [PIntegerType] a positive range
|
1090
1090
|
def to_size
|
1091
|
-
@from >= 0
|
1091
|
+
if @from >= 0
|
1092
|
+
self
|
1093
|
+
else
|
1094
|
+
PIntegerType.new(0, @to < 0 ? 0 : @to)
|
1095
|
+
end
|
1092
1096
|
end
|
1093
1097
|
|
1094
1098
|
def new_function
|
@@ -1142,7 +1146,7 @@ class PIntegerType < PNumericType
|
|
1142
1146
|
begin
|
1143
1147
|
radix == :default ? Integer(from) : Integer(from, radix)
|
1144
1148
|
rescue TypeError => e
|
1145
|
-
raise TypeConversionError
|
1149
|
+
raise TypeConversionError, e.message
|
1146
1150
|
rescue ArgumentError => e
|
1147
1151
|
# Test for special case where there is whitespace between sign and number
|
1148
1152
|
match = Patterns::WS_BETWEEN_SIGN_AND_NUMBER.match(from)
|
@@ -1154,7 +1158,7 @@ class PIntegerType < PNumericType
|
|
1154
1158
|
# Ignored to retain original error
|
1155
1159
|
end
|
1156
1160
|
end
|
1157
|
-
raise TypeConversionError
|
1161
|
+
raise TypeConversionError, e.message
|
1158
1162
|
end
|
1159
1163
|
end
|
1160
1164
|
end
|
@@ -1184,7 +1188,7 @@ class PIntegerType < PNumericType
|
|
1184
1188
|
when 2, 8, 10, 16
|
1185
1189
|
# do nothing
|
1186
1190
|
else
|
1187
|
-
raise ArgumentError
|
1191
|
+
raise ArgumentError, _("Illegal radix: %{radix}, expected 2, 8, 10, 16, or default") % { radix: radix }
|
1188
1192
|
end
|
1189
1193
|
radix
|
1190
1194
|
end
|
@@ -1277,7 +1281,7 @@ class PFloatType < PNumericType
|
|
1277
1281
|
end
|
1278
1282
|
Float(from)
|
1279
1283
|
rescue TypeError => e
|
1280
|
-
raise TypeConversionError
|
1284
|
+
raise TypeConversionError, e.message
|
1281
1285
|
rescue ArgumentError => e
|
1282
1286
|
# Test for special case where there is whitespace between sign and number
|
1283
1287
|
match = Patterns::WS_BETWEEN_SIGN_AND_NUMBER.match(from)
|
@@ -1289,7 +1293,7 @@ class PFloatType < PNumericType
|
|
1289
1293
|
# Ignored to retain original error
|
1290
1294
|
end
|
1291
1295
|
end
|
1292
|
-
raise TypeConversionError
|
1296
|
+
raise TypeConversionError, e.message
|
1293
1297
|
end
|
1294
1298
|
end
|
1295
1299
|
end
|
@@ -1816,7 +1820,7 @@ class PPatternType < PScalarDataType
|
|
1816
1820
|
else
|
1817
1821
|
# the string in String type must match one of the patterns in Pattern type,
|
1818
1822
|
# or Pattern represents all Patterns == all Strings
|
1819
|
-
regexps = @patterns.map
|
1823
|
+
regexps = @patterns.map(&:regexp)
|
1820
1824
|
regexps.empty? || regexps.any? { |re| re.match(v) }
|
1821
1825
|
end
|
1822
1826
|
when PEnumType
|
@@ -1827,7 +1831,7 @@ class PPatternType < PScalarDataType
|
|
1827
1831
|
else
|
1828
1832
|
# all strings in String/Enum type must match one of the patterns in Pattern type,
|
1829
1833
|
# or Pattern represents all Patterns == all Strings
|
1830
|
-
regexps = @patterns.map
|
1834
|
+
regexps = @patterns.map(&:regexp)
|
1831
1835
|
regexps.empty? || o.values.all? { |s| regexps.any? { |re| re.match(s) } }
|
1832
1836
|
end
|
1833
1837
|
when PPatternType
|
@@ -1963,7 +1967,7 @@ class PStructElement < TypedModelObject
|
|
1963
1967
|
end
|
1964
1968
|
|
1965
1969
|
def <=>(o)
|
1966
|
-
|
1970
|
+
name <=> o.name
|
1967
1971
|
end
|
1968
1972
|
|
1969
1973
|
def eql?(o)
|
@@ -2045,8 +2049,8 @@ class PStructType < PAnyType
|
|
2045
2049
|
else
|
2046
2050
|
PIterableType.new(
|
2047
2051
|
PTupleType.new([
|
2048
|
-
PVariantType.maybe_create(@elements.map
|
2049
|
-
PVariantType.maybe_create(@elements.map
|
2052
|
+
PVariantType.maybe_create(@elements.map(&:key_type)),
|
2053
|
+
PVariantType.maybe_create(@elements.map(&:value_type))
|
2050
2054
|
],
|
2051
2055
|
PHashType::KEY_PAIR_TUPLE_SIZE)
|
2052
2056
|
)
|
@@ -2434,7 +2438,7 @@ class PCallableType < PAnyType
|
|
2434
2438
|
return false unless @param_types.instance?(args)
|
2435
2439
|
|
2436
2440
|
if @block_type.nil?
|
2437
|
-
block
|
2441
|
+
block.nil?
|
2438
2442
|
else
|
2439
2443
|
@block_type.instance?(block)
|
2440
2444
|
end
|
@@ -2842,7 +2846,7 @@ class PHashType < PCollectionType
|
|
2842
2846
|
{}
|
2843
2847
|
else
|
2844
2848
|
unless from.size.even?
|
2845
|
-
raise TypeConversionError
|
2849
|
+
raise TypeConversionError, _('odd number of arguments for Hash')
|
2846
2850
|
end
|
2847
2851
|
|
2848
2852
|
Hash[*from]
|
@@ -2854,7 +2858,7 @@ class PHashType < PCollectionType
|
|
2854
2858
|
Hash[*Iterable.on(from).to_a]
|
2855
2859
|
else
|
2856
2860
|
t = TypeCalculator.singleton.infer(from).generalize
|
2857
|
-
raise TypeConversionError
|
2861
|
+
raise TypeConversionError, _("Value of type %{type} cannot be converted to Hash") % { type: t }
|
2858
2862
|
end
|
2859
2863
|
end
|
2860
2864
|
end
|
@@ -3054,7 +3058,7 @@ class PVariantType < PAnyType
|
|
3054
3058
|
not_undefs = parts[0]
|
3055
3059
|
if not_undefs.size > 1
|
3056
3060
|
others = parts[1]
|
3057
|
-
others << PNotUndefType.new(PVariantType.maybe_create(not_undefs.map
|
3061
|
+
others << PNotUndefType.new(PVariantType.maybe_create(not_undefs.map(&:type)).normalize)
|
3058
3062
|
array = others
|
3059
3063
|
end
|
3060
3064
|
end
|
@@ -3097,7 +3101,7 @@ class PVariantType < PAnyType
|
|
3097
3101
|
patterns = parts[0]
|
3098
3102
|
if patterns.size > 1
|
3099
3103
|
others = parts[1]
|
3100
|
-
others << PPatternType.new(patterns.map
|
3104
|
+
others << PPatternType.new(patterns.map(&:patterns).flatten.uniq)
|
3101
3105
|
array = others
|
3102
3106
|
end
|
3103
3107
|
end
|
data/lib/puppet/pops/utils.rb
CHANGED
@@ -45,37 +45,35 @@ module Utils
|
|
45
45
|
# @api public
|
46
46
|
#
|
47
47
|
def self.to_n_with_radix o
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
if !match
|
53
|
-
nil
|
54
|
-
elsif match[5].to_s.length > 0
|
55
|
-
fp_value = match_to_fp(match)
|
56
|
-
fp_value.nil? ? nil : [fp_value, 10]
|
57
|
-
else
|
58
|
-
# Set radix (default is decimal == 10)
|
59
|
-
radix = 10
|
60
|
-
if match[3].to_s.length > 0
|
61
|
-
radix = 16
|
62
|
-
elsif match[4].to_s.length > 1 && match[4][0, 1] == '0'
|
63
|
-
radix = 8
|
64
|
-
end
|
65
|
-
# Ruby 1.8.7 does not have a second argument to Kernel method that creates an
|
66
|
-
# integer from a string, it relies on the prefix 0x, 0X, 0 (and unsupported in puppet binary 'b')
|
67
|
-
# We have the correct string here, match[2] is safe to parse without passing on radix
|
68
|
-
match[1] == '-' ? [-Integer(match[2]), radix] : [Integer(match[2]), radix]
|
69
|
-
end
|
70
|
-
when Numeric
|
71
|
-
# Impossible to calculate radix, assume decimal
|
72
|
-
[o, 10]
|
73
|
-
else
|
48
|
+
case o
|
49
|
+
when String
|
50
|
+
match = Patterns::NUMERIC.match(relativize_name(o))
|
51
|
+
if !match
|
74
52
|
nil
|
53
|
+
elsif match[5].to_s.length > 0
|
54
|
+
fp_value = match_to_fp(match)
|
55
|
+
fp_value.nil? ? nil : [fp_value, 10]
|
56
|
+
else
|
57
|
+
# Set radix (default is decimal == 10)
|
58
|
+
radix = 10
|
59
|
+
if match[3].to_s.length > 0
|
60
|
+
radix = 16
|
61
|
+
elsif match[4].to_s.length > 1 && match[4][0, 1] == '0'
|
62
|
+
radix = 8
|
63
|
+
end
|
64
|
+
# Ruby 1.8.7 does not have a second argument to Kernel method that creates an
|
65
|
+
# integer from a string, it relies on the prefix 0x, 0X, 0 (and unsupported in puppet binary 'b')
|
66
|
+
# We have the correct string here, match[2] is safe to parse without passing on radix
|
67
|
+
match[1] == '-' ? [-Integer(match[2]), radix] : [Integer(match[2]), radix]
|
75
68
|
end
|
76
|
-
|
69
|
+
when Numeric
|
70
|
+
# Impossible to calculate radix, assume decimal
|
71
|
+
[o, 10]
|
72
|
+
else
|
77
73
|
nil
|
78
74
|
end
|
75
|
+
rescue ArgumentError
|
76
|
+
nil
|
79
77
|
end
|
80
78
|
|
81
79
|
# To Numeric (or already numeric)
|
@@ -84,25 +82,23 @@ module Utils
|
|
84
82
|
# A leading '::' is accepted (and ignored)
|
85
83
|
#
|
86
84
|
def self.to_n o
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
if !match
|
92
|
-
nil
|
93
|
-
elsif match[5].to_s.length > 0
|
94
|
-
match_to_fp(match)
|
95
|
-
else
|
96
|
-
match[1] == '-' ? -Integer(match[2]) : Integer(match[2])
|
97
|
-
end
|
98
|
-
when Numeric
|
99
|
-
o
|
100
|
-
else
|
85
|
+
case o
|
86
|
+
when String
|
87
|
+
match = Patterns::NUMERIC.match(relativize_name(o))
|
88
|
+
if !match
|
101
89
|
nil
|
90
|
+
elsif match[5].to_s.length > 0
|
91
|
+
match_to_fp(match)
|
92
|
+
else
|
93
|
+
match[1] == '-' ? -Integer(match[2]) : Integer(match[2])
|
102
94
|
end
|
103
|
-
|
95
|
+
when Numeric
|
96
|
+
o
|
97
|
+
else
|
104
98
|
nil
|
105
99
|
end
|
100
|
+
rescue ArgumentError
|
101
|
+
nil
|
106
102
|
end
|
107
103
|
|
108
104
|
# is the name absolute (i.e. starts with ::)
|
@@ -325,11 +325,11 @@ class Checker4_0 < Evaluator::LiteralEvaluator
|
|
325
325
|
found_default = false
|
326
326
|
o.options.each do |option|
|
327
327
|
option.values.each do |value|
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
328
|
+
next unless value.is_a?(Model::LiteralDefault)
|
329
|
+
|
330
|
+
# Flag the second default as 'unreachable'
|
331
|
+
acceptor.accept(Issues::DUPLICATE_DEFAULT, value, :container => o) if found_default
|
332
|
+
found_default = true
|
333
333
|
end
|
334
334
|
end
|
335
335
|
end
|
@@ -573,7 +573,7 @@ class Checker4_0 < Evaluator::LiteralEvaluator
|
|
573
573
|
body = prog.body
|
574
574
|
return if prog.body.is_a?(Model::Nop) # Ignore empty or comment-only files
|
575
575
|
|
576
|
-
if
|
576
|
+
if body.is_a?(Model::BlockExpression)
|
577
577
|
body.statements.each { |s| acceptor.accept(Issues::ILLEGAL_TOP_CONSTRUCT_LOCATION, s) unless valid_top_construct?(s) }
|
578
578
|
else
|
579
579
|
acceptor.accept(Issues::ILLEGAL_TOP_CONSTRUCT_LOCATION, body) unless valid_top_construct?(body)
|
@@ -620,7 +620,7 @@ class Checker4_0 < Evaluator::LiteralEvaluator
|
|
620
620
|
# If a file comes from a module, but isn't in the right place, always error
|
621
621
|
names = dir_to_names(relative_path)
|
622
622
|
|
623
|
-
|
623
|
+
adapter.file_to_namespace[file] = (names == BAD_MODULE_FILE ? BAD_MODULE_FILE : names.join("::").freeze)
|
624
624
|
end
|
625
625
|
|
626
626
|
def initial_manifest?(path, manifest_setting)
|
@@ -647,7 +647,7 @@ class Checker4_0 < Evaluator::LiteralEvaluator
|
|
647
647
|
parent_dir_path = Pathname.new(parent_dir)
|
648
648
|
clean_parent = parent_dir_path.cleanpath.to_s + File::SEPARATOR
|
649
649
|
|
650
|
-
|
650
|
+
child_dir.start_with?(clean_parent)
|
651
651
|
end
|
652
652
|
private :is_parent_dir_of?
|
653
653
|
|
@@ -670,7 +670,7 @@ class Checker4_0 < Evaluator::LiteralEvaluator
|
|
670
670
|
# Do not include name of module init file at top level of module
|
671
671
|
# e.g. <module name>/manifests/init.pp
|
672
672
|
filename = path_components[-1]
|
673
|
-
|
673
|
+
unless path_components.length == 3 && filename == 'init.pp'
|
674
674
|
names.push(filename[0..-4]) # Remove .pp from filename
|
675
675
|
end
|
676
676
|
|
@@ -1124,7 +1124,7 @@ class Checker4_0 < Evaluator::LiteralEvaluator
|
|
1124
1124
|
|
1125
1125
|
# Case expression is idem, if test, and all options are idem
|
1126
1126
|
def idem_CaseExpression(o)
|
1127
|
-
return false
|
1127
|
+
return false unless idem(o.test)
|
1128
1128
|
|
1129
1129
|
!o.options.any? { |opt| !idem(opt) }
|
1130
1130
|
end
|
@@ -36,6 +36,8 @@ class ValidatorFactory_4_0 < Factory
|
|
36
36
|
p[Issues::NAME_WITH_HYPHEN] = :error
|
37
37
|
p[Issues::EMPTY_RESOURCE_SPECIALIZATION] = :ignore
|
38
38
|
p[Issues::CLASS_NOT_VIRTUALIZABLE] = :error
|
39
|
+
|
40
|
+
p[Issues::ILLEGAL_NONLITERAL_PARAMETER_TYPE] = :deprecation
|
39
41
|
p
|
40
42
|
end
|
41
43
|
end
|
@@ -126,13 +126,13 @@ module Validation
|
|
126
126
|
#
|
127
127
|
def []=(issue, level)
|
128
128
|
unless issue.is_a? Issues::Issue
|
129
|
-
raise Puppet::DevError
|
129
|
+
raise Puppet::DevError, _("Attempt to set validation severity for something that is not an Issue. (Got %{issue})") % { issue: issue.class }
|
130
130
|
end
|
131
131
|
unless SEVERITIES[level]
|
132
|
-
raise Puppet::DevError
|
132
|
+
raise Puppet::DevError, _("Illegal severity level: %{level} for '%{issue_code}'") % { issue_code: issue.issue_code, level: level }
|
133
133
|
end
|
134
134
|
unless issue.demotable? || level == :error
|
135
|
-
raise Puppet::DevError
|
135
|
+
raise Puppet::DevError, _("Attempt to demote the hard issue '%{issue_code}' to %{level}") % { issue_code: issue.issue_code, level: level }
|
136
136
|
end
|
137
137
|
|
138
138
|
@severities[issue] = level
|
@@ -153,7 +153,7 @@ module Validation
|
|
153
153
|
#
|
154
154
|
def assert_issue issue
|
155
155
|
unless issue.is_a? Issues::Issue
|
156
|
-
raise Puppet::DevError
|
156
|
+
raise Puppet::DevError, _("Attempt to get validation severity for something that is not an Issue. (Got %{issue})") % { issue: issue.class }
|
157
157
|
end
|
158
158
|
end
|
159
159
|
end
|
data/lib/puppet/pops/visitor.rb
CHANGED
@@ -16,8 +16,8 @@ class Visitor
|
|
16
16
|
attr_reader :receiver, :message, :min_args, :max_args, :cache
|
17
17
|
|
18
18
|
def initialize(receiver, message, min_args = 0, max_args = nil)
|
19
|
-
raise ArgumentError
|
20
|
-
raise ArgumentError
|
19
|
+
raise ArgumentError, "min_args must be >= 0" if min_args < 0
|
20
|
+
raise ArgumentError, "max_args must be >= min_args or nil" if max_args && max_args < min_args
|
21
21
|
|
22
22
|
@receiver = receiver
|
23
23
|
@message = message
|
@@ -52,19 +52,17 @@ class Puppet::Property::Ensure < Puppet::Property
|
|
52
52
|
end
|
53
53
|
|
54
54
|
def change_to_s(currentvalue, newvalue)
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
return _('%{name} changed %{is} to %{should}') % { name: name, is: is_to_s(currentvalue), should: should_to_s(newvalue) }
|
62
|
-
end
|
63
|
-
rescue Puppet::Error
|
64
|
-
raise
|
65
|
-
rescue => detail
|
66
|
-
raise Puppet::DevError, _("Could not convert change %{name} to string: %{detail}") % { name: self.name, detail: detail }, detail.backtrace
|
55
|
+
if currentvalue == :absent || currentvalue.nil?
|
56
|
+
_("created")
|
57
|
+
elsif newvalue == :absent
|
58
|
+
_("removed")
|
59
|
+
else
|
60
|
+
_('%{name} changed %{is} to %{should}') % { name: name, is: is_to_s(currentvalue), should: should_to_s(newvalue) }
|
67
61
|
end
|
62
|
+
rescue Puppet::Error
|
63
|
+
raise
|
64
|
+
rescue => detail
|
65
|
+
raise Puppet::DevError, _("Could not convert change %{name} to string: %{detail}") % { name: name, detail: detail }, detail.backtrace
|
68
66
|
end
|
69
67
|
|
70
68
|
# Retrieves the _is_ value for the ensure property.
|
@@ -90,9 +88,9 @@ class Puppet::Property::Ensure < Puppet::Property
|
|
90
88
|
raise Puppet::DevError, _("No ability to determine if %{name} exists") % { name: @resource.class.name }
|
91
89
|
end
|
92
90
|
if result
|
93
|
-
|
91
|
+
:present
|
94
92
|
else
|
95
|
-
|
93
|
+
:absent
|
96
94
|
end
|
97
95
|
end
|
98
96
|
|
@@ -110,9 +110,9 @@ module Puppet
|
|
110
110
|
# ok, some 'convention' if the keyvalue property is named properties, provider should implement a properties method
|
111
111
|
key_hash = provider.send(name) if provider
|
112
112
|
if key_hash && key_hash != :absent
|
113
|
-
|
113
|
+
key_hash
|
114
114
|
else
|
115
|
-
|
115
|
+
:absent
|
116
116
|
end
|
117
117
|
end
|
118
118
|
|
@@ -121,7 +121,7 @@ module Puppet
|
|
121
121
|
def insync?(is)
|
122
122
|
return true unless is
|
123
123
|
|
124
|
-
(is ==
|
124
|
+
(is == should)
|
125
125
|
end
|
126
126
|
|
127
127
|
# We only accept an array of key/value pairs (strings), a single
|
@@ -135,7 +135,7 @@ module Puppet
|
|
135
135
|
|
136
136
|
next if value.is_a?(Hash)
|
137
137
|
|
138
|
-
unless value.include?(
|
138
|
+
unless value.include?(separator.to_s)
|
139
139
|
raise ArgumentError, _("Key/value pairs must be separated by '%{separator}'") % { separator: separator }
|
140
140
|
end
|
141
141
|
end
|
data/lib/puppet/property/list.rb
CHANGED
@@ -35,7 +35,7 @@ module Puppet
|
|
35
35
|
|
36
36
|
members = @should
|
37
37
|
# inclusive means we are managing everything so if it isn't in should, its gone
|
38
|
-
members = add_should_with_current(members, retrieve)
|
38
|
+
members = add_should_with_current(members, retrieve) unless inclusive?
|
39
39
|
|
40
40
|
dearrayify(members)
|
41
41
|
end
|
@@ -48,9 +48,9 @@ module Puppet
|
|
48
48
|
# ok, some 'convention' if the list property is named groups, provider should implement a groups method
|
49
49
|
tmp = provider.send(name) if provider
|
50
50
|
if tmp && tmp != :absent
|
51
|
-
|
51
|
+
tmp.instance_of?(Array) ? tmp : tmp.split(delimiter)
|
52
52
|
else
|
53
|
-
|
53
|
+
:absent
|
54
54
|
end
|
55
55
|
end
|
56
56
|
|
@@ -64,7 +64,7 @@ module Puppet
|
|
64
64
|
def insync?(is)
|
65
65
|
return true unless is
|
66
66
|
|
67
|
-
(prepare_is_for_comparison(is) ==
|
67
|
+
(prepare_is_for_comparison(is) == should)
|
68
68
|
end
|
69
69
|
end
|
70
70
|
end
|