puppet 8.5.0-x86-mingw32 → 8.6.0-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- 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)
|