puppet 8.5.1-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 +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
@@ -13,7 +13,7 @@ module Puppet::Network::HTTP::Handler
|
|
13
13
|
|
14
14
|
# These shouldn't be allowed to be set by clients
|
15
15
|
# in the query string, for security reasons.
|
16
|
-
DISALLOWED_KEYS = [
|
16
|
+
DISALLOWED_KEYS = %w[node ip]
|
17
17
|
|
18
18
|
def register(routes)
|
19
19
|
# There's got to be a simpler way to do this, right?
|
@@ -21,7 +21,7 @@ module Puppet::Network::HTTP::Handler
|
|
21
21
|
routes.each { |r| dupes[r.path_matcher] = (dupes[r.path_matcher] || 0) + 1 }
|
22
22
|
dupes = dupes.filter_map { |pm, count| pm if count > 1 }
|
23
23
|
if dupes.count > 0
|
24
|
-
raise ArgumentError, _("Given multiple routes with identical path regexes: %{regexes}") % { regexes: dupes.map
|
24
|
+
raise ArgumentError, _("Given multiple routes with identical path regexes: %{regexes}") % { regexes: dupes.map(&:inspect).join(', ') }
|
25
25
|
end
|
26
26
|
|
27
27
|
@routes = routes
|
@@ -107,14 +107,10 @@ module Puppet::Network::HTTP::Handler
|
|
107
107
|
|
108
108
|
def find_route_or_raise(request)
|
109
109
|
route = @routes.find { |r| r.matches?(request) }
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
_("No route for %{request} %{path}") % { request: request.method, path: request.path },
|
115
|
-
HANDLER_NOT_FOUND
|
116
|
-
)
|
117
|
-
end
|
110
|
+
route || raise(Puppet::Network::HTTP::Error::HTTPNotFoundError.new(
|
111
|
+
_("No route for %{request} %{path}") % { request: request.method, path: request.path },
|
112
|
+
HANDLER_NOT_FOUND
|
113
|
+
))
|
118
114
|
end
|
119
115
|
|
120
116
|
def set_puppet_version_header(response)
|
@@ -178,7 +174,7 @@ module Puppet::Network::HTTP::Handler
|
|
178
174
|
end
|
179
175
|
|
180
176
|
def allowed_parameter?(name)
|
181
|
-
|
177
|
+
!(name.nil? || name.empty? || DISALLOWED_KEYS.include?(name))
|
182
178
|
end
|
183
179
|
|
184
180
|
def parse_parameter_value(param, value)
|
@@ -205,7 +201,7 @@ module Puppet::Network::HTTP::Handler
|
|
205
201
|
end
|
206
202
|
|
207
203
|
def configure_profiler(request_headers, request_params)
|
208
|
-
if
|
204
|
+
if request_headers.has_key?(Puppet::Network::HTTP::HEADER_ENABLE_PROFILING.downcase) or Puppet[:profile]
|
209
205
|
Puppet::Util::Profiler.add_profiler(Puppet::Util::Profiler::Aggregate.new(Puppet.method(:info), request_params.object_id))
|
210
206
|
end
|
211
207
|
end
|
@@ -78,6 +78,6 @@ Puppet::Network::HTTP::Request = Struct.new(:headers, :params, :method, :path, :
|
|
78
78
|
|
79
79
|
def valid_network_format?(format)
|
80
80
|
# YAML in network requests is not supported. See http://links.puppet.com/deprecate_yaml_on_network
|
81
|
-
format
|
81
|
+
!format.nil? && format.name != :yaml && format.name != :b64_zlib_yaml
|
82
82
|
end
|
83
83
|
end
|
@@ -28,39 +28,39 @@ class Puppet::Network::HTTP::Route
|
|
28
28
|
|
29
29
|
def get(*handlers)
|
30
30
|
@method_handlers[:GET] = handlers
|
31
|
-
|
31
|
+
self
|
32
32
|
end
|
33
33
|
|
34
34
|
def head(*handlers)
|
35
35
|
@method_handlers[:HEAD] = handlers
|
36
|
-
|
36
|
+
self
|
37
37
|
end
|
38
38
|
|
39
39
|
def options(*handlers)
|
40
40
|
@method_handlers[:OPTIONS] = handlers
|
41
|
-
|
41
|
+
self
|
42
42
|
end
|
43
43
|
|
44
44
|
def post(*handlers)
|
45
45
|
@method_handlers[:POST] = handlers
|
46
|
-
|
46
|
+
self
|
47
47
|
end
|
48
48
|
|
49
49
|
def put(*handlers)
|
50
50
|
@method_handlers[:PUT] = handlers
|
51
|
-
|
51
|
+
self
|
52
52
|
end
|
53
53
|
|
54
54
|
def delete(*handlers)
|
55
55
|
@method_handlers[:DELETE] = handlers
|
56
|
-
|
56
|
+
self
|
57
57
|
end
|
58
58
|
|
59
59
|
def any(*handlers)
|
60
60
|
@method_handlers.each do |method, _registered_handlers|
|
61
61
|
@method_handlers[method] = handlers
|
62
62
|
end
|
63
|
-
|
63
|
+
self
|
64
64
|
end
|
65
65
|
|
66
66
|
def chain(*routes)
|
@@ -69,14 +69,14 @@ class Puppet::Network::HTTP::Route
|
|
69
69
|
end
|
70
70
|
|
71
71
|
def matches?(request)
|
72
|
-
Puppet.debug { "Evaluating match for #{
|
72
|
+
Puppet.debug { "Evaluating match for #{inspect}" }
|
73
73
|
if match(request.routing_path)
|
74
74
|
return true
|
75
75
|
else
|
76
76
|
Puppet.debug { "Did not match path (#{request.routing_path.inspect})" }
|
77
77
|
end
|
78
78
|
|
79
|
-
|
79
|
+
false
|
80
80
|
end
|
81
81
|
|
82
82
|
def process(request, response)
|
@@ -87,10 +87,10 @@ class Puppet::Node::Environment
|
|
87
87
|
# parameters (:modulepath, :manifest, :config_version)
|
88
88
|
# @return [Puppet::Node::Environment]
|
89
89
|
def override_with(env_params)
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
90
|
+
self.class.create(name,
|
91
|
+
env_params[:modulepath] || modulepath,
|
92
|
+
env_params[:manifest] || manifest,
|
93
|
+
env_params[:config_version] || config_version)
|
94
94
|
end
|
95
95
|
|
96
96
|
# Creates a new Puppet::Node::Environment instance, overriding :manifest,
|
@@ -118,7 +118,7 @@ class Puppet::Node::Environment
|
|
118
118
|
|
119
119
|
overrides.empty? ?
|
120
120
|
self :
|
121
|
-
|
121
|
+
override_with(overrides)
|
122
122
|
end
|
123
123
|
|
124
124
|
# @param [String] name Environment name to check for valid syntax.
|
@@ -220,7 +220,7 @@ class Puppet::Node::Environment
|
|
220
220
|
# Puppet[:default_manifest].
|
221
221
|
# @api private
|
222
222
|
def conflicting_manifest_settings?
|
223
|
-
return false
|
223
|
+
return false unless Puppet[:disable_per_environment_manifest]
|
224
224
|
|
225
225
|
original_manifest = configuration.raw_setting(:manifest)
|
226
226
|
!original_manifest.nil? && !original_manifest.empty? && original_manifest != Puppet[:default_manifest]
|
@@ -279,7 +279,7 @@ class Puppet::Node::Environment
|
|
279
279
|
# @param param [String, Symbol] The environment setting to look up
|
280
280
|
# @return [Object] The resolved setting value
|
281
281
|
def [](param)
|
282
|
-
Puppet.settings.value(param,
|
282
|
+
Puppet.settings.value(param, name)
|
283
283
|
end
|
284
284
|
|
285
285
|
# @api public
|
@@ -358,7 +358,7 @@ class Puppet::Node::Environment
|
|
358
358
|
next unless Puppet::Module.is_module_directory?(name, path)
|
359
359
|
|
360
360
|
warn_about_mistaken_path(path, name)
|
361
|
-
|
361
|
+
unless seen_modules[name]
|
362
362
|
module_references << { :name => name, :path => File.join(path, name) }
|
363
363
|
seen_modules[name] = true
|
364
364
|
end
|
@@ -366,12 +366,10 @@ class Puppet::Node::Environment
|
|
366
366
|
end
|
367
367
|
|
368
368
|
@modules = module_references.filter_map do |reference|
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
nil
|
374
|
-
end
|
369
|
+
Puppet::Module.new(reference[:name], reference[:path], self)
|
370
|
+
rescue Puppet::Module::Error => e
|
371
|
+
Puppet.log_exception(e)
|
372
|
+
nil
|
375
373
|
end
|
376
374
|
end
|
377
375
|
@modules
|
@@ -499,7 +497,7 @@ class Puppet::Node::Environment
|
|
499
497
|
#
|
500
498
|
def check_for_reparse
|
501
499
|
@lock.synchronize do
|
502
|
-
if
|
500
|
+
if Puppet[:code] != @parsed_code || @known_resource_types.parse_failed?
|
503
501
|
@parsed_code = nil
|
504
502
|
@known_resource_types = nil
|
505
503
|
end
|
@@ -520,7 +518,7 @@ class Puppet::Node::Environment
|
|
520
518
|
|
521
519
|
# @api public
|
522
520
|
def inspect
|
523
|
-
%Q
|
521
|
+
%Q(<#{self.class}:#{object_id} @name="#{name}" @manifest="#{manifest}" @modulepath="#{full_modulepath.join(':')}" >)
|
524
522
|
end
|
525
523
|
|
526
524
|
# @return [Symbol] The `name` value, cast to a string, then cast to a symbol.
|
@@ -539,10 +537,10 @@ class Puppet::Node::Environment
|
|
539
537
|
end
|
540
538
|
|
541
539
|
def ==(other)
|
542
|
-
|
543
|
-
|
544
|
-
|
545
|
-
|
540
|
+
true if other.is_a?(Puppet::Node::Environment) &&
|
541
|
+
name == other.name &&
|
542
|
+
full_modulepath == other.full_modulepath &&
|
543
|
+
manifest == other.manifest
|
546
544
|
end
|
547
545
|
|
548
546
|
alias eql? ==
|
@@ -589,7 +587,7 @@ class Puppet::Node::Environment
|
|
589
587
|
parser.string = @parsed_code
|
590
588
|
parser.parse
|
591
589
|
else
|
592
|
-
file =
|
590
|
+
file = manifest
|
593
591
|
# if the manifest file is a reference to a directory, parse and combine
|
594
592
|
# all .pp files in that directory
|
595
593
|
if file == NO_MANIFEST
|
@@ -610,7 +608,7 @@ class Puppet::Node::Environment
|
|
610
608
|
end
|
611
609
|
rescue Puppet::ParseErrorWithIssue => detail
|
612
610
|
@known_resource_types.parse_failed = true
|
613
|
-
detail.environment =
|
611
|
+
detail.environment = name
|
614
612
|
raise
|
615
613
|
rescue => detail
|
616
614
|
@known_resource_types.parse_failed = true
|
@@ -625,7 +623,7 @@ class Puppet::Node::Environment
|
|
625
623
|
#
|
626
624
|
# @return [Puppet::Parser::AST::Hostclass]
|
627
625
|
def empty_parse_result
|
628
|
-
|
626
|
+
Puppet::Parser::AST::Hostclass.new('')
|
629
627
|
end
|
630
628
|
|
631
629
|
# A None subclass to make it easier to trace the NONE environment when debugging.
|
data/lib/puppet/node/facts.rb
CHANGED
data/lib/puppet/node.rb
CHANGED
@@ -48,7 +48,7 @@ class Puppet::Node
|
|
48
48
|
'environment' => environment.name.to_s,
|
49
49
|
}
|
50
50
|
result['classes'] = classes unless classes.empty?
|
51
|
-
serialized_params =
|
51
|
+
serialized_params = serializable_parameters
|
52
52
|
result['parameters'] = serialized_params unless serialized_params.empty?
|
53
53
|
result
|
54
54
|
end
|
@@ -142,7 +142,7 @@ class Puppet::Node
|
|
142
142
|
raise error
|
143
143
|
end
|
144
144
|
|
145
|
-
|
145
|
+
unless @facts.nil?
|
146
146
|
@facts.sanitize
|
147
147
|
# facts should never modify the environment parameter
|
148
148
|
orig_param_env = @parameters[ENVIRONMENT]
|
@@ -174,7 +174,7 @@ class Puppet::Node
|
|
174
174
|
|
175
175
|
def add_server_facts(facts)
|
176
176
|
# Append the current environment to the list of server facts
|
177
|
-
@server_facts = facts.merge({ "environment" =>
|
177
|
+
@server_facts = facts.merge({ "environment" => environment.name.to_s })
|
178
178
|
|
179
179
|
# Merge the server facts into the parameters for the node
|
180
180
|
merge(facts)
|
@@ -228,7 +228,7 @@ class Puppet::Node
|
|
228
228
|
if trusted_param
|
229
229
|
# Blows up if it is a parameter as it will be set as $trusted by the compiler as if it was a variable
|
230
230
|
@parameters.delete('trusted')
|
231
|
-
unless trusted_param.is_a?(Hash) && %w
|
231
|
+
unless trusted_param.is_a?(Hash) && %w[authenticated certname extensions].all? { |key| trusted_param.has_key?(key) }
|
232
232
|
# trusted is some kind of garbage, do not resurrect
|
233
233
|
trusted_param = nil
|
234
234
|
end
|
@@ -245,7 +245,7 @@ class Puppet::Node
|
|
245
245
|
#
|
246
246
|
# Note that trusted_data should be a hash, but (2) and (4) are not
|
247
247
|
# hashes, so we to_h at the end
|
248
|
-
|
248
|
+
unless trusted_data
|
249
249
|
trusted = Puppet.lookup(:trusted_information) do
|
250
250
|
trusted_param || Puppet::Context::TrustedInformation.local(self)
|
251
251
|
end
|
@@ -67,7 +67,7 @@ class JsonCatalogEncoder
|
|
67
67
|
# @api private
|
68
68
|
# rubocop:disable Naming/MemoizedInstanceVariableName
|
69
69
|
def possibly_filtered_catalog
|
70
|
-
@filtered ||= (exclude_virtual ? catalog.filter
|
70
|
+
@filtered ||= (exclude_virtual ? catalog.filter(&:virtual?) : catalog)
|
71
71
|
end
|
72
72
|
private :possibly_filtered_catalog
|
73
73
|
# rubocop:enable Naming/MemoizedInstanceVariableName
|
data/lib/puppet/pal/pal_impl.rb
CHANGED
@@ -443,64 +443,62 @@ module Pal
|
|
443
443
|
|
444
444
|
# TRANSLATORS, the string "For puppet PAL" is not user facing
|
445
445
|
Puppet.override({ :current_environment => apply_environment }, "For puppet PAL") do
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
end
|
446
|
+
node.sanitize()
|
447
|
+
compiler = create_internal_compiler(internal_compiler_class, node)
|
448
|
+
|
449
|
+
case internal_compiler_class
|
450
|
+
when :script
|
451
|
+
pal_compiler = ScriptCompiler.new(compiler)
|
452
|
+
overrides[:pal_script_compiler] = overrides[:pal_compiler] = pal_compiler
|
453
|
+
when :catalog
|
454
|
+
pal_compiler = CatalogCompiler.new(compiler)
|
455
|
+
overrides[:pal_catalog_compiler] = overrides[:pal_compiler] = pal_compiler
|
456
|
+
end
|
458
457
|
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
458
|
+
# When scripting the trusted data are always local; default is to set them anyway
|
459
|
+
# When compiling for a catalog, the catalog compiler does this
|
460
|
+
if set_local_facts
|
461
|
+
compiler.topscope.set_trusted(node.trusted_data)
|
463
462
|
|
464
|
-
|
465
|
-
|
463
|
+
# Server facts are always about the local node's version etc.
|
464
|
+
compiler.topscope.set_server_facts(node.server_facts)
|
466
465
|
|
467
|
-
|
468
|
-
|
469
|
-
|
466
|
+
# Set $facts for the node running the script
|
467
|
+
facts_hash = node.facts.nil? ? {} : node.facts.values
|
468
|
+
compiler.topscope.set_facts(facts_hash)
|
470
469
|
|
471
|
-
|
472
|
-
|
473
|
-
|
470
|
+
# create the $settings:: variables
|
471
|
+
compiler.topscope.merge_settings(node.environment.name, false)
|
472
|
+
end
|
474
473
|
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
end
|
474
|
+
# Make compiler available to Puppet#lookup and injection in functions
|
475
|
+
# TODO: The compiler instances should be available under non PAL use as well!
|
476
|
+
# TRANSLATORS: Do not translate, symbolic name
|
477
|
+
Puppet.override(overrides, "PAL::with_#{internal_compiler_class}_compiler") do
|
478
|
+
compiler.compile do |_compiler_yield|
|
479
|
+
# In case the variables passed to the compiler are PCore types defined in modules, they
|
480
|
+
# need to be deserialized and added from within the this scope, so that loaders are
|
481
|
+
# available during deserizlization.
|
482
|
+
pal_variables = Puppet::Pops::Serialization::FromDataConverter.convert(pal_variables)
|
483
|
+
variables = Puppet::Pops::Serialization::FromDataConverter.convert(variables)
|
484
|
+
|
485
|
+
# Merge together target variables and plan variables. This will also shadow any
|
486
|
+
# collisions with facts and emit a warning.
|
487
|
+
topscope_vars = pal_variables.merge(merge_vars(target_variables, variables, node.facts.values))
|
488
|
+
|
489
|
+
add_variables(compiler.topscope, topscope_vars)
|
490
|
+
# wrap the internal compiler to prevent it from leaking in the PAL API
|
491
|
+
if block_given?
|
492
|
+
yield(pal_compiler)
|
495
493
|
end
|
496
494
|
end
|
497
|
-
rescue Puppet::Error
|
498
|
-
# already logged and handled by the compiler, including Puppet::ParseErrorWithIssue
|
499
|
-
raise
|
500
|
-
rescue => detail
|
501
|
-
Puppet.log_exception(detail)
|
502
|
-
raise
|
503
495
|
end
|
496
|
+
rescue Puppet::Error
|
497
|
+
# already logged and handled by the compiler, including Puppet::ParseErrorWithIssue
|
498
|
+
raise
|
499
|
+
rescue => detail
|
500
|
+
Puppet.log_exception(detail)
|
501
|
+
raise
|
504
502
|
end
|
505
503
|
end
|
506
504
|
private_class_method :main
|
@@ -57,9 +57,9 @@ class Puppet::Parameter::Value
|
|
57
57
|
#
|
58
58
|
def match?(value)
|
59
59
|
if regex?
|
60
|
-
|
60
|
+
true if name =~ value.to_s
|
61
61
|
else
|
62
|
-
|
62
|
+
(name == convert(value) ? true : @aliases.include?(convert(value)))
|
63
63
|
end
|
64
64
|
end
|
65
65
|
|
@@ -37,7 +37,7 @@ class Puppet::Parameter::ValueCollection
|
|
37
37
|
@doc << @strings.collect do |value|
|
38
38
|
aliases = value.aliases
|
39
39
|
if aliases && !aliases.empty?
|
40
|
-
"`#{value.name}` (also called `#{aliases.join(
|
40
|
+
"`#{value.name}` (also called `#{aliases.join(', ')}`)"
|
41
41
|
else
|
42
42
|
"`#{value.name}`"
|
43
43
|
end
|
@@ -45,7 +45,7 @@ class Puppet::Parameter::ValueCollection
|
|
45
45
|
end
|
46
46
|
|
47
47
|
unless regexes.empty?
|
48
|
-
@doc << "Values can match `#{regexes.join(
|
48
|
+
@doc << "Values can match `#{regexes.join('`, `')}`."
|
49
49
|
end
|
50
50
|
end
|
51
51
|
|
@@ -103,12 +103,12 @@ class Puppet::Parameter::ValueCollection
|
|
103
103
|
instance = match?(value)
|
104
104
|
if instance
|
105
105
|
if instance.regex?
|
106
|
-
|
106
|
+
value
|
107
107
|
else
|
108
|
-
|
108
|
+
instance.name
|
109
109
|
end
|
110
110
|
else
|
111
|
-
|
111
|
+
value
|
112
112
|
end
|
113
113
|
end
|
114
114
|
|
@@ -153,7 +153,7 @@ class Puppet::Parameter::ValueCollection
|
|
153
153
|
if block_given?
|
154
154
|
devfail "Cannot use :call value ':none' in combination with a block for property '#{self.class.name}'" if call_opt == :none
|
155
155
|
value.block = block
|
156
|
-
value.method ||= "set_#{value.name}"
|
156
|
+
value.method ||= "set_#{value.name}" unless value.regex?
|
157
157
|
elsif call_opt == :instead
|
158
158
|
devfail "Cannot use :call value ':instead' without a block for property '#{self.class.name}'"
|
159
159
|
end
|
@@ -208,6 +208,6 @@ class Puppet::Parameter::ValueCollection
|
|
208
208
|
# @api private
|
209
209
|
#
|
210
210
|
def values
|
211
|
-
@strings.collect
|
211
|
+
@strings.collect(&:name)
|
212
212
|
end
|
213
213
|
end
|
data/lib/puppet/parameter.rb
CHANGED
@@ -119,9 +119,9 @@ class Puppet::Parameter
|
|
119
119
|
@doc << "\n\n#{vals}"
|
120
120
|
end
|
121
121
|
|
122
|
-
features =
|
122
|
+
features = required_features
|
123
123
|
if features
|
124
|
-
@doc << "\n\nRequires features #{features.flatten.collect
|
124
|
+
@doc << "\n\nRequires features #{features.flatten.collect(&:to_s).join(' ')}."
|
125
125
|
end
|
126
126
|
@addeddocvals = true
|
127
127
|
end
|
@@ -385,8 +385,7 @@ class Puppet::Parameter
|
|
385
385
|
#
|
386
386
|
def noop
|
387
387
|
@noop ||= false
|
388
|
-
|
389
|
-
tmp
|
388
|
+
@noop || resource.noop || Puppet[:noop] || false
|
390
389
|
end
|
391
390
|
|
392
391
|
# Returns an array of strings representing the containment hierarchy
|
@@ -396,9 +395,9 @@ class Puppet::Parameter
|
|
396
395
|
# @api private
|
397
396
|
def pathbuilder
|
398
397
|
if @resource
|
399
|
-
|
398
|
+
[@resource.pathbuilder, name]
|
400
399
|
else
|
401
|
-
|
400
|
+
[name]
|
402
401
|
end
|
403
402
|
end
|
404
403
|
|
@@ -447,7 +446,7 @@ class Puppet::Parameter
|
|
447
446
|
Puppet.debug { "Reraising #{detail}" }
|
448
447
|
raise
|
449
448
|
rescue => detail
|
450
|
-
raise Puppet::DevError, _("Munging failed for value %{value} in class %{class_name}: %{detail}") % { value: value.inspect, class_name:
|
449
|
+
raise Puppet::DevError, _("Munging failed for value %{value} in class %{class_name}: %{detail}") % { value: value.inspect, class_name: name, detail: detail }, detail.backtrace
|
451
450
|
end
|
452
451
|
ret
|
453
452
|
end
|
@@ -483,7 +482,7 @@ class Puppet::Parameter
|
|
483
482
|
rescue Puppet::Error, TypeError
|
484
483
|
raise
|
485
484
|
rescue => detail
|
486
|
-
raise Puppet::DevError, _("Validate method failed for class %{class_name}: %{detail}") % { class_name:
|
485
|
+
raise Puppet::DevError, _("Validate method failed for class %{class_name}: %{detail}") % { class_name: name, detail: detail }, detail.backtrace
|
487
486
|
end
|
488
487
|
end
|
489
488
|
|
@@ -540,7 +539,7 @@ class Puppet::Parameter
|
|
540
539
|
@tags = []
|
541
540
|
# This might not be true in testing
|
542
541
|
@tags = @resource.tags if @resource.respond_to? :tags
|
543
|
-
@tags <<
|
542
|
+
@tags << name.to_s
|
544
543
|
end
|
545
544
|
@tags
|
546
545
|
end
|
@@ -8,10 +8,10 @@ class Puppet::Parser::AST::BlockExpression < Puppet::Parser::AST::Branch
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def sequence_with(other)
|
11
|
-
Puppet::Parser::AST::BlockExpression.new(:children =>
|
11
|
+
Puppet::Parser::AST::BlockExpression.new(:children => children + other.children)
|
12
12
|
end
|
13
13
|
|
14
14
|
def to_s
|
15
|
-
"[" + @children.collect
|
15
|
+
"[" + @children.collect(&:to_s).join(', ') + "]"
|
16
16
|
end
|
17
17
|
end
|
@@ -59,7 +59,7 @@ class Puppet::Parser::AST::PopsBridge
|
|
59
59
|
|
60
60
|
class ExpressionSupportingReturn < Expression
|
61
61
|
def evaluate(scope)
|
62
|
-
|
62
|
+
catch(:return) do
|
63
63
|
return catch(:next) do
|
64
64
|
return super(scope)
|
65
65
|
end
|
@@ -152,7 +152,7 @@ class Puppet::Parser::AST::PopsBridge
|
|
152
152
|
return result unless definition.parameters.size > 0
|
153
153
|
|
154
154
|
# No need to do anything if there are no typed parameters
|
155
|
-
typed_parameters = definition.parameters.select
|
155
|
+
typed_parameters = definition.parameters.select(&:type_expr)
|
156
156
|
return result if typed_parameters.empty?
|
157
157
|
|
158
158
|
# If there are typed parameters, they need to be evaluated to produce the corresponding type
|
@@ -173,7 +173,7 @@ class Puppet::Parser::AST::PopsBridge
|
|
173
173
|
|
174
174
|
# Obtains the scope or issues a warning if :global_scope is not bound
|
175
175
|
def obtain_scope
|
176
|
-
|
176
|
+
Puppet.lookup(:global_scope) do
|
177
177
|
# This occurs when testing and when applying a catalog (there is no scope available then), and
|
178
178
|
# when running tests that run a partial setup.
|
179
179
|
# This is bad if the logic is trying to compile, but a warning can not be issues since it is a normal
|
@@ -181,7 +181,6 @@ class Puppet::Parser::AST::PopsBridge
|
|
181
181
|
Puppet.debug { _("Instantiating Resource with type checked parameters - scope is missing, skipping type checking.") }
|
182
182
|
nil
|
183
183
|
end
|
184
|
-
scope
|
185
184
|
end
|
186
185
|
|
187
186
|
# Produces a hash with data for Definition and HostClass
|
@@ -20,7 +20,7 @@ class Puppet::Parser::AST::Resource < Puppet::Parser::AST::Branch
|
|
20
20
|
# because sometimes the :virtual attribute is set *after*
|
21
21
|
# :exported, in which case it clobbers :exported if :exported
|
22
22
|
# is true. Argh, this was a very tough one to track down.
|
23
|
-
virt =
|
23
|
+
virt = virtual || exported
|
24
24
|
|
25
25
|
# First level of implicit iteration: build a resource for each
|
26
26
|
# instance. This handles things like:
|
@@ -44,9 +44,9 @@ class Puppet::Parser::AST::Resource < Puppet::Parser::AST::Branch
|
|
44
44
|
resource = Puppet::Parser::Resource.new(
|
45
45
|
fully_qualified_type, resource_title,
|
46
46
|
:parameters => paramobjects,
|
47
|
-
:file =>
|
48
|
-
:line =>
|
49
|
-
:exported =>
|
47
|
+
:file => file,
|
48
|
+
:line => line,
|
49
|
+
:exported => exported,
|
50
50
|
:virtual => virt,
|
51
51
|
:source => scope.source,
|
52
52
|
:scope => scope,
|