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
@@ -26,7 +26,7 @@ class Puppet::Indirector::Indirection
|
|
26
26
|
# Return a list of all known indirections. Used to generate the
|
27
27
|
# reference.
|
28
28
|
def self.instances
|
29
|
-
@@indirections.collect
|
29
|
+
@@indirections.collect(&:name)
|
30
30
|
end
|
31
31
|
|
32
32
|
# Find an indirected model by name. This is provided so that Terminus classes
|
@@ -121,10 +121,10 @@ class Puppet::Indirector::Indirection
|
|
121
121
|
def set_global_setting(setting, value)
|
122
122
|
case setting
|
123
123
|
when :cache_class
|
124
|
-
validate_terminus_class(value)
|
124
|
+
validate_terminus_class(value) unless value.nil?
|
125
125
|
@cache_class = Puppet::ThreadLocal.new(value)
|
126
126
|
when :terminus_class
|
127
|
-
validate_terminus_class(value)
|
127
|
+
validate_terminus_class(value) unless value.nil?
|
128
128
|
@terminus_class = Puppet::ThreadLocal.new(value)
|
129
129
|
when :terminus_setting
|
130
130
|
@terminus_setting = Puppet::ThreadLocal.new(value)
|
@@ -135,13 +135,13 @@ class Puppet::Indirector::Indirection
|
|
135
135
|
|
136
136
|
# Set up our request object.
|
137
137
|
def request(*args)
|
138
|
-
Puppet::Indirector::Request.new(
|
138
|
+
Puppet::Indirector::Request.new(name, *args)
|
139
139
|
end
|
140
140
|
|
141
141
|
# Return the singleton terminus for this indirection.
|
142
142
|
def terminus(terminus_name = nil)
|
143
143
|
# Get the name of the terminus.
|
144
|
-
raise Puppet::DevError, _("No terminus specified for %{name}; cannot redirect") % { name:
|
144
|
+
raise Puppet::DevError, _("No terminus specified for %{name}; cannot redirect") % { name: name } unless terminus_name ||= terminus_class
|
145
145
|
|
146
146
|
termini[terminus_name] ||= make_terminus(terminus_name)
|
147
147
|
end
|
@@ -158,11 +158,11 @@ class Puppet::Indirector::Indirection
|
|
158
158
|
# Determine the terminus class.
|
159
159
|
def terminus_class
|
160
160
|
unless @terminus_class.value
|
161
|
-
setting =
|
161
|
+
setting = terminus_setting
|
162
162
|
if setting
|
163
163
|
self.terminus_class = Puppet.settings[setting]
|
164
164
|
else
|
165
|
-
raise Puppet::DevError, _("No terminus class nor terminus setting was provided for indirection %{name}") % { name:
|
165
|
+
raise Puppet::DevError, _("No terminus class nor terminus setting was provided for indirection %{name}") % { name: name }
|
166
166
|
end
|
167
167
|
end
|
168
168
|
@terminus_class.value
|
@@ -184,9 +184,9 @@ class Puppet::Indirector::Indirection
|
|
184
184
|
raise ArgumentError, _("Invalid terminus name %{terminus_class}") % { terminus_class: terminus_class.inspect }
|
185
185
|
end
|
186
186
|
|
187
|
-
unless Puppet::Indirector::Terminus.terminus_class(
|
187
|
+
unless Puppet::Indirector::Terminus.terminus_class(name, terminus_class)
|
188
188
|
raise ArgumentError, _("Could not find terminus %{terminus_class} for indirection %{name}") %
|
189
|
-
{ terminus_class: terminus_class, name:
|
189
|
+
{ terminus_class: terminus_class, name: name }
|
190
190
|
end
|
191
191
|
end
|
192
192
|
|
@@ -201,7 +201,7 @@ class Puppet::Indirector::Indirection
|
|
201
201
|
instance = cache.find(request(:find, key, nil, options))
|
202
202
|
return nil unless instance
|
203
203
|
|
204
|
-
Puppet.info _("Expiring the %{cache} cache of %{instance}") % { cache:
|
204
|
+
Puppet.info _("Expiring the %{cache} cache of %{instance}") % { cache: name, instance: instance.name }
|
205
205
|
|
206
206
|
# Set an expiration date in the past
|
207
207
|
instance.expiration = Time.now - 60
|
@@ -220,7 +220,7 @@ class Puppet::Indirector::Indirection
|
|
220
220
|
terminus = prepare(request)
|
221
221
|
|
222
222
|
result = find_in_cache(request)
|
223
|
-
if
|
223
|
+
if !result.nil?
|
224
224
|
result
|
225
225
|
elsif request.ignore_terminus?
|
226
226
|
nil
|
@@ -228,10 +228,10 @@ class Puppet::Indirector::Indirection
|
|
228
228
|
# Otherwise, return the result from the terminus, caching if
|
229
229
|
# appropriate.
|
230
230
|
result = terminus.find(request)
|
231
|
-
|
232
|
-
result.expiration ||=
|
231
|
+
unless result.nil?
|
232
|
+
result.expiration ||= expiration if result.respond_to?(:expiration)
|
233
233
|
if cache? && !request.ignore_cache_save?
|
234
|
-
Puppet.info _("Caching %{indirection} for %{request}") % { indirection:
|
234
|
+
Puppet.info _("Caching %{indirection} for %{request}") % { indirection: name, request: request.key }
|
235
235
|
begin
|
236
236
|
cache.save request(:save, key, result, options)
|
237
237
|
rescue => detail
|
@@ -242,13 +242,11 @@ class Puppet::Indirector::Indirection
|
|
242
242
|
|
243
243
|
filtered = result
|
244
244
|
if terminus.respond_to?(:filter)
|
245
|
-
Puppet::Util::Profiler.profile(_("Filtered result for %{indirection} %{request}") % { indirection:
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
raise detail
|
251
|
-
end
|
245
|
+
Puppet::Util::Profiler.profile(_("Filtered result for %{indirection} %{request}") % { indirection: name, request: request.key }, [:indirector, :filter, name, request.key]) do
|
246
|
+
filtered = terminus.filter(result)
|
247
|
+
rescue Puppet::Error => detail
|
248
|
+
Puppet.log_exception(detail)
|
249
|
+
raise detail
|
252
250
|
end
|
253
251
|
end
|
254
252
|
filtered
|
@@ -273,14 +271,14 @@ class Puppet::Indirector::Indirection
|
|
273
271
|
return nil unless cached
|
274
272
|
|
275
273
|
if cached.expired?
|
276
|
-
Puppet.info _("Not using expired %{indirection} for %{request} from cache; expired at %{expiration}") % { indirection:
|
274
|
+
Puppet.info _("Not using expired %{indirection} for %{request} from cache; expired at %{expiration}") % { indirection: name, request: request.key, expiration: cached.expiration }
|
277
275
|
return nil
|
278
276
|
end
|
279
277
|
|
280
|
-
Puppet.debug { "Using cached #{
|
278
|
+
Puppet.debug { "Using cached #{name} for #{request.key}" }
|
281
279
|
cached
|
282
280
|
rescue => detail
|
283
|
-
Puppet.log_exception(detail, _("Cached %{indirection} for %{request} failed: %{detail}") % { indirection:
|
281
|
+
Puppet.log_exception(detail, _("Cached %{indirection} for %{request} failed: %{detail}") % { indirection: name, request: request.key, detail: detail })
|
284
282
|
nil
|
285
283
|
end
|
286
284
|
|
@@ -311,9 +309,9 @@ class Puppet::Indirector::Indirection
|
|
311
309
|
result.each do |instance|
|
312
310
|
next unless instance.respond_to? :expiration
|
313
311
|
|
314
|
-
instance.expiration ||=
|
312
|
+
instance.expiration ||= expiration
|
315
313
|
end
|
316
|
-
|
314
|
+
result
|
317
315
|
end
|
318
316
|
end
|
319
317
|
|
@@ -323,7 +321,7 @@ class Puppet::Indirector::Indirection
|
|
323
321
|
request = request(:save, key, instance, options)
|
324
322
|
terminus = prepare(request)
|
325
323
|
|
326
|
-
result = terminus.save(request)
|
324
|
+
result = terminus.save(request) unless request.ignore_terminus?
|
327
325
|
|
328
326
|
# If caching is enabled, save our document there
|
329
327
|
cache.save(request) if cache? && !request.ignore_cache_save?
|
@@ -373,9 +371,9 @@ class Puppet::Indirector::Indirection
|
|
373
371
|
# Create a new terminus instance.
|
374
372
|
def make_terminus(terminus_class)
|
375
373
|
# Load our terminus class.
|
376
|
-
klass = Puppet::Indirector::Terminus.terminus_class(
|
374
|
+
klass = Puppet::Indirector::Terminus.terminus_class(name, terminus_class)
|
377
375
|
unless klass
|
378
|
-
raise ArgumentError, _("Could not find terminus %{terminus_class} for indirection %{indirection}") % { terminus_class: terminus_class, indirection:
|
376
|
+
raise ArgumentError, _("Could not find terminus %{terminus_class} for indirection %{indirection}") % { terminus_class: terminus_class, indirection: name }
|
379
377
|
end
|
380
378
|
|
381
379
|
klass.new
|
@@ -16,16 +16,16 @@ class Puppet::Indirector::JSON < Puppet::Indirector::Terminus
|
|
16
16
|
filename = path(request.key)
|
17
17
|
FileUtils.mkdir_p(File.dirname(filename))
|
18
18
|
|
19
|
-
Puppet::FileSystem.replace_file(filename,
|
19
|
+
Puppet::FileSystem.replace_file(filename, 0o660) { |f| f.print to_json(request.instance).force_encoding(Encoding::BINARY) }
|
20
20
|
rescue TypeError => detail
|
21
|
-
Puppet.log_exception(detail, _("Could not save %{json} %{request}: %{detail}") % { json:
|
21
|
+
Puppet.log_exception(detail, _("Could not save %{json} %{request}: %{detail}") % { json: name, request: request.key, detail: detail })
|
22
22
|
end
|
23
23
|
|
24
24
|
def destroy(request)
|
25
25
|
Puppet::FileSystem.unlink(path(request.key))
|
26
26
|
rescue => detail
|
27
27
|
unless detail.is_a? Errno::ENOENT
|
28
|
-
raise Puppet::Error, _("Could not destroy %{json} %{request}: %{detail}") % { json:
|
28
|
+
raise Puppet::Error, _("Could not destroy %{json} %{request}: %{detail}") % { json: name, request: request.key, detail: detail }, detail.backtrace
|
29
29
|
end
|
30
30
|
|
31
31
|
1 # emulate success...
|
@@ -66,7 +66,7 @@ class Puppet::Indirector::JSON < Puppet::Indirector::Terminus
|
|
66
66
|
end
|
67
67
|
|
68
68
|
begin
|
69
|
-
|
69
|
+
from_json(json)
|
70
70
|
rescue => detail
|
71
71
|
raise Puppet::Error, _("Could not parse JSON data for %{name} %{key}: %{detail}") % { name: indirection.name, key: key, detail: detail }, detail.backtrace
|
72
72
|
end
|
@@ -13,7 +13,7 @@ class Puppet::Indirector::Memory < Puppet::Indirector::Terminus
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def destroy(request)
|
16
|
-
raise ArgumentError
|
16
|
+
raise ArgumentError, _("Could not find %{request} to destroy") % { request: request.key } unless @instances.include?(request.key)
|
17
17
|
|
18
18
|
@instances.delete(request.key)
|
19
19
|
end
|
@@ -28,7 +28,7 @@ class Puppet::Indirector::Memory < Puppet::Indirector::Terminus
|
|
28
28
|
end
|
29
29
|
|
30
30
|
def head(request)
|
31
|
-
|
31
|
+
!find(request).nil?
|
32
32
|
end
|
33
33
|
|
34
34
|
def save(request)
|
@@ -9,7 +9,7 @@ require_relative '../../puppet/util'
|
|
9
9
|
# implementations, since it is ~ 30 times faster
|
10
10
|
class Puppet::Indirector::Msgpack < Puppet::Indirector::Terminus
|
11
11
|
def initialize(*args)
|
12
|
-
|
12
|
+
unless Puppet.features.msgpack?
|
13
13
|
raise _("MessagePack terminus not supported without msgpack library")
|
14
14
|
end
|
15
15
|
|
@@ -24,16 +24,16 @@ class Puppet::Indirector::Msgpack < Puppet::Indirector::Terminus
|
|
24
24
|
filename = path(request.key)
|
25
25
|
FileUtils.mkdir_p(File.dirname(filename))
|
26
26
|
|
27
|
-
Puppet::FileSystem.replace_file(filename,
|
27
|
+
Puppet::FileSystem.replace_file(filename, 0o660) { |f| f.print to_msgpack(request.instance) }
|
28
28
|
rescue TypeError => detail
|
29
|
-
Puppet.log_exception(detail, _("Could not save %{name} %{request}: %{detail}") % { name:
|
29
|
+
Puppet.log_exception(detail, _("Could not save %{name} %{request}: %{detail}") % { name: name, request: request.key, detail: detail })
|
30
30
|
end
|
31
31
|
|
32
32
|
def destroy(request)
|
33
33
|
Puppet::FileSystem.unlink(path(request.key))
|
34
34
|
rescue => detail
|
35
35
|
unless detail.is_a? Errno::ENOENT
|
36
|
-
raise Puppet::Error, _("Could not destroy %{name} %{request}: %{detail}") % { name:
|
36
|
+
raise Puppet::Error, _("Could not destroy %{name} %{request}: %{detail}") % { name: name, request: request.key, detail: detail }, detail.backtrace
|
37
37
|
end
|
38
38
|
|
39
39
|
1 # emulate success...
|
@@ -71,7 +71,7 @@ class Puppet::Indirector::Msgpack < Puppet::Indirector::Terminus
|
|
71
71
|
end
|
72
72
|
|
73
73
|
begin
|
74
|
-
|
74
|
+
from_msgpack(msgpack)
|
75
75
|
rescue => detail
|
76
76
|
raise Puppet::Error, _("Could not parse MessagePack data for %{indirection} %{key}: %{detail}") % { indirection: indirection.name, key: key, detail: detail }, detail.backtrace
|
77
77
|
end
|
@@ -4,5 +4,5 @@ require_relative '../../../puppet/indirector/store_configs'
|
|
4
4
|
require_relative '../../../puppet/node'
|
5
5
|
|
6
6
|
class Puppet::Node::StoreConfigs < Puppet::Indirector::StoreConfigs
|
7
|
-
desc
|
7
|
+
desc 'Part of the "storeconfigs" feature. Should not be directly set by end users.'
|
8
8
|
end
|
@@ -30,7 +30,7 @@ class Puppet::Transaction::Report::Json < Puppet::Indirector::JSON
|
|
30
30
|
fh.print JSON.dump(request.instance)
|
31
31
|
end
|
32
32
|
rescue TypeError => detail
|
33
|
-
Puppet.err _("Could not save %{indirection} %{request}: %{detail}") % { indirection:
|
33
|
+
Puppet.err _("Could not save %{indirection} %{request}: %{detail}") % { indirection: name, request: request.key, detail: detail }
|
34
34
|
end
|
35
35
|
end
|
36
36
|
end
|
@@ -30,7 +30,7 @@ class Puppet::Transaction::Report::Yaml < Puppet::Indirector::Yaml
|
|
30
30
|
fh.print YAML.dump(request.instance)
|
31
31
|
end
|
32
32
|
rescue TypeError => detail
|
33
|
-
Puppet.err _("Could not save %{indirection} %{request}: %{detail}") % { indirection:
|
33
|
+
Puppet.err _("Could not save %{indirection} %{request}: %{detail}") % { indirection: name, request: request.key, detail: detail }
|
34
34
|
end
|
35
35
|
end
|
36
36
|
end
|
@@ -80,7 +80,7 @@ class Puppet::Indirector::Request
|
|
80
80
|
# info out in the REST class, but it seemed bad design for the REST
|
81
81
|
# class to rewrite the key.
|
82
82
|
|
83
|
-
if key.to_s =~
|
83
|
+
if key.to_s =~ %r{^\w+:/} and !Puppet::Util.absolute_path?(key.to_s) # it's a URI
|
84
84
|
set_uri_key(key)
|
85
85
|
else
|
86
86
|
@key = key
|
@@ -140,11 +140,11 @@ class Puppet::Indirector::Request
|
|
140
140
|
end
|
141
141
|
|
142
142
|
def description
|
143
|
-
|
143
|
+
uri || "/#{indirection_name}/#{key}"
|
144
144
|
end
|
145
145
|
|
146
146
|
def remote?
|
147
|
-
|
147
|
+
node or ip
|
148
148
|
end
|
149
149
|
|
150
150
|
private
|
@@ -192,6 +192,6 @@ class Puppet::Indirector::Request
|
|
192
192
|
@protocol = uri.scheme
|
193
193
|
end
|
194
194
|
|
195
|
-
@key = Puppet::Util.uri_unescape(uri.path.sub(
|
195
|
+
@key = Puppet::Util.uri_unescape(uri.path.sub(%r{^/}, ''))
|
196
196
|
end
|
197
197
|
end
|
@@ -14,7 +14,7 @@ class Puppet::Resource::Ral < Puppet::Indirector::Code
|
|
14
14
|
def find(request)
|
15
15
|
# find by name
|
16
16
|
res = type(request).instances.find { |o| o.name == resource_name(request) }
|
17
|
-
res ||= type(request).new(:name => resource_name(request), :audit => type(request).properties.collect
|
17
|
+
res ||= type(request).new(:name => resource_name(request), :audit => type(request).properties.collect(&:name))
|
18
18
|
|
19
19
|
res.to_resource
|
20
20
|
end
|
@@ -23,9 +23,7 @@ class Puppet::Resource::Ral < Puppet::Indirector::Code
|
|
23
23
|
conditions = request.options.dup
|
24
24
|
conditions[:name] = resource_name(request) if resource_name(request)
|
25
25
|
|
26
|
-
type(request).instances.map do |res|
|
27
|
-
res.to_resource
|
28
|
-
end.find_all do |res|
|
26
|
+
type(request).instances.map(&:to_resource).find_all do |res|
|
29
27
|
conditions.all? do |property, value|
|
30
28
|
# even though `res` is an instance of Puppet::Resource, calling
|
31
29
|
# `res[:name]` on it returns nil, and for some reason it is necessary
|
@@ -6,7 +6,7 @@ require_relative '../../../puppet/indirector/resource/validator'
|
|
6
6
|
class Puppet::Resource::StoreConfigs < Puppet::Indirector::StoreConfigs
|
7
7
|
include Puppet::Resource::Validator
|
8
8
|
|
9
|
-
desc
|
9
|
+
desc 'Part of the "storeconfigs" feature. Should not be directly set by end users.'
|
10
10
|
|
11
11
|
def allow_remote_requests?
|
12
12
|
false
|
@@ -24,7 +24,7 @@ class Puppet::Indirector::Terminus
|
|
24
24
|
|
25
25
|
# Convert a constant to a short name.
|
26
26
|
def const2name(const)
|
27
|
-
const.sub(/^[A-Z]
|
27
|
+
const.sub(/^[A-Z]/, &:downcase).gsub(/[A-Z]/) { |i| "_#{i.downcase}" }.intern
|
28
28
|
end
|
29
29
|
|
30
30
|
# Look up the indirection if we were only provided a name.
|
@@ -57,7 +57,7 @@ class Puppet::Indirector::Terminus
|
|
57
57
|
names = longname.split("::")
|
58
58
|
|
59
59
|
# Convert everything to a lower-case symbol, converting camelcase to underscore word separation.
|
60
|
-
name = names.pop.sub(/^[A-Z]
|
60
|
+
name = names.pop.sub(/^[A-Z]/, &:downcase).gsub(/[A-Z]/) { |i| "_#{i.downcase}" }.intern
|
61
61
|
|
62
62
|
subclass.name = name
|
63
63
|
|
@@ -75,7 +75,7 @@ class Puppet::Indirector::Terminus
|
|
75
75
|
# This subclass is specifically associated with an indirection.
|
76
76
|
raise("Invalid name #{longname}") unless names.length > 0
|
77
77
|
|
78
|
-
processed_name = names.pop.sub(/^[A-Z]
|
78
|
+
processed_name = names.pop.sub(/^[A-Z]/, &:downcase).gsub(/[A-Z]/) { |i| "_#{i.downcase}" }
|
79
79
|
|
80
80
|
if processed_name.empty?
|
81
81
|
raise Puppet::DevError, _("Could not discern indirection model from class constant")
|
@@ -101,7 +101,7 @@ class Puppet::Indirector::Terminus
|
|
101
101
|
|
102
102
|
# Convert a short name to a constant.
|
103
103
|
def name2const(name)
|
104
|
-
name.to_s.capitalize.sub(/_(.)/) { |_i|
|
104
|
+
name.to_s.capitalize.sub(/_(.)/) { |_i| ::Regexp.last_match(1).upcase }
|
105
105
|
end
|
106
106
|
|
107
107
|
# Register a class, probably autoloaded.
|
@@ -11,7 +11,7 @@ class Puppet::Indirector::Yaml < Puppet::Indirector::Terminus
|
|
11
11
|
return nil unless Puppet::FileSystem.exist?(file)
|
12
12
|
|
13
13
|
begin
|
14
|
-
|
14
|
+
load_file(file)
|
15
15
|
rescue Puppet::Util::Yaml::YamlLoadError => detail
|
16
16
|
raise Puppet::Error, _("Could not parse YAML data for %{indirection} %{request}: %{detail}") % { indirection: indirection.name, request: request.key, detail: detail }, detail.backtrace
|
17
17
|
end
|
@@ -19,7 +19,7 @@ class Puppet::Indirector::Yaml < Puppet::Indirector::Terminus
|
|
19
19
|
|
20
20
|
# Convert our object to YAML and store it to the disk.
|
21
21
|
def save(request)
|
22
|
-
raise ArgumentError
|
22
|
+
raise ArgumentError, _("You can only save objects that respond to :name") unless request.instance.respond_to?(:name)
|
23
23
|
|
24
24
|
file = path(request.key)
|
25
25
|
|
@@ -31,7 +31,7 @@ class Puppet::Indirector::Yaml < Puppet::Indirector::Terminus
|
|
31
31
|
begin
|
32
32
|
Puppet::Util::Yaml.dump(request.instance, file)
|
33
33
|
rescue TypeError => detail
|
34
|
-
Puppet.err _("Could not save %{indirection} %{request}: %{detail}") % { indirection:
|
34
|
+
Puppet.err _("Could not save %{indirection} %{request}: %{detail}") % { indirection: name, request: request.key, detail: detail }
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
@@ -74,7 +74,7 @@ class Puppet::InfoService::ClassInformationService
|
|
74
74
|
def extract_type(structure, p)
|
75
75
|
return structure if p.type_expr.nil?
|
76
76
|
|
77
|
-
structure[:type] = typeexpr_to_string(p.type_expr)
|
77
|
+
structure[:type] = typeexpr_to_string(p.name, p.type_expr)
|
78
78
|
structure
|
79
79
|
end
|
80
80
|
|
@@ -88,13 +88,10 @@ class Puppet::InfoService::ClassInformationService
|
|
88
88
|
structure
|
89
89
|
end
|
90
90
|
|
91
|
-
def typeexpr_to_string(type_expr)
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
# type is to complex - contains expressions that are not literal
|
96
|
-
nil
|
97
|
-
end
|
91
|
+
def typeexpr_to_string(name, type_expr)
|
92
|
+
type_parser.interpret_any(type_expr, nil).to_s
|
93
|
+
rescue Puppet::ParseError => e
|
94
|
+
raise Puppet::Error, "The parameter '$#{name}' is invalid: #{e.message}", e.backtrace
|
98
95
|
end
|
99
96
|
|
100
97
|
def value_as_literal(value_expr)
|
@@ -10,13 +10,12 @@ class Puppet::InfoService::TaskInformationService
|
|
10
10
|
env.modules.map do |mod|
|
11
11
|
mod.tasks.map do |task|
|
12
12
|
# If any task is malformed continue to list other tasks in module
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
end
|
13
|
+
|
14
|
+
task.validate
|
15
|
+
{ :module => { :name => task.module.name }, :name => task.name, :metadata => task.metadata }
|
16
|
+
rescue Puppet::Module::Task::Error => err
|
17
|
+
Puppet.log_exception(err)
|
18
|
+
nil
|
20
19
|
end
|
21
20
|
end.flatten.compact
|
22
21
|
end
|
@@ -40,9 +40,9 @@ class Puppet::Interface::Action
|
|
40
40
|
# @return [void]
|
41
41
|
# @api private
|
42
42
|
def __dup_and_rebind_to(to)
|
43
|
-
bound_version =
|
43
|
+
bound_version = dup
|
44
44
|
bound_version.instance_variable_set(:@face, to)
|
45
|
-
|
45
|
+
bound_version
|
46
46
|
end
|
47
47
|
|
48
48
|
def to_s() "#{@face}##{@name}" end
|
@@ -88,7 +88,7 @@ class Puppet::Interface::Action
|
|
88
88
|
return @when_rendering[alt].bind(@face) if @when_rendering.has_key? alt
|
89
89
|
|
90
90
|
# Guess not, nothing to run.
|
91
|
-
|
91
|
+
nil
|
92
92
|
end
|
93
93
|
|
94
94
|
# @api private
|
@@ -254,7 +254,7 @@ class Puppet::Interface::Action
|
|
254
254
|
file = __FILE__ + "+eval[wrapper]"
|
255
255
|
line = __LINE__ + 2 # <== points to the same line as 'def' in the wrapper.
|
256
256
|
wrapper = <<~WRAPPER
|
257
|
-
def #{@name}(#{decl.join(
|
257
|
+
def #{@name}(#{decl.join(', ')})
|
258
258
|
#{optn}
|
259
259
|
args = #{args}
|
260
260
|
action = get_action(#{name.inspect})
|
@@ -394,7 +394,7 @@ class Puppet::Interface::Action
|
|
394
394
|
end
|
395
395
|
|
396
396
|
# All done.
|
397
|
-
|
397
|
+
result
|
398
398
|
end
|
399
399
|
|
400
400
|
########################################################################
|
@@ -39,7 +39,7 @@ module Puppet::Interface::ActionManager
|
|
39
39
|
@actions ||= {}
|
40
40
|
result = @actions.keys
|
41
41
|
|
42
|
-
if
|
42
|
+
if is_a?(Class) and superclass.respond_to?(:actions)
|
43
43
|
result += superclass.actions
|
44
44
|
elsif self.class.respond_to?(:actions)
|
45
45
|
result += self.class.actions
|
@@ -58,7 +58,7 @@ module Puppet::Interface::ActionManager
|
|
58
58
|
@actions ||= {}
|
59
59
|
result = @actions[name.to_sym]
|
60
60
|
if result.nil?
|
61
|
-
if
|
61
|
+
if is_a?(Class) and superclass.respond_to?(:get_action)
|
62
62
|
found = superclass.get_action(name)
|
63
63
|
elsif self.class.respond_to?(:get_action)
|
64
64
|
found = self.class.get_action(name)
|
@@ -71,16 +71,16 @@ module Puppet::Interface::ActionManager
|
|
71
71
|
result = @actions[name.to_sym] = found.__dup_and_rebind_to(self)
|
72
72
|
end
|
73
73
|
end
|
74
|
-
|
74
|
+
result
|
75
75
|
end
|
76
76
|
|
77
77
|
# Retrieves the default action for the face
|
78
78
|
# @return [Puppet::Interface::Action]
|
79
79
|
# @api private
|
80
80
|
def get_default_action
|
81
|
-
default = actions.map { |x| get_action(x) }.select
|
81
|
+
default = actions.map { |x| get_action(x) }.select(&:default)
|
82
82
|
if default.length > 1
|
83
|
-
raise "The actions #{default.map(&:name).join(
|
83
|
+
raise "The actions #{default.map(&:name).join(', ')} cannot all be default"
|
84
84
|
end
|
85
85
|
|
86
86
|
default.first
|
@@ -79,7 +79,7 @@ class Puppet::Interface
|
|
79
79
|
|
80
80
|
options.each do |option|
|
81
81
|
option = get_option(option)
|
82
|
-
wrap = option.required? ? %w
|
82
|
+
wrap = option.required? ? %w[< >] : %w{[ ]}
|
83
83
|
|
84
84
|
s.group(0, *wrap) do
|
85
85
|
option.optparse.each do |item|
|
@@ -184,7 +184,7 @@ class Puppet::Interface
|
|
184
184
|
first_paragraph_break = lines.index('') || 5
|
185
185
|
grab = [5, first_paragraph_break].min
|
186
186
|
@short_description = lines[0, grab].join("\n")
|
187
|
-
@short_description += ' [...]' if
|
187
|
+
@short_description += ' [...]' if grab < lines.length and first_paragraph_break >= 5
|
188
188
|
end
|
189
189
|
@short_description
|
190
190
|
end
|
@@ -250,7 +250,7 @@ class Puppet::Interface
|
|
250
250
|
# @api public
|
251
251
|
# @dsl Faces
|
252
252
|
def copyright(owner = nil, years = nil)
|
253
|
-
if years.nil? and
|
253
|
+
if years.nil? and !owner.nil? then
|
254
254
|
# TRANSLATORS 'copyright' is an attribute name and should not be translated
|
255
255
|
raise ArgumentError, _('copyright takes the owners names, then the years covered')
|
256
256
|
end
|
@@ -258,8 +258,8 @@ class Puppet::Interface
|
|
258
258
|
self.copyright_owner = owner unless owner.nil?
|
259
259
|
self.copyright_years = years unless years.nil?
|
260
260
|
|
261
|
-
if
|
262
|
-
"Copyright #{
|
261
|
+
if copyright_years or copyright_owner then
|
262
|
+
"Copyright #{copyright_years} by #{copyright_owner}"
|
263
263
|
else
|
264
264
|
"Unknown copyright owner and years."
|
265
265
|
end
|
@@ -40,7 +40,7 @@ module Puppet::Interface::FaceCollection
|
|
40
40
|
end
|
41
41
|
end
|
42
42
|
|
43
|
-
|
43
|
+
action
|
44
44
|
end
|
45
45
|
|
46
46
|
# get face from memory, without loading.
|
@@ -51,11 +51,11 @@ module Puppet::Interface::FaceCollection
|
|
51
51
|
versions = @faces[name].keys - [:current]
|
52
52
|
range = pattern.is_a?(SemanticPuppet::Version) ? SemanticPuppet::VersionRange.new(pattern, pattern) : SemanticPuppet::VersionRange.parse(pattern)
|
53
53
|
found = find_matching(range, versions)
|
54
|
-
|
54
|
+
@faces[name][found]
|
55
55
|
end
|
56
56
|
|
57
57
|
def self.find_matching(range, versions)
|
58
|
-
versions.select { |v| range === v }.
|
58
|
+
versions.select { |v| range === v }.max
|
59
59
|
end
|
60
60
|
|
61
61
|
# try to load the face, and return it.
|
@@ -95,7 +95,7 @@ module Puppet::Interface::FaceCollection
|
|
95
95
|
# versions here and return the last item in that set.
|
96
96
|
#
|
97
97
|
# --daniel 2011-04-06
|
98
|
-
latest_ver = @faces[name].keys.
|
98
|
+
latest_ver = @faces[name].keys.max
|
99
99
|
@faces[name][:current] = @faces[name][latest_ver]
|
100
100
|
end
|
101
101
|
end
|
@@ -105,7 +105,7 @@ module Puppet::Interface::FaceCollection
|
|
105
105
|
safely_require name, version
|
106
106
|
end
|
107
107
|
|
108
|
-
|
108
|
+
get_face(name, version)
|
109
109
|
end
|
110
110
|
|
111
111
|
def self.safely_require(name, version = nil)
|
@@ -113,12 +113,12 @@ module Puppet::Interface::FaceCollection
|
|
113
113
|
require path
|
114
114
|
true
|
115
115
|
rescue LoadError => e
|
116
|
-
raise unless e.message =~
|
116
|
+
raise unless e.message =~ /-- #{path}$/
|
117
117
|
|
118
118
|
# ...guess we didn't find the file; return a much better problem.
|
119
119
|
nil
|
120
120
|
rescue SyntaxError => e
|
121
|
-
raise unless e.message =~
|
121
|
+
raise unless e.message =~ /#{path}\.rb:\d+: /
|
122
122
|
|
123
123
|
Puppet.err _("Failed to load face %{name}:\n%{detail}") % { name: name, detail: e }
|
124
124
|
# ...but we just carry on after complaining.
|
@@ -64,7 +64,7 @@ class Puppet::Interface::Option
|
|
64
64
|
# incoherence here makes our life super-difficult, and we can more easily
|
65
65
|
# relax this rule later if we find a valid use case for it. --daniel 2011-03-30
|
66
66
|
@argument = @optparse.any? { |o| o =~ /[ =]/ }
|
67
|
-
if @argument and
|
67
|
+
if @argument and !@optparse.all? { |o| o =~ /[ =]/ } then
|
68
68
|
raise ArgumentError, _("Option %{name} is inconsistent about taking an argument") % { name: @name }
|
69
69
|
end
|
70
70
|
|
@@ -74,7 +74,7 @@ class Puppet::Interface::Option
|
|
74
74
|
if @optional_argument
|
75
75
|
raise ArgumentError, _("Options with optional arguments are not supported")
|
76
76
|
end
|
77
|
-
if @optional_argument and
|
77
|
+
if @optional_argument and !@optparse.all? { |o| o =~ /[ =]\[/ } then
|
78
78
|
raise ArgumentError, _("Option %{name} is inconsistent about the argument being optional") % { name: @name }
|
79
79
|
end
|
80
80
|
end
|