puppet 8.5.0-universal-darwin → 8.6.0-universal-darwin
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +29 -26
- data/ext/windows/service/daemon.rb +49 -55
- data/lib/hiera/scope.rb +3 -3
- data/lib/hiera_puppet.rb +1 -1
- data/lib/puppet/agent/disabler.rb +1 -1
- data/lib/puppet/application/agent.rb +2 -2
- data/lib/puppet/application/apply.rb +2 -2
- data/lib/puppet/application/describe.rb +6 -6
- data/lib/puppet/application/device.rb +99 -100
- data/lib/puppet/application/doc.rb +1 -1
- data/lib/puppet/application/face_base.rb +7 -7
- data/lib/puppet/application/filebucket.rb +1 -1
- data/lib/puppet/application/lookup.rb +5 -5
- data/lib/puppet/application/resource.rb +10 -3
- data/lib/puppet/application/ssl.rb +3 -3
- data/lib/puppet/application.rb +16 -18
- data/lib/puppet/coercion.rb +1 -1
- data/lib/puppet/configurer/downloader.rb +9 -4
- data/lib/puppet/configurer/fact_handler.rb +12 -13
- data/lib/puppet/configurer.rb +16 -18
- data/lib/puppet/confine/feature.rb +1 -1
- data/lib/puppet/confine/variable.rb +1 -1
- data/lib/puppet/confine.rb +2 -2
- data/lib/puppet/confine_collection.rb +1 -1
- data/lib/puppet/confiner.rb +2 -2
- data/lib/puppet/daemon.rb +3 -3
- data/lib/puppet/datatypes.rb +5 -6
- data/lib/puppet/defaults.rb +14 -8
- data/lib/puppet/environments.rb +3 -7
- data/lib/puppet/error.rb +3 -3
- data/lib/puppet/external/dot.rb +42 -34
- data/lib/puppet/face/catalog/select.rb +1 -1
- data/lib/puppet/face/epp.rb +7 -9
- data/lib/puppet/face/help.rb +12 -12
- data/lib/puppet/face/module/changes.rb +1 -3
- data/lib/puppet/face/module/list.rb +37 -37
- data/lib/puppet/face/node/clean.rb +1 -1
- data/lib/puppet/face/parser.rb +6 -8
- data/lib/puppet/face/report.rb +5 -7
- data/lib/puppet/facter_impl.rb +1 -1
- data/lib/puppet/feature/base.rb +9 -11
- data/lib/puppet/feature/pe_license.rb +1 -1
- data/lib/puppet/feature/ssh.rb +1 -1
- data/lib/puppet/feature/telnet.rb +3 -5
- data/lib/puppet/feature/zlib.rb +1 -1
- data/lib/puppet/ffi/windows/constants.rb +1 -1
- data/lib/puppet/ffi/windows/functions.rb +2 -2
- data/lib/puppet/ffi/windows/structs.rb +3 -3
- data/lib/puppet/file_bucket/dipper.rb +4 -4
- data/lib/puppet/file_bucket/file.rb +4 -4
- data/lib/puppet/file_serving/base.rb +5 -5
- data/lib/puppet/file_serving/configuration/parser.rb +9 -9
- data/lib/puppet/file_serving/configuration.rb +3 -3
- data/lib/puppet/file_serving/fileset.rb +13 -13
- data/lib/puppet/file_serving/http_metadata.rb +1 -1
- data/lib/puppet/file_serving/metadata.rb +13 -9
- data/lib/puppet/file_serving/mount/file.rb +6 -6
- data/lib/puppet/file_serving/mount/locales.rb +2 -4
- data/lib/puppet/file_serving/mount/pluginfacts.rb +2 -4
- data/lib/puppet/file_serving/mount/plugins.rb +2 -4
- data/lib/puppet/file_serving/mount.rb +1 -1
- data/lib/puppet/file_system/file_impl.rb +3 -3
- data/lib/puppet/file_system/memory_impl.rb +1 -1
- data/lib/puppet/file_system/path_pattern.rb +1 -1
- data/lib/puppet/file_system/uniquefile.rb +17 -16
- data/lib/puppet/file_system/windows.rb +26 -18
- data/lib/puppet/forge/cache.rb +2 -2
- data/lib/puppet/forge/errors.rb +1 -1
- data/lib/puppet/forge/repository.rb +2 -2
- data/lib/puppet/forge.rb +13 -19
- data/lib/puppet/functions/abs.rb +2 -2
- data/lib/puppet/functions/camelcase.rb +1 -1
- data/lib/puppet/functions/compare.rb +2 -2
- data/lib/puppet/functions/contain.rb +1 -1
- data/lib/puppet/functions/defined.rb +2 -2
- data/lib/puppet/functions/dig.rb +1 -1
- data/lib/puppet/functions/eyaml_lookup_key.rb +11 -13
- data/lib/puppet/functions/get.rb +1 -1
- data/lib/puppet/functions/hocon_data.rb +3 -5
- data/lib/puppet/functions/import.rb +1 -1
- data/lib/puppet/functions/json_data.rb +4 -6
- data/lib/puppet/functions/max.rb +2 -2
- data/lib/puppet/functions/min.rb +2 -2
- data/lib/puppet/functions/new.rb +1 -1
- data/lib/puppet/functions/reduce.rb +6 -10
- data/lib/puppet/functions/regsubst.rb +2 -2
- data/lib/puppet/functions/require.rb +1 -1
- data/lib/puppet/functions/yaml_data.rb +11 -13
- data/lib/puppet/functions.rb +32 -37
- data/lib/puppet/generate/type.rb +2 -2
- data/lib/puppet/gettext/config.rb +9 -9
- data/lib/puppet/graph/rb_tree_map.rb +31 -23
- data/lib/puppet/graph/relationship_graph.rb +12 -12
- data/lib/puppet/graph/simple_graph.rb +8 -10
- data/lib/puppet/http/client.rb +1 -1
- data/lib/puppet/http/dns.rb +4 -4
- data/lib/puppet/http/external_client.rb +1 -1
- data/lib/puppet/http/factory.rb +1 -1
- data/lib/puppet/http/proxy.rb +15 -15
- data/lib/puppet/http/redirector.rb +6 -2
- data/lib/puppet/http/resolver.rb +2 -2
- data/lib/puppet/http/retry_after_handler.rb +2 -2
- data/lib/puppet/http/service/ca.rb +1 -1
- data/lib/puppet/http/service/compiler.rb +4 -4
- data/lib/puppet/http/service/file_server.rb +1 -1
- data/lib/puppet/http/service/report.rb +2 -2
- data/lib/puppet/http/service.rb +9 -13
- data/lib/puppet/http/session.rb +1 -1
- data/lib/puppet/http/site.rb +1 -1
- data/lib/puppet/indirector/catalog/compiler.rb +44 -45
- data/lib/puppet/indirector/catalog/rest.rb +7 -5
- data/lib/puppet/indirector/catalog/store_configs.rb +1 -1
- data/lib/puppet/indirector/exec.rb +2 -2
- data/lib/puppet/indirector/face.rb +7 -9
- data/lib/puppet/indirector/fact_search.rb +1 -1
- data/lib/puppet/indirector/facts/facter.rb +6 -6
- data/lib/puppet/indirector/facts/json.rb +1 -1
- data/lib/puppet/indirector/facts/store_configs.rb +1 -1
- data/lib/puppet/indirector/file_bucket_file/file.rb +17 -17
- data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -3
- data/lib/puppet/indirector/file_content/rest.rb +1 -1
- data/lib/puppet/indirector/file_metadata/rest.rb +1 -1
- data/lib/puppet/indirector/hiera.rb +1 -1
- data/lib/puppet/indirector/indirection.rb +27 -29
- data/lib/puppet/indirector/json.rb +4 -4
- data/lib/puppet/indirector/memory.rb +2 -2
- data/lib/puppet/indirector/msgpack.rb +5 -5
- data/lib/puppet/indirector/node/store_configs.rb +1 -1
- data/lib/puppet/indirector/none.rb +1 -1
- data/lib/puppet/indirector/report/json.rb +1 -1
- data/lib/puppet/indirector/report/yaml.rb +1 -1
- data/lib/puppet/indirector/request.rb +4 -4
- data/lib/puppet/indirector/resource/ral.rb +2 -4
- data/lib/puppet/indirector/resource/store_configs.rb +1 -1
- data/lib/puppet/indirector/terminus.rb +4 -4
- data/lib/puppet/indirector/yaml.rb +3 -3
- data/lib/puppet/info_service/class_information_service.rb +5 -8
- data/lib/puppet/info_service/task_information_service.rb +6 -7
- data/lib/puppet/interface/action.rb +5 -5
- data/lib/puppet/interface/action_manager.rb +5 -5
- data/lib/puppet/interface/documentation.rb +5 -5
- data/lib/puppet/interface/face_collection.rb +7 -7
- data/lib/puppet/interface/option.rb +2 -2
- data/lib/puppet/interface/option_manager.rb +6 -6
- data/lib/puppet/interface.rb +4 -4
- data/lib/puppet/metatype/manager.rb +2 -2
- data/lib/puppet/module/plan.rb +10 -10
- data/lib/puppet/module/task.rb +8 -8
- data/lib/puppet/module.rb +39 -41
- data/lib/puppet/module_tool/applications/application.rb +10 -8
- data/lib/puppet/module_tool/applications/installer.rb +53 -50
- data/lib/puppet/module_tool/applications/unpacker.rb +6 -8
- data/lib/puppet/module_tool/applications/upgrader.rb +37 -34
- data/lib/puppet/module_tool/checksums.rb +2 -2
- data/lib/puppet/module_tool/dependency.rb +1 -1
- data/lib/puppet/module_tool/errors/base.rb +1 -1
- data/lib/puppet/module_tool/install_directory.rb +1 -1
- data/lib/puppet/module_tool/local_tarball.rb +3 -5
- data/lib/puppet/module_tool/metadata.rb +12 -8
- data/lib/puppet/module_tool/shared_behaviors.rb +27 -12
- data/lib/puppet/module_tool/tar/mini.rb +3 -3
- data/lib/puppet/module_tool.rb +4 -4
- data/lib/puppet/network/client_request.rb +5 -3
- data/lib/puppet/network/format.rb +2 -2
- data/lib/puppet/network/format_support.rb +1 -1
- data/lib/puppet/network/formats.rb +1 -1
- data/lib/puppet/network/http/api/indirected_routes.rb +24 -44
- data/lib/puppet/network/http/api/server/v3.rb +1 -1
- data/lib/puppet/network/http/connection.rb +1 -1
- data/lib/puppet/network/http/handler.rb +8 -12
- data/lib/puppet/network/http/request.rb +1 -1
- data/lib/puppet/network/http/route.rb +9 -9
- data/lib/puppet/node/environment.rb +21 -23
- data/lib/puppet/node/facts.rb +1 -1
- data/lib/puppet/node.rb +5 -5
- data/lib/puppet/pal/json_catalog_encoder.rb +1 -1
- data/lib/puppet/pal/pal_impl.rb +48 -50
- data/lib/puppet/pal/plan_signature.rb +1 -1
- data/lib/puppet/pal/task_signature.rb +1 -1
- data/lib/puppet/parameter/package_options.rb +1 -1
- data/lib/puppet/parameter/value.rb +2 -2
- data/lib/puppet/parameter/value_collection.rb +7 -7
- data/lib/puppet/parameter.rb +8 -9
- data/lib/puppet/parser/ast/block_expression.rb +2 -2
- data/lib/puppet/parser/ast/hostclass.rb +1 -1
- data/lib/puppet/parser/ast/pops_bridge.rb +3 -4
- data/lib/puppet/parser/ast/resource.rb +4 -4
- data/lib/puppet/parser/ast/resourceparam.rb +4 -4
- data/lib/puppet/parser/ast.rb +14 -15
- data/lib/puppet/parser/compiler.rb +26 -28
- data/lib/puppet/parser/functions/create_resources.rb +3 -3
- data/lib/puppet/parser/functions/fail.rb +1 -1
- data/lib/puppet/parser/functions/generate.rb +2 -2
- data/lib/puppet/parser/functions/tag.rb +1 -1
- data/lib/puppet/parser/functions.rb +2 -2
- data/lib/puppet/parser/relationship.rb +3 -1
- data/lib/puppet/parser/resource/param.rb +2 -2
- data/lib/puppet/parser/resource.rb +23 -23
- data/lib/puppet/parser/scope.rb +10 -10
- data/lib/puppet/parser/script_compiler.rb +1 -1
- data/lib/puppet/parser/templatewrapper.rb +1 -1
- data/lib/puppet/parser/type_loader.rb +10 -12
- data/lib/puppet/parser.rb +1 -1
- data/lib/puppet/pops/adaptable.rb +1 -1
- data/lib/puppet/pops/evaluator/access_operator.rb +8 -8
- data/lib/puppet/pops/evaluator/callable_signature.rb +4 -4
- data/lib/puppet/pops/evaluator/collector_transformer.rb +4 -4
- data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +7 -7
- data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +6 -6
- data/lib/puppet/pops/evaluator/compare_operator.rb +10 -10
- data/lib/puppet/pops/evaluator/deferred_resolver.rb +1 -1
- data/lib/puppet/pops/evaluator/epp_evaluator.rb +2 -2
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +56 -60
- data/lib/puppet/pops/evaluator/literal_evaluator.rb +4 -0
- data/lib/puppet/pops/evaluator/relationship_operator.rb +2 -2
- data/lib/puppet/pops/evaluator/runtime3_converter.rb +3 -3
- data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
- data/lib/puppet/pops/functions/dispatcher.rb +3 -3
- data/lib/puppet/pops/functions/function.rb +14 -16
- data/lib/puppet/pops/issue_reporter.rb +2 -2
- data/lib/puppet/pops/label_provider.rb +2 -2
- data/lib/puppet/pops/loader/dependency_loader.rb +3 -3
- data/lib/puppet/pops/loader/loader.rb +4 -4
- data/lib/puppet/pops/loader/loader_paths.rb +3 -3
- data/lib/puppet/pops/loader/module_loaders.rb +11 -11
- data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +1 -1
- data/lib/puppet/pops/loader/ruby_function_instantiator.rb +1 -1
- data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +5 -1
- data/lib/puppet/pops/loader/static_loader.rb +3 -3
- data/lib/puppet/pops/loaders.rb +3 -3
- data/lib/puppet/pops/lookup/data_dig_function_provider.rb +1 -1
- data/lib/puppet/pops/lookup/explainer.rb +2 -2
- data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
- data/lib/puppet/pops/lookup/hiera_config.rb +15 -11
- data/lib/puppet/pops/lookup/interpolation.rb +3 -3
- data/lib/puppet/pops/lookup/key_recorder.rb +1 -1
- data/lib/puppet/pops/lookup/location_resolver.rb +1 -1
- data/lib/puppet/pops/lookup/lookup_adapter.rb +7 -7
- data/lib/puppet/pops/lookup/sub_lookup.rb +1 -1
- data/lib/puppet/pops/merge_strategy.rb +6 -6
- data/lib/puppet/pops/migration/migration_checker.rb +1 -1
- data/lib/puppet/pops/model/ast_transformer.rb +9 -11
- data/lib/puppet/pops/model/factory.rb +4 -5
- data/lib/puppet/pops/parser/epp_parser.rb +2 -2
- data/lib/puppet/pops/parser/epp_support.rb +1 -1
- data/lib/puppet/pops/parser/evaluating_parser.rb +2 -2
- data/lib/puppet/pops/parser/heredoc_support.rb +4 -4
- data/lib/puppet/pops/parser/interpolation_support.rb +3 -3
- data/lib/puppet/pops/parser/lexer2.rb +20 -12
- data/lib/puppet/pops/parser/lexer_support.rb +1 -1
- data/lib/puppet/pops/parser/locator.rb +4 -4
- data/lib/puppet/pops/parser/parser_support.rb +12 -14
- data/lib/puppet/pops/parser/pn_parser.rb +3 -3
- data/lib/puppet/pops/parser/slurp_support.rb +8 -8
- data/lib/puppet/pops/patterns.rb +12 -12
- data/lib/puppet/pops/pcore.rb +1 -1
- data/lib/puppet/pops/pn.rb +2 -2
- data/lib/puppet/pops/puppet_stack.rb +1 -1
- data/lib/puppet/pops/resource/resource_type_impl.rb +1 -1
- data/lib/puppet/pops/serialization/abstract_reader.rb +2 -2
- data/lib/puppet/pops/serialization/abstract_writer.rb +3 -3
- data/lib/puppet/pops/time/timestamp.rb +1 -1
- data/lib/puppet/pops/types/class_loader.rb +4 -6
- data/lib/puppet/pops/types/iterable.rb +1 -1
- data/lib/puppet/pops/types/p_binary_type.rb +1 -1
- data/lib/puppet/pops/types/p_init_type.rb +1 -1
- data/lib/puppet/pops/types/p_object_type.rb +5 -5
- data/lib/puppet/pops/types/p_object_type_extension.rb +4 -6
- data/lib/puppet/pops/types/p_sem_ver_range_type.rb +1 -1
- data/lib/puppet/pops/types/p_sensitive_type.rb +1 -1
- data/lib/puppet/pops/types/p_timespan_type.rb +2 -2
- data/lib/puppet/pops/types/p_type_set_type.rb +10 -10
- data/lib/puppet/pops/types/p_uri_type.rb +4 -4
- data/lib/puppet/pops/types/recursion_guard.rb +4 -4
- data/lib/puppet/pops/types/ruby_generator.rb +2 -2
- data/lib/puppet/pops/types/string_converter.rb +12 -8
- data/lib/puppet/pops/types/tree_iterators.rb +4 -6
- data/lib/puppet/pops/types/type_calculator.rb +10 -10
- data/lib/puppet/pops/types/type_factory.rb +7 -3
- data/lib/puppet/pops/types/type_formatter.rb +22 -24
- data/lib/puppet/pops/types/type_mismatch_describer.rb +24 -24
- data/lib/puppet/pops/types/types.rb +28 -24
- data/lib/puppet/pops/utils.rb +38 -42
- data/lib/puppet/pops/validation/checker4_0.rb +10 -10
- data/lib/puppet/pops/validation/tasks_checker.rb +1 -1
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +2 -0
- data/lib/puppet/pops/validation.rb +4 -4
- data/lib/puppet/pops/visitor.rb +2 -2
- data/lib/puppet/property/ensure.rb +12 -14
- data/lib/puppet/property/keyvalue.rb +4 -4
- data/lib/puppet/property/list.rb +4 -4
- data/lib/puppet/property/ordered_list.rb +1 -1
- data/lib/puppet/property.rb +31 -33
- data/lib/puppet/provider/exec.rb +2 -2
- data/lib/puppet/provider/file/posix.rb +19 -17
- data/lib/puppet/provider/file/windows.rb +13 -19
- data/lib/puppet/provider/group/directoryservice.rb +3 -2
- data/lib/puppet/provider/group/groupadd.rb +4 -4
- data/lib/puppet/provider/group/windows_adsi.rb +2 -2
- data/lib/puppet/provider/nameservice/directoryservice.rb +29 -29
- data/lib/puppet/provider/nameservice/objectadd.rb +2 -4
- data/lib/puppet/provider/nameservice/pw.rb +1 -2
- data/lib/puppet/provider/nameservice.rb +8 -8
- data/lib/puppet/provider/package/aix.rb +19 -19
- data/lib/puppet/provider/package/appdmg.rb +2 -2
- data/lib/puppet/provider/package/apple.rb +1 -1
- data/lib/puppet/provider/package/apt.rb +18 -18
- data/lib/puppet/provider/package/aptitude.rb +1 -3
- data/lib/puppet/provider/package/aptrpm.rb +9 -9
- data/lib/puppet/provider/package/blastwave.rb +10 -14
- data/lib/puppet/provider/package/dnfmodule.rb +3 -3
- data/lib/puppet/provider/package/dpkg.rb +11 -13
- data/lib/puppet/provider/package/fink.rb +14 -14
- data/lib/puppet/provider/package/freebsd.rb +1 -1
- data/lib/puppet/provider/package/gem.rb +12 -14
- data/lib/puppet/provider/package/macports.rb +2 -2
- data/lib/puppet/provider/package/nim.rb +10 -10
- data/lib/puppet/provider/package/openbsd.rb +22 -22
- data/lib/puppet/provider/package/opkg.rb +6 -6
- data/lib/puppet/provider/package/pacman.rb +35 -29
- data/lib/puppet/provider/package/pip.rb +25 -24
- data/lib/puppet/provider/package/pkg.rb +15 -15
- data/lib/puppet/provider/package/pkgdmg.rb +10 -10
- data/lib/puppet/provider/package/pkgin.rb +2 -2
- data/lib/puppet/provider/package/pkgng.rb +5 -5
- data/lib/puppet/provider/package/pkgutil.rb +17 -21
- data/lib/puppet/provider/package/portage.rb +59 -61
- data/lib/puppet/provider/package/ports.rb +12 -11
- data/lib/puppet/provider/package/portupgrade.rb +35 -35
- data/lib/puppet/provider/package/puppetserver_gem.rb +10 -9
- data/lib/puppet/provider/package/rpm.rb +26 -26
- data/lib/puppet/provider/package/rug.rb +7 -9
- data/lib/puppet/provider/package/sun.rb +4 -4
- data/lib/puppet/provider/package/up2date.rb +5 -7
- data/lib/puppet/provider/package/urpmi.rb +6 -6
- data/lib/puppet/provider/package/windows/exe_package.rb +7 -7
- data/lib/puppet/provider/package/windows/msi_package.rb +3 -3
- data/lib/puppet/provider/package/windows/package.rb +2 -2
- data/lib/puppet/provider/package/windows.rb +3 -5
- data/lib/puppet/provider/package/yum.rb +33 -37
- data/lib/puppet/provider/package/zypper.rb +12 -14
- data/lib/puppet/provider/package.rb +1 -1
- data/lib/puppet/provider/package_targetable.rb +1 -1
- data/lib/puppet/provider/parsedfile.rb +9 -9
- data/lib/puppet/provider/service/base.rb +16 -21
- data/lib/puppet/provider/service/bsd.rb +4 -4
- data/lib/puppet/provider/service/daemontools.rb +31 -31
- data/lib/puppet/provider/service/debian.rb +6 -6
- data/lib/puppet/provider/service/freebsd.rb +36 -36
- data/lib/puppet/provider/service/gentoo.rb +6 -6
- data/lib/puppet/provider/service/init.rb +19 -19
- data/lib/puppet/provider/service/launchd.rb +22 -22
- data/lib/puppet/provider/service/openbsd.rb +10 -10
- data/lib/puppet/provider/service/openrc.rb +1 -1
- data/lib/puppet/provider/service/openwrt.rb +3 -3
- data/lib/puppet/provider/service/rcng.rb +3 -3
- data/lib/puppet/provider/service/redhat.rb +4 -4
- data/lib/puppet/provider/service/runit.rb +6 -6
- data/lib/puppet/provider/service/service.rb +5 -7
- data/lib/puppet/provider/service/smf.rb +28 -27
- data/lib/puppet/provider/service/src.rb +7 -7
- data/lib/puppet/provider/service/systemd.rb +31 -37
- data/lib/puppet/provider/service/upstart.rb +17 -17
- data/lib/puppet/provider/service/windows.rb +7 -7
- data/lib/puppet/provider/user/aix.rb +4 -2
- data/lib/puppet/provider/user/directoryservice.rb +34 -36
- data/lib/puppet/provider/user/hpux.rb +10 -14
- data/lib/puppet/provider/user/pw.rb +1 -1
- data/lib/puppet/provider/user/user_role_add.rb +16 -18
- data/lib/puppet/provider/user/useradd.rb +7 -7
- data/lib/puppet/provider/user/windows_adsi.rb +1 -1
- data/lib/puppet/provider.rb +8 -8
- data/lib/puppet/reference/indirection.rb +3 -0
- data/lib/puppet/reference/metaparameter.rb +1 -1
- data/lib/puppet/reference/providers.rb +3 -3
- data/lib/puppet/reference/type.rb +1 -1
- data/lib/puppet/relationship.rb +4 -5
- data/lib/puppet/reports/http.rb +1 -1
- data/lib/puppet/reports/log.rb +2 -2
- data/lib/puppet/reports/store.rb +4 -4
- data/lib/puppet/reports.rb +2 -2
- data/lib/puppet/resource/catalog.rb +16 -16
- data/lib/puppet/resource/status.rb +3 -3
- data/lib/puppet/resource/type.rb +8 -8
- data/lib/puppet/resource/type_collection.rb +1 -1
- data/lib/puppet/resource.rb +41 -41
- data/lib/puppet/scheduler/scheduler.rb +1 -1
- data/lib/puppet/settings/alias_setting.rb +3 -5
- data/lib/puppet/settings/base_setting.rb +11 -11
- data/lib/puppet/settings/boolean_setting.rb +2 -2
- data/lib/puppet/settings/config_file.rb +5 -4
- data/lib/puppet/settings/duration_setting.rb +2 -2
- data/lib/puppet/settings/environment_conf.rb +3 -3
- data/lib/puppet/settings/file_or_directory_setting.rb +2 -2
- data/lib/puppet/settings/file_setting.rb +11 -11
- data/lib/puppet/settings/ini_file.rb +3 -3
- data/lib/puppet/settings/port_setting.rb +1 -1
- data/lib/puppet/settings/priority_setting.rb +2 -2
- data/lib/puppet/settings/ttl_setting.rb +2 -2
- data/lib/puppet/settings/value_translator.rb +8 -8
- data/lib/puppet/settings.rb +65 -70
- data/lib/puppet/ssl/base.rb +2 -4
- data/lib/puppet/ssl/certificate_request.rb +18 -22
- data/lib/puppet/ssl/certificate_request_attributes.rb +3 -3
- data/lib/puppet/ssl/oids.rb +2 -2
- data/lib/puppet/ssl/openssl_loader.rb +4 -4
- data/lib/puppet/syntax_checkers/base64.rb +3 -3
- data/lib/puppet/syntax_checkers/epp.rb +3 -3
- data/lib/puppet/syntax_checkers/json.rb +3 -3
- data/lib/puppet/syntax_checkers/pp.rb +3 -3
- data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
- data/lib/puppet/transaction/event.rb +2 -2
- data/lib/puppet/transaction/event_manager.rb +5 -5
- data/lib/puppet/transaction/persistence.rb +12 -14
- data/lib/puppet/transaction/report.rb +4 -4
- data/lib/puppet/transaction/resource_harness.rb +2 -2
- data/lib/puppet/transaction.rb +14 -18
- data/lib/puppet/type/component.rb +3 -3
- data/lib/puppet/type/exec.rb +43 -45
- data/lib/puppet/type/file/checksum_value.rb +1 -1
- data/lib/puppet/type/file/content.rb +6 -6
- data/lib/puppet/type/file/ctime.rb +2 -2
- data/lib/puppet/type/file/data_sync.rb +3 -3
- data/lib/puppet/type/file/ensure.rb +16 -15
- data/lib/puppet/type/file/mode.rb +9 -9
- data/lib/puppet/type/file/mtime.rb +2 -2
- data/lib/puppet/type/file/selcontext.rb +14 -14
- data/lib/puppet/type/file/source.rb +19 -21
- data/lib/puppet/type/file/target.rb +11 -11
- data/lib/puppet/type/file.rb +21 -21
- data/lib/puppet/type/filebucket.rb +3 -3
- data/lib/puppet/type/group.rb +3 -3
- data/lib/puppet/type/notify.rb +2 -2
- data/lib/puppet/type/package.rb +4 -4
- data/lib/puppet/type/resources.rb +6 -6
- data/lib/puppet/type/schedule.rb +9 -9
- data/lib/puppet/type/service.rb +6 -8
- data/lib/puppet/type/tidy.rb +22 -24
- data/lib/puppet/type/user.rb +13 -13
- data/lib/puppet/type.rb +76 -88
- data/lib/puppet/util/at_fork/solaris.rb +33 -37
- data/lib/puppet/util/autoload.rb +2 -2
- data/lib/puppet/util/backups.rb +9 -9
- data/lib/puppet/util/character_encoding.rb +7 -6
- data/lib/puppet/util/checksums.rb +2 -2
- data/lib/puppet/util/classgen.rb +8 -8
- data/lib/puppet/util/colors.rb +1 -1
- data/lib/puppet/util/command_line/puppet_option_parser.rb +1 -1
- data/lib/puppet/util/command_line/trollop.rb +42 -46
- data/lib/puppet/util/command_line.rb +2 -2
- data/lib/puppet/util/constant_inflector.rb +2 -2
- data/lib/puppet/util/diff.rb +19 -21
- data/lib/puppet/util/docs.rb +2 -2
- data/lib/puppet/util/errors.rb +9 -9
- data/lib/puppet/util/execution.rb +32 -9
- data/lib/puppet/util/feature.rb +1 -1
- data/lib/puppet/util/fileparsing.rb +12 -16
- data/lib/puppet/util/filetype.rb +36 -40
- data/lib/puppet/util/inifile.rb +6 -12
- data/lib/puppet/util/ldap/connection.rb +1 -1
- data/lib/puppet/util/ldap/manager.rb +10 -12
- data/lib/puppet/util/lockfile.rb +6 -8
- data/lib/puppet/util/log/destination.rb +2 -2
- data/lib/puppet/util/log/destinations.rb +4 -4
- data/lib/puppet/util/log.rb +12 -9
- data/lib/puppet/util/logging.rb +11 -11
- data/lib/puppet/util/metric.rb +3 -3
- data/lib/puppet/util/monkey_patches.rb +5 -7
- data/lib/puppet/util/network_device/config.rb +3 -3
- data/lib/puppet/util/package/version/debian.rb +27 -28
- data/lib/puppet/util/package/version/pip.rb +5 -5
- data/lib/puppet/util/package/version/range/eq.rb +1 -1
- data/lib/puppet/util/package/version/rpm.rb +1 -1
- data/lib/puppet/util/package.rb +2 -2
- data/lib/puppet/util/pidlock.rb +2 -2
- data/lib/puppet/util/platform.rb +1 -1
- data/lib/puppet/util/plist.rb +8 -10
- data/lib/puppet/util/posix.rb +17 -17
- data/lib/puppet/util/profiler/aggregate.rb +1 -1
- data/lib/puppet/util/provider_features.rb +3 -3
- data/lib/puppet/util/rdoc/code_objects.rb +3 -3
- data/lib/puppet/util/rdoc/generators/puppet_generator.rb +63 -64
- data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +23 -23
- data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +12 -12
- data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -1
- data/lib/puppet/util/rdoc/parser.rb +1 -1
- data/lib/puppet/util/reference.rb +13 -9
- data/lib/puppet/util/retry_action.rb +1 -1
- data/lib/puppet/util/rpm_compare.rb +17 -18
- data/lib/puppet/util/rubygems.rb +1 -1
- data/lib/puppet/util/selinux.rb +7 -7
- data/lib/puppet/util/storage.rb +10 -12
- data/lib/puppet/util/suidmanager.rb +18 -19
- data/lib/puppet/util/symbolic_file_mode.rb +71 -75
- data/lib/puppet/util/tag_set.rb +2 -2
- data/lib/puppet/util/tagging.rb +8 -10
- data/lib/puppet/util/terminal.rb +4 -4
- data/lib/puppet/util/user_attr.rb +7 -7
- data/lib/puppet/util/watcher.rb +3 -5
- data/lib/puppet/util/windows/access_control_list.rb +1 -1
- data/lib/puppet/util/windows/adsi.rb +42 -42
- data/lib/puppet/util/windows/daemon.rb +64 -68
- data/lib/puppet/util/windows/error.rb +2 -2
- data/lib/puppet/util/windows/file.rb +18 -25
- data/lib/puppet/util/windows/monkey_patches/process.rb +1 -1
- data/lib/puppet/util/windows/principal.rb +8 -8
- data/lib/puppet/util/windows/process.rb +16 -28
- data/lib/puppet/util/windows/registry.rb +16 -15
- data/lib/puppet/util/windows/root_certs.rb +2 -2
- data/lib/puppet/util/windows/security.rb +31 -31
- data/lib/puppet/util/windows/service.rb +11 -11
- data/lib/puppet/util/windows/sid.rb +8 -8
- data/lib/puppet/util/windows/user.rb +18 -20
- data/lib/puppet/util/yaml.rb +1 -1
- data/lib/puppet/util.rb +55 -46
- data/lib/puppet/version.rb +2 -2
- data/lib/puppet/x509/pem_store.rb +1 -1
- data/lib/puppet.rb +3 -3
- data/man/man5/puppet.conf.5 +10 -2
- data/man/man8/puppet-agent.8 +1 -1
- data/man/man8/puppet-apply.8 +1 -1
- data/man/man8/puppet-catalog.8 +1 -1
- data/man/man8/puppet-config.8 +1 -1
- data/man/man8/puppet-describe.8 +1 -1
- data/man/man8/puppet-device.8 +1 -1
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +1 -1
- data/man/man8/puppet-facts.8 +1 -1
- data/man/man8/puppet-filebucket.8 +1 -1
- data/man/man8/puppet-generate.8 +1 -1
- data/man/man8/puppet-help.8 +1 -1
- data/man/man8/puppet-lookup.8 +1 -1
- data/man/man8/puppet-module.8 +1 -1
- data/man/man8/puppet-node.8 +1 -1
- data/man/man8/puppet-parser.8 +1 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +1 -1
- data/man/man8/puppet-resource.8 +5 -1
- data/man/man8/puppet-script.8 +1 -1
- data/man/man8/puppet-ssl.8 +1 -1
- data/man/man8/puppet.8 +2 -2
- metadata +2 -2
data/lib/puppet/resource.rb
CHANGED
@@ -44,7 +44,7 @@ class Puppet::Resource
|
|
44
44
|
VALUE_KEY = 'value'
|
45
45
|
|
46
46
|
def self.from_data_hash(data)
|
47
|
-
resource =
|
47
|
+
resource = allocate
|
48
48
|
resource.initialize_from_hash(data)
|
49
49
|
resource
|
50
50
|
end
|
@@ -116,7 +116,7 @@ class Puppet::Resource
|
|
116
116
|
converter = stringify ? Puppet::Pops::Serialization::ToStringifiedConverter.new : nil
|
117
117
|
|
118
118
|
params = {}
|
119
|
-
|
119
|
+
to_hash.each_pair do |param, value|
|
120
120
|
# Don't duplicate the title as the namevar
|
121
121
|
unless param == namevar && value == title
|
122
122
|
if stringify
|
@@ -162,12 +162,12 @@ class Puppet::Resource
|
|
162
162
|
end
|
163
163
|
|
164
164
|
def yaml_property_munge(x)
|
165
|
-
|
165
|
+
value.to_json_data(x)
|
166
166
|
end
|
167
167
|
|
168
168
|
# Proxy these methods to the parameters hash. It's likely they'll
|
169
169
|
# be overridden at some point, but this works for now.
|
170
|
-
%w
|
170
|
+
%w[has_key? keys length delete empty? <<].each do |method|
|
171
171
|
define_method(method) do |*args|
|
172
172
|
parameters.send(method, *args)
|
173
173
|
end
|
@@ -187,7 +187,7 @@ class Puppet::Resource
|
|
187
187
|
end
|
188
188
|
|
189
189
|
def ==(other)
|
190
|
-
return false unless other.respond_to?(:title) and
|
190
|
+
return false unless other.respond_to?(:title) and type == other.type and title == other.title
|
191
191
|
|
192
192
|
return false unless to_hash == other.to_hash
|
193
193
|
|
@@ -227,9 +227,9 @@ class Puppet::Resource
|
|
227
227
|
super || parameters.keys.include?(parameter_name(parameter))
|
228
228
|
end
|
229
229
|
|
230
|
-
%w
|
230
|
+
%w[exported virtual strict].each do |m|
|
231
231
|
define_method(m + "?") do
|
232
|
-
|
232
|
+
send(m)
|
233
233
|
end
|
234
234
|
end
|
235
235
|
|
@@ -275,7 +275,7 @@ class Puppet::Resource
|
|
275
275
|
self.kind = src.kind
|
276
276
|
self.exported = src.exported
|
277
277
|
self.virtual = src.virtual
|
278
|
-
|
278
|
+
set_tags(src)
|
279
279
|
self.environment = src.environment
|
280
280
|
@rstype = src.resource_type
|
281
281
|
@type = src.type
|
@@ -343,7 +343,7 @@ class Puppet::Resource
|
|
343
343
|
|
344
344
|
self.kind = self.class.to_kind(rt) unless kind
|
345
345
|
if strict? && rt.nil?
|
346
|
-
if
|
346
|
+
if class?
|
347
347
|
raise ArgumentError, _("Could not find declared class %{title}") % { title: title }
|
348
348
|
else
|
349
349
|
raise ArgumentError, _("Invalid resource type %{type}") % { type: type }
|
@@ -388,7 +388,7 @@ class Puppet::Resource
|
|
388
388
|
when TYPE_NODE; environment.known_resource_types.node(title)
|
389
389
|
else
|
390
390
|
result = Puppet::Type.type(type)
|
391
|
-
|
391
|
+
unless result
|
392
392
|
krt = environment.known_resource_types
|
393
393
|
result = krt.definition(type)
|
394
394
|
end
|
@@ -428,11 +428,11 @@ class Puppet::Resource
|
|
428
428
|
|
429
429
|
def uniqueness_key
|
430
430
|
# Temporary kludge to deal with inconsistent use patterns; ensure we don't return nil for namevar/:name
|
431
|
-
h =
|
431
|
+
h = to_hash
|
432
432
|
name = h[namevar] || h[:name] || self.name
|
433
433
|
h[namevar] ||= name
|
434
434
|
h[:name] ||= name
|
435
|
-
h.values_at(*key_attributes.sort_by
|
435
|
+
h.values_at(*key_attributes.sort_by(&:to_s))
|
436
436
|
end
|
437
437
|
|
438
438
|
def key_attributes
|
@@ -460,7 +460,7 @@ class Puppet::Resource
|
|
460
460
|
}.join
|
461
461
|
# rubocop:enable Lint/FormatParameterMismatch
|
462
462
|
|
463
|
-
" %s:\n%s" % [
|
463
|
+
" %s:\n%s" % [title, attributes]
|
464
464
|
end
|
465
465
|
|
466
466
|
# Convert our resource to a hiera hash suitable for serialization.
|
@@ -475,7 +475,7 @@ class Puppet::Resource
|
|
475
475
|
res['ensure'] = value if value
|
476
476
|
res.merge!(params.sort.to_h)
|
477
477
|
|
478
|
-
|
478
|
+
{ h['title'] => res }
|
479
479
|
end
|
480
480
|
|
481
481
|
# Convert our resource to Puppet code.
|
@@ -497,8 +497,8 @@ class Puppet::Resource
|
|
497
497
|
}.join
|
498
498
|
# rubocop:enable Lint/FormatParameterMismatch
|
499
499
|
|
500
|
-
escaped =
|
501
|
-
"%s { '%s':\n%s}" % [
|
500
|
+
escaped = title.gsub(/'/, "\\\\'")
|
501
|
+
"%s { '%s':\n%s}" % [type.to_s.downcase, escaped, attributes]
|
502
502
|
end
|
503
503
|
|
504
504
|
def to_ref
|
@@ -513,15 +513,15 @@ class Puppet::Resource
|
|
513
513
|
# must check its kind before deciding whether the catalog format is of an older
|
514
514
|
# version or not.
|
515
515
|
def to_ral
|
516
|
-
if
|
517
|
-
typeklass = Puppet::Type.type(
|
518
|
-
elsif
|
516
|
+
if kind == COMPILABLE_TYPE_STRING
|
517
|
+
typeklass = Puppet::Type.type(type)
|
518
|
+
elsif catalog && catalog.catalog_format >= 2
|
519
519
|
typeklass = Puppet::Type.type(:component)
|
520
520
|
else
|
521
|
-
typeklass = Puppet::Type.type(
|
521
|
+
typeklass = Puppet::Type.type(type) || Puppet::Type.type(:component)
|
522
522
|
end
|
523
523
|
|
524
|
-
raise(Puppet::Error, "Resource type '#{
|
524
|
+
raise(Puppet::Error, "Resource type '#{type}' was not found") unless typeklass
|
525
525
|
|
526
526
|
typeklass.new(self)
|
527
527
|
end
|
@@ -589,9 +589,9 @@ class Puppet::Resource
|
|
589
589
|
|
590
590
|
def self.extract_type_and_title(argtype, argtitle)
|
591
591
|
if (argtype.nil? || argtype == :component || argtype == :whit) &&
|
592
|
-
argtitle =~ /^([^\[\]]+)\[(.+)\]$/m then [
|
592
|
+
argtitle =~ /^([^\[\]]+)\[(.+)\]$/m then [::Regexp.last_match(1), ::Regexp.last_match(2)]
|
593
593
|
elsif argtitle.nil? && argtype.is_a?(String) &&
|
594
|
-
argtype =~ /^([^\[\]]+)\[(.+)\]$/m then [
|
594
|
+
argtype =~ /^([^\[\]]+)\[(.+)\]$/m then [::Regexp.last_match(1), ::Regexp.last_match(2)]
|
595
595
|
elsif argtitle then [argtype, argtitle]
|
596
596
|
elsif argtype.is_a?(Puppet::Type) then [argtype.class.name, argtype.title]
|
597
597
|
else raise ArgumentError, _("No title provided and %{type} is not a valid resource reference") % { type: argtype.inspect } # rubocop:disable Lint/ElseLayout
|
@@ -646,32 +646,32 @@ class Puppet::Resource
|
|
646
646
|
if type.respond_to?(:title_patterns) && !type.title_patterns.nil?
|
647
647
|
type.title_patterns.each do |regexp, symbols_and_lambdas|
|
648
648
|
captures = regexp.match(title.to_s)
|
649
|
-
|
650
|
-
|
651
|
-
|
652
|
-
|
653
|
-
|
654
|
-
|
655
|
-
|
656
|
-
|
657
|
-
|
658
|
-
|
659
|
-
|
660
|
-
|
661
|
-
|
662
|
-
|
663
|
-
|
664
|
-
|
649
|
+
next unless captures
|
650
|
+
|
651
|
+
symbols_and_lambdas.zip(captures[1..]).each do |symbol_and_lambda, capture|
|
652
|
+
symbol, proc = symbol_and_lambda
|
653
|
+
# Many types pass "identity" as the proc; we might as well give
|
654
|
+
# them a shortcut to delivering that without the extra cost.
|
655
|
+
#
|
656
|
+
# Especially because the global type defines title_patterns and
|
657
|
+
# uses the identity patterns.
|
658
|
+
#
|
659
|
+
# This was worth about 8MB of memory allocation saved in my
|
660
|
+
# testing, so is worth the complexity for the API.
|
661
|
+
if proc then
|
662
|
+
h[symbol] = proc.call(capture)
|
663
|
+
else
|
664
|
+
h[symbol] = capture
|
665
665
|
end
|
666
|
-
return h
|
667
666
|
end
|
667
|
+
return h
|
668
668
|
end
|
669
669
|
# If we've gotten this far, then none of the provided title patterns
|
670
670
|
# matched. Since there's no way to determine the title then the
|
671
671
|
# resource should fail here.
|
672
672
|
raise Puppet::Error, _("No set of title patterns matched the title \"%{title}\".") % { title: title }
|
673
673
|
else
|
674
|
-
|
674
|
+
{ :name => title.to_s }
|
675
675
|
end
|
676
676
|
end
|
677
677
|
end
|
@@ -26,11 +26,9 @@ class Puppet::Settings::AliasSetting
|
|
26
26
|
end
|
27
27
|
|
28
28
|
def method_missing(method, *args)
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
Puppet.log_exception(self.class, e.message)
|
33
|
-
end
|
29
|
+
alias_for.send(method, *args)
|
30
|
+
rescue => e
|
31
|
+
Puppet.log_exception(self.class, e.message)
|
34
32
|
end
|
35
33
|
|
36
34
|
private
|
@@ -89,7 +89,7 @@ class Puppet::Settings::BaseSetting
|
|
89
89
|
def initialize(args = {})
|
90
90
|
@settings = args.delete(:settings)
|
91
91
|
unless @settings
|
92
|
-
raise ArgumentError
|
92
|
+
raise ArgumentError, "You must refer to a settings object"
|
93
93
|
end
|
94
94
|
|
95
95
|
# explicitly set name prior to calling other param= methods to provide meaningful feedback during
|
@@ -97,25 +97,25 @@ class Puppet::Settings::BaseSetting
|
|
97
97
|
@name = args[:name] if args.include? :name
|
98
98
|
|
99
99
|
# set the default value for call_hook
|
100
|
-
@call_hook = :on_write_only if args[:hook] and
|
100
|
+
@call_hook = :on_write_only if args[:hook] and !(args[:call_hook])
|
101
101
|
@has_hook = false
|
102
102
|
|
103
|
-
if args[:call_hook] and
|
103
|
+
if args[:call_hook] and !(args[:hook])
|
104
104
|
# TRANSLATORS ':call_hook' and ':hook' are specific setting names and should not be translated
|
105
105
|
raise ArgumentError, _("Cannot reference :call_hook for :%{name} if no :hook is defined") % { name: @name }
|
106
106
|
end
|
107
107
|
|
108
108
|
args.each do |param, value|
|
109
109
|
method = param.to_s + "="
|
110
|
-
unless
|
110
|
+
unless respond_to? method
|
111
111
|
raise ArgumentError, _("%{class_name} (setting '%{setting}') does not accept %{parameter}") %
|
112
112
|
{ class_name: self.class, setting: args[:name], parameter: param }
|
113
113
|
end
|
114
114
|
|
115
|
-
|
115
|
+
send(method, value)
|
116
116
|
end
|
117
|
-
unless
|
118
|
-
raise ArgumentError, _("You must provide a description for the %{class_name} config option") % { class_name:
|
117
|
+
unless desc
|
118
|
+
raise ArgumentError, _("You must provide a description for the %{class_name} config option") % { class_name: name }
|
119
119
|
end
|
120
120
|
end
|
121
121
|
|
@@ -146,7 +146,7 @@ class Puppet::Settings::BaseSetting
|
|
146
146
|
end
|
147
147
|
return default_value unless check_application_defaults_first
|
148
148
|
|
149
|
-
|
149
|
+
@settings.value(name, :application_defaults, true) || default_value
|
150
150
|
end
|
151
151
|
|
152
152
|
# Convert the object to a config statement.
|
@@ -161,7 +161,7 @@ class Puppet::Settings::BaseSetting
|
|
161
161
|
# If the value has not been overridden, then print it out commented
|
162
162
|
# and unconverted, so it's clear that that's the default and how it
|
163
163
|
# works.
|
164
|
-
value = @settings.value(
|
164
|
+
value = @settings.value(name)
|
165
165
|
|
166
166
|
if value != @default
|
167
167
|
line = "#{@name} = #{value}"
|
@@ -180,7 +180,7 @@ class Puppet::Settings::BaseSetting
|
|
180
180
|
# @return [String] Retrieves the value, or if it's not set, retrieves the default.
|
181
181
|
# @api public
|
182
182
|
def value(bypass_interpolation = false)
|
183
|
-
@settings.value(
|
183
|
+
@settings.value(name, nil, bypass_interpolation)
|
184
184
|
end
|
185
185
|
|
186
186
|
# Modify the value when it is first evaluated
|
@@ -223,6 +223,6 @@ class Puppet::Settings::BaseSetting
|
|
223
223
|
end
|
224
224
|
|
225
225
|
def inspect
|
226
|
-
%Q
|
226
|
+
%Q(<#{self.class}:#{object_id} @name="#{@name}" @section="#{@section}" @default="#{@default}" @call_hook="#{@call_hook}">)
|
227
227
|
end
|
228
228
|
end
|
@@ -21,8 +21,8 @@ class Puppet::Settings::BooleanSetting < Puppet::Settings::BaseSetting
|
|
21
21
|
|
22
22
|
def munge(value)
|
23
23
|
case value
|
24
|
-
when true, "true";
|
25
|
-
when false, "false";
|
24
|
+
when true, "true"; true
|
25
|
+
when false, "false"; false
|
26
26
|
else
|
27
27
|
raise Puppet::Settings::ValidationError, _("Invalid value '%{value}' for boolean parameter: %{name}") % { value: value.inspect, name: @name }
|
28
28
|
end
|
@@ -22,7 +22,7 @@ class Puppet::Settings::ConfigFile
|
|
22
22
|
# @return A Struct with a +sections+ array representing each configuration section
|
23
23
|
def parse_file(file, text, allowed_section_names = [])
|
24
24
|
result = Conf.new
|
25
|
-
|
25
|
+
unless allowed_section_names.empty?
|
26
26
|
allowed_section_names << 'main' unless allowed_section_names.include?('main')
|
27
27
|
end
|
28
28
|
|
@@ -123,10 +123,11 @@ class Puppet::Settings::ConfigFile
|
|
123
123
|
def extract_fileinfo(string)
|
124
124
|
result = {}
|
125
125
|
value = string.sub(/\{\s*([^}]+)\s*\}/) do
|
126
|
-
params =
|
126
|
+
params = ::Regexp.last_match(1)
|
127
127
|
params.split(/\s*,\s*/).each do |str|
|
128
|
-
if str =~ /^\s*(\w+)\s*=\s*(
|
129
|
-
param
|
128
|
+
if str =~ /^\s*(\w+)\s*=\s*(\w+)\s*$/
|
129
|
+
param = ::Regexp.last_match(1).intern
|
130
|
+
value = ::Regexp.last_match(2)
|
130
131
|
result[param] = value
|
131
132
|
unless [:owner, :mode, :group].include?(param)
|
132
133
|
raise ArgumentError, _("Invalid file option '%{parameter}'") % { parameter: param }
|
@@ -24,8 +24,8 @@ class Puppet::Settings::DurationSetting < Puppet::Settings::BaseSetting
|
|
24
24
|
def munge(value)
|
25
25
|
if value.is_a?(Integer) || value.nil?
|
26
26
|
value
|
27
|
-
elsif
|
28
|
-
|
27
|
+
elsif value.is_a?(String) and value =~ FORMAT
|
28
|
+
::Regexp.last_match(1).to_i * UNITMAP[::Regexp.last_match(2) || 's']
|
29
29
|
else
|
30
30
|
raise Puppet::Settings::ValidationError, _("Invalid duration format '%{value}' for parameter: %{name}") % { value: value.inspect, name: @name }
|
31
31
|
end
|
@@ -149,7 +149,7 @@ class Puppet::Settings::EnvironmentConf
|
|
149
149
|
end
|
150
150
|
|
151
151
|
extraneous_settings = main.settings.map(&:name) - VALID_SETTINGS
|
152
|
-
|
152
|
+
unless extraneous_settings.empty?
|
153
153
|
# warn once per config file path
|
154
154
|
Puppet.warn_once(
|
155
155
|
:invalid_settings, "EnvironmentConf-settings:#{path_to_conf_file}",
|
@@ -161,7 +161,7 @@ class Puppet::Settings::EnvironmentConf
|
|
161
161
|
valid = false
|
162
162
|
end
|
163
163
|
|
164
|
-
|
164
|
+
valid
|
165
165
|
end
|
166
166
|
private_class_method :validate
|
167
167
|
|
@@ -174,7 +174,7 @@ class Puppet::Settings::EnvironmentConf
|
|
174
174
|
def expand_glob(path)
|
175
175
|
return nil if path.nil?
|
176
176
|
|
177
|
-
if path =~ /[*?\[
|
177
|
+
if path =~ /[*?\[{]/
|
178
178
|
Dir.glob(path)
|
179
179
|
else
|
180
180
|
path
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
class Puppet::Settings::FileOrDirectorySetting < Puppet::Settings::FileSetting
|
4
4
|
def type
|
5
|
-
if Puppet::FileSystem.directory?(
|
5
|
+
if Puppet::FileSystem.directory?(value) || @path_ends_with_slash
|
6
6
|
:directory
|
7
7
|
else
|
8
8
|
:file
|
@@ -12,7 +12,7 @@ class Puppet::Settings::FileOrDirectorySetting < Puppet::Settings::FileSetting
|
|
12
12
|
# Overrides munge to be able to read the un-munged value (the FileSetting.munch removes trailing slash)
|
13
13
|
#
|
14
14
|
def munge(value)
|
15
|
-
if value.is_a?(String) && value =~
|
15
|
+
if value.is_a?(String) && value =~ %r{[\\/]$}
|
16
16
|
@path_ends_with_slash = true
|
17
17
|
end
|
18
18
|
super
|
@@ -126,7 +126,7 @@ class Puppet::Settings::FileSetting < Puppet::Settings::StringSetting
|
|
126
126
|
type = self.type
|
127
127
|
return nil unless type
|
128
128
|
|
129
|
-
path =
|
129
|
+
path = value
|
130
130
|
|
131
131
|
return nil unless path.is_a?(String)
|
132
132
|
|
@@ -134,12 +134,12 @@ class Puppet::Settings::FileSetting < Puppet::Settings::StringSetting
|
|
134
134
|
path = File.expand_path(path)
|
135
135
|
|
136
136
|
return nil unless type == :directory || Puppet::FileSystem.exist?(path)
|
137
|
-
return nil if path =~
|
137
|
+
return nil if path =~ %r{^/dev} || path =~ %r{^[A-Z]:/dev}i
|
138
138
|
|
139
139
|
resource = Puppet::Resource.new(:file, path)
|
140
140
|
|
141
141
|
if Puppet[:manage_internal_file_permissions]
|
142
|
-
if
|
142
|
+
if mode
|
143
143
|
# This ends up mimicking the munge method of the mode
|
144
144
|
# parameter to make sure that we're always passing the string
|
145
145
|
# version of the octal number. If we were setting the
|
@@ -156,8 +156,8 @@ class Puppet::Settings::FileSetting < Puppet::Settings::StringSetting
|
|
156
156
|
|
157
157
|
# REMIND fails on Windows because chown/chgrp functionality not supported yet
|
158
158
|
if Puppet.features.root? and !Puppet::Util::Platform.windows?
|
159
|
-
resource[:owner] =
|
160
|
-
resource[:group] =
|
159
|
+
resource[:owner] = owner if owner
|
160
|
+
resource[:group] = group if group
|
161
161
|
end
|
162
162
|
end
|
163
163
|
|
@@ -166,7 +166,7 @@ class Puppet::Settings::FileSetting < Puppet::Settings::StringSetting
|
|
166
166
|
resource[:links] = :follow
|
167
167
|
resource[:backup] = false
|
168
168
|
|
169
|
-
resource.tag(
|
169
|
+
resource.tag(section, name, "settings")
|
170
170
|
|
171
171
|
resource
|
172
172
|
end
|
@@ -215,14 +215,14 @@ class Puppet::Settings::FileSetting < Puppet::Settings::StringSetting
|
|
215
215
|
|
216
216
|
Puppet::Util::SUIDManager.asuser(*chown) do
|
217
217
|
# Update the umask to make non-executable files
|
218
|
-
Puppet::Util.withumask(File.umask ^
|
219
|
-
yielded_value = case
|
218
|
+
Puppet::Util.withumask(File.umask ^ 0o111) do
|
219
|
+
yielded_value = case mode
|
220
220
|
when String
|
221
|
-
|
221
|
+
mode.to_i(8)
|
222
222
|
when NilClass
|
223
|
-
|
223
|
+
0o640
|
224
224
|
else
|
225
|
-
|
225
|
+
mode
|
226
226
|
end
|
227
227
|
|
228
228
|
yield yielded_value
|
@@ -16,9 +16,9 @@ class Puppet::Settings::IniFile
|
|
16
16
|
config_fh.each_line do |line|
|
17
17
|
case line.chomp
|
18
18
|
when /^(\s*)\[([[:word:]]+)\](\s*)$/
|
19
|
-
config.append(SectionLine.new(
|
19
|
+
config.append(SectionLine.new(::Regexp.last_match(1), ::Regexp.last_match(2), ::Regexp.last_match(3)))
|
20
20
|
when /^(\s*)([[:word:]]+)(\s*=\s*)(.*?)(\s*)$/
|
21
|
-
config.append(SettingLine.new(
|
21
|
+
config.append(SettingLine.new(::Regexp.last_match(1), ::Regexp.last_match(2), ::Regexp.last_match(3), ::Regexp.last_match(4), ::Regexp.last_match(5)))
|
22
22
|
else
|
23
23
|
config.append(Line.new(line))
|
24
24
|
end
|
@@ -195,7 +195,7 @@ class Puppet::Settings::IniFile
|
|
195
195
|
end
|
196
196
|
|
197
197
|
def ==(other)
|
198
|
-
super(other) &&
|
198
|
+
super(other) && line_number == other.line_number
|
199
199
|
end
|
200
200
|
end
|
201
201
|
|
@@ -4,7 +4,7 @@ class Puppet::Settings::PortSetting < Puppet::Settings::IntegerSetting
|
|
4
4
|
def munge(value)
|
5
5
|
value = super(value)
|
6
6
|
|
7
|
-
if value < 0 || value >
|
7
|
+
if value < 0 || value > 65_535
|
8
8
|
raise Puppet::Settings::ValidationError, _("Value '%{value}' is not a valid port number for parameter: %{name}") % { value: value.inspect, name: @name }
|
9
9
|
end
|
10
10
|
|
@@ -33,9 +33,9 @@ class Puppet::Settings::PrioritySetting < Puppet::Settings::BaseSetting
|
|
33
33
|
|
34
34
|
if value.is_a?(Integer)
|
35
35
|
value
|
36
|
-
elsif
|
36
|
+
elsif value.is_a?(String) and value =~ /\d+/
|
37
37
|
value.to_i
|
38
|
-
elsif
|
38
|
+
elsif value.is_a?(String) and PRIORITY_MAP[value.to_sym]
|
39
39
|
PRIORITY_MAP[value.to_sym]
|
40
40
|
else
|
41
41
|
raise Puppet::Settings::ValidationError, _("Invalid priority format '%{value}' for parameter: %{name}") % { value: value.inspect, name: @name }
|
@@ -44,8 +44,8 @@ class Puppet::Settings::TTLSetting < Puppet::Settings::BaseSetting
|
|
44
44
|
elsif value == 'unlimited'
|
45
45
|
Float::INFINITY
|
46
46
|
|
47
|
-
elsif
|
48
|
-
|
47
|
+
elsif value.is_a?(String) and value =~ FORMAT
|
48
|
+
::Regexp.last_match(1).to_i * UNITMAP[::Regexp.last_match(2) || 's']
|
49
49
|
else
|
50
50
|
raise Puppet::Settings::ValidationError, _("Invalid 'time to live' format '%{value}' for parameter: %{param_name}") % { value: value.inspect, param_name: param_name }
|
51
51
|
end
|
@@ -4,13 +4,13 @@
|
|
4
4
|
class Puppet::Settings::ValueTranslator
|
5
5
|
def [](value)
|
6
6
|
# Handle different data types correctly
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
7
|
+
case value
|
8
|
+
when /^false$/i; false
|
9
|
+
when /^true$/i; true
|
10
|
+
when true; true
|
11
|
+
when false; false
|
12
|
+
else
|
13
|
+
value.gsub(/^["']|["']$/, '').sub(/\s+$/, '')
|
14
|
+
end
|
15
15
|
end
|
16
16
|
end
|