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
@@ -325,11 +325,11 @@ class Checker4_0 < Evaluator::LiteralEvaluator
|
|
325
325
|
found_default = false
|
326
326
|
o.options.each do |option|
|
327
327
|
option.values.each do |value|
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
328
|
+
next unless value.is_a?(Model::LiteralDefault)
|
329
|
+
|
330
|
+
# Flag the second default as 'unreachable'
|
331
|
+
acceptor.accept(Issues::DUPLICATE_DEFAULT, value, :container => o) if found_default
|
332
|
+
found_default = true
|
333
333
|
end
|
334
334
|
end
|
335
335
|
end
|
@@ -573,7 +573,7 @@ class Checker4_0 < Evaluator::LiteralEvaluator
|
|
573
573
|
body = prog.body
|
574
574
|
return if prog.body.is_a?(Model::Nop) # Ignore empty or comment-only files
|
575
575
|
|
576
|
-
if
|
576
|
+
if body.is_a?(Model::BlockExpression)
|
577
577
|
body.statements.each { |s| acceptor.accept(Issues::ILLEGAL_TOP_CONSTRUCT_LOCATION, s) unless valid_top_construct?(s) }
|
578
578
|
else
|
579
579
|
acceptor.accept(Issues::ILLEGAL_TOP_CONSTRUCT_LOCATION, body) unless valid_top_construct?(body)
|
@@ -620,7 +620,7 @@ class Checker4_0 < Evaluator::LiteralEvaluator
|
|
620
620
|
# If a file comes from a module, but isn't in the right place, always error
|
621
621
|
names = dir_to_names(relative_path)
|
622
622
|
|
623
|
-
|
623
|
+
adapter.file_to_namespace[file] = (names == BAD_MODULE_FILE ? BAD_MODULE_FILE : names.join("::").freeze)
|
624
624
|
end
|
625
625
|
|
626
626
|
def initial_manifest?(path, manifest_setting)
|
@@ -647,7 +647,7 @@ class Checker4_0 < Evaluator::LiteralEvaluator
|
|
647
647
|
parent_dir_path = Pathname.new(parent_dir)
|
648
648
|
clean_parent = parent_dir_path.cleanpath.to_s + File::SEPARATOR
|
649
649
|
|
650
|
-
|
650
|
+
child_dir.start_with?(clean_parent)
|
651
651
|
end
|
652
652
|
private :is_parent_dir_of?
|
653
653
|
|
@@ -670,7 +670,7 @@ class Checker4_0 < Evaluator::LiteralEvaluator
|
|
670
670
|
# Do not include name of module init file at top level of module
|
671
671
|
# e.g. <module name>/manifests/init.pp
|
672
672
|
filename = path_components[-1]
|
673
|
-
|
673
|
+
unless path_components.length == 3 && filename == 'init.pp'
|
674
674
|
names.push(filename[0..-4]) # Remove .pp from filename
|
675
675
|
end
|
676
676
|
|
@@ -1124,7 +1124,7 @@ class Checker4_0 < Evaluator::LiteralEvaluator
|
|
1124
1124
|
|
1125
1125
|
# Case expression is idem, if test, and all options are idem
|
1126
1126
|
def idem_CaseExpression(o)
|
1127
|
-
return false
|
1127
|
+
return false unless idem(o.test)
|
1128
1128
|
|
1129
1129
|
!o.options.any? { |opt| !idem(opt) }
|
1130
1130
|
end
|
@@ -37,7 +37,7 @@ class ValidatorFactory_4_0 < Factory
|
|
37
37
|
p[Issues::EMPTY_RESOURCE_SPECIALIZATION] = :ignore
|
38
38
|
p[Issues::CLASS_NOT_VIRTUALIZABLE] = :error
|
39
39
|
|
40
|
-
p[Issues::ILLEGAL_NONLITERAL_PARAMETER_TYPE] =
|
40
|
+
p[Issues::ILLEGAL_NONLITERAL_PARAMETER_TYPE] = :deprecation
|
41
41
|
p
|
42
42
|
end
|
43
43
|
end
|
@@ -126,13 +126,13 @@ module Validation
|
|
126
126
|
#
|
127
127
|
def []=(issue, level)
|
128
128
|
unless issue.is_a? Issues::Issue
|
129
|
-
raise Puppet::DevError
|
129
|
+
raise Puppet::DevError, _("Attempt to set validation severity for something that is not an Issue. (Got %{issue})") % { issue: issue.class }
|
130
130
|
end
|
131
131
|
unless SEVERITIES[level]
|
132
|
-
raise Puppet::DevError
|
132
|
+
raise Puppet::DevError, _("Illegal severity level: %{level} for '%{issue_code}'") % { issue_code: issue.issue_code, level: level }
|
133
133
|
end
|
134
134
|
unless issue.demotable? || level == :error
|
135
|
-
raise Puppet::DevError
|
135
|
+
raise Puppet::DevError, _("Attempt to demote the hard issue '%{issue_code}' to %{level}") % { issue_code: issue.issue_code, level: level }
|
136
136
|
end
|
137
137
|
|
138
138
|
@severities[issue] = level
|
@@ -153,7 +153,7 @@ module Validation
|
|
153
153
|
#
|
154
154
|
def assert_issue issue
|
155
155
|
unless issue.is_a? Issues::Issue
|
156
|
-
raise Puppet::DevError
|
156
|
+
raise Puppet::DevError, _("Attempt to get validation severity for something that is not an Issue. (Got %{issue})") % { issue: issue.class }
|
157
157
|
end
|
158
158
|
end
|
159
159
|
end
|
data/lib/puppet/pops/visitor.rb
CHANGED
@@ -16,8 +16,8 @@ class Visitor
|
|
16
16
|
attr_reader :receiver, :message, :min_args, :max_args, :cache
|
17
17
|
|
18
18
|
def initialize(receiver, message, min_args = 0, max_args = nil)
|
19
|
-
raise ArgumentError
|
20
|
-
raise ArgumentError
|
19
|
+
raise ArgumentError, "min_args must be >= 0" if min_args < 0
|
20
|
+
raise ArgumentError, "max_args must be >= min_args or nil" if max_args && max_args < min_args
|
21
21
|
|
22
22
|
@receiver = receiver
|
23
23
|
@message = message
|
@@ -52,19 +52,17 @@ class Puppet::Property::Ensure < Puppet::Property
|
|
52
52
|
end
|
53
53
|
|
54
54
|
def change_to_s(currentvalue, newvalue)
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
return _('%{name} changed %{is} to %{should}') % { name: name, is: is_to_s(currentvalue), should: should_to_s(newvalue) }
|
62
|
-
end
|
63
|
-
rescue Puppet::Error
|
64
|
-
raise
|
65
|
-
rescue => detail
|
66
|
-
raise Puppet::DevError, _("Could not convert change %{name} to string: %{detail}") % { name: self.name, detail: detail }, detail.backtrace
|
55
|
+
if currentvalue == :absent || currentvalue.nil?
|
56
|
+
_("created")
|
57
|
+
elsif newvalue == :absent
|
58
|
+
_("removed")
|
59
|
+
else
|
60
|
+
_('%{name} changed %{is} to %{should}') % { name: name, is: is_to_s(currentvalue), should: should_to_s(newvalue) }
|
67
61
|
end
|
62
|
+
rescue Puppet::Error
|
63
|
+
raise
|
64
|
+
rescue => detail
|
65
|
+
raise Puppet::DevError, _("Could not convert change %{name} to string: %{detail}") % { name: name, detail: detail }, detail.backtrace
|
68
66
|
end
|
69
67
|
|
70
68
|
# Retrieves the _is_ value for the ensure property.
|
@@ -90,9 +88,9 @@ class Puppet::Property::Ensure < Puppet::Property
|
|
90
88
|
raise Puppet::DevError, _("No ability to determine if %{name} exists") % { name: @resource.class.name }
|
91
89
|
end
|
92
90
|
if result
|
93
|
-
|
91
|
+
:present
|
94
92
|
else
|
95
|
-
|
93
|
+
:absent
|
96
94
|
end
|
97
95
|
end
|
98
96
|
|
@@ -110,9 +110,9 @@ module Puppet
|
|
110
110
|
# ok, some 'convention' if the keyvalue property is named properties, provider should implement a properties method
|
111
111
|
key_hash = provider.send(name) if provider
|
112
112
|
if key_hash && key_hash != :absent
|
113
|
-
|
113
|
+
key_hash
|
114
114
|
else
|
115
|
-
|
115
|
+
:absent
|
116
116
|
end
|
117
117
|
end
|
118
118
|
|
@@ -121,7 +121,7 @@ module Puppet
|
|
121
121
|
def insync?(is)
|
122
122
|
return true unless is
|
123
123
|
|
124
|
-
(is ==
|
124
|
+
(is == should)
|
125
125
|
end
|
126
126
|
|
127
127
|
# We only accept an array of key/value pairs (strings), a single
|
@@ -135,7 +135,7 @@ module Puppet
|
|
135
135
|
|
136
136
|
next if value.is_a?(Hash)
|
137
137
|
|
138
|
-
unless value.include?(
|
138
|
+
unless value.include?(separator.to_s)
|
139
139
|
raise ArgumentError, _("Key/value pairs must be separated by '%{separator}'") % { separator: separator }
|
140
140
|
end
|
141
141
|
end
|
data/lib/puppet/property/list.rb
CHANGED
@@ -35,7 +35,7 @@ module Puppet
|
|
35
35
|
|
36
36
|
members = @should
|
37
37
|
# inclusive means we are managing everything so if it isn't in should, its gone
|
38
|
-
members = add_should_with_current(members, retrieve)
|
38
|
+
members = add_should_with_current(members, retrieve) unless inclusive?
|
39
39
|
|
40
40
|
dearrayify(members)
|
41
41
|
end
|
@@ -48,9 +48,9 @@ module Puppet
|
|
48
48
|
# ok, some 'convention' if the list property is named groups, provider should implement a groups method
|
49
49
|
tmp = provider.send(name) if provider
|
50
50
|
if tmp && tmp != :absent
|
51
|
-
|
51
|
+
tmp.instance_of?(Array) ? tmp : tmp.split(delimiter)
|
52
52
|
else
|
53
|
-
|
53
|
+
:absent
|
54
54
|
end
|
55
55
|
end
|
56
56
|
|
@@ -64,7 +64,7 @@ module Puppet
|
|
64
64
|
def insync?(is)
|
65
65
|
return true unless is
|
66
66
|
|
67
|
-
(prepare_is_for_comparison(is) ==
|
67
|
+
(prepare_is_for_comparison(is) == should)
|
68
68
|
end
|
69
69
|
end
|
70
70
|
end
|
data/lib/puppet/property.rb
CHANGED
@@ -203,21 +203,19 @@ class Puppet::Property < Puppet::Parameter
|
|
203
203
|
# @raise [Puppet::DevError] if there were issues formatting the message
|
204
204
|
#
|
205
205
|
def change_to_s(current_value, newvalue)
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
return "#{name} changed #{is_to_s(current_value)} to #{should_to_s(newvalue)}"
|
213
|
-
end
|
214
|
-
rescue Puppet::Error
|
215
|
-
raise
|
216
|
-
rescue => detail
|
217
|
-
message = _("Could not convert change '%{name}' to string: %{detail}") % { name: name, detail: detail }
|
218
|
-
Puppet.log_exception(detail, message)
|
219
|
-
raise Puppet::DevError, message, detail.backtrace
|
206
|
+
if current_value == :absent
|
207
|
+
"defined '#{name}' as #{should_to_s(newvalue)}"
|
208
|
+
elsif newvalue == :absent or newvalue == [:absent]
|
209
|
+
"undefined '#{name}' from #{is_to_s(current_value)}"
|
210
|
+
else
|
211
|
+
"#{name} changed #{is_to_s(current_value)} to #{should_to_s(newvalue)}"
|
220
212
|
end
|
213
|
+
rescue Puppet::Error
|
214
|
+
raise
|
215
|
+
rescue => detail
|
216
|
+
message = _("Could not convert change '%{name}' to string: %{detail}") % { name: name, detail: detail }
|
217
|
+
Puppet.log_exception(detail, message)
|
218
|
+
raise Puppet::DevError, message, detail.backtrace
|
221
219
|
end
|
222
220
|
|
223
221
|
# Produces the name of the event to use to describe a change of this property's value.
|
@@ -227,17 +225,17 @@ class Puppet::Property < Puppet::Parameter
|
|
227
225
|
# @return [String] the name of the event that describes the change
|
228
226
|
#
|
229
227
|
def event_name
|
230
|
-
value =
|
228
|
+
value = should
|
231
229
|
|
232
230
|
event_name = self.class.value_option(value, :event) and return event_name
|
233
231
|
|
234
232
|
name == :ensure or return (name.to_s + "_changed").to_sym
|
235
233
|
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
234
|
+
(resource.type.to_s + case value
|
235
|
+
when :present; "_created"
|
236
|
+
when :absent; "_removed"
|
237
|
+
else "_changed"
|
238
|
+
end).to_sym
|
241
239
|
end
|
242
240
|
|
243
241
|
# Produces an event describing a change of this property.
|
@@ -308,7 +306,7 @@ class Puppet::Property < Puppet::Parameter
|
|
308
306
|
# @api public
|
309
307
|
#
|
310
308
|
def insync?(is)
|
311
|
-
|
309
|
+
devfail "#{self.class.name}'s should is not array" unless @should.is_a?(Array)
|
312
310
|
|
313
311
|
# an empty array is analogous to no should values
|
314
312
|
return true if @should.empty?
|
@@ -333,14 +331,14 @@ class Puppet::Property < Puppet::Parameter
|
|
333
331
|
#
|
334
332
|
# This does mean that property equality is not commutative, and will not
|
335
333
|
# work unless the `is` value is carefully arranged to match the should.
|
336
|
-
|
334
|
+
(is == @should or is == @should.map(&:to_s))
|
337
335
|
|
338
336
|
# When we stop being idiots about this, and actually have meaningful
|
339
337
|
# semantics, this version is the thing we actually want to do.
|
340
338
|
#
|
341
339
|
# return is.zip(@should).all? {|a, b| property_matches?(a, b) }
|
342
340
|
else
|
343
|
-
|
341
|
+
@should.any? { |want| property_matches?(is, want) }
|
344
342
|
end
|
345
343
|
end
|
346
344
|
|
@@ -371,7 +369,7 @@ class Puppet::Property < Puppet::Parameter
|
|
371
369
|
# avoid it
|
372
370
|
# TRANSLATORS 'insync_values?' should not be translated
|
373
371
|
msg = _("Unknown failure using insync_values? on type: %{type} / property: %{name} to compare values %{should} and %{is}") %
|
374
|
-
{ type:
|
372
|
+
{ type: resource.ref, name: name, should: should, is: is }
|
375
373
|
Puppet.info(msg)
|
376
374
|
|
377
375
|
# Return nil, ie. unknown
|
@@ -486,9 +484,9 @@ class Puppet::Property < Puppet::Parameter
|
|
486
484
|
# Set a name for looking up associated options like the event.
|
487
485
|
name = self.class.value_name(value)
|
488
486
|
method = self.class.value_option(name, :method)
|
489
|
-
if method &&
|
487
|
+
if method && respond_to?(method)
|
490
488
|
begin
|
491
|
-
|
489
|
+
send(method)
|
492
490
|
rescue Puppet::Error
|
493
491
|
raise
|
494
492
|
rescue => detail
|
@@ -503,7 +501,7 @@ class Puppet::Property < Puppet::Parameter
|
|
503
501
|
if block
|
504
502
|
# FIXME It'd be better here to define a method, so that
|
505
503
|
# the blocks could return values.
|
506
|
-
|
504
|
+
instance_eval(&block)
|
507
505
|
else
|
508
506
|
call_provider(value)
|
509
507
|
end
|
@@ -526,12 +524,12 @@ class Puppet::Property < Puppet::Parameter
|
|
526
524
|
def should
|
527
525
|
return nil unless defined?(@should)
|
528
526
|
|
529
|
-
|
527
|
+
devfail "should for #{self.class.name} on #{resource.name} is not an array" unless @should.is_a?(Array)
|
530
528
|
|
531
529
|
if match_all?
|
532
|
-
|
530
|
+
@should.collect { |val| unmunge(val) }
|
533
531
|
else
|
534
|
-
|
532
|
+
unmunge(@should[0])
|
535
533
|
end
|
536
534
|
end
|
537
535
|
|
@@ -549,7 +547,7 @@ class Puppet::Property < Puppet::Parameter
|
|
549
547
|
@shouldorig = values
|
550
548
|
|
551
549
|
values.each { |val| validate(val) }
|
552
|
-
@should = values.collect { |val|
|
550
|
+
@should = values.collect { |val| munge(val) }
|
553
551
|
end
|
554
552
|
|
555
553
|
# Produces a pretty printing string for the given value.
|
@@ -591,7 +589,7 @@ class Puppet::Property < Puppet::Parameter
|
|
591
589
|
features = self.class.value_option(self.class.value_name(value), :required_features)
|
592
590
|
if features
|
593
591
|
features = Array(features)
|
594
|
-
needed_features = features.collect
|
592
|
+
needed_features = features.collect(&:to_s).join(", ")
|
595
593
|
unless provider.satisfies?(features)
|
596
594
|
# TRANSLATORS 'Provider' refers to a Puppet provider class
|
597
595
|
raise ArgumentError, _("Provider %{provider} must have features '%{needed_features}' to set '%{property}' to '%{value}'") %
|
@@ -602,7 +600,7 @@ class Puppet::Property < Puppet::Parameter
|
|
602
600
|
|
603
601
|
# @return [Object, nil] Returns the wanted _(should)_ value of this property.
|
604
602
|
def value
|
605
|
-
|
603
|
+
should
|
606
604
|
end
|
607
605
|
|
608
606
|
# (see #should=)
|
@@ -131,7 +131,7 @@ class Puppet::Provider::AixObject < Puppet::Provider
|
|
131
131
|
|
132
132
|
# AIX will do the right validation to ensure numeric attributes
|
133
133
|
# can't be set to non-numeric values, so no need for the extra clutter.
|
134
|
-
info[:attribute_to_property] = lambda do |value|
|
134
|
+
info[:attribute_to_property] = lambda do |value| # rubocop:disable Style/SymbolProc
|
135
135
|
value.to_i
|
136
136
|
end
|
137
137
|
|
data/lib/puppet/provider/exec.rb
CHANGED
@@ -45,7 +45,7 @@ class Puppet::Provider::Exec < Puppet::Provider
|
|
45
45
|
|
46
46
|
checkexe(command)
|
47
47
|
|
48
|
-
debug "Executing#{check ?
|
48
|
+
debug "Executing#{check ? ' check' : ''} '#{sensitive ? '[redacted]' : command}'"
|
49
49
|
|
50
50
|
# Ruby 2.1 and later interrupt execution in a way that bypasses error
|
51
51
|
# handling by default. Passing Timeout::Error causes an exception to be
|
@@ -82,7 +82,7 @@ class Puppet::Provider::Exec < Puppet::Provider
|
|
82
82
|
# Return output twice as processstatus was returned before, but only exitstatus was ever called.
|
83
83
|
# Output has the exitstatus on it so it is returned instead. This is here twice as changing this
|
84
84
|
# would result in a change to the underlying API.
|
85
|
-
|
85
|
+
[output, output]
|
86
86
|
end
|
87
87
|
|
88
88
|
def extractexe(command)
|
@@ -27,15 +27,17 @@ Puppet::Type.type(:file).provide :posix do
|
|
27
27
|
end
|
28
28
|
|
29
29
|
if user.uid == ""
|
30
|
-
|
30
|
+
nil
|
31
31
|
else
|
32
|
-
|
32
|
+
user.name
|
33
33
|
end
|
34
34
|
end
|
35
35
|
|
36
36
|
# Determine if the user is valid, and if so, return the UID
|
37
37
|
def name2uid(value)
|
38
|
-
Integer(value)
|
38
|
+
Integer(value)
|
39
|
+
rescue
|
40
|
+
uid(value) || false
|
39
41
|
end
|
40
42
|
|
41
43
|
def gid2name(id)
|
@@ -49,14 +51,16 @@ Puppet::Type.type(:file).provide :posix do
|
|
49
51
|
end
|
50
52
|
|
51
53
|
if group.gid == ""
|
52
|
-
|
54
|
+
nil
|
53
55
|
else
|
54
|
-
|
56
|
+
group.name
|
55
57
|
end
|
56
58
|
end
|
57
59
|
|
58
60
|
def name2gid(value)
|
59
|
-
Integer(value)
|
61
|
+
Integer(value)
|
62
|
+
rescue
|
63
|
+
gid(value) || false
|
60
64
|
end
|
61
65
|
|
62
66
|
def owner
|
@@ -71,7 +75,7 @@ Puppet::Type.type(:file).provide :posix do
|
|
71
75
|
# large UIDs instead of negative ones. This isn't a Ruby bug,
|
72
76
|
# it's an OS X bug, since it shows up in perl, too.
|
73
77
|
if currentvalue > Puppet[:maximum_uid].to_i
|
74
|
-
|
78
|
+
warning _("Apparently using negative UID (%{currentvalue}) on a platform that does not consistently handle them") % { currentvalue: currentvalue }
|
75
79
|
currentvalue = :silly
|
76
80
|
end
|
77
81
|
|
@@ -103,7 +107,7 @@ Puppet::Type.type(:file).provide :posix do
|
|
103
107
|
# large GIDs instead of negative ones. This isn't a Ruby bug,
|
104
108
|
# it's an OS X bug, since it shows up in perl, too.
|
105
109
|
if currentvalue > Puppet[:maximum_uid].to_i
|
106
|
-
|
110
|
+
warning _("Apparently using negative GID (%{currentvalue}) on a platform that does not consistently handle them") % { currentvalue: currentvalue }
|
107
111
|
currentvalue = :silly
|
108
112
|
end
|
109
113
|
|
@@ -128,19 +132,17 @@ Puppet::Type.type(:file).provide :posix do
|
|
128
132
|
def mode
|
129
133
|
stat = resource.stat
|
130
134
|
if stat
|
131
|
-
|
135
|
+
(stat.mode & 0o07777).to_s(8).rjust(4, '0')
|
132
136
|
else
|
133
|
-
|
137
|
+
:absent
|
134
138
|
end
|
135
139
|
end
|
136
140
|
|
137
141
|
def mode=(value)
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
raise error
|
144
|
-
end
|
142
|
+
File.chmod(value.to_i(8), resource[:path])
|
143
|
+
rescue => detail
|
144
|
+
error = Puppet::Error.new(_("failed to set mode %{mode} on %{path}: %{message}") % { mode: mode, path: resource[:path], message: detail.message })
|
145
|
+
error.set_backtrace detail.backtrace
|
146
|
+
raise error
|
145
147
|
end
|
146
148
|
end
|
@@ -43,11 +43,9 @@ Puppet::Type.type(:file).provide :windows do
|
|
43
43
|
end
|
44
44
|
|
45
45
|
def owner=(should)
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
raise Puppet::Error, _("Failed to set owner to '%{should}': %{detail}") % { should: should, detail: detail }, detail.backtrace
|
50
|
-
end
|
46
|
+
set_owner(should, resolved_path)
|
47
|
+
rescue => detail
|
48
|
+
raise Puppet::Error, _("Failed to set owner to '%{should}': %{detail}") % { should: should, detail: detail }, detail.backtrace
|
51
49
|
end
|
52
50
|
|
53
51
|
def group
|
@@ -57,11 +55,9 @@ Puppet::Type.type(:file).provide :windows do
|
|
57
55
|
end
|
58
56
|
|
59
57
|
def group=(should)
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
raise Puppet::Error, _("Failed to set group to '%{should}': %{detail}") % { should: should, detail: detail }, detail.backtrace
|
64
|
-
end
|
58
|
+
set_group(should, resolved_path)
|
59
|
+
rescue => detail
|
60
|
+
raise Puppet::Error, _("Failed to set group to '%{should}': %{detail}") % { should: should, detail: detail }, detail.backtrace
|
65
61
|
end
|
66
62
|
|
67
63
|
def mode
|
@@ -74,15 +70,13 @@ Puppet::Type.type(:file).provide :windows do
|
|
74
70
|
end
|
75
71
|
|
76
72
|
def mode=(value)
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
raise error
|
85
|
-
end
|
73
|
+
managing_owner = !resource[:owner].nil?
|
74
|
+
managing_group = !resource[:group].nil?
|
75
|
+
set_mode(value.to_i(8), resource[:path], true, managing_owner, managing_group)
|
76
|
+
rescue => detail
|
77
|
+
error = Puppet::Error.new(_("failed to set mode %{mode} on %{path}: %{message}") % { mode: mode, path: resource[:path], message: detail.message })
|
78
|
+
error.set_backtrace detail.backtrace
|
79
|
+
raise error
|
86
80
|
end
|
87
81
|
|
88
82
|
def validate
|
@@ -14,10 +14,11 @@ Puppet::Type.type(:group).provide :directoryservice, :parent => Puppet::Provider
|
|
14
14
|
|
15
15
|
def members_insync?(current, should)
|
16
16
|
return false unless current
|
17
|
+
|
17
18
|
if current == :absent
|
18
|
-
|
19
|
+
should.empty?
|
19
20
|
else
|
20
|
-
|
21
|
+
current.sort.uniq == should.sort.uniq
|
21
22
|
end
|
22
23
|
end
|
23
24
|
end
|