puppet 8.5.1-universal-darwin → 8.7.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 +6 -2
- data/Gemfile.lock +55 -48
- data/Rakefile +45 -22
- data/examples/hiera/README.md +68 -57
- data/examples/hiera/data/common.yaml +12 -0
- data/examples/hiera/data/dc1.yaml +6 -0
- data/examples/hiera/hiera.yaml +15 -0
- data/examples/hiera/modules/ntp/data/common.yaml +4 -0
- data/examples/hiera/modules/ntp/hiera.yaml +9 -0
- data/examples/hiera/modules/ntp/manifests/config.pp +16 -4
- data/examples/hiera/modules/ntp/templates/ntp.conf.epp +3 -0
- data/examples/hiera/modules/users/manifests/common.pp +7 -2
- data/examples/hiera/modules/users/manifests/dc1.pp +7 -2
- data/examples/hiera/site.pp +1 -1
- data/ext/project_data.yaml +0 -45
- 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 +4 -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 +5 -5
- 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/module_data_provider.rb +9 -9
- 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/aix_object.rb +1 -1
- 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 +32 -11
- 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/xbps.rb +127 -0
- 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/scheduler/splay_job.rb +9 -0
- 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 +51 -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 +60 -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 +18 -19
- 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/com.rb +2 -2
- 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/locales/puppet.pot +604 -600
- 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 +23 -27
- data/examples/hiera/etc/hiera.yaml +0 -15
- data/examples/hiera/etc/hieradb/common.yaml +0 -3
- data/examples/hiera/etc/hieradb/dc1.yaml +0 -6
- data/examples/hiera/etc/hieradb/development.yaml +0 -2
- data/examples/hiera/etc/puppet.conf +0 -3
- data/examples/hiera/modules/data/manifests/common.pp +0 -4
- data/examples/hiera/modules/ntp/manifests/data.pp +0 -4
- data/examples/hiera/modules/ntp/templates/ntp.conf.erb +0 -3
- data/examples/hiera/modules/users/manifests/development.pp +0 -4
- data/tasks/benchmark.rake +0 -180
- data/tasks/cfpropertylist.rake +0 -15
- data/tasks/ci.rake +0 -24
- data/tasks/generate_ast_model.rake +0 -90
- data/tasks/generate_cert_fixtures.rake +0 -199
- data/tasks/manpages.rake +0 -67
- data/tasks/memwalk.rake +0 -195
- data/tasks/parallel.rake +0 -410
- data/tasks/parser.rake +0 -22
- data/tasks/yard.rake +0 -59
@@ -93,7 +93,7 @@ class Puppet::Resource::Catalog < Puppet::Graph::SimpleGraph
|
|
93
93
|
else
|
94
94
|
a = [nil, nil]
|
95
95
|
end
|
96
|
-
|
96
|
+
a
|
97
97
|
end
|
98
98
|
|
99
99
|
def add_resource_before(other, *resources)
|
@@ -184,7 +184,7 @@ class Puppet::Resource::Catalog < Puppet::Graph::SimpleGraph
|
|
184
184
|
def alias(resource, key)
|
185
185
|
ref = resource.ref
|
186
186
|
ref =~ /^(.+)\[/
|
187
|
-
class_name =
|
187
|
+
class_name = ::Regexp.last_match(1) || resource.class.name
|
188
188
|
|
189
189
|
newref = [class_name, key].flatten
|
190
190
|
|
@@ -272,7 +272,7 @@ class Puppet::Resource::Catalog < Puppet::Graph::SimpleGraph
|
|
272
272
|
def clear(remove_resources = true)
|
273
273
|
super()
|
274
274
|
# We have to do this so that the resources clean themselves up.
|
275
|
-
@resource_table.values.each
|
275
|
+
@resource_table.values.each(&:remove) if remove_resources
|
276
276
|
@resource_table.clear
|
277
277
|
@resources = []
|
278
278
|
|
@@ -304,7 +304,7 @@ class Puppet::Resource::Catalog < Puppet::Graph::SimpleGraph
|
|
304
304
|
def finalize
|
305
305
|
make_default_resources
|
306
306
|
|
307
|
-
@resource_table.values.each
|
307
|
+
@resource_table.values.each(&:finish)
|
308
308
|
|
309
309
|
write_graph(:resources)
|
310
310
|
end
|
@@ -467,10 +467,10 @@ class Puppet::Resource::Catalog < Puppet::Graph::SimpleGraph
|
|
467
467
|
end
|
468
468
|
|
469
469
|
def to_data_hash
|
470
|
-
metadata_hash = metadata.transform_values
|
470
|
+
metadata_hash = metadata.transform_values(&:to_data_hash)
|
471
471
|
recursive_metadata_hash = recursive_metadata.transform_values do |source_to_meta_hash|
|
472
472
|
source_to_meta_hash.transform_values do |metas|
|
473
|
-
metas.map
|
473
|
+
metas.map(&:to_data_hash)
|
474
474
|
end
|
475
475
|
end
|
476
476
|
|
@@ -483,7 +483,7 @@ class Puppet::Resource::Catalog < Puppet::Graph::SimpleGraph
|
|
483
483
|
'catalog_format' => catalog_format,
|
484
484
|
'environment' => environment.to_s,
|
485
485
|
'resources' => @resources.map { |v| @resource_table[v].to_data_hash },
|
486
|
-
'edges' => edges.map
|
486
|
+
'edges' => edges.map(&:to_data_hash),
|
487
487
|
'classes' => classes,
|
488
488
|
}.merge(metadata_hash.empty? ?
|
489
489
|
{} : { 'metadata' => metadata_hash }).merge(recursive_metadata_hash.empty? ?
|
@@ -539,7 +539,7 @@ class Puppet::Resource::Catalog < Puppet::Graph::SimpleGraph
|
|
539
539
|
to_print = resources.filter_map do |resource|
|
540
540
|
next unless resource.managed?
|
541
541
|
|
542
|
-
|
542
|
+
resource.ref.downcase.to_s
|
543
543
|
end
|
544
544
|
f.puts to_print.join("\n")
|
545
545
|
end
|
@@ -590,14 +590,14 @@ class Puppet::Resource::Catalog < Puppet::Graph::SimpleGraph
|
|
590
590
|
# This pretty much just converts all of the resources from one class to another, using
|
591
591
|
# a conversion method.
|
592
592
|
def to_catalog(convert)
|
593
|
-
result = self.class.new(
|
593
|
+
result = self.class.new(name, environment_instance)
|
594
594
|
|
595
|
-
result.version =
|
596
|
-
result.code_id =
|
597
|
-
result.catalog_uuid =
|
598
|
-
result.catalog_format =
|
599
|
-
result.metadata =
|
600
|
-
result.recursive_metadata =
|
595
|
+
result.version = version
|
596
|
+
result.code_id = code_id
|
597
|
+
result.catalog_uuid = catalog_uuid
|
598
|
+
result.catalog_format = catalog_format
|
599
|
+
result.metadata = metadata
|
600
|
+
result.recursive_metadata = recursive_metadata
|
601
601
|
|
602
602
|
map = {}
|
603
603
|
resources.each do |resource|
|
@@ -643,7 +643,7 @@ class Puppet::Resource::Catalog < Puppet::Graph::SimpleGraph
|
|
643
643
|
|
644
644
|
map.clear
|
645
645
|
|
646
|
-
result.add_class(*
|
646
|
+
result.add_class(*classes)
|
647
647
|
result.merge_tags_from(self)
|
648
648
|
|
649
649
|
result
|
@@ -102,7 +102,7 @@ module Puppet
|
|
102
102
|
end
|
103
103
|
|
104
104
|
def self.from_data_hash(data)
|
105
|
-
obj =
|
105
|
+
obj = allocate
|
106
106
|
obj.initialize_from_hash(data)
|
107
107
|
obj
|
108
108
|
end
|
@@ -216,13 +216,13 @@ module Puppet
|
|
216
216
|
'tags' => @tags.to_a,
|
217
217
|
'time' => @time.iso8601(9),
|
218
218
|
'failed' => @failed,
|
219
|
-
'failed_to_restart' =>
|
219
|
+
'failed_to_restart' => failed_to_restart?,
|
220
220
|
'changed' => @changed,
|
221
221
|
'out_of_sync' => @out_of_sync,
|
222
222
|
'skipped' => @skipped,
|
223
223
|
'change_count' => @change_count,
|
224
224
|
'out_of_sync_count' => @out_of_sync_count,
|
225
|
-
'events' => @events.map
|
225
|
+
'events' => @events.map(&:to_data_hash),
|
226
226
|
'corrective_change' => @corrective_change,
|
227
227
|
}
|
228
228
|
end
|
data/lib/puppet/resource/type.rb
CHANGED
@@ -47,7 +47,7 @@ class Puppet::Resource::Type
|
|
47
47
|
attr_reader :type
|
48
48
|
|
49
49
|
RESOURCE_KINDS.each do |t|
|
50
|
-
define_method("#{t}?") {
|
50
|
+
define_method("#{t}?") { type == t }
|
51
51
|
end
|
52
52
|
|
53
53
|
# Are we a child of the passed class? Do a recursive search up our
|
@@ -56,7 +56,7 @@ class Puppet::Resource::Type
|
|
56
56
|
return true if override
|
57
57
|
return false unless parent
|
58
58
|
|
59
|
-
|
59
|
+
(klass == parent_type ? true : parent_type.child_of?(klass))
|
60
60
|
end
|
61
61
|
|
62
62
|
# Now evaluate the code associated with this class or definition.
|
@@ -140,7 +140,7 @@ class Puppet::Resource::Type
|
|
140
140
|
# This might just be an empty, stub class.
|
141
141
|
return unless other.code
|
142
142
|
|
143
|
-
unless
|
143
|
+
unless code
|
144
144
|
self.code = other.code
|
145
145
|
return
|
146
146
|
end
|
@@ -189,7 +189,7 @@ class Puppet::Resource::Type
|
|
189
189
|
parent_type(scope).ensure_in_catalog(scope)
|
190
190
|
end
|
191
191
|
|
192
|
-
if [
|
192
|
+
if %w[Class Node].include? resource.type
|
193
193
|
scope.catalog.merge_tags_from(resource)
|
194
194
|
end
|
195
195
|
end
|
@@ -237,7 +237,7 @@ class Puppet::Resource::Type
|
|
237
237
|
scope[TITLE] = resource.title
|
238
238
|
scope[NAME] = resource.name
|
239
239
|
end
|
240
|
-
scope.class_set(
|
240
|
+
scope.class_set(name, scope) if hostclass? || node?
|
241
241
|
|
242
242
|
param_hash = scope.with_parameter_scope(resource.to_s, arguments.keys) do |param_scope|
|
243
243
|
# Assign directly to the parameter scope to avoid scope parameter validation at this point. It
|
@@ -376,7 +376,7 @@ class Puppet::Resource::Type
|
|
376
376
|
ary = fullname.split(DOUBLE_COLON)
|
377
377
|
n = ary.pop || ""
|
378
378
|
ns = ary.join(DOUBLE_COLON)
|
379
|
-
|
379
|
+
[ns, n]
|
380
380
|
end
|
381
381
|
|
382
382
|
def parent_scope(scope, klass)
|
@@ -401,9 +401,9 @@ class Puppet::Resource::Type
|
|
401
401
|
return unless Puppet::Type.metaparamclass(param)
|
402
402
|
|
403
403
|
if default
|
404
|
-
warnonce _("%{param} is a metaparam; this value will inherit to all contained resources in the %{name} definition") % { param: param, name:
|
404
|
+
warnonce _("%{param} is a metaparam; this value will inherit to all contained resources in the %{name} definition") % { param: param, name: name }
|
405
405
|
else
|
406
|
-
raise Puppet::ParseError, _("%{param} is a metaparameter; please choose another parameter name in the %{name} definition") % { param: param, name:
|
406
|
+
raise Puppet::ParseError, _("%{param} is a metaparameter; please choose another parameter name in the %{name} definition") % { param: param, name: name }
|
407
407
|
end
|
408
408
|
end
|
409
409
|
|
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
|
@@ -25,6 +25,15 @@ module Puppet::Scheduler
|
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
28
|
+
# Recalculates splay.
|
29
|
+
#
|
30
|
+
# @param splay_limit [Integer] the maximum time (in seconds) to delay before an agent's first run.
|
31
|
+
# @return @splay [Integer] a random integer less than or equal to the splay limit that represents the seconds to
|
32
|
+
# delay before next agent run.
|
33
|
+
def splay_limit=(splay_limit)
|
34
|
+
@splay = calculate_splay(splay_limit)
|
35
|
+
end
|
36
|
+
|
28
37
|
private
|
29
38
|
|
30
39
|
def calculate_splay(limit)
|
@@ -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
|