puppet 8.5.0-universal-darwin → 8.6.0-universal-darwin
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +29 -26
- data/ext/windows/service/daemon.rb +49 -55
- data/lib/hiera/scope.rb +3 -3
- data/lib/hiera_puppet.rb +1 -1
- data/lib/puppet/agent/disabler.rb +1 -1
- data/lib/puppet/application/agent.rb +2 -2
- data/lib/puppet/application/apply.rb +2 -2
- data/lib/puppet/application/describe.rb +6 -6
- data/lib/puppet/application/device.rb +99 -100
- data/lib/puppet/application/doc.rb +1 -1
- data/lib/puppet/application/face_base.rb +7 -7
- data/lib/puppet/application/filebucket.rb +1 -1
- data/lib/puppet/application/lookup.rb +5 -5
- data/lib/puppet/application/resource.rb +10 -3
- data/lib/puppet/application/ssl.rb +3 -3
- data/lib/puppet/application.rb +16 -18
- data/lib/puppet/coercion.rb +1 -1
- data/lib/puppet/configurer/downloader.rb +9 -4
- data/lib/puppet/configurer/fact_handler.rb +12 -13
- data/lib/puppet/configurer.rb +16 -18
- data/lib/puppet/confine/feature.rb +1 -1
- data/lib/puppet/confine/variable.rb +1 -1
- data/lib/puppet/confine.rb +2 -2
- data/lib/puppet/confine_collection.rb +1 -1
- data/lib/puppet/confiner.rb +2 -2
- data/lib/puppet/daemon.rb +3 -3
- data/lib/puppet/datatypes.rb +5 -6
- data/lib/puppet/defaults.rb +14 -8
- data/lib/puppet/environments.rb +3 -7
- data/lib/puppet/error.rb +3 -3
- data/lib/puppet/external/dot.rb +42 -34
- data/lib/puppet/face/catalog/select.rb +1 -1
- data/lib/puppet/face/epp.rb +7 -9
- data/lib/puppet/face/help.rb +12 -12
- data/lib/puppet/face/module/changes.rb +1 -3
- data/lib/puppet/face/module/list.rb +37 -37
- data/lib/puppet/face/node/clean.rb +1 -1
- data/lib/puppet/face/parser.rb +6 -8
- data/lib/puppet/face/report.rb +5 -7
- data/lib/puppet/facter_impl.rb +1 -1
- data/lib/puppet/feature/base.rb +9 -11
- data/lib/puppet/feature/pe_license.rb +1 -1
- data/lib/puppet/feature/ssh.rb +1 -1
- data/lib/puppet/feature/telnet.rb +3 -5
- data/lib/puppet/feature/zlib.rb +1 -1
- data/lib/puppet/ffi/windows/constants.rb +1 -1
- data/lib/puppet/ffi/windows/functions.rb +2 -2
- data/lib/puppet/ffi/windows/structs.rb +3 -3
- data/lib/puppet/file_bucket/dipper.rb +4 -4
- data/lib/puppet/file_bucket/file.rb +4 -4
- data/lib/puppet/file_serving/base.rb +5 -5
- data/lib/puppet/file_serving/configuration/parser.rb +9 -9
- data/lib/puppet/file_serving/configuration.rb +3 -3
- data/lib/puppet/file_serving/fileset.rb +13 -13
- data/lib/puppet/file_serving/http_metadata.rb +1 -1
- data/lib/puppet/file_serving/metadata.rb +13 -9
- data/lib/puppet/file_serving/mount/file.rb +6 -6
- data/lib/puppet/file_serving/mount/locales.rb +2 -4
- data/lib/puppet/file_serving/mount/pluginfacts.rb +2 -4
- data/lib/puppet/file_serving/mount/plugins.rb +2 -4
- data/lib/puppet/file_serving/mount.rb +1 -1
- data/lib/puppet/file_system/file_impl.rb +3 -3
- data/lib/puppet/file_system/memory_impl.rb +1 -1
- data/lib/puppet/file_system/path_pattern.rb +1 -1
- data/lib/puppet/file_system/uniquefile.rb +17 -16
- data/lib/puppet/file_system/windows.rb +26 -18
- data/lib/puppet/forge/cache.rb +2 -2
- data/lib/puppet/forge/errors.rb +1 -1
- data/lib/puppet/forge/repository.rb +2 -2
- data/lib/puppet/forge.rb +13 -19
- data/lib/puppet/functions/abs.rb +2 -2
- data/lib/puppet/functions/camelcase.rb +1 -1
- data/lib/puppet/functions/compare.rb +2 -2
- data/lib/puppet/functions/contain.rb +1 -1
- data/lib/puppet/functions/defined.rb +2 -2
- data/lib/puppet/functions/dig.rb +1 -1
- data/lib/puppet/functions/eyaml_lookup_key.rb +11 -13
- data/lib/puppet/functions/get.rb +1 -1
- data/lib/puppet/functions/hocon_data.rb +3 -5
- data/lib/puppet/functions/import.rb +1 -1
- data/lib/puppet/functions/json_data.rb +4 -6
- data/lib/puppet/functions/max.rb +2 -2
- data/lib/puppet/functions/min.rb +2 -2
- data/lib/puppet/functions/new.rb +1 -1
- data/lib/puppet/functions/reduce.rb +6 -10
- data/lib/puppet/functions/regsubst.rb +2 -2
- data/lib/puppet/functions/require.rb +1 -1
- data/lib/puppet/functions/yaml_data.rb +11 -13
- data/lib/puppet/functions.rb +32 -37
- data/lib/puppet/generate/type.rb +2 -2
- data/lib/puppet/gettext/config.rb +9 -9
- data/lib/puppet/graph/rb_tree_map.rb +31 -23
- data/lib/puppet/graph/relationship_graph.rb +12 -12
- data/lib/puppet/graph/simple_graph.rb +8 -10
- data/lib/puppet/http/client.rb +1 -1
- data/lib/puppet/http/dns.rb +4 -4
- data/lib/puppet/http/external_client.rb +1 -1
- data/lib/puppet/http/factory.rb +1 -1
- data/lib/puppet/http/proxy.rb +15 -15
- data/lib/puppet/http/redirector.rb +6 -2
- data/lib/puppet/http/resolver.rb +2 -2
- data/lib/puppet/http/retry_after_handler.rb +2 -2
- data/lib/puppet/http/service/ca.rb +1 -1
- data/lib/puppet/http/service/compiler.rb +4 -4
- data/lib/puppet/http/service/file_server.rb +1 -1
- data/lib/puppet/http/service/report.rb +2 -2
- data/lib/puppet/http/service.rb +9 -13
- data/lib/puppet/http/session.rb +1 -1
- data/lib/puppet/http/site.rb +1 -1
- data/lib/puppet/indirector/catalog/compiler.rb +44 -45
- data/lib/puppet/indirector/catalog/rest.rb +7 -5
- data/lib/puppet/indirector/catalog/store_configs.rb +1 -1
- data/lib/puppet/indirector/exec.rb +2 -2
- data/lib/puppet/indirector/face.rb +7 -9
- data/lib/puppet/indirector/fact_search.rb +1 -1
- data/lib/puppet/indirector/facts/facter.rb +6 -6
- data/lib/puppet/indirector/facts/json.rb +1 -1
- data/lib/puppet/indirector/facts/store_configs.rb +1 -1
- data/lib/puppet/indirector/file_bucket_file/file.rb +17 -17
- data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -3
- data/lib/puppet/indirector/file_content/rest.rb +1 -1
- data/lib/puppet/indirector/file_metadata/rest.rb +1 -1
- data/lib/puppet/indirector/hiera.rb +1 -1
- data/lib/puppet/indirector/indirection.rb +27 -29
- data/lib/puppet/indirector/json.rb +4 -4
- data/lib/puppet/indirector/memory.rb +2 -2
- data/lib/puppet/indirector/msgpack.rb +5 -5
- data/lib/puppet/indirector/node/store_configs.rb +1 -1
- data/lib/puppet/indirector/none.rb +1 -1
- data/lib/puppet/indirector/report/json.rb +1 -1
- data/lib/puppet/indirector/report/yaml.rb +1 -1
- data/lib/puppet/indirector/request.rb +4 -4
- data/lib/puppet/indirector/resource/ral.rb +2 -4
- data/lib/puppet/indirector/resource/store_configs.rb +1 -1
- data/lib/puppet/indirector/terminus.rb +4 -4
- data/lib/puppet/indirector/yaml.rb +3 -3
- data/lib/puppet/info_service/class_information_service.rb +5 -8
- data/lib/puppet/info_service/task_information_service.rb +6 -7
- data/lib/puppet/interface/action.rb +5 -5
- data/lib/puppet/interface/action_manager.rb +5 -5
- data/lib/puppet/interface/documentation.rb +5 -5
- data/lib/puppet/interface/face_collection.rb +7 -7
- data/lib/puppet/interface/option.rb +2 -2
- data/lib/puppet/interface/option_manager.rb +6 -6
- data/lib/puppet/interface.rb +4 -4
- data/lib/puppet/metatype/manager.rb +2 -2
- data/lib/puppet/module/plan.rb +10 -10
- data/lib/puppet/module/task.rb +8 -8
- data/lib/puppet/module.rb +39 -41
- data/lib/puppet/module_tool/applications/application.rb +10 -8
- data/lib/puppet/module_tool/applications/installer.rb +53 -50
- data/lib/puppet/module_tool/applications/unpacker.rb +6 -8
- data/lib/puppet/module_tool/applications/upgrader.rb +37 -34
- data/lib/puppet/module_tool/checksums.rb +2 -2
- data/lib/puppet/module_tool/dependency.rb +1 -1
- data/lib/puppet/module_tool/errors/base.rb +1 -1
- data/lib/puppet/module_tool/install_directory.rb +1 -1
- data/lib/puppet/module_tool/local_tarball.rb +3 -5
- data/lib/puppet/module_tool/metadata.rb +12 -8
- data/lib/puppet/module_tool/shared_behaviors.rb +27 -12
- data/lib/puppet/module_tool/tar/mini.rb +3 -3
- data/lib/puppet/module_tool.rb +4 -4
- data/lib/puppet/network/client_request.rb +5 -3
- data/lib/puppet/network/format.rb +2 -2
- data/lib/puppet/network/format_support.rb +1 -1
- data/lib/puppet/network/formats.rb +1 -1
- data/lib/puppet/network/http/api/indirected_routes.rb +24 -44
- data/lib/puppet/network/http/api/server/v3.rb +1 -1
- data/lib/puppet/network/http/connection.rb +1 -1
- data/lib/puppet/network/http/handler.rb +8 -12
- data/lib/puppet/network/http/request.rb +1 -1
- data/lib/puppet/network/http/route.rb +9 -9
- data/lib/puppet/node/environment.rb +21 -23
- data/lib/puppet/node/facts.rb +1 -1
- data/lib/puppet/node.rb +5 -5
- data/lib/puppet/pal/json_catalog_encoder.rb +1 -1
- data/lib/puppet/pal/pal_impl.rb +48 -50
- data/lib/puppet/pal/plan_signature.rb +1 -1
- data/lib/puppet/pal/task_signature.rb +1 -1
- data/lib/puppet/parameter/package_options.rb +1 -1
- data/lib/puppet/parameter/value.rb +2 -2
- data/lib/puppet/parameter/value_collection.rb +7 -7
- data/lib/puppet/parameter.rb +8 -9
- data/lib/puppet/parser/ast/block_expression.rb +2 -2
- data/lib/puppet/parser/ast/hostclass.rb +1 -1
- data/lib/puppet/parser/ast/pops_bridge.rb +3 -4
- data/lib/puppet/parser/ast/resource.rb +4 -4
- data/lib/puppet/parser/ast/resourceparam.rb +4 -4
- data/lib/puppet/parser/ast.rb +14 -15
- data/lib/puppet/parser/compiler.rb +26 -28
- data/lib/puppet/parser/functions/create_resources.rb +3 -3
- data/lib/puppet/parser/functions/fail.rb +1 -1
- data/lib/puppet/parser/functions/generate.rb +2 -2
- data/lib/puppet/parser/functions/tag.rb +1 -1
- data/lib/puppet/parser/functions.rb +2 -2
- data/lib/puppet/parser/relationship.rb +3 -1
- data/lib/puppet/parser/resource/param.rb +2 -2
- data/lib/puppet/parser/resource.rb +23 -23
- data/lib/puppet/parser/scope.rb +10 -10
- data/lib/puppet/parser/script_compiler.rb +1 -1
- data/lib/puppet/parser/templatewrapper.rb +1 -1
- data/lib/puppet/parser/type_loader.rb +10 -12
- data/lib/puppet/parser.rb +1 -1
- data/lib/puppet/pops/adaptable.rb +1 -1
- data/lib/puppet/pops/evaluator/access_operator.rb +8 -8
- data/lib/puppet/pops/evaluator/callable_signature.rb +4 -4
- data/lib/puppet/pops/evaluator/collector_transformer.rb +4 -4
- data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +7 -7
- data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +6 -6
- data/lib/puppet/pops/evaluator/compare_operator.rb +10 -10
- data/lib/puppet/pops/evaluator/deferred_resolver.rb +1 -1
- data/lib/puppet/pops/evaluator/epp_evaluator.rb +2 -2
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +56 -60
- data/lib/puppet/pops/evaluator/literal_evaluator.rb +4 -0
- data/lib/puppet/pops/evaluator/relationship_operator.rb +2 -2
- data/lib/puppet/pops/evaluator/runtime3_converter.rb +3 -3
- data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
- data/lib/puppet/pops/functions/dispatcher.rb +3 -3
- data/lib/puppet/pops/functions/function.rb +14 -16
- data/lib/puppet/pops/issue_reporter.rb +2 -2
- data/lib/puppet/pops/label_provider.rb +2 -2
- data/lib/puppet/pops/loader/dependency_loader.rb +3 -3
- data/lib/puppet/pops/loader/loader.rb +4 -4
- data/lib/puppet/pops/loader/loader_paths.rb +3 -3
- data/lib/puppet/pops/loader/module_loaders.rb +11 -11
- data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +1 -1
- data/lib/puppet/pops/loader/ruby_function_instantiator.rb +1 -1
- data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +5 -1
- data/lib/puppet/pops/loader/static_loader.rb +3 -3
- data/lib/puppet/pops/loaders.rb +3 -3
- data/lib/puppet/pops/lookup/data_dig_function_provider.rb +1 -1
- data/lib/puppet/pops/lookup/explainer.rb +2 -2
- data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
- data/lib/puppet/pops/lookup/hiera_config.rb +15 -11
- data/lib/puppet/pops/lookup/interpolation.rb +3 -3
- data/lib/puppet/pops/lookup/key_recorder.rb +1 -1
- data/lib/puppet/pops/lookup/location_resolver.rb +1 -1
- data/lib/puppet/pops/lookup/lookup_adapter.rb +7 -7
- data/lib/puppet/pops/lookup/sub_lookup.rb +1 -1
- data/lib/puppet/pops/merge_strategy.rb +6 -6
- data/lib/puppet/pops/migration/migration_checker.rb +1 -1
- data/lib/puppet/pops/model/ast_transformer.rb +9 -11
- data/lib/puppet/pops/model/factory.rb +4 -5
- data/lib/puppet/pops/parser/epp_parser.rb +2 -2
- data/lib/puppet/pops/parser/epp_support.rb +1 -1
- data/lib/puppet/pops/parser/evaluating_parser.rb +2 -2
- data/lib/puppet/pops/parser/heredoc_support.rb +4 -4
- data/lib/puppet/pops/parser/interpolation_support.rb +3 -3
- data/lib/puppet/pops/parser/lexer2.rb +20 -12
- data/lib/puppet/pops/parser/lexer_support.rb +1 -1
- data/lib/puppet/pops/parser/locator.rb +4 -4
- data/lib/puppet/pops/parser/parser_support.rb +12 -14
- data/lib/puppet/pops/parser/pn_parser.rb +3 -3
- data/lib/puppet/pops/parser/slurp_support.rb +8 -8
- data/lib/puppet/pops/patterns.rb +12 -12
- data/lib/puppet/pops/pcore.rb +1 -1
- data/lib/puppet/pops/pn.rb +2 -2
- data/lib/puppet/pops/puppet_stack.rb +1 -1
- data/lib/puppet/pops/resource/resource_type_impl.rb +1 -1
- data/lib/puppet/pops/serialization/abstract_reader.rb +2 -2
- data/lib/puppet/pops/serialization/abstract_writer.rb +3 -3
- data/lib/puppet/pops/time/timestamp.rb +1 -1
- data/lib/puppet/pops/types/class_loader.rb +4 -6
- data/lib/puppet/pops/types/iterable.rb +1 -1
- data/lib/puppet/pops/types/p_binary_type.rb +1 -1
- data/lib/puppet/pops/types/p_init_type.rb +1 -1
- data/lib/puppet/pops/types/p_object_type.rb +5 -5
- data/lib/puppet/pops/types/p_object_type_extension.rb +4 -6
- data/lib/puppet/pops/types/p_sem_ver_range_type.rb +1 -1
- data/lib/puppet/pops/types/p_sensitive_type.rb +1 -1
- data/lib/puppet/pops/types/p_timespan_type.rb +2 -2
- data/lib/puppet/pops/types/p_type_set_type.rb +10 -10
- data/lib/puppet/pops/types/p_uri_type.rb +4 -4
- data/lib/puppet/pops/types/recursion_guard.rb +4 -4
- data/lib/puppet/pops/types/ruby_generator.rb +2 -2
- data/lib/puppet/pops/types/string_converter.rb +12 -8
- data/lib/puppet/pops/types/tree_iterators.rb +4 -6
- data/lib/puppet/pops/types/type_calculator.rb +10 -10
- data/lib/puppet/pops/types/type_factory.rb +7 -3
- data/lib/puppet/pops/types/type_formatter.rb +22 -24
- data/lib/puppet/pops/types/type_mismatch_describer.rb +24 -24
- data/lib/puppet/pops/types/types.rb +28 -24
- data/lib/puppet/pops/utils.rb +38 -42
- data/lib/puppet/pops/validation/checker4_0.rb +10 -10
- data/lib/puppet/pops/validation/tasks_checker.rb +1 -1
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +2 -0
- data/lib/puppet/pops/validation.rb +4 -4
- data/lib/puppet/pops/visitor.rb +2 -2
- data/lib/puppet/property/ensure.rb +12 -14
- data/lib/puppet/property/keyvalue.rb +4 -4
- data/lib/puppet/property/list.rb +4 -4
- data/lib/puppet/property/ordered_list.rb +1 -1
- data/lib/puppet/property.rb +31 -33
- data/lib/puppet/provider/exec.rb +2 -2
- data/lib/puppet/provider/file/posix.rb +19 -17
- data/lib/puppet/provider/file/windows.rb +13 -19
- data/lib/puppet/provider/group/directoryservice.rb +3 -2
- data/lib/puppet/provider/group/groupadd.rb +4 -4
- data/lib/puppet/provider/group/windows_adsi.rb +2 -2
- data/lib/puppet/provider/nameservice/directoryservice.rb +29 -29
- data/lib/puppet/provider/nameservice/objectadd.rb +2 -4
- data/lib/puppet/provider/nameservice/pw.rb +1 -2
- data/lib/puppet/provider/nameservice.rb +8 -8
- data/lib/puppet/provider/package/aix.rb +19 -19
- data/lib/puppet/provider/package/appdmg.rb +2 -2
- data/lib/puppet/provider/package/apple.rb +1 -1
- data/lib/puppet/provider/package/apt.rb +18 -18
- data/lib/puppet/provider/package/aptitude.rb +1 -3
- data/lib/puppet/provider/package/aptrpm.rb +9 -9
- data/lib/puppet/provider/package/blastwave.rb +10 -14
- data/lib/puppet/provider/package/dnfmodule.rb +3 -3
- data/lib/puppet/provider/package/dpkg.rb +11 -13
- data/lib/puppet/provider/package/fink.rb +14 -14
- data/lib/puppet/provider/package/freebsd.rb +1 -1
- data/lib/puppet/provider/package/gem.rb +12 -14
- data/lib/puppet/provider/package/macports.rb +2 -2
- data/lib/puppet/provider/package/nim.rb +10 -10
- data/lib/puppet/provider/package/openbsd.rb +22 -22
- data/lib/puppet/provider/package/opkg.rb +6 -6
- data/lib/puppet/provider/package/pacman.rb +35 -29
- data/lib/puppet/provider/package/pip.rb +25 -24
- data/lib/puppet/provider/package/pkg.rb +15 -15
- data/lib/puppet/provider/package/pkgdmg.rb +10 -10
- data/lib/puppet/provider/package/pkgin.rb +2 -2
- data/lib/puppet/provider/package/pkgng.rb +5 -5
- data/lib/puppet/provider/package/pkgutil.rb +17 -21
- data/lib/puppet/provider/package/portage.rb +59 -61
- data/lib/puppet/provider/package/ports.rb +12 -11
- data/lib/puppet/provider/package/portupgrade.rb +35 -35
- data/lib/puppet/provider/package/puppetserver_gem.rb +10 -9
- data/lib/puppet/provider/package/rpm.rb +26 -26
- data/lib/puppet/provider/package/rug.rb +7 -9
- data/lib/puppet/provider/package/sun.rb +4 -4
- data/lib/puppet/provider/package/up2date.rb +5 -7
- data/lib/puppet/provider/package/urpmi.rb +6 -6
- data/lib/puppet/provider/package/windows/exe_package.rb +7 -7
- data/lib/puppet/provider/package/windows/msi_package.rb +3 -3
- data/lib/puppet/provider/package/windows/package.rb +2 -2
- data/lib/puppet/provider/package/windows.rb +3 -5
- data/lib/puppet/provider/package/yum.rb +33 -37
- data/lib/puppet/provider/package/zypper.rb +12 -14
- data/lib/puppet/provider/package.rb +1 -1
- data/lib/puppet/provider/package_targetable.rb +1 -1
- data/lib/puppet/provider/parsedfile.rb +9 -9
- data/lib/puppet/provider/service/base.rb +16 -21
- data/lib/puppet/provider/service/bsd.rb +4 -4
- data/lib/puppet/provider/service/daemontools.rb +31 -31
- data/lib/puppet/provider/service/debian.rb +6 -6
- data/lib/puppet/provider/service/freebsd.rb +36 -36
- data/lib/puppet/provider/service/gentoo.rb +6 -6
- data/lib/puppet/provider/service/init.rb +19 -19
- data/lib/puppet/provider/service/launchd.rb +22 -22
- data/lib/puppet/provider/service/openbsd.rb +10 -10
- data/lib/puppet/provider/service/openrc.rb +1 -1
- data/lib/puppet/provider/service/openwrt.rb +3 -3
- data/lib/puppet/provider/service/rcng.rb +3 -3
- data/lib/puppet/provider/service/redhat.rb +4 -4
- data/lib/puppet/provider/service/runit.rb +6 -6
- data/lib/puppet/provider/service/service.rb +5 -7
- data/lib/puppet/provider/service/smf.rb +28 -27
- data/lib/puppet/provider/service/src.rb +7 -7
- data/lib/puppet/provider/service/systemd.rb +31 -37
- data/lib/puppet/provider/service/upstart.rb +17 -17
- data/lib/puppet/provider/service/windows.rb +7 -7
- data/lib/puppet/provider/user/aix.rb +4 -2
- data/lib/puppet/provider/user/directoryservice.rb +34 -36
- data/lib/puppet/provider/user/hpux.rb +10 -14
- data/lib/puppet/provider/user/pw.rb +1 -1
- data/lib/puppet/provider/user/user_role_add.rb +16 -18
- data/lib/puppet/provider/user/useradd.rb +7 -7
- data/lib/puppet/provider/user/windows_adsi.rb +1 -1
- data/lib/puppet/provider.rb +8 -8
- data/lib/puppet/reference/indirection.rb +3 -0
- data/lib/puppet/reference/metaparameter.rb +1 -1
- data/lib/puppet/reference/providers.rb +3 -3
- data/lib/puppet/reference/type.rb +1 -1
- data/lib/puppet/relationship.rb +4 -5
- data/lib/puppet/reports/http.rb +1 -1
- data/lib/puppet/reports/log.rb +2 -2
- data/lib/puppet/reports/store.rb +4 -4
- data/lib/puppet/reports.rb +2 -2
- data/lib/puppet/resource/catalog.rb +16 -16
- data/lib/puppet/resource/status.rb +3 -3
- data/lib/puppet/resource/type.rb +8 -8
- data/lib/puppet/resource/type_collection.rb +1 -1
- data/lib/puppet/resource.rb +41 -41
- data/lib/puppet/scheduler/scheduler.rb +1 -1
- data/lib/puppet/settings/alias_setting.rb +3 -5
- data/lib/puppet/settings/base_setting.rb +11 -11
- data/lib/puppet/settings/boolean_setting.rb +2 -2
- data/lib/puppet/settings/config_file.rb +5 -4
- data/lib/puppet/settings/duration_setting.rb +2 -2
- data/lib/puppet/settings/environment_conf.rb +3 -3
- data/lib/puppet/settings/file_or_directory_setting.rb +2 -2
- data/lib/puppet/settings/file_setting.rb +11 -11
- data/lib/puppet/settings/ini_file.rb +3 -3
- data/lib/puppet/settings/port_setting.rb +1 -1
- data/lib/puppet/settings/priority_setting.rb +2 -2
- data/lib/puppet/settings/ttl_setting.rb +2 -2
- data/lib/puppet/settings/value_translator.rb +8 -8
- data/lib/puppet/settings.rb +65 -70
- data/lib/puppet/ssl/base.rb +2 -4
- data/lib/puppet/ssl/certificate_request.rb +18 -22
- data/lib/puppet/ssl/certificate_request_attributes.rb +3 -3
- data/lib/puppet/ssl/oids.rb +2 -2
- data/lib/puppet/ssl/openssl_loader.rb +4 -4
- data/lib/puppet/syntax_checkers/base64.rb +3 -3
- data/lib/puppet/syntax_checkers/epp.rb +3 -3
- data/lib/puppet/syntax_checkers/json.rb +3 -3
- data/lib/puppet/syntax_checkers/pp.rb +3 -3
- data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
- data/lib/puppet/transaction/event.rb +2 -2
- data/lib/puppet/transaction/event_manager.rb +5 -5
- data/lib/puppet/transaction/persistence.rb +12 -14
- data/lib/puppet/transaction/report.rb +4 -4
- data/lib/puppet/transaction/resource_harness.rb +2 -2
- data/lib/puppet/transaction.rb +14 -18
- data/lib/puppet/type/component.rb +3 -3
- data/lib/puppet/type/exec.rb +43 -45
- data/lib/puppet/type/file/checksum_value.rb +1 -1
- data/lib/puppet/type/file/content.rb +6 -6
- data/lib/puppet/type/file/ctime.rb +2 -2
- data/lib/puppet/type/file/data_sync.rb +3 -3
- data/lib/puppet/type/file/ensure.rb +16 -15
- data/lib/puppet/type/file/mode.rb +9 -9
- data/lib/puppet/type/file/mtime.rb +2 -2
- data/lib/puppet/type/file/selcontext.rb +14 -14
- data/lib/puppet/type/file/source.rb +19 -21
- data/lib/puppet/type/file/target.rb +11 -11
- data/lib/puppet/type/file.rb +21 -21
- data/lib/puppet/type/filebucket.rb +3 -3
- data/lib/puppet/type/group.rb +3 -3
- data/lib/puppet/type/notify.rb +2 -2
- data/lib/puppet/type/package.rb +4 -4
- data/lib/puppet/type/resources.rb +6 -6
- data/lib/puppet/type/schedule.rb +9 -9
- data/lib/puppet/type/service.rb +6 -8
- data/lib/puppet/type/tidy.rb +22 -24
- data/lib/puppet/type/user.rb +13 -13
- data/lib/puppet/type.rb +76 -88
- data/lib/puppet/util/at_fork/solaris.rb +33 -37
- data/lib/puppet/util/autoload.rb +2 -2
- data/lib/puppet/util/backups.rb +9 -9
- data/lib/puppet/util/character_encoding.rb +7 -6
- data/lib/puppet/util/checksums.rb +2 -2
- data/lib/puppet/util/classgen.rb +8 -8
- data/lib/puppet/util/colors.rb +1 -1
- data/lib/puppet/util/command_line/puppet_option_parser.rb +1 -1
- data/lib/puppet/util/command_line/trollop.rb +42 -46
- data/lib/puppet/util/command_line.rb +2 -2
- data/lib/puppet/util/constant_inflector.rb +2 -2
- data/lib/puppet/util/diff.rb +19 -21
- data/lib/puppet/util/docs.rb +2 -2
- data/lib/puppet/util/errors.rb +9 -9
- data/lib/puppet/util/execution.rb +32 -9
- data/lib/puppet/util/feature.rb +1 -1
- data/lib/puppet/util/fileparsing.rb +12 -16
- data/lib/puppet/util/filetype.rb +36 -40
- data/lib/puppet/util/inifile.rb +6 -12
- data/lib/puppet/util/ldap/connection.rb +1 -1
- data/lib/puppet/util/ldap/manager.rb +10 -12
- data/lib/puppet/util/lockfile.rb +6 -8
- data/lib/puppet/util/log/destination.rb +2 -2
- data/lib/puppet/util/log/destinations.rb +4 -4
- data/lib/puppet/util/log.rb +12 -9
- data/lib/puppet/util/logging.rb +11 -11
- data/lib/puppet/util/metric.rb +3 -3
- data/lib/puppet/util/monkey_patches.rb +5 -7
- data/lib/puppet/util/network_device/config.rb +3 -3
- data/lib/puppet/util/package/version/debian.rb +27 -28
- data/lib/puppet/util/package/version/pip.rb +5 -5
- data/lib/puppet/util/package/version/range/eq.rb +1 -1
- data/lib/puppet/util/package/version/rpm.rb +1 -1
- data/lib/puppet/util/package.rb +2 -2
- data/lib/puppet/util/pidlock.rb +2 -2
- data/lib/puppet/util/platform.rb +1 -1
- data/lib/puppet/util/plist.rb +8 -10
- data/lib/puppet/util/posix.rb +17 -17
- data/lib/puppet/util/profiler/aggregate.rb +1 -1
- data/lib/puppet/util/provider_features.rb +3 -3
- data/lib/puppet/util/rdoc/code_objects.rb +3 -3
- data/lib/puppet/util/rdoc/generators/puppet_generator.rb +63 -64
- data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +23 -23
- data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +12 -12
- data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -1
- data/lib/puppet/util/rdoc/parser.rb +1 -1
- data/lib/puppet/util/reference.rb +13 -9
- data/lib/puppet/util/retry_action.rb +1 -1
- data/lib/puppet/util/rpm_compare.rb +17 -18
- data/lib/puppet/util/rubygems.rb +1 -1
- data/lib/puppet/util/selinux.rb +7 -7
- data/lib/puppet/util/storage.rb +10 -12
- data/lib/puppet/util/suidmanager.rb +18 -19
- data/lib/puppet/util/symbolic_file_mode.rb +71 -75
- data/lib/puppet/util/tag_set.rb +2 -2
- data/lib/puppet/util/tagging.rb +8 -10
- data/lib/puppet/util/terminal.rb +4 -4
- data/lib/puppet/util/user_attr.rb +7 -7
- data/lib/puppet/util/watcher.rb +3 -5
- data/lib/puppet/util/windows/access_control_list.rb +1 -1
- data/lib/puppet/util/windows/adsi.rb +42 -42
- data/lib/puppet/util/windows/daemon.rb +64 -68
- data/lib/puppet/util/windows/error.rb +2 -2
- data/lib/puppet/util/windows/file.rb +18 -25
- data/lib/puppet/util/windows/monkey_patches/process.rb +1 -1
- data/lib/puppet/util/windows/principal.rb +8 -8
- data/lib/puppet/util/windows/process.rb +16 -28
- data/lib/puppet/util/windows/registry.rb +16 -15
- data/lib/puppet/util/windows/root_certs.rb +2 -2
- data/lib/puppet/util/windows/security.rb +31 -31
- data/lib/puppet/util/windows/service.rb +11 -11
- data/lib/puppet/util/windows/sid.rb +8 -8
- data/lib/puppet/util/windows/user.rb +18 -20
- data/lib/puppet/util/yaml.rb +1 -1
- data/lib/puppet/util.rb +55 -46
- data/lib/puppet/version.rb +2 -2
- data/lib/puppet/x509/pem_store.rb +1 -1
- data/lib/puppet.rb +3 -3
- data/man/man5/puppet.conf.5 +10 -2
- data/man/man8/puppet-agent.8 +1 -1
- data/man/man8/puppet-apply.8 +1 -1
- data/man/man8/puppet-catalog.8 +1 -1
- data/man/man8/puppet-config.8 +1 -1
- data/man/man8/puppet-describe.8 +1 -1
- data/man/man8/puppet-device.8 +1 -1
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +1 -1
- data/man/man8/puppet-facts.8 +1 -1
- data/man/man8/puppet-filebucket.8 +1 -1
- data/man/man8/puppet-generate.8 +1 -1
- data/man/man8/puppet-help.8 +1 -1
- data/man/man8/puppet-lookup.8 +1 -1
- data/man/man8/puppet-module.8 +1 -1
- data/man/man8/puppet-node.8 +1 -1
- data/man/man8/puppet-parser.8 +1 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +1 -1
- data/man/man8/puppet-resource.8 +5 -1
- data/man/man8/puppet-script.8 +1 -1
- data/man/man8/puppet-ssl.8 +1 -1
- data/man/man8/puppet.8 +2 -2
- metadata +2 -2
data/lib/puppet/type/tidy.rb
CHANGED
@@ -100,7 +100,7 @@ Puppet::Type.newtype(:tidy) do
|
|
100
100
|
|
101
101
|
# Make sure we convert to an array.
|
102
102
|
munge do |value|
|
103
|
-
fail _("Tidy can't use matches with recurse 0, false, or undef") if
|
103
|
+
fail _("Tidy can't use matches with recurse 0, false, or undef") if (@resource[:recurse]).to_s =~ /^(0|false|)$/
|
104
104
|
|
105
105
|
[value].flatten
|
106
106
|
end
|
@@ -110,7 +110,7 @@ Puppet::Type.newtype(:tidy) do
|
|
110
110
|
def tidy?(path, stat)
|
111
111
|
basename = File.basename(path)
|
112
112
|
flags = File::FNM_DOTMATCH | File::FNM_PATHNAME
|
113
|
-
|
113
|
+
(value.find { |pattern| File.fnmatch(pattern, basename, flags) } ? true : false)
|
114
114
|
end
|
115
115
|
end
|
116
116
|
|
@@ -139,7 +139,7 @@ Puppet::Type.newtype(:tidy) do
|
|
139
139
|
def convert(unit, multi)
|
140
140
|
num = AgeConvertors[unit]
|
141
141
|
if num
|
142
|
-
|
142
|
+
num * multi
|
143
143
|
else
|
144
144
|
self.fail _("Invalid age unit '%{unit}'") % { unit: unit }
|
145
145
|
end
|
@@ -154,10 +154,10 @@ Puppet::Type.newtype(:tidy) do
|
|
154
154
|
unit = multi = nil
|
155
155
|
case age
|
156
156
|
when /^([0-9]+)(\w)\w*$/
|
157
|
-
multi = Integer(
|
158
|
-
unit =
|
157
|
+
multi = Integer(Regexp.last_match(1))
|
158
|
+
unit = Regexp.last_match(2).downcase.intern
|
159
159
|
when /^([0-9]+)$/
|
160
|
-
multi = Integer(
|
160
|
+
multi = Integer(Regexp.last_match(1))
|
161
161
|
unit = :d
|
162
162
|
else
|
163
163
|
# TRANSLATORS tidy is the name of a program and should not be translated
|
@@ -181,7 +181,7 @@ Puppet::Type.newtype(:tidy) do
|
|
181
181
|
if num
|
182
182
|
result = multi
|
183
183
|
num.times do result *= 1024 end
|
184
|
-
|
184
|
+
result
|
185
185
|
else
|
186
186
|
self.fail _("Invalid size unit '%{unit}'") % { unit: unit }
|
187
187
|
end
|
@@ -194,10 +194,10 @@ Puppet::Type.newtype(:tidy) do
|
|
194
194
|
munge do |size|
|
195
195
|
case size
|
196
196
|
when /^([0-9]+)(\w)\w*$/
|
197
|
-
multi = Integer(
|
198
|
-
unit =
|
197
|
+
multi = Integer(Regexp.last_match(1))
|
198
|
+
unit = Regexp.last_match(2).downcase.intern
|
199
199
|
when /^([0-9]+)$/
|
200
|
-
multi = Integer(
|
200
|
+
multi = Integer(Regexp.last_match(1))
|
201
201
|
unit = :k
|
202
202
|
else
|
203
203
|
# TRANSLATORS tidy is the name of a program and should not be translated
|
@@ -260,9 +260,9 @@ Puppet::Type.newtype(:tidy) do
|
|
260
260
|
# Our ensure property knows how to retrieve everything for us.
|
261
261
|
obj = @parameters[:ensure]
|
262
262
|
if obj
|
263
|
-
|
263
|
+
obj.retrieve
|
264
264
|
else
|
265
|
-
|
265
|
+
{}
|
266
266
|
end
|
267
267
|
end
|
268
268
|
|
@@ -329,10 +329,10 @@ Puppet::Type.newtype(:tidy) do
|
|
329
329
|
basename = File.basename(path)
|
330
330
|
flags = File::FNM_DOTMATCH | File::FNM_PATHNAME
|
331
331
|
if self[:matches].find { |pattern| File.fnmatch(pattern, basename, flags) }
|
332
|
-
|
332
|
+
true
|
333
333
|
else
|
334
334
|
debug "No specified patterns match #{path}, not tidying"
|
335
|
-
|
335
|
+
false
|
336
336
|
end
|
337
337
|
end
|
338
338
|
|
@@ -368,15 +368,13 @@ Puppet::Type.newtype(:tidy) do
|
|
368
368
|
end
|
369
369
|
|
370
370
|
def stat(path)
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
return nil
|
380
|
-
end
|
371
|
+
Puppet::FileSystem.lstat(path)
|
372
|
+
rescue Errno::ENOENT
|
373
|
+
debug _("File does not exist")
|
374
|
+
nil
|
375
|
+
rescue Errno::EACCES
|
376
|
+
# TRANSLATORS "stat" is a program name and should not be translated
|
377
|
+
warning _("Could not stat; permission denied")
|
378
|
+
nil
|
381
379
|
end
|
382
380
|
end
|
data/lib/puppet/type/user.rb
CHANGED
@@ -93,12 +93,12 @@ module Puppet
|
|
93
93
|
def retrieve
|
94
94
|
if provider.exists?
|
95
95
|
if provider.respond_to?(:is_role?) and provider.is_role?
|
96
|
-
|
96
|
+
:role
|
97
97
|
else
|
98
|
-
|
98
|
+
:present
|
99
99
|
end
|
100
100
|
else
|
101
|
-
|
101
|
+
:absent
|
102
102
|
end
|
103
103
|
end
|
104
104
|
|
@@ -173,11 +173,11 @@ module Puppet
|
|
173
173
|
found = false
|
174
174
|
@should.each do |value|
|
175
175
|
number = Puppet::Util.gid(value)
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
176
|
+
next unless number
|
177
|
+
|
178
|
+
provider.gid = number
|
179
|
+
found = true
|
180
|
+
break
|
181
181
|
end
|
182
182
|
|
183
183
|
fail _("Could not find group(s) %{groups}") % { groups: @should.join(",") } unless found
|
@@ -440,7 +440,7 @@ module Puppet
|
|
440
440
|
|
441
441
|
validate do |val|
|
442
442
|
if munge(val)
|
443
|
-
raise ArgumentError, _("User provider %{name} can not manage home directories") % { name: provider.class.name } if provider and
|
443
|
+
raise ArgumentError, _("User provider %{name} can not manage home directories") % { name: provider.class.name } if provider and !provider.class.manages_homedir?
|
444
444
|
end
|
445
445
|
end
|
446
446
|
end
|
@@ -700,7 +700,7 @@ module Puppet
|
|
700
700
|
end
|
701
701
|
|
702
702
|
def generate
|
703
|
-
|
703
|
+
unless self[:purge_ssh_keys].empty?
|
704
704
|
if Puppet::Type.type(:ssh_authorized_key).nil?
|
705
705
|
warning _("Ssh_authorized_key type is not available. Cannot purge SSH keys.")
|
706
706
|
else
|
@@ -840,16 +840,16 @@ module Puppet
|
|
840
840
|
next unless line =~ Puppet::Type.type(:ssh_authorized_key).keyline_regex
|
841
841
|
|
842
842
|
# the name is stored in the 4th capture of the regex
|
843
|
-
name =
|
843
|
+
name = ::Regexp.last_match(4)
|
844
844
|
if name.empty?
|
845
|
-
|
845
|
+
::Regexp.last_match(3).delete("\n")
|
846
846
|
# If no comment is specified for this key, generate a unique internal
|
847
847
|
# name. This uses the same rules as
|
848
848
|
# provider/ssh_authorized_key/parsed (PUP-3357)
|
849
849
|
name = "#{keyfile}:unnamed-#{name_index += 1}"
|
850
850
|
end
|
851
851
|
names << name
|
852
|
-
Puppet.debug "#{
|
852
|
+
Puppet.debug "#{ref} parsed for purging Ssh_authorized_key[#{name}]"
|
853
853
|
end
|
854
854
|
|
855
855
|
names.map { |keyname|
|
data/lib/puppet/type.rb
CHANGED
@@ -103,7 +103,7 @@ class Type
|
|
103
103
|
return nil unless other.is_a?(Puppet::CompilableResourceType) || other.class.is_a?(Puppet::CompilableResourceType)
|
104
104
|
|
105
105
|
# against other type instances.
|
106
|
-
|
106
|
+
ref <=> other.ref
|
107
107
|
end
|
108
108
|
|
109
109
|
# Code related to resource type attributes.
|
@@ -123,7 +123,7 @@ class Type
|
|
123
123
|
# @return [Array<String>] all type attribute names in a defined order.
|
124
124
|
#
|
125
125
|
def self.allattrs
|
126
|
-
key_attributes | (parameters & [:provider]) | properties.collect
|
126
|
+
key_attributes | (parameters & [:provider]) | properties.collect(&:name) | parameters | metaparams
|
127
127
|
end
|
128
128
|
|
129
129
|
# Returns the class associated with the given attribute name.
|
@@ -136,7 +136,7 @@ class Type
|
|
136
136
|
# We cache the value, since this method gets called such a huge number
|
137
137
|
# of times (as in, hundreds of thousands in a given run).
|
138
138
|
unless @attrclasses.include?(name)
|
139
|
-
@attrclasses[name] = case
|
139
|
+
@attrclasses[name] = case attrtype(name)
|
140
140
|
when :property; @validproperties[name]
|
141
141
|
when :meta; @@metaparamhash[name]
|
142
142
|
when :param; @paramhash[name]
|
@@ -193,10 +193,10 @@ class Type
|
|
193
193
|
#
|
194
194
|
def self.ensurable(&block)
|
195
195
|
if block_given?
|
196
|
-
|
196
|
+
newproperty(:ensure, :parent => Puppet::Property::Ensure, &block)
|
197
197
|
else
|
198
|
-
|
199
|
-
|
198
|
+
newproperty(:ensure, :parent => Puppet::Property::Ensure) do
|
199
|
+
defaultvalues
|
200
200
|
end
|
201
201
|
end
|
202
202
|
end
|
@@ -211,7 +211,7 @@ class Type
|
|
211
211
|
# If the class has all three of these methods defined, then it's
|
212
212
|
# ensurable.
|
213
213
|
[:exists?, :create, :destroy].all? { |method|
|
214
|
-
|
214
|
+
public_method_defined?(method)
|
215
215
|
}
|
216
216
|
end
|
217
217
|
|
@@ -275,7 +275,7 @@ class Type
|
|
275
275
|
define_method(name.to_s + "?") do
|
276
276
|
val = self[name]
|
277
277
|
if val == :true or val == true
|
278
|
-
|
278
|
+
true
|
279
279
|
end
|
280
280
|
end
|
281
281
|
end
|
@@ -304,7 +304,7 @@ class Type
|
|
304
304
|
# @return [Array<String>] all meta-parameter names
|
305
305
|
#
|
306
306
|
def self.metaparams
|
307
|
-
@@metaparams.collect
|
307
|
+
@@metaparams.collect(&:name)
|
308
308
|
end
|
309
309
|
|
310
310
|
# Returns the documentation for a given meta-parameter of this type.
|
@@ -389,7 +389,7 @@ class Type
|
|
389
389
|
def self.key_attributes
|
390
390
|
# This is a cache miss around 0.05 percent of the time. --daniel 2012-07-17
|
391
391
|
# rubocop:disable Naming/MemoizedInstanceVariableName
|
392
|
-
@key_attributes_cache ||= key_attribute_parameters.collect
|
392
|
+
@key_attributes_cache ||= key_attribute_parameters.collect(&:name)
|
393
393
|
# rubocop:enable Naming/MemoizedInstanceVariableName
|
394
394
|
end
|
395
395
|
|
@@ -443,7 +443,7 @@ class Type
|
|
443
443
|
# @return [Object] an object that is a _uniqueness_key_ for this object
|
444
444
|
#
|
445
445
|
def uniqueness_key
|
446
|
-
self.class.key_attributes.sort_by
|
446
|
+
self.class.key_attributes.sort_by(&:to_s).map { |attribute_name| self[attribute_name] }
|
447
447
|
end
|
448
448
|
|
449
449
|
# Creates a new parameter.
|
@@ -553,7 +553,7 @@ class Type
|
|
553
553
|
def self.parameters
|
554
554
|
return [] unless defined?(@parameters)
|
555
555
|
|
556
|
-
@parameters.collect
|
556
|
+
@parameters.collect(&:name)
|
557
557
|
end
|
558
558
|
|
559
559
|
# @return [Puppet::Parameter] Returns the parameter class associated with the given parameter name.
|
@@ -576,7 +576,7 @@ class Type
|
|
576
576
|
@validattrs ||= {}
|
577
577
|
|
578
578
|
unless @validattrs.include?(name)
|
579
|
-
@validattrs[name] = !!(
|
579
|
+
@validattrs[name] = !!(validproperty?(name) or validparameter?(name) or metaparam?(name))
|
580
580
|
end
|
581
581
|
|
582
582
|
@validattrs[name]
|
@@ -622,7 +622,7 @@ class Type
|
|
622
622
|
# @return [Boolean] true if a new parameter was added, false otherwise
|
623
623
|
def add_property_parameter(prop_name)
|
624
624
|
if self.class.validproperty?(prop_name) && !@parameters[prop_name]
|
625
|
-
|
625
|
+
newattr(prop_name)
|
626
626
|
return true
|
627
627
|
end
|
628
628
|
false
|
@@ -662,7 +662,7 @@ class Type
|
|
662
662
|
# not the current value.
|
663
663
|
obj.value
|
664
664
|
else
|
665
|
-
|
665
|
+
nil
|
666
666
|
end
|
667
667
|
end
|
668
668
|
|
@@ -680,9 +680,9 @@ class Type
|
|
680
680
|
nv = name_var
|
681
681
|
name = nv if nv
|
682
682
|
end
|
683
|
-
raise Puppet::Error
|
683
|
+
raise Puppet::Error, "Got nil value for #{name}" if value.nil?
|
684
684
|
|
685
|
-
property =
|
685
|
+
property = newattr(name)
|
686
686
|
|
687
687
|
if property
|
688
688
|
begin
|
@@ -710,7 +710,7 @@ class Type
|
|
710
710
|
if @parameters.has_key?(attr)
|
711
711
|
@parameters.delete(attr)
|
712
712
|
else
|
713
|
-
raise Puppet::DevError
|
713
|
+
raise Puppet::DevError, _("Undefined attribute '%{attribute}' in %{name}") % { attribute: attr, name: self }
|
714
714
|
end
|
715
715
|
end
|
716
716
|
|
@@ -933,9 +933,9 @@ class Type
|
|
933
933
|
# @return [Boolean] true, if this type's name is isomorphic with the object
|
934
934
|
def self.isomorphic?
|
935
935
|
if defined?(@isomorphic)
|
936
|
-
|
936
|
+
@isomorphic
|
937
937
|
else
|
938
|
-
|
938
|
+
true
|
939
939
|
end
|
940
940
|
end
|
941
941
|
|
@@ -965,7 +965,7 @@ class Type
|
|
965
965
|
end
|
966
966
|
}
|
967
967
|
end
|
968
|
-
|
968
|
+
@managed
|
969
969
|
end
|
970
970
|
|
971
971
|
###############################
|
@@ -995,7 +995,7 @@ class Type
|
|
995
995
|
@parent = nil
|
996
996
|
|
997
997
|
# Remove the reference to the provider.
|
998
|
-
if
|
998
|
+
if provider
|
999
999
|
@provider.clear
|
1000
1000
|
@provider = nil
|
1001
1001
|
end
|
@@ -1035,7 +1035,7 @@ class Type
|
|
1035
1035
|
#
|
1036
1036
|
# @return [???, nil] WHAT DOES IT RETURN? GUESS IS VOID
|
1037
1037
|
def flush
|
1038
|
-
|
1038
|
+
provider.flush if provider and provider.respond_to?(:flush)
|
1039
1039
|
end
|
1040
1040
|
|
1041
1041
|
# Says if the ensure property should be retrieved if the resource is ensurable
|
@@ -1051,7 +1051,7 @@ class Type
|
|
1051
1051
|
# @return [Puppet::Resource] array of all property values (mix of types)
|
1052
1052
|
# @raise [fail???] if there is a provider and it is not suitable for the host this is evaluated for.
|
1053
1053
|
def retrieve
|
1054
|
-
fail "Provider #{provider.class.name} is not functional on this host" if
|
1054
|
+
fail "Provider #{provider.class.name} is not functional on this host" if provider.is_a?(Puppet::Provider) and !provider.class.suitable?
|
1055
1055
|
|
1056
1056
|
result = Puppet::Resource.new(self.class, title)
|
1057
1057
|
|
@@ -1115,7 +1115,7 @@ class Type
|
|
1115
1115
|
# is the first property, which is important for skipping 'retrieve' on
|
1116
1116
|
# all the properties if the resource is absent.
|
1117
1117
|
ensure_state = false
|
1118
|
-
|
1118
|
+
properties.each_with_object({}) do |property, prophash|
|
1119
1119
|
if property.name == :ensure
|
1120
1120
|
ensure_state = property.retrieve
|
1121
1121
|
prophash[property] = ensure_state
|
@@ -1151,7 +1151,7 @@ class Type
|
|
1151
1151
|
# Either requires providers or must be overridden.
|
1152
1152
|
# @raise [Puppet::DevError] when there are no providers and the implementation has not overridden this method.
|
1153
1153
|
def self.instances
|
1154
|
-
raise Puppet::DevError, _("%{name} has no providers and has not overridden 'instances'") % { name:
|
1154
|
+
raise Puppet::DevError, _("%{name} has no providers and has not overridden 'instances'") % { name: name } if provider_hash.empty?
|
1155
1155
|
|
1156
1156
|
# Put the default provider first, then the rest of the suitable providers.
|
1157
1157
|
provider_instances = {}
|
@@ -1163,7 +1163,7 @@ class Type
|
|
1163
1163
|
other = provider_instances[title]
|
1164
1164
|
if other
|
1165
1165
|
Puppet.debug {
|
1166
|
-
"%s %s found in both %s and %s; skipping the %s version" % [
|
1166
|
+
"%s %s found in both %s and %s; skipping the %s version" % [name.to_s.capitalize, title, other.class.name, instance.class.name, instance.class.name]
|
1167
1167
|
}
|
1168
1168
|
next
|
1169
1169
|
end
|
@@ -1229,9 +1229,9 @@ class Type
|
|
1229
1229
|
def pathbuilder
|
1230
1230
|
p = parent
|
1231
1231
|
if p
|
1232
|
-
[p.pathbuilder,
|
1232
|
+
[p.pathbuilder, ref].flatten
|
1233
1233
|
else
|
1234
|
-
[
|
1234
|
+
[ref]
|
1235
1235
|
end
|
1236
1236
|
end
|
1237
1237
|
|
@@ -1309,7 +1309,7 @@ class Type
|
|
1309
1309
|
and the second run will log the edit made by Puppet.)"
|
1310
1310
|
|
1311
1311
|
validate do |list|
|
1312
|
-
list = Array(list).collect
|
1312
|
+
list = Array(list).collect(&:to_sym)
|
1313
1313
|
unless list == [:all]
|
1314
1314
|
list.each do |param|
|
1315
1315
|
next if @resource.class.validattr?(param)
|
@@ -1330,16 +1330,14 @@ class Type
|
|
1330
1330
|
def all_properties
|
1331
1331
|
resource.class.properties.find_all do |property|
|
1332
1332
|
resource.provider.nil? or resource.provider.class.supports_parameter?(property)
|
1333
|
-
end.collect
|
1334
|
-
property.name
|
1335
|
-
end
|
1333
|
+
end.collect(&:name)
|
1336
1334
|
end
|
1337
1335
|
|
1338
1336
|
def properties_to_audit(list)
|
1339
1337
|
if !list.is_a?(Array) && list.to_sym == :all
|
1340
1338
|
all_properties
|
1341
1339
|
else
|
1342
|
-
Array(list).collect
|
1340
|
+
Array(list).collect(&:to_sym)
|
1343
1341
|
end
|
1344
1342
|
end
|
1345
1343
|
end
|
@@ -1375,7 +1373,7 @@ class Type
|
|
1375
1373
|
end
|
1376
1374
|
|
1377
1375
|
newmetaparam(:alias) do
|
1378
|
-
desc
|
1376
|
+
desc "Creates an alias for the resource. Puppet uses this internally when you
|
1379
1377
|
provide a symbolic title and an explicit namevar value:
|
1380
1378
|
|
1381
1379
|
file { 'sshdconfig':
|
@@ -1411,7 +1409,7 @@ class Type
|
|
1411
1409
|
There's no way here for the Puppet parser to know that these two stanzas
|
1412
1410
|
should be affecting the same file.
|
1413
1411
|
|
1414
|
-
|
1412
|
+
"
|
1415
1413
|
|
1416
1414
|
munge do |aliases|
|
1417
1415
|
aliases = [aliases] unless aliases.is_a?(Array)
|
@@ -1494,11 +1492,11 @@ class Type
|
|
1494
1492
|
# @return [void]
|
1495
1493
|
def validate_relationship
|
1496
1494
|
@value.each do |ref|
|
1497
|
-
|
1498
|
-
|
1499
|
-
|
1500
|
-
|
1501
|
-
|
1495
|
+
next if @resource.catalog.resource(ref.to_s)
|
1496
|
+
|
1497
|
+
description = self.class.direction == :in ? "dependency" : "dependent"
|
1498
|
+
fail ResourceError, _("Could not find %{description} %{ref} for %{resource}") %
|
1499
|
+
{ description: description, ref: ref, resource: resource.ref }
|
1502
1500
|
end
|
1503
1501
|
end
|
1504
1502
|
|
@@ -1550,7 +1548,7 @@ class Type
|
|
1550
1548
|
|
1551
1549
|
## Corrected syntax of debug statement to reflect the way this was called.
|
1552
1550
|
# i.e. before, after, subscribe, notify
|
1553
|
-
|
1551
|
+
debug do
|
1554
1552
|
relation = case self.class.name
|
1555
1553
|
when "subscribe"
|
1556
1554
|
"subscribes"
|
@@ -1711,16 +1709,16 @@ class Type
|
|
1711
1709
|
suitable = suitableprovider
|
1712
1710
|
|
1713
1711
|
# Find which providers are a default for this system.
|
1714
|
-
defaults = suitable.find_all
|
1712
|
+
defaults = suitable.find_all(&:default?)
|
1715
1713
|
|
1716
1714
|
# If we don't have any default we use suitable providers
|
1717
1715
|
defaults = suitable if defaults.empty?
|
1718
|
-
max = defaults.collect
|
1716
|
+
max = defaults.collect(&:specificity).max
|
1719
1717
|
defaults = defaults.find_all { |provider| provider.specificity == max }
|
1720
1718
|
|
1721
1719
|
if defaults.length > 1
|
1722
1720
|
Puppet.warning(_("Found multiple default providers for %{name}: %{provider_list}; using %{selected_provider}") %
|
1723
|
-
{ name:
|
1721
|
+
{ name: name, provider_list: defaults.collect { |i| i.name.to_s }.join(", "), selected_provider: defaults[0].name })
|
1724
1722
|
end
|
1725
1723
|
|
1726
1724
|
@defaultprovider = defaults.shift unless defaults.empty?
|
@@ -1736,7 +1734,7 @@ class Type
|
|
1736
1734
|
# @return [Hash{ ??? => Puppet::Provider}] Returns a hash of WHAT EXACTLY for this type.
|
1737
1735
|
# @see provider_hash_by_type method to get the same for some other type
|
1738
1736
|
def self.provider_hash
|
1739
|
-
Puppet::Type.provider_hash_by_type(
|
1737
|
+
Puppet::Type.provider_hash_by_type(name)
|
1740
1738
|
end
|
1741
1739
|
|
1742
1740
|
# Returns the provider having the given name.
|
@@ -1772,7 +1770,7 @@ class Type
|
|
1772
1770
|
def self.validprovider?(name)
|
1773
1771
|
name = name.intern
|
1774
1772
|
|
1775
|
-
|
1773
|
+
provider_hash.has_key?(name) && provider_hash[name].suitable?
|
1776
1774
|
end
|
1777
1775
|
|
1778
1776
|
# Creates a new provider of a type.
|
@@ -1803,11 +1801,7 @@ class Type
|
|
1803
1801
|
pname
|
1804
1802
|
else
|
1805
1803
|
provider = self.provider(pname)
|
1806
|
-
|
1807
|
-
provider
|
1808
|
-
else
|
1809
|
-
raise Puppet::DevError, _("Could not find parent provider %{parent} of %{name}") % { parent: pname, name: name }
|
1810
|
-
end
|
1804
|
+
provider || raise(Puppet::DevError, _("Could not find parent provider %{parent} of %{name}") % { parent: pname, name: name })
|
1811
1805
|
end
|
1812
1806
|
else
|
1813
1807
|
Puppet::Provider
|
@@ -1815,9 +1809,9 @@ class Type
|
|
1815
1809
|
|
1816
1810
|
options[:resource_type] ||= self
|
1817
1811
|
|
1818
|
-
|
1812
|
+
providify
|
1819
1813
|
|
1820
|
-
|
1814
|
+
genclass(
|
1821
1815
|
name,
|
1822
1816
|
:parent => parent,
|
1823
1817
|
:hash => provider_hash,
|
@@ -1827,8 +1821,6 @@ class Type
|
|
1827
1821
|
:extend => feature_module,
|
1828
1822
|
:attributes => options
|
1829
1823
|
)
|
1830
|
-
|
1831
|
-
provider
|
1832
1824
|
end
|
1833
1825
|
|
1834
1826
|
# Ensures there is a `:provider` parameter defined.
|
@@ -1843,7 +1835,7 @@ class Type
|
|
1843
1835
|
# We expect that the class in which this code is executed will be something
|
1844
1836
|
# like Puppet::Type::Ssh_authorized_key::ParameterProvider.
|
1845
1837
|
desc <<-EOT
|
1846
|
-
The specific backend to use for this `#{
|
1838
|
+
The specific backend to use for this `#{to_s.split('::')[2].downcase}`
|
1847
1839
|
resource. You will seldom need to specify this --- Puppet will usually
|
1848
1840
|
discover the appropriate provider for your platform.
|
1849
1841
|
EOT
|
@@ -1912,7 +1904,7 @@ class Type
|
|
1912
1904
|
|
1913
1905
|
# Returns a list of suitable providers for the given type.
|
1914
1906
|
# A call to this method will load all providers if not already loaded and ask each if it is
|
1915
|
-
# suitable - those that are
|
1907
|
+
# suitable - those that are included in the result.
|
1916
1908
|
# @note This method also does some special processing which rejects a provider named `:fake` (for testing purposes).
|
1917
1909
|
# @return [Array<Puppet::Provider>] Returns an array of all suitable providers.
|
1918
1910
|
#
|
@@ -2094,7 +2086,7 @@ class Type
|
|
2094
2086
|
next unless Puppet::Type.type(type)
|
2095
2087
|
|
2096
2088
|
# Retrieve the list of names from the block.
|
2097
|
-
list =
|
2089
|
+
list = instance_eval(&block)
|
2098
2090
|
next unless list
|
2099
2091
|
|
2100
2092
|
list = [list] unless list.is_a?(Array)
|
@@ -2337,7 +2329,7 @@ class Type
|
|
2337
2329
|
[:file, :line, :catalog, :exported, :virtual].each do |getter|
|
2338
2330
|
setter = getter.to_s + "="
|
2339
2331
|
val = resource.send(getter)
|
2340
|
-
|
2332
|
+
send(setter, val) if val
|
2341
2333
|
end
|
2342
2334
|
|
2343
2335
|
merge_tags_from(resource)
|
@@ -2363,13 +2355,11 @@ class Type
|
|
2363
2355
|
#
|
2364
2356
|
# @return [void]
|
2365
2357
|
def validate_resource
|
2366
|
-
|
2367
|
-
|
2368
|
-
|
2369
|
-
|
2370
|
-
|
2371
|
-
raise error
|
2372
|
-
end
|
2358
|
+
validate if respond_to?(:validate)
|
2359
|
+
rescue Puppet::Error, ArgumentError => detail
|
2360
|
+
error = Puppet::ResourceError.new("Validation of #{ref} failed: #{detail}")
|
2361
|
+
adderrorcontext(error, detail)
|
2362
|
+
raise error
|
2373
2363
|
end
|
2374
2364
|
|
2375
2365
|
protected
|
@@ -2454,22 +2444,20 @@ class Type
|
|
2454
2444
|
# on invalid attributes.
|
2455
2445
|
no_values = []
|
2456
2446
|
(self.class.allattrs + hash.keys).uniq.each do |attr|
|
2457
|
-
|
2458
|
-
|
2459
|
-
|
2460
|
-
|
2461
|
-
|
2462
|
-
|
2463
|
-
|
2464
|
-
no_values << attr
|
2465
|
-
end
|
2466
|
-
rescue ArgumentError, Puppet::Error, TypeError
|
2467
|
-
raise
|
2468
|
-
rescue => detail
|
2469
|
-
error = Puppet::DevError.new(_("Could not set %{attribute} on %{class_name}: %{detail}") % { attribute: attr, class_name: self.class.name, detail: detail })
|
2470
|
-
error.set_backtrace(detail.backtrace)
|
2471
|
-
raise error
|
2447
|
+
# Set any defaults immediately. This is mostly done so
|
2448
|
+
# that the default provider is available for any other
|
2449
|
+
# property validation.
|
2450
|
+
if hash.has_key?(attr)
|
2451
|
+
self[attr] = hash[attr]
|
2452
|
+
else
|
2453
|
+
no_values << attr
|
2472
2454
|
end
|
2455
|
+
rescue ArgumentError, Puppet::Error, TypeError
|
2456
|
+
raise
|
2457
|
+
rescue => detail
|
2458
|
+
error = Puppet::DevError.new(_("Could not set %{attribute} on %{class_name}: %{detail}") % { attribute: attr, class_name: self.class.name, detail: detail })
|
2459
|
+
error.set_backtrace(detail.backtrace)
|
2460
|
+
raise error
|
2473
2461
|
end
|
2474
2462
|
no_values.each do |attr|
|
2475
2463
|
set_default(attr)
|
@@ -2536,7 +2524,7 @@ class Type
|
|
2536
2524
|
def ref
|
2537
2525
|
# memoizing this is worthwhile ~ 3 percent of calls are the "first time
|
2538
2526
|
# around" in an average run of Puppet. --daniel 2012-07-17
|
2539
|
-
@ref ||= "#{self.class.name.to_s.capitalize}[#{
|
2527
|
+
@ref ||= "#{self.class.name.to_s.capitalize}[#{title}]"
|
2540
2528
|
end
|
2541
2529
|
|
2542
2530
|
# (see self_refresh)
|
@@ -2582,9 +2570,9 @@ class Type
|
|
2582
2570
|
if self.class.validparameter?(name_var)
|
2583
2571
|
@title = self[:name]
|
2584
2572
|
elsif self.class.validproperty?(name_var)
|
2585
|
-
@title =
|
2573
|
+
@title = should(name_var)
|
2586
2574
|
else
|
2587
|
-
|
2575
|
+
devfail "Could not find namevar #{name_var} for #{self.class.name}"
|
2588
2576
|
end
|
2589
2577
|
end
|
2590
2578
|
|
@@ -2595,19 +2583,19 @@ class Type
|
|
2595
2583
|
# @see #ref
|
2596
2584
|
#
|
2597
2585
|
def to_s
|
2598
|
-
|
2586
|
+
ref
|
2599
2587
|
end
|
2600
2588
|
|
2601
2589
|
# Convert this resource type instance to a Puppet::Resource.
|
2602
2590
|
# @return [Puppet::Resource] Returns a serializable representation of this resource
|
2603
2591
|
#
|
2604
2592
|
def to_resource
|
2605
|
-
resource =
|
2593
|
+
resource = retrieve_resource
|
2606
2594
|
resource.merge_tags_from(self)
|
2607
2595
|
|
2608
2596
|
@parameters.each do |name, param|
|
2609
2597
|
# Avoid adding each instance name twice
|
2610
|
-
next if param.class.isnamevar? and param.value ==
|
2598
|
+
next if param.class.isnamevar? and param.value == title
|
2611
2599
|
|
2612
2600
|
# We've already got property values
|
2613
2601
|
next if param.is_a?(Puppet::Property)
|