puppet 8.2.0-x64-mingw32 → 8.4.0-x64-mingw32
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 +1 -1
- data/Gemfile.lock +45 -43
- data/README.md +4 -4
- data/Rakefile +0 -27
- data/examples/enc/regexp_nodes/regexp_nodes.rb +1 -1
- data/ext/project_data.yaml +2 -2
- data/ext/windows/service/daemon.rb +4 -5
- data/lib/hiera/puppet_function.rb +3 -2
- data/lib/hiera/scope.rb +2 -2
- data/lib/hiera_puppet.rb +1 -3
- data/lib/puppet/agent/disabler.rb +2 -1
- data/lib/puppet/agent/locker.rb +1 -2
- data/lib/puppet/agent.rb +2 -1
- data/lib/puppet/application/agent.rb +292 -291
- data/lib/puppet/application/apply.rb +143 -139
- data/lib/puppet/application/catalog.rb +1 -0
- data/lib/puppet/application/config.rb +1 -0
- data/lib/puppet/application/describe.rb +53 -55
- data/lib/puppet/application/device.rb +150 -150
- data/lib/puppet/application/doc.rb +61 -60
- data/lib/puppet/application/epp.rb +1 -0
- data/lib/puppet/application/face_base.rb +8 -7
- data/lib/puppet/application/facts.rb +1 -0
- data/lib/puppet/application/filebucket.rb +186 -184
- data/lib/puppet/application/generate.rb +1 -0
- data/lib/puppet/application/help.rb +1 -0
- data/lib/puppet/application/indirection_base.rb +1 -0
- data/lib/puppet/application/lookup.rb +168 -171
- data/lib/puppet/application/module.rb +1 -0
- data/lib/puppet/application/node.rb +1 -0
- data/lib/puppet/application/parser.rb +1 -0
- data/lib/puppet/application/plugin.rb +1 -0
- data/lib/puppet/application/report.rb +1 -0
- data/lib/puppet/application/resource.rb +111 -108
- data/lib/puppet/application/script.rb +92 -93
- data/lib/puppet/application/ssl.rb +119 -83
- data/lib/puppet/application.rb +13 -8
- data/lib/puppet/application_support.rb +1 -1
- data/lib/puppet/coercion.rb +3 -2
- data/lib/puppet/compilable_resource_type.rb +1 -0
- data/lib/puppet/concurrent/lock.rb +1 -2
- data/lib/puppet/concurrent/synchronized.rb +1 -2
- data/lib/puppet/concurrent/thread_local_singleton.rb +1 -0
- data/lib/puppet/concurrent.rb +1 -0
- data/lib/puppet/configurer/downloader.rb +1 -1
- data/lib/puppet/configurer/fact_handler.rb +2 -1
- data/lib/puppet/configurer/plugin_handler.rb +1 -0
- data/lib/puppet/configurer.rb +17 -13
- data/lib/puppet/confine/any.rb +1 -0
- data/lib/puppet/confine/boolean.rb +1 -0
- data/lib/puppet/confine/exists.rb +1 -0
- data/lib/puppet/confine/false.rb +1 -0
- data/lib/puppet/confine/feature.rb +1 -0
- data/lib/puppet/confine/true.rb +1 -0
- data/lib/puppet/confine/variable.rb +1 -0
- data/lib/puppet/confine.rb +2 -0
- data/lib/puppet/confine_collection.rb +3 -1
- data/lib/puppet/confiner.rb +1 -0
- data/lib/puppet/context/trusted_information.rb +1 -0
- data/lib/puppet/context.rb +1 -0
- data/lib/puppet/daemon.rb +4 -1
- data/lib/puppet/data_binding.rb +2 -1
- data/lib/puppet/datatypes/error.rb +2 -1
- data/lib/puppet/datatypes/impl/error.rb +1 -0
- data/lib/puppet/datatypes.rb +5 -1
- data/lib/puppet/defaults.rb +24 -23
- data/lib/puppet/environments.rb +3 -2
- data/lib/puppet/error.rb +9 -7
- data/lib/puppet/etc.rb +6 -3
- data/lib/puppet/external/dot.rb +12 -31
- data/lib/puppet/face/catalog/select.rb +2 -1
- data/lib/puppet/face/catalog.rb +3 -2
- data/lib/puppet/face/config.rb +19 -21
- data/lib/puppet/face/epp.rb +8 -8
- data/lib/puppet/face/facts.rb +4 -3
- data/lib/puppet/face/generate.rb +2 -0
- data/lib/puppet/face/help.rb +8 -7
- data/lib/puppet/face/module/changes.rb +2 -0
- data/lib/puppet/face/module/install.rb +2 -1
- data/lib/puppet/face/module/list.rb +9 -10
- data/lib/puppet/face/module/uninstall.rb +1 -0
- data/lib/puppet/face/module.rb +1 -0
- data/lib/puppet/face/node/clean.rb +2 -1
- data/lib/puppet/face/node.rb +2 -1
- data/lib/puppet/face/parser.rb +3 -3
- data/lib/puppet/face/plugin.rb +2 -1
- data/lib/puppet/face/report.rb +2 -1
- data/lib/puppet/face/resource.rb +1 -0
- data/lib/puppet/face.rb +1 -0
- data/lib/puppet/feature/base.rb +2 -1
- data/lib/puppet/feature/bolt.rb +1 -0
- data/lib/puppet/feature/cfpropertylist.rb +1 -0
- data/lib/puppet/feature/eventlog.rb +1 -0
- data/lib/puppet/feature/hiera_eyaml.rb +1 -0
- data/lib/puppet/feature/hocon.rb +1 -0
- data/lib/puppet/feature/libuser.rb +4 -3
- data/lib/puppet/feature/msgpack.rb +1 -0
- data/lib/puppet/feature/pe_license.rb +2 -1
- data/lib/puppet/feature/pson.rb +1 -0
- data/lib/puppet/feature/selinux.rb +1 -0
- data/lib/puppet/feature/ssh.rb +1 -0
- data/lib/puppet/feature/telnet.rb +1 -0
- data/lib/puppet/feature/zlib.rb +1 -0
- data/lib/puppet/ffi/posix/constants.rb +1 -0
- data/lib/puppet/ffi/posix/functions.rb +1 -1
- data/lib/puppet/ffi/posix.rb +1 -0
- data/lib/puppet/ffi/windows/api_types.rb +1 -0
- data/lib/puppet/ffi/windows/constants.rb +78 -77
- data/lib/puppet/ffi/windows/functions.rb +73 -73
- data/lib/puppet/ffi/windows/structs.rb +3 -3
- data/lib/puppet/ffi/windows.rb +1 -0
- data/lib/puppet/file_bucket/dipper.rb +7 -1
- data/lib/puppet/file_bucket/file.rb +1 -0
- data/lib/puppet/file_bucket.rb +1 -0
- data/lib/puppet/file_serving/base.rb +13 -6
- data/lib/puppet/file_serving/configuration/parser.rb +3 -1
- data/lib/puppet/file_serving/configuration.rb +5 -3
- data/lib/puppet/file_serving/content.rb +1 -0
- data/lib/puppet/file_serving/fileset.rb +9 -6
- data/lib/puppet/file_serving/http_metadata.rb +1 -3
- data/lib/puppet/file_serving/metadata.rb +9 -10
- data/lib/puppet/file_serving/mount/file.rb +6 -3
- data/lib/puppet/file_serving/mount/locales.rb +2 -1
- data/lib/puppet/file_serving/mount/modules.rb +2 -0
- data/lib/puppet/file_serving/mount/pluginfacts.rb +2 -1
- data/lib/puppet/file_serving/mount/plugins.rb +2 -1
- data/lib/puppet/file_serving/mount/scripts.rb +2 -0
- data/lib/puppet/file_serving/mount/tasks.rb +2 -0
- data/lib/puppet/file_serving/mount.rb +2 -0
- data/lib/puppet/file_serving/terminus_helper.rb +1 -0
- data/lib/puppet/file_serving/terminus_selector.rb +1 -0
- data/lib/puppet/file_serving.rb +1 -0
- data/lib/puppet/file_system/file_impl.rb +2 -2
- data/lib/puppet/file_system/jruby.rb +1 -0
- data/lib/puppet/file_system/memory_file.rb +2 -0
- data/lib/puppet/file_system/memory_impl.rb +3 -0
- data/lib/puppet/file_system/path_pattern.rb +1 -0
- data/lib/puppet/file_system/posix.rb +5 -1
- data/lib/puppet/file_system/uniquefile.rb +11 -11
- data/lib/puppet/file_system/windows.rb +4 -2
- data/lib/puppet/file_system.rb +3 -2
- data/lib/puppet/forge/cache.rb +1 -1
- data/lib/puppet/forge/errors.rb +1 -3
- data/lib/puppet/forge/repository.rb +2 -0
- data/lib/puppet/forge.rb +3 -0
- data/lib/puppet/functions/abs.rb +2 -1
- data/lib/puppet/functions/alert.rb +1 -0
- data/lib/puppet/functions/all.rb +1 -0
- data/lib/puppet/functions/annotate.rb +1 -0
- data/lib/puppet/functions/any.rb +1 -0
- data/lib/puppet/functions/assert_type.rb +1 -0
- data/lib/puppet/functions/binary_file.rb +3 -1
- data/lib/puppet/functions/break.rb +2 -1
- data/lib/puppet/functions/call.rb +1 -1
- data/lib/puppet/functions/camelcase.rb +1 -1
- data/lib/puppet/functions/capitalize.rb +1 -1
- data/lib/puppet/functions/ceiling.rb +2 -2
- data/lib/puppet/functions/chomp.rb +1 -1
- data/lib/puppet/functions/chop.rb +1 -1
- data/lib/puppet/functions/compare.rb +1 -0
- data/lib/puppet/functions/contain.rb +1 -0
- data/lib/puppet/functions/convert_to.rb +1 -0
- data/lib/puppet/functions/crit.rb +1 -0
- data/lib/puppet/functions/debug.rb +1 -0
- data/lib/puppet/functions/defined.rb +7 -4
- data/lib/puppet/functions/dig.rb +10 -8
- data/lib/puppet/functions/downcase.rb +1 -0
- data/lib/puppet/functions/each.rb +1 -0
- data/lib/puppet/functions/emerg.rb +1 -0
- data/lib/puppet/functions/empty.rb +1 -0
- data/lib/puppet/functions/epp.rb +1 -1
- data/lib/puppet/functions/err.rb +1 -0
- data/lib/puppet/functions/eyaml_lookup_key.rb +6 -4
- data/lib/puppet/functions/filter.rb +1 -0
- data/lib/puppet/functions/find_file.rb +1 -0
- data/lib/puppet/functions/find_template.rb +1 -0
- data/lib/puppet/functions/flatten.rb +1 -0
- data/lib/puppet/functions/floor.rb +2 -2
- data/lib/puppet/functions/get.rb +2 -1
- data/lib/puppet/functions/getvar.rb +2 -1
- data/lib/puppet/functions/hiera.rb +1 -0
- data/lib/puppet/functions/hiera_array.rb +1 -0
- data/lib/puppet/functions/hiera_hash.rb +1 -0
- data/lib/puppet/functions/hiera_include.rb +2 -0
- data/lib/puppet/functions/hocon_data.rb +1 -0
- data/lib/puppet/functions/import.rb +1 -0
- data/lib/puppet/functions/include.rb +1 -0
- data/lib/puppet/functions/index.rb +2 -2
- data/lib/puppet/functions/info.rb +1 -0
- data/lib/puppet/functions/inline_epp.rb +1 -1
- data/lib/puppet/functions/join.rb +2 -1
- data/lib/puppet/functions/json_data.rb +1 -0
- data/lib/puppet/functions/keys.rb +1 -0
- data/lib/puppet/functions/length.rb +1 -1
- data/lib/puppet/functions/lest.rb +1 -0
- data/lib/puppet/functions/lookup.rb +8 -9
- data/lib/puppet/functions/lstrip.rb +1 -1
- data/lib/puppet/functions/map.rb +1 -0
- data/lib/puppet/functions/match.rb +3 -1
- data/lib/puppet/functions/max.rb +4 -4
- data/lib/puppet/functions/min.rb +4 -4
- data/lib/puppet/functions/module_directory.rb +1 -0
- data/lib/puppet/functions/new.rb +2 -1
- data/lib/puppet/functions/next.rb +1 -0
- data/lib/puppet/functions/notice.rb +1 -0
- data/lib/puppet/functions/reduce.rb +1 -1
- data/lib/puppet/functions/regsubst.rb +1 -0
- data/lib/puppet/functions/require.rb +2 -0
- data/lib/puppet/functions/return.rb +1 -0
- data/lib/puppet/functions/reverse_each.rb +1 -0
- data/lib/puppet/functions/round.rb +1 -0
- data/lib/puppet/functions/rstrip.rb +1 -1
- data/lib/puppet/functions/scanf.rb +1 -0
- data/lib/puppet/functions/size.rb +1 -2
- data/lib/puppet/functions/slice.rb +2 -0
- data/lib/puppet/functions/sort.rb +1 -0
- data/lib/puppet/functions/split.rb +29 -1
- data/lib/puppet/functions/step.rb +1 -0
- data/lib/puppet/functions/strftime.rb +3 -2
- data/lib/puppet/functions/strip.rb +1 -1
- data/lib/puppet/functions/then.rb +2 -0
- data/lib/puppet/functions/tree_each.rb +1 -1
- data/lib/puppet/functions/type.rb +1 -0
- data/lib/puppet/functions/unique.rb +2 -1
- data/lib/puppet/functions/unwrap.rb +1 -0
- data/lib/puppet/functions/upcase.rb +1 -0
- data/lib/puppet/functions/values.rb +1 -0
- data/lib/puppet/functions/versioncmp.rb +2 -2
- data/lib/puppet/functions/warning.rb +1 -0
- data/lib/puppet/functions/with.rb +1 -0
- data/lib/puppet/functions/yaml_data.rb +1 -0
- data/lib/puppet/functions.rb +9 -9
- data/lib/puppet/generate/models/type/property.rb +2 -0
- data/lib/puppet/generate/models/type/type.rb +2 -0
- data/lib/puppet/generate/type.rb +6 -1
- data/lib/puppet/gettext/config.rb +6 -0
- data/lib/puppet/gettext/module_translations.rb +1 -1
- data/lib/puppet/gettext/stubs.rb +1 -0
- data/lib/puppet/graph/key.rb +1 -0
- data/lib/puppet/graph/prioritizer.rb +1 -0
- data/lib/puppet/graph/rb_tree_map.rb +12 -2
- data/lib/puppet/graph/relationship_graph.rb +3 -2
- data/lib/puppet/graph/sequential_prioritizer.rb +1 -0
- data/lib/puppet/graph/simple_graph.rb +38 -31
- data/lib/puppet/graph.rb +1 -0
- data/lib/puppet/http/client.rb +4 -1
- data/lib/puppet/http/dns.rb +5 -5
- data/lib/puppet/http/errors.rb +1 -0
- data/lib/puppet/http/external_client.rb +2 -2
- data/lib/puppet/http/factory.rb +1 -0
- data/lib/puppet/http/pool.rb +2 -1
- data/lib/puppet/http/pool_entry.rb +1 -0
- data/lib/puppet/http/proxy.rb +3 -2
- data/lib/puppet/http/redirector.rb +1 -0
- data/lib/puppet/http/resolver/server_list.rb +1 -1
- data/lib/puppet/http/resolver/settings.rb +1 -1
- data/lib/puppet/http/resolver/srv.rb +1 -1
- data/lib/puppet/http/resolver.rb +1 -0
- data/lib/puppet/http/response.rb +1 -0
- data/lib/puppet/http/response_converter.rb +1 -0
- data/lib/puppet/http/response_net_http.rb +1 -1
- data/lib/puppet/http/retry_after_handler.rb +1 -1
- data/lib/puppet/http/service/ca.rb +1 -0
- data/lib/puppet/http/service/compiler.rb +9 -3
- data/lib/puppet/http/service/file_server.rb +2 -1
- data/lib/puppet/http/service/puppetserver.rb +1 -1
- data/lib/puppet/http/service/report.rb +1 -1
- data/lib/puppet/http/service.rb +1 -0
- data/lib/puppet/http/session.rb +2 -1
- data/lib/puppet/http/site.rb +1 -0
- data/lib/puppet/http.rb +1 -0
- data/lib/puppet/indirector/catalog/compiler.rb +50 -40
- data/lib/puppet/indirector/catalog/json.rb +1 -0
- data/lib/puppet/indirector/catalog/msgpack.rb +1 -0
- data/lib/puppet/indirector/catalog/rest.rb +9 -0
- data/lib/puppet/indirector/catalog/store_configs.rb +1 -2
- data/lib/puppet/indirector/catalog/yaml.rb +1 -0
- data/lib/puppet/indirector/code.rb +1 -0
- data/lib/puppet/indirector/data_binding/hiera.rb +1 -0
- data/lib/puppet/indirector/data_binding/none.rb +1 -0
- data/lib/puppet/indirector/direct_file_server.rb +3 -1
- data/lib/puppet/indirector/envelope.rb +1 -0
- data/lib/puppet/indirector/errors.rb +1 -0
- data/lib/puppet/indirector/exec.rb +1 -0
- data/lib/puppet/indirector/face.rb +7 -6
- data/lib/puppet/indirector/fact_search.rb +1 -0
- data/lib/puppet/indirector/facts/facter.rb +3 -1
- data/lib/puppet/indirector/facts/json.rb +1 -0
- data/lib/puppet/indirector/facts/memory.rb +1 -0
- data/lib/puppet/indirector/facts/network_device.rb +1 -0
- data/lib/puppet/indirector/facts/rest.rb +1 -0
- data/lib/puppet/indirector/facts/store_configs.rb +1 -1
- data/lib/puppet/indirector/facts/yaml.rb +1 -0
- data/lib/puppet/indirector/file_bucket_file/file.rb +11 -6
- data/lib/puppet/indirector/file_bucket_file/rest.rb +2 -0
- data/lib/puppet/indirector/file_bucket_file/selector.rb +1 -0
- data/lib/puppet/indirector/file_content/file.rb +1 -0
- data/lib/puppet/indirector/file_content/file_server.rb +1 -0
- data/lib/puppet/indirector/file_content/rest.rb +1 -0
- data/lib/puppet/indirector/file_content/selector.rb +1 -0
- data/lib/puppet/indirector/file_content.rb +1 -0
- data/lib/puppet/indirector/file_metadata/file.rb +1 -0
- data/lib/puppet/indirector/file_metadata/file_server.rb +1 -0
- data/lib/puppet/indirector/file_metadata/http.rb +1 -0
- data/lib/puppet/indirector/file_metadata/rest.rb +1 -0
- data/lib/puppet/indirector/file_metadata/selector.rb +1 -0
- data/lib/puppet/indirector/file_metadata.rb +1 -0
- data/lib/puppet/indirector/file_server.rb +2 -0
- data/lib/puppet/indirector/generic_http.rb +1 -0
- data/lib/puppet/indirector/hiera.rb +5 -4
- data/lib/puppet/indirector/indirection.rb +12 -2
- data/lib/puppet/indirector/json.rb +3 -1
- data/lib/puppet/indirector/memory.rb +2 -0
- data/lib/puppet/indirector/msgpack.rb +5 -2
- data/lib/puppet/indirector/node/exec.rb +3 -2
- data/lib/puppet/indirector/node/json.rb +1 -1
- data/lib/puppet/indirector/node/memory.rb +1 -0
- data/lib/puppet/indirector/node/msgpack.rb +1 -0
- data/lib/puppet/indirector/node/plain.rb +1 -0
- data/lib/puppet/indirector/node/rest.rb +1 -0
- data/lib/puppet/indirector/node/store_configs.rb +1 -2
- data/lib/puppet/indirector/node/yaml.rb +1 -0
- data/lib/puppet/indirector/none.rb +1 -0
- data/lib/puppet/indirector/plain.rb +1 -0
- data/lib/puppet/indirector/report/json.rb +1 -0
- data/lib/puppet/indirector/report/msgpack.rb +1 -0
- data/lib/puppet/indirector/report/processor.rb +2 -0
- data/lib/puppet/indirector/report/rest.rb +1 -0
- data/lib/puppet/indirector/report/yaml.rb +1 -0
- data/lib/puppet/indirector/request.rb +7 -5
- data/lib/puppet/indirector/resource/ral.rb +1 -0
- data/lib/puppet/indirector/resource/store_configs.rb +1 -0
- data/lib/puppet/indirector/resource/validator.rb +1 -0
- data/lib/puppet/indirector/rest.rb +1 -0
- data/lib/puppet/indirector/store_configs.rb +1 -0
- data/lib/puppet/indirector/terminus.rb +4 -1
- data/lib/puppet/indirector/yaml.rb +1 -0
- data/lib/puppet/indirector.rb +2 -0
- data/lib/puppet/info_service/class_information_service.rb +5 -3
- data/lib/puppet/info_service/plan_information_service.rb +1 -0
- data/lib/puppet/info_service/task_information_service.rb +2 -1
- data/lib/puppet/interface/action.rb +32 -27
- data/lib/puppet/interface/action_builder.rb +14 -14
- data/lib/puppet/interface/action_manager.rb +2 -0
- data/lib/puppet/interface/documentation.rb +21 -15
- data/lib/puppet/interface/face_collection.rb +5 -2
- data/lib/puppet/interface/option.rb +15 -4
- data/lib/puppet/interface/option_builder.rb +13 -9
- data/lib/puppet/interface/option_manager.rb +3 -2
- data/lib/puppet/interface.rb +3 -3
- data/lib/puppet/loaders.rb +1 -1
- data/lib/puppet/metatype/manager.rb +9 -8
- data/lib/puppet/module/plan.rb +10 -4
- data/lib/puppet/module/task.rb +8 -2
- data/lib/puppet/module.rb +13 -3
- data/lib/puppet/module_tool/applications/application.rb +6 -4
- data/lib/puppet/module_tool/applications/checksummer.rb +1 -2
- data/lib/puppet/module_tool/applications/installer.rb +32 -45
- data/lib/puppet/module_tool/applications/uninstaller.rb +22 -21
- data/lib/puppet/module_tool/applications/unpacker.rb +3 -0
- data/lib/puppet/module_tool/applications/upgrader.rb +28 -26
- data/lib/puppet/module_tool/applications.rb +1 -0
- data/lib/puppet/module_tool/checksums.rb +1 -1
- data/lib/puppet/module_tool/contents_description.rb +1 -2
- data/lib/puppet/module_tool/dependency.rb +1 -1
- data/lib/puppet/module_tool/errors/base.rb +1 -0
- data/lib/puppet/module_tool/errors/installer.rb +4 -4
- data/lib/puppet/module_tool/errors/shared.rb +12 -12
- data/lib/puppet/module_tool/errors/uninstaller.rb +2 -2
- data/lib/puppet/module_tool/errors/upgrader.rb +3 -3
- data/lib/puppet/module_tool/errors.rb +1 -0
- data/lib/puppet/module_tool/install_directory.rb +6 -4
- data/lib/puppet/module_tool/installed_modules.rb +2 -0
- data/lib/puppet/module_tool/local_tarball.rb +3 -0
- data/lib/puppet/module_tool/metadata.rb +21 -20
- data/lib/puppet/module_tool/shared_behaviors.rb +23 -21
- data/lib/puppet/module_tool/tar/gnu.rb +1 -0
- data/lib/puppet/module_tool/tar/mini.rb +1 -0
- data/lib/puppet/module_tool/tar.rb +2 -1
- data/lib/puppet/module_tool.rb +2 -2
- data/lib/puppet/network/authconfig.rb +1 -0
- data/lib/puppet/network/authorization.rb +1 -0
- data/lib/puppet/network/client_request.rb +1 -0
- data/lib/puppet/network/format.rb +5 -0
- data/lib/puppet/network/format_handler.rb +2 -1
- data/lib/puppet/network/format_support.rb +6 -5
- data/lib/puppet/network/formats.rb +18 -14
- data/lib/puppet/network/http/api/indirected_routes.rb +8 -8
- data/lib/puppet/network/http/api/indirection_type.rb +1 -1
- data/lib/puppet/network/http/api/master/v3/environments.rb +1 -0
- data/lib/puppet/network/http/api/master/v3.rb +1 -0
- data/lib/puppet/network/http/api/master.rb +1 -0
- data/lib/puppet/network/http/api/server/v3/environments.rb +20 -14
- data/lib/puppet/network/http/api/server/v3.rb +13 -13
- data/lib/puppet/network/http/api/server.rb +1 -0
- data/lib/puppet/network/http/api.rb +11 -10
- data/lib/puppet/network/http/connection.rb +1 -0
- data/lib/puppet/network/http/error.rb +2 -1
- data/lib/puppet/network/http/handler.rb +3 -2
- data/lib/puppet/network/http/issues.rb +1 -0
- data/lib/puppet/network/http/memory_response.rb +2 -1
- data/lib/puppet/network/http/request.rb +13 -6
- data/lib/puppet/network/http/response.rb +1 -0
- data/lib/puppet/network/http/route.rb +4 -2
- data/lib/puppet/network/http.rb +1 -0
- data/lib/puppet/network/http_pool.rb +2 -1
- data/lib/puppet/network/uri.rb +1 -0
- data/lib/puppet/network.rb +1 -0
- data/lib/puppet/node/environment.rb +12 -9
- data/lib/puppet/node/facts.rb +2 -1
- data/lib/puppet/node.rb +3 -2
- data/lib/puppet/pal/catalog_compiler.rb +1 -3
- data/lib/puppet/pal/compiler.rb +6 -2
- data/lib/puppet/pal/function_signature.rb +2 -1
- data/lib/puppet/pal/json_catalog_encoder.rb +5 -1
- data/lib/puppet/pal/pal_api.rb +1 -0
- data/lib/puppet/pal/pal_impl.rb +20 -19
- data/lib/puppet/pal/plan_signature.rb +2 -1
- data/lib/puppet/pal/script_compiler.rb +3 -2
- data/lib/puppet/pal/task_signature.rb +14 -9
- data/lib/puppet/parameter/boolean.rb +1 -0
- data/lib/puppet/parameter/package_options.rb +1 -0
- data/lib/puppet/parameter/path.rb +3 -0
- data/lib/puppet/parameter/value.rb +1 -0
- data/lib/puppet/parameter/value_collection.rb +6 -6
- data/lib/puppet/parameter.rb +4 -3
- data/lib/puppet/parser/abstract_compiler.rb +0 -2
- data/lib/puppet/parser/ast/block_expression.rb +1 -0
- data/lib/puppet/parser/ast/branch.rb +1 -0
- data/lib/puppet/parser/ast/hostclass.rb +1 -0
- data/lib/puppet/parser/ast/leaf.rb +2 -0
- data/lib/puppet/parser/ast/node.rb +1 -0
- data/lib/puppet/parser/ast/pops_bridge.rb +6 -6
- data/lib/puppet/parser/ast/resource.rb +2 -3
- data/lib/puppet/parser/ast/resource_instance.rb +2 -0
- data/lib/puppet/parser/ast/resourceparam.rb +6 -5
- data/lib/puppet/parser/ast/top_level_construct.rb +1 -0
- data/lib/puppet/parser/ast.rb +4 -3
- data/lib/puppet/parser/catalog_compiler.rb +1 -2
- data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +3 -0
- data/lib/puppet/parser/compiler/catalog_validator.rb +1 -0
- data/lib/puppet/parser/compiler.rb +10 -8
- data/lib/puppet/parser/e4_parser_adapter.rb +15 -15
- data/lib/puppet/parser/files.rb +5 -4
- data/lib/puppet/parser/functions/assert_type.rb +55 -54
- data/lib/puppet/parser/functions/binary_file.rb +19 -18
- data/lib/puppet/parser/functions/break.rb +35 -34
- data/lib/puppet/parser/functions/contain.rb +1 -0
- data/lib/puppet/parser/functions/create_resources.rb +8 -6
- data/lib/puppet/parser/functions/defined.rb +102 -101
- data/lib/puppet/parser/functions/dig.rb +33 -32
- data/lib/puppet/parser/functions/digest.rb +1 -0
- data/lib/puppet/parser/functions/each.rb +99 -98
- data/lib/puppet/parser/functions/epp.rb +2 -2
- data/lib/puppet/parser/functions/fail.rb +9 -8
- data/lib/puppet/parser/functions/file.rb +14 -13
- data/lib/puppet/parser/functions/filter.rb +74 -73
- data/lib/puppet/parser/functions/find_file.rb +22 -21
- data/lib/puppet/parser/functions/fqdn_rand.rb +23 -22
- data/lib/puppet/parser/functions/generate.rb +20 -20
- data/lib/puppet/parser/functions/hiera.rb +94 -93
- data/lib/puppet/parser/functions/hiera_array.rb +82 -81
- data/lib/puppet/parser/functions/hiera_hash.rb +92 -91
- data/lib/puppet/parser/functions/hiera_include.rb +92 -91
- data/lib/puppet/parser/functions/include.rb +2 -1
- data/lib/puppet/parser/functions/inline_epp.rb +2 -2
- data/lib/puppet/parser/functions/inline_template.rb +11 -11
- data/lib/puppet/parser/functions/lest.rb +44 -43
- data/lib/puppet/parser/functions/lookup.rb +131 -130
- data/lib/puppet/parser/functions/map.rb +71 -70
- data/lib/puppet/parser/functions/match.rb +39 -38
- data/lib/puppet/parser/functions/md5.rb +2 -1
- data/lib/puppet/parser/functions/new.rb +985 -984
- data/lib/puppet/parser/functions/next.rb +34 -33
- data/lib/puppet/parser/functions/realize.rb +9 -9
- data/lib/puppet/parser/functions/reduce.rb +132 -131
- data/lib/puppet/parser/functions/regsubst.rb +6 -5
- data/lib/puppet/parser/functions/require.rb +5 -4
- data/lib/puppet/parser/functions/return.rb +88 -87
- data/lib/puppet/parser/functions/reverse_each.rb +78 -77
- data/lib/puppet/parser/functions/scanf.rb +28 -27
- data/lib/puppet/parser/functions/sha1.rb +2 -1
- data/lib/puppet/parser/functions/sha256.rb +1 -0
- data/lib/puppet/parser/functions/shellquote.rb +1 -0
- data/lib/puppet/parser/functions/slice.rb +34 -33
- data/lib/puppet/parser/functions/split.rb +5 -6
- data/lib/puppet/parser/functions/sprintf.rb +3 -3
- data/lib/puppet/parser/functions/step.rb +79 -78
- data/lib/puppet/parser/functions/strftime.rb +180 -179
- data/lib/puppet/parser/functions/tag.rb +7 -6
- data/lib/puppet/parser/functions/tagged.rb +13 -12
- data/lib/puppet/parser/functions/template.rb +24 -23
- data/lib/puppet/parser/functions/then.rb +68 -67
- data/lib/puppet/parser/functions/type.rb +48 -47
- data/lib/puppet/parser/functions/versioncmp.rb +1 -1
- data/lib/puppet/parser/functions/with.rb +23 -22
- data/lib/puppet/parser/functions.rb +3 -1
- data/lib/puppet/parser/parser_factory.rb +1 -0
- data/lib/puppet/parser/relationship.rb +3 -0
- data/lib/puppet/parser/resource/param.rb +1 -0
- data/lib/puppet/parser/resource.rb +10 -4
- data/lib/puppet/parser/scope.rb +40 -32
- data/lib/puppet/parser/script_compiler.rb +5 -6
- data/lib/puppet/parser/templatewrapper.rb +1 -0
- data/lib/puppet/parser/type_loader.rb +19 -17
- data/lib/puppet/parser.rb +1 -0
- data/lib/puppet/plugins/configuration.rb +1 -0
- data/lib/puppet/plugins/syntax_checkers.rb +1 -1
- data/lib/puppet/plugins.rb +1 -0
- data/lib/puppet/pops/adaptable.rb +3 -1
- data/lib/puppet/pops/adapters.rb +3 -1
- data/lib/puppet/pops/evaluator/access_operator.rb +79 -65
- data/lib/puppet/pops/evaluator/callable_signature.rb +1 -1
- data/lib/puppet/pops/evaluator/closure.rb +273 -277
- data/lib/puppet/pops/evaluator/collector_transformer.rb +11 -9
- data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +1 -0
- data/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +2 -2
- data/lib/puppet/pops/evaluator/collectors/exported_collector.rb +4 -4
- data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +1 -1
- data/lib/puppet/pops/evaluator/compare_operator.rb +15 -3
- data/lib/puppet/pops/evaluator/deferred_resolver.rb +2 -2
- data/lib/puppet/pops/evaluator/epp_evaluator.rb +10 -10
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +140 -138
- data/lib/puppet/pops/evaluator/external_syntax_support.rb +1 -1
- data/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +2 -1
- data/lib/puppet/pops/evaluator/literal_evaluator.rb +1 -1
- data/lib/puppet/pops/evaluator/puppet_proc.rb +2 -0
- data/lib/puppet/pops/evaluator/relationship_operator.rb +5 -3
- data/lib/puppet/pops/evaluator/runtime3_converter.rb +21 -19
- data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +31 -33
- data/lib/puppet/pops/evaluator/runtime3_support.rb +16 -19
- data/lib/puppet/pops/functions/dispatch.rb +1 -0
- data/lib/puppet/pops/functions/dispatcher.rb +1 -1
- data/lib/puppet/pops/functions/function.rb +1 -2
- data/lib/puppet/pops/issue_reporter.rb +19 -17
- data/lib/puppet/pops/issues.rb +8 -4
- data/lib/puppet/pops/label_provider.rb +1 -0
- data/lib/puppet/pops/loader/base_loader.rb +2 -2
- data/lib/puppet/pops/loader/dependency_loader.rb +3 -0
- data/lib/puppet/pops/loader/gem_support.rb +3 -1
- data/lib/puppet/pops/loader/generic_plan_instantiator.rb +1 -0
- data/lib/puppet/pops/loader/loader.rb +1 -2
- data/lib/puppet/pops/loader/loader_paths.rb +24 -23
- data/lib/puppet/pops/loader/module_loaders.rb +28 -28
- data/lib/puppet/pops/loader/predefined_loader.rb +1 -2
- data/lib/puppet/pops/loader/puppet_function_instantiator.rb +4 -2
- data/lib/puppet/pops/loader/puppet_plan_instantiator.rb +4 -2
- data/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +1 -1
- data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +4 -1
- data/lib/puppet/pops/loader/ruby_function_instantiator.rb +4 -1
- data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +6 -2
- data/lib/puppet/pops/loader/runtime3_type_loader.rb +2 -2
- data/lib/puppet/pops/loader/simple_environment_loader.rb +1 -2
- data/lib/puppet/pops/loader/static_loader.rb +22 -21
- data/lib/puppet/pops/loader/task_instantiator.rb +1 -0
- data/lib/puppet/pops/loader/type_definition_instantiator.rb +6 -4
- data/lib/puppet/pops/loader/typed_name.rb +1 -0
- data/lib/puppet/pops/loader/uri_helper.rb +1 -0
- data/lib/puppet/pops/loaders.rb +21 -18
- data/lib/puppet/pops/lookup/configured_data_provider.rb +1 -0
- data/lib/puppet/pops/lookup/context.rb +24 -23
- data/lib/puppet/pops/lookup/data_adapter.rb +1 -0
- data/lib/puppet/pops/lookup/data_dig_function_provider.rb +2 -2
- data/lib/puppet/pops/lookup/data_hash_function_provider.rb +1 -0
- data/lib/puppet/pops/lookup/data_provider.rb +1 -0
- data/lib/puppet/pops/lookup/environment_data_provider.rb +1 -0
- data/lib/puppet/pops/lookup/explainer.rb +35 -34
- data/lib/puppet/pops/lookup/function_provider.rb +7 -6
- data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
- data/lib/puppet/pops/lookup/hiera_config.rb +137 -101
- data/lib/puppet/pops/lookup/interpolation.rb +5 -1
- data/lib/puppet/pops/lookup/invocation.rb +3 -0
- data/lib/puppet/pops/lookup/key_recorder.rb +3 -1
- data/lib/puppet/pops/lookup/location_resolver.rb +2 -1
- data/lib/puppet/pops/lookup/lookup_adapter.rb +22 -20
- data/lib/puppet/pops/lookup/lookup_key.rb +1 -0
- data/lib/puppet/pops/lookup/lookup_key_function_provider.rb +1 -0
- data/lib/puppet/pops/lookup/module_data_provider.rb +3 -1
- data/lib/puppet/pops/lookup/sub_lookup.rb +5 -2
- data/lib/puppet/pops/lookup.rb +13 -8
- data/lib/puppet/pops/merge_strategy.rb +5 -2
- data/lib/puppet/pops/migration/migration_checker.rb +3 -1
- data/lib/puppet/pops/model/ast.rb +786 -685
- data/lib/puppet/pops/model/ast_transformer.rb +4 -3
- data/lib/puppet/pops/model/factory.rb +18 -14
- data/lib/puppet/pops/model/model_label_provider.rb +1 -1
- data/lib/puppet/pops/model/model_tree_dumper.rb +10 -9
- data/lib/puppet/pops/model/pn_transformer.rb +4 -6
- data/lib/puppet/pops/model/tree_dumper.rb +3 -1
- data/lib/puppet/pops/parser/code_merger.rb +0 -1
- data/lib/puppet/pops/parser/epp_parser.rb +1 -1
- data/lib/puppet/pops/parser/epp_support.rb +3 -3
- data/lib/puppet/pops/parser/evaluating_parser.rb +6 -3
- data/lib/puppet/pops/parser/heredoc_support.rb +6 -7
- data/lib/puppet/pops/parser/interpolation_support.rb +2 -3
- data/lib/puppet/pops/parser/lexer2.rb +32 -29
- data/lib/puppet/pops/parser/lexer_support.rb +38 -41
- data/lib/puppet/pops/parser/locatable.rb +1 -2
- data/lib/puppet/pops/parser/locator.rb +31 -28
- data/lib/puppet/pops/parser/parser_support.rb +2 -0
- data/lib/puppet/pops/parser/pn_parser.rb +2 -2
- data/lib/puppet/pops/parser/slurp_support.rb +33 -32
- data/lib/puppet/pops/patterns.rb +2 -3
- data/lib/puppet/pops/pcore.rb +2 -2
- data/lib/puppet/pops/pn.rb +4 -1
- data/lib/puppet/pops/puppet_stack.rb +1 -0
- data/lib/puppet/pops/resource/param.rb +11 -10
- data/lib/puppet/pops/resource/resource_type_impl.rb +37 -36
- data/lib/puppet/pops/semantic_error.rb +1 -0
- data/lib/puppet/pops/serialization/abstract_reader.rb +3 -2
- data/lib/puppet/pops/serialization/abstract_writer.rb +5 -4
- data/lib/puppet/pops/serialization/deserializer.rb +2 -0
- data/lib/puppet/pops/serialization/extension.rb +7 -0
- data/lib/puppet/pops/serialization/from_data_converter.rb +3 -0
- data/lib/puppet/pops/serialization/instance_reader.rb +1 -0
- data/lib/puppet/pops/serialization/instance_writer.rb +1 -0
- data/lib/puppet/pops/serialization/json.rb +6 -3
- data/lib/puppet/pops/serialization/json_path.rb +2 -1
- data/lib/puppet/pops/serialization/object.rb +4 -1
- data/lib/puppet/pops/serialization/serializer.rb +6 -2
- data/lib/puppet/pops/serialization/time_factory.rb +1 -1
- data/lib/puppet/pops/serialization/to_data_converter.rb +4 -2
- data/lib/puppet/pops/serialization/to_stringified_converter.rb +2 -2
- data/lib/puppet/pops/serialization.rb +1 -0
- data/lib/puppet/pops/time/timespan.rb +16 -6
- data/lib/puppet/pops/time/timestamp.rb +4 -0
- data/lib/puppet/pops/types/annotatable.rb +1 -1
- data/lib/puppet/pops/types/annotation.rb +1 -0
- data/lib/puppet/pops/types/class_loader.rb +8 -6
- data/lib/puppet/pops/types/implementation_registry.rb +1 -0
- data/lib/puppet/pops/types/iterable.rb +18 -9
- data/lib/puppet/pops/types/p_binary_type.rb +2 -3
- data/lib/puppet/pops/types/p_init_type.rb +12 -9
- data/lib/puppet/pops/types/p_meta_type.rb +1 -1
- data/lib/puppet/pops/types/p_object_type.rb +65 -42
- data/lib/puppet/pops/types/p_object_type_extension.rb +10 -7
- data/lib/puppet/pops/types/p_runtime_type.rb +11 -9
- data/lib/puppet/pops/types/p_sem_ver_range_type.rb +1 -1
- data/lib/puppet/pops/types/p_sem_ver_type.rb +5 -5
- data/lib/puppet/pops/types/p_sensitive_type.rb +1 -4
- data/lib/puppet/pops/types/p_timespan_type.rb +4 -2
- data/lib/puppet/pops/types/p_timestamp_type.rb +3 -2
- data/lib/puppet/pops/types/p_type_set_type.rb +36 -28
- data/lib/puppet/pops/types/p_uri_type.rb +25 -18
- data/lib/puppet/pops/types/puppet_object.rb +1 -1
- data/lib/puppet/pops/types/recursion_guard.rb +7 -2
- data/lib/puppet/pops/types/ruby_generator.rb +9 -6
- data/lib/puppet/pops/types/ruby_method.rb +6 -5
- data/lib/puppet/pops/types/string_converter.rb +71 -63
- data/lib/puppet/pops/types/tree_iterators.rb +6 -7
- data/lib/puppet/pops/types/type_acceptor.rb +1 -0
- data/lib/puppet/pops/types/type_asserter.rb +1 -0
- data/lib/puppet/pops/types/type_assertion_error.rb +0 -1
- data/lib/puppet/pops/types/type_calculator.rb +10 -4
- data/lib/puppet/pops/types/type_conversion_error.rb +1 -10
- data/lib/puppet/pops/types/type_factory.rb +7 -4
- data/lib/puppet/pops/types/type_formatter.rb +14 -13
- data/lib/puppet/pops/types/type_mismatch_describer.rb +13 -8
- data/lib/puppet/pops/types/type_parser.rb +111 -107
- data/lib/puppet/pops/types/type_set_reference.rb +2 -0
- data/lib/puppet/pops/types/type_with_members.rb +1 -1
- data/lib/puppet/pops/types/types.rb +178 -153
- data/lib/puppet/pops/utils.rb +1 -0
- data/lib/puppet/pops/validation/checker4_0.rb +17 -11
- data/lib/puppet/pops/validation/tasks_checker.rb +2 -1
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -2
- data/lib/puppet/pops/validation.rb +8 -6
- data/lib/puppet/pops/visitable.rb +1 -0
- data/lib/puppet/pops/visitor.rb +14 -1
- data/lib/puppet/pops.rb +2 -0
- data/lib/puppet/property/boolean.rb +1 -0
- data/lib/puppet/property/ensure.rb +4 -1
- data/lib/puppet/property/keyvalue.rb +5 -4
- data/lib/puppet/property/list.rb +5 -5
- data/lib/puppet/property/ordered_list.rb +4 -4
- data/lib/puppet/property.rb +13 -11
- data/lib/puppet/provider/aix_object.rb +5 -0
- data/lib/puppet/provider/command.rb +1 -0
- data/lib/puppet/provider/confine.rb +1 -0
- data/lib/puppet/provider/exec/posix.rb +2 -0
- data/lib/puppet/provider/exec/shell.rb +1 -0
- data/lib/puppet/provider/exec/windows.rb +2 -1
- data/lib/puppet/provider/exec.rb +1 -0
- data/lib/puppet/provider/file/posix.rb +1 -0
- data/lib/puppet/provider/file/windows.rb +10 -6
- data/lib/puppet/provider/group/aix.rb +1 -0
- data/lib/puppet/provider/group/directoryservice.rb +1 -1
- data/lib/puppet/provider/group/groupadd.rb +9 -4
- data/lib/puppet/provider/group/ldap.rb +2 -0
- data/lib/puppet/provider/group/pw.rb +1 -0
- data/lib/puppet/provider/group/windows_adsi.rb +2 -0
- data/lib/puppet/provider/ldap.rb +2 -0
- data/lib/puppet/provider/nameservice/directoryservice.rb +30 -21
- data/lib/puppet/provider/nameservice/objectadd.rb +1 -0
- data/lib/puppet/provider/nameservice/pw.rb +6 -5
- data/lib/puppet/provider/nameservice.rb +8 -4
- data/lib/puppet/provider/network_device.rb +1 -2
- data/lib/puppet/provider/package/aix.rb +5 -4
- data/lib/puppet/provider/package/appdmg.rb +20 -19
- data/lib/puppet/provider/package/apple.rb +3 -2
- data/lib/puppet/provider/package/apt.rb +5 -5
- data/lib/puppet/provider/package/aptitude.rb +1 -0
- data/lib/puppet/provider/package/aptrpm.rb +2 -1
- data/lib/puppet/provider/package/blastwave.rb +6 -6
- data/lib/puppet/provider/package/dnf.rb +3 -1
- data/lib/puppet/provider/package/dnfmodule.rb +8 -7
- data/lib/puppet/provider/package/dpkg.rb +4 -4
- data/lib/puppet/provider/package/fink.rb +2 -1
- data/lib/puppet/provider/package/freebsd.rb +3 -2
- data/lib/puppet/provider/package/gem.rb +9 -5
- data/lib/puppet/provider/package/hpux.rb +4 -3
- data/lib/puppet/provider/package/macports.rb +2 -1
- data/lib/puppet/provider/package/nim.rb +13 -15
- data/lib/puppet/provider/package/openbsd.rb +6 -4
- data/lib/puppet/provider/package/opkg.rb +2 -0
- data/lib/puppet/provider/package/pacman.rb +12 -12
- data/lib/puppet/provider/package/pip.rb +3 -1
- data/lib/puppet/provider/package/pip2.rb +2 -2
- data/lib/puppet/provider/package/pip3.rb +2 -2
- data/lib/puppet/provider/package/pkg.rb +17 -13
- data/lib/puppet/provider/package/pkgdmg.rb +7 -2
- data/lib/puppet/provider/package/pkgin.rb +5 -5
- data/lib/puppet/provider/package/pkgng.rb +11 -7
- data/lib/puppet/provider/package/pkgutil.rb +7 -6
- data/lib/puppet/provider/package/portage.rb +11 -6
- data/lib/puppet/provider/package/ports.rb +6 -5
- data/lib/puppet/provider/package/portupgrade.rb +6 -12
- data/lib/puppet/provider/package/puppet_gem.rb +1 -0
- data/lib/puppet/provider/package/puppetserver_gem.rb +1 -0
- data/lib/puppet/provider/package/rpm.rb +10 -6
- data/lib/puppet/provider/package/rug.rb +2 -1
- data/lib/puppet/provider/package/sun.rb +20 -17
- data/lib/puppet/provider/package/sunfreeware.rb +1 -0
- data/lib/puppet/provider/package/tdnf.rb +1 -0
- data/lib/puppet/provider/package/up2date.rb +2 -1
- data/lib/puppet/provider/package/urpmi.rb +1 -0
- data/lib/puppet/provider/package/windows/exe_package.rb +1 -0
- data/lib/puppet/provider/package/windows/msi_package.rb +1 -0
- data/lib/puppet/provider/package/windows/package.rb +5 -3
- data/lib/puppet/provider/package/windows.rb +4 -2
- data/lib/puppet/provider/package/yum.rb +17 -14
- data/lib/puppet/provider/package/zypper.rb +15 -14
- data/lib/puppet/provider/package.rb +7 -6
- data/lib/puppet/provider/package_targetable.rb +1 -0
- data/lib/puppet/provider/parsedfile.rb +7 -2
- data/lib/puppet/provider/service/base.rb +2 -1
- data/lib/puppet/provider/service/bsd.rb +1 -0
- data/lib/puppet/provider/service/daemontools.rb +9 -7
- data/lib/puppet/provider/service/debian.rb +4 -3
- data/lib/puppet/provider/service/freebsd.rb +5 -6
- data/lib/puppet/provider/service/gentoo.rb +5 -4
- data/lib/puppet/provider/service/init.rb +10 -11
- data/lib/puppet/provider/service/launchd.rb +10 -4
- data/lib/puppet/provider/service/openbsd.rb +4 -4
- data/lib/puppet/provider/service/openrc.rb +1 -1
- data/lib/puppet/provider/service/openwrt.rb +1 -1
- data/lib/puppet/provider/service/rcng.rb +1 -0
- data/lib/puppet/provider/service/redhat.rb +3 -2
- data/lib/puppet/provider/service/runit.rb +8 -7
- data/lib/puppet/provider/service/service.rb +1 -0
- data/lib/puppet/provider/service/smf.rb +5 -2
- data/lib/puppet/provider/service/src.rb +16 -16
- data/lib/puppet/provider/service/systemd.rb +8 -4
- data/lib/puppet/provider/service/upstart.rb +8 -7
- data/lib/puppet/provider/service/windows.rb +22 -26
- data/lib/puppet/provider/user/aix.rb +3 -2
- data/lib/puppet/provider/user/directoryservice.rb +53 -45
- data/lib/puppet/provider/user/hpux.rb +15 -14
- data/lib/puppet/provider/user/ldap.rb +8 -6
- data/lib/puppet/provider/user/openbsd.rb +21 -20
- data/lib/puppet/provider/user/pw.rb +3 -2
- data/lib/puppet/provider/user/user_role_add.rb +19 -14
- data/lib/puppet/provider/user/useradd.rb +51 -41
- data/lib/puppet/provider/user/windows_adsi.rb +4 -1
- data/lib/puppet/provider.rb +9 -9
- data/lib/puppet/reference/configuration.rb +44 -43
- data/lib/puppet/reference/function.rb +1 -0
- data/lib/puppet/reference/indirection.rb +43 -42
- data/lib/puppet/reference/metaparameter.rb +1 -0
- data/lib/puppet/reference/providers.rb +2 -0
- data/lib/puppet/reference/report.rb +1 -0
- data/lib/puppet/reference/type.rb +4 -3
- data/lib/puppet/relationship.rb +3 -2
- data/lib/puppet/reports/http.rb +1 -1
- data/lib/puppet/reports/log.rb +1 -0
- data/lib/puppet/reports/store.rb +3 -1
- data/lib/puppet/reports.rb +5 -4
- data/lib/puppet/resource/catalog.rb +14 -10
- data/lib/puppet/resource/status.rb +1 -1
- data/lib/puppet/resource/type.rb +28 -18
- data/lib/puppet/resource/type_collection.rb +4 -0
- data/lib/puppet/resource.rb +24 -16
- data/lib/puppet/runtime.rb +1 -0
- data/lib/puppet/scheduler/job.rb +1 -0
- data/lib/puppet/scheduler/scheduler.rb +1 -0
- data/lib/puppet/scheduler/splay_job.rb +1 -0
- data/lib/puppet/scheduler/timer.rb +1 -0
- data/lib/puppet/scheduler.rb +1 -0
- data/lib/puppet/settings/alias_setting.rb +1 -0
- data/lib/puppet/settings/array_setting.rb +1 -1
- data/lib/puppet/settings/autosign_setting.rb +1 -1
- data/lib/puppet/settings/base_setting.rb +9 -5
- data/lib/puppet/settings/boolean_setting.rb +1 -0
- data/lib/puppet/settings/certificate_revocation_setting.rb +1 -1
- data/lib/puppet/settings/config_file.rb +3 -3
- data/lib/puppet/settings/directory_setting.rb +1 -0
- data/lib/puppet/settings/duration_setting.rb +1 -0
- data/lib/puppet/settings/enum_setting.rb +2 -1
- data/lib/puppet/settings/environment_conf.rb +9 -8
- data/lib/puppet/settings/errors.rb +2 -0
- data/lib/puppet/settings/file_or_directory_setting.rb +1 -5
- data/lib/puppet/settings/file_setting.rb +3 -13
- data/lib/puppet/settings/http_extra_headers_setting.rb +1 -1
- data/lib/puppet/settings/ini_file.rb +1 -0
- data/lib/puppet/settings/integer_setting.rb +1 -0
- data/lib/puppet/settings/path_setting.rb +1 -0
- data/lib/puppet/settings/port_setting.rb +2 -1
- data/lib/puppet/settings/priority_setting.rb +9 -8
- data/lib/puppet/settings/server_list_setting.rb +2 -2
- data/lib/puppet/settings/string_setting.rb +1 -0
- data/lib/puppet/settings/symbolic_enum_setting.rb +2 -1
- data/lib/puppet/settings/terminus_setting.rb +1 -0
- data/lib/puppet/settings/ttl_setting.rb +2 -0
- data/lib/puppet/settings/value_translator.rb +8 -7
- data/lib/puppet/settings.rb +89 -66
- data/lib/puppet/ssl/base.rb +4 -0
- data/lib/puppet/ssl/certificate.rb +3 -2
- data/lib/puppet/ssl/certificate_request.rb +9 -7
- data/lib/puppet/ssl/certificate_request_attributes.rb +3 -1
- data/lib/puppet/ssl/certificate_signer.rb +2 -3
- data/lib/puppet/ssl/digest.rb +1 -0
- data/lib/puppet/ssl/error.rb +2 -0
- data/lib/puppet/ssl/oids.rb +3 -3
- data/lib/puppet/ssl/openssl_loader.rb +1 -0
- data/lib/puppet/ssl/ssl_context.rb +11 -15
- data/lib/puppet/ssl/ssl_provider.rb +2 -1
- data/lib/puppet/ssl/state_machine.rb +1 -0
- data/lib/puppet/ssl/verifier.rb +2 -2
- data/lib/puppet/ssl.rb +1 -0
- data/lib/puppet/syntax_checkers/base64.rb +2 -1
- data/lib/puppet/syntax_checkers/epp.rb +1 -1
- data/lib/puppet/syntax_checkers/json.rb +1 -2
- data/lib/puppet/syntax_checkers/pp.rb +1 -1
- data/lib/puppet/syntax_checkers.rb +1 -0
- data/lib/puppet/test/test_helper.rb +16 -14
- data/lib/puppet/thread_local.rb +1 -0
- data/lib/puppet/transaction/additional_resource_generator.rb +5 -1
- data/lib/puppet/transaction/event.rb +5 -3
- data/lib/puppet/transaction/event_manager.rb +4 -3
- data/lib/puppet/transaction/persistence.rb +2 -1
- data/lib/puppet/transaction/report.rb +24 -16
- data/lib/puppet/transaction/resource_harness.rb +6 -3
- data/lib/puppet/transaction.rb +11 -6
- data/lib/puppet/trusted_external.rb +8 -4
- data/lib/puppet/type/component.rb +11 -5
- data/lib/puppet/type/exec.rb +26 -10
- data/lib/puppet/type/file/checksum.rb +1 -0
- data/lib/puppet/type/file/checksum_value.rb +3 -2
- data/lib/puppet/type/file/content.rb +16 -13
- data/lib/puppet/type/file/ctime.rb +2 -1
- data/lib/puppet/type/file/data_sync.rb +4 -2
- data/lib/puppet/type/file/ensure.rb +5 -5
- data/lib/puppet/type/file/group.rb +2 -1
- data/lib/puppet/type/file/mode.rb +4 -2
- data/lib/puppet/type/file/mtime.rb +2 -1
- data/lib/puppet/type/file/owner.rb +2 -1
- data/lib/puppet/type/file/selcontext.rb +2 -2
- data/lib/puppet/type/file/source.rb +12 -10
- data/lib/puppet/type/file/target.rb +2 -2
- data/lib/puppet/type/file/type.rb +2 -1
- data/lib/puppet/type/file.rb +22 -13
- data/lib/puppet/type/filebucket.rb +2 -1
- data/lib/puppet/type/group.rb +8 -8
- data/lib/puppet/type/notify.rb +1 -1
- data/lib/puppet/type/package.rb +21 -21
- data/lib/puppet/type/resources.rb +30 -25
- data/lib/puppet/type/schedule.rb +9 -10
- data/lib/puppet/type/service.rb +9 -7
- data/lib/puppet/type/stage.rb +1 -0
- data/lib/puppet/type/tidy.rb +9 -4
- data/lib/puppet/type/user.rb +28 -24
- data/lib/puppet/type/whit.rb +1 -1
- data/lib/puppet/type.rb +71 -61
- data/lib/puppet/util/at_fork/noop.rb +1 -0
- data/lib/puppet/util/at_fork/solaris.rb +2 -1
- data/lib/puppet/util/at_fork.rb +2 -1
- data/lib/puppet/util/autoload.rb +5 -0
- data/lib/puppet/util/backups.rb +3 -2
- data/lib/puppet/util/character_encoding.rb +1 -0
- data/lib/puppet/util/checksums.rb +11 -9
- data/lib/puppet/util/classgen.rb +8 -13
- data/lib/puppet/util/colors.rb +32 -31
- data/lib/puppet/util/command_line/puppet_option_parser.rb +12 -12
- data/lib/puppet/util/command_line/trollop.rb +693 -690
- data/lib/puppet/util/command_line.rb +1 -0
- data/lib/puppet/util/constant_inflector.rb +3 -3
- data/lib/puppet/util/diff.rb +14 -14
- data/lib/puppet/util/docs.rb +3 -0
- data/lib/puppet/util/errors.rb +1 -0
- data/lib/puppet/util/execution.rb +24 -21
- data/lib/puppet/util/execution_stub.rb +1 -0
- data/lib/puppet/util/feature.rb +1 -0
- data/lib/puppet/util/file_watcher.rb +2 -0
- data/lib/puppet/util/fileparsing.rb +2 -0
- data/lib/puppet/util/filetype.rb +3 -0
- data/lib/puppet/util/http_proxy.rb +1 -0
- data/lib/puppet/util/inifile.rb +5 -5
- data/lib/puppet/util/instance_loader.rb +2 -0
- data/lib/puppet/util/json.rb +1 -0
- data/lib/puppet/util/json_lockfile.rb +3 -1
- data/lib/puppet/util/ldap/connection.rb +19 -18
- data/lib/puppet/util/ldap/generator.rb +1 -0
- data/lib/puppet/util/ldap/manager.rb +3 -2
- data/lib/puppet/util/ldap.rb +1 -0
- data/lib/puppet/util/libuser.rb +1 -1
- data/lib/puppet/util/limits.rb +1 -0
- data/lib/puppet/util/lockfile.rb +1 -0
- data/lib/puppet/util/log/destination.rb +1 -0
- data/lib/puppet/util/log/destinations.rb +14 -13
- data/lib/puppet/util/log.rb +21 -17
- data/lib/puppet/util/logging.rb +18 -14
- data/lib/puppet/util/metaid.rb +1 -0
- data/lib/puppet/util/metric.rb +2 -0
- data/lib/puppet/util/monkey_patches.rb +19 -0
- data/lib/puppet/util/multi_match.rb +4 -1
- data/lib/puppet/util/network_device/base.rb +1 -1
- data/lib/puppet/util/network_device/config.rb +3 -4
- data/lib/puppet/util/network_device/transport/base.rb +0 -1
- data/lib/puppet/util/network_device/transport.rb +1 -0
- data/lib/puppet/util/network_device.rb +1 -0
- data/lib/puppet/util/package/version/debian.rb +5 -3
- data/lib/puppet/util/package/version/gem.rb +2 -0
- data/lib/puppet/util/package/version/pip.rb +7 -2
- data/lib/puppet/util/package/version/range/eq.rb +2 -0
- data/lib/puppet/util/package/version/range/gt.rb +2 -0
- data/lib/puppet/util/package/version/range/gt_eq.rb +2 -0
- data/lib/puppet/util/package/version/range/lt.rb +2 -0
- data/lib/puppet/util/package/version/range/lt_eq.rb +2 -0
- data/lib/puppet/util/package/version/range/min_max.rb +4 -0
- data/lib/puppet/util/package/version/range/simple.rb +1 -0
- data/lib/puppet/util/package/version/range.rb +3 -0
- data/lib/puppet/util/package/version/rpm.rb +7 -5
- data/lib/puppet/util/package.rb +3 -0
- data/lib/puppet/util/pidlock.rb +7 -7
- data/lib/puppet/util/platform.rb +1 -0
- data/lib/puppet/util/plist.rb +1 -1
- data/lib/puppet/util/posix.rb +8 -5
- data/lib/puppet/util/profiler/aggregate.rb +2 -5
- data/lib/puppet/util/profiler/around_profiler.rb +1 -1
- data/lib/puppet/util/profiler/logging.rb +1 -0
- data/lib/puppet/util/profiler/object_counts.rb +1 -0
- data/lib/puppet/util/profiler/wall_clock.rb +1 -0
- data/lib/puppet/util/profiler.rb +1 -0
- data/lib/puppet/util/provider_features.rb +5 -1
- data/lib/puppet/util/psych_support.rb +1 -0
- data/lib/puppet/util/rdoc/code_objects.rb +3 -7
- data/lib/puppet/util/rdoc/generators/puppet_generator.rb +37 -50
- data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +50 -68
- data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +5 -5
- data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -0
- data/lib/puppet/util/rdoc/parser.rb +1 -0
- data/lib/puppet/util/rdoc.rb +1 -1
- data/lib/puppet/util/reference.rb +1 -1
- data/lib/puppet/util/resource_template.rb +2 -0
- data/lib/puppet/util/retry_action.rb +3 -3
- data/lib/puppet/util/rpm_compare.rb +6 -3
- data/lib/puppet/util/rubygems.rb +1 -1
- data/lib/puppet/util/run_mode.rb +2 -1
- data/lib/puppet/util/selinux.rb +23 -12
- data/lib/puppet/util/skip_tags.rb +1 -0
- data/lib/puppet/util/splayer.rb +1 -0
- data/lib/puppet/util/storage.rb +2 -1
- data/lib/puppet/util/suidmanager.rb +8 -5
- data/lib/puppet/util/symbolic_file_mode.rb +3 -1
- data/lib/puppet/util/tag_set.rb +1 -0
- data/lib/puppet/util/tagging.rb +2 -1
- data/lib/puppet/util/terminal.rb +1 -0
- data/lib/puppet/util/user_attr.rb +1 -0
- data/lib/puppet/util/warnings.rb +3 -0
- data/lib/puppet/util/watched_file.rb +1 -0
- data/lib/puppet/util/watcher/change_watcher.rb +1 -0
- data/lib/puppet/util/watcher/periodic_watcher.rb +1 -0
- data/lib/puppet/util/watcher/timer.rb +1 -0
- data/lib/puppet/util/watcher.rb +1 -0
- data/lib/puppet/util/windows/access_control_entry.rb +2 -1
- data/lib/puppet/util/windows/access_control_list.rb +4 -3
- data/lib/puppet/util/windows/adsi.rb +41 -27
- data/lib/puppet/util/windows/com.rb +5 -3
- data/lib/puppet/util/windows/daemon.rb +33 -33
- data/lib/puppet/util/windows/error.rb +4 -3
- data/lib/puppet/util/windows/eventlog.rb +8 -5
- data/lib/puppet/util/windows/file.rb +32 -26
- data/lib/puppet/util/windows/monkey_patches/process.rb +0 -1
- data/lib/puppet/util/windows/principal.rb +27 -27
- data/lib/puppet/util/windows/process.rb +8 -7
- data/lib/puppet/util/windows/registry.rb +43 -41
- data/lib/puppet/util/windows/root_certs.rb +1 -0
- data/lib/puppet/util/windows/security.rb +43 -44
- data/lib/puppet/util/windows/security_descriptor.rb +1 -0
- data/lib/puppet/util/windows/service.rb +12 -1
- data/lib/puppet/util/windows/sid.rb +10 -8
- data/lib/puppet/util/windows/string.rb +1 -0
- data/lib/puppet/util/windows/user.rb +33 -33
- data/lib/puppet/util/windows.rb +6 -0
- data/lib/puppet/util/yaml.rb +1 -0
- data/lib/puppet/util.rb +20 -23
- data/lib/puppet/vendor.rb +2 -1
- data/lib/puppet/version.rb +3 -1
- data/lib/puppet/x509/cert_provider.rb +13 -3
- data/lib/puppet/x509/pem_store.rb +1 -0
- data/lib/puppet/x509.rb +1 -0
- data/lib/puppet.rb +1 -0
- data/lib/puppet_pal.rb +1 -0
- data/lib/puppet_x.rb +1 -0
- data/locales/puppet.pot +214 -210
- data/man/man5/puppet.conf.5 +3 -3
- 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 +1 -1
- data/man/man8/puppet-script.8 +1 -1
- data/man/man8/puppet-ssl.8 +5 -1
- data/man/man8/puppet.8 +2 -2
- data/spec/integration/application/agent_spec.rb +13 -0
- data/spec/integration/type/exec_spec.rb +13 -0
- data/spec/lib/puppet_spec/puppetserver.rb +1 -0
- data/spec/lib/puppet_spec/verbose.rb +15 -4
- data/spec/unit/agent_spec.rb +2 -14
- data/spec/unit/application/ssl_spec.rb +49 -0
- data/spec/unit/daemon_spec.rb +3 -20
- data/spec/unit/functions/split_spec.rb +6 -0
- data/spec/unit/indirector/catalog/compiler_spec.rb +17 -0
- data/spec/unit/indirector/catalog/rest_spec.rb +17 -0
- data/spec/unit/info_service_spec.rb +1 -1
- data/spec/unit/provider/package/appdmg_spec.rb +1 -1
- data/spec/unit/provider/package/dnf_spec.rb +7 -0
- data/spec/unit/provider/package/dnfmodule_spec.rb +22 -2
- data/spec/unit/provider/service/systemd_spec.rb +8 -6
- data/spec/unit/ssl/certificate_signer_spec.rb +17 -0
- data/spec/unit/ssl/ssl_provider_spec.rb +1 -1
- data/spec/unit/type/exec_spec.rb +14 -9
- data/spec/unit/util/execution_spec.rb +1 -0
- data/spec/unit/util/monkey_patches_spec.rb +42 -0
- data/spec/unit/util/rpm_compare_spec.rb +8 -8
- data/spec/unit/util/windows/adsi_spec.rb +25 -0
- metadata +9 -14
- data/CONTRIBUTING.md +0 -161
@@ -1,5 +1,6 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
# frozen_string_literal: true
|
3
|
+
|
3
4
|
require 'prettyprint'
|
4
5
|
|
5
6
|
# This represents an action that is attached to a face. Actions should
|
@@ -14,6 +15,7 @@ class Puppet::Interface::Action
|
|
14
15
|
# @api private
|
15
16
|
def initialize(face, name)
|
16
17
|
raise "#{name.inspect} is an invalid action name" unless name.to_s =~ /^[a-z]\w*$/
|
18
|
+
|
17
19
|
@face = face
|
18
20
|
@name = name.to_sym
|
19
21
|
|
@@ -21,11 +23,11 @@ class Puppet::Interface::Action
|
|
21
23
|
# is a favour to our end users; if you happen to get that in a core face
|
22
24
|
# report it as a bug, please. --daniel 2011-04-26
|
23
25
|
@authors = []
|
24
|
-
@license
|
26
|
+
@license = 'All Rights Reserved'
|
25
27
|
|
26
28
|
# @options collects the added options in the order they're declared.
|
27
29
|
# @options_hash collects the options keyed by alias for quick lookups.
|
28
|
-
@options
|
30
|
+
@options = []
|
29
31
|
@display_global_options = []
|
30
32
|
@options_hash = {}
|
31
33
|
@when_rendering = {}
|
@@ -57,6 +59,7 @@ class Puppet::Interface::Action
|
|
57
59
|
# @return [Boolean]
|
58
60
|
# @api private
|
59
61
|
attr_accessor :default
|
62
|
+
|
60
63
|
def default?
|
61
64
|
!!@default
|
62
65
|
end
|
@@ -72,7 +75,6 @@ class Puppet::Interface::Action
|
|
72
75
|
########################################################################
|
73
76
|
# Support for rendering formats and all.
|
74
77
|
|
75
|
-
|
76
78
|
# @api private
|
77
79
|
def when_rendering(type)
|
78
80
|
unless type.is_a? Symbol
|
@@ -93,10 +95,10 @@ class Puppet::Interface::Action
|
|
93
95
|
def set_rendering_method_for(type, proc)
|
94
96
|
unless proc.is_a? Proc
|
95
97
|
msg = if proc.nil?
|
96
|
-
#TRANSLATORS 'set_rendering_method_for' and 'Proc' should not be translated
|
98
|
+
# TRANSLATORS 'set_rendering_method_for' and 'Proc' should not be translated
|
97
99
|
_("The second argument to set_rendering_method_for must be a Proc")
|
98
100
|
else
|
99
|
-
#TRANSLATORS 'set_rendering_method_for' and 'Proc' should not be translated
|
101
|
+
# TRANSLATORS 'set_rendering_method_for' and 'Proc' should not be translated
|
100
102
|
_("The second argument to set_rendering_method_for must be a Proc, not %{class_name}") %
|
101
103
|
{ class_name: proc.class.name }
|
102
104
|
end
|
@@ -105,13 +107,13 @@ class Puppet::Interface::Action
|
|
105
107
|
|
106
108
|
if proc.arity != 1 and proc.arity != (@positional_arg_count + 1)
|
107
109
|
msg = if proc.arity < 0 then
|
108
|
-
#TRANSLATORS 'when_rendering', 'when_invoked' are method names and should not be translated
|
110
|
+
# TRANSLATORS 'when_rendering', 'when_invoked' are method names and should not be translated
|
109
111
|
_("The when_rendering method for the %{face} face %{name} action takes either just one argument,"\
|
110
112
|
" the result of when_invoked, or the result plus the %{arg_count} arguments passed to the"\
|
111
113
|
" when_invoked block, not a variable number") %
|
112
114
|
{ face: @face.name, name: name, arg_count: @positional_arg_count }
|
113
115
|
else
|
114
|
-
#TRANSLATORS 'when_rendering', 'when_invoked' are method names and should not be translated
|
116
|
+
# TRANSLATORS 'when_rendering', 'when_invoked' are method names and should not be translated
|
115
117
|
_("The when_rendering method for the %{face} face %{name} action takes either just one argument,"\
|
116
118
|
" the result of when_invoked, or the result plus the %{arg_count} arguments passed to the"\
|
117
119
|
" when_invoked block, not %{string}") %
|
@@ -125,6 +127,7 @@ class Puppet::Interface::Action
|
|
125
127
|
if @when_rendering.has_key? type then
|
126
128
|
raise ArgumentError, _("You can't define a rendering method for %{type} twice") % { type: type }
|
127
129
|
end
|
130
|
+
|
128
131
|
# Now, the ugly bit. We add the method to our interface object, and
|
129
132
|
# retrieve it, to rotate through the dance of getting a suitable method
|
130
133
|
# object out of the whole process. --daniel 2011-04-18
|
@@ -139,10 +142,10 @@ class Puppet::Interface::Action
|
|
139
142
|
end
|
140
143
|
private :__render_method_name_for
|
141
144
|
|
142
|
-
|
143
145
|
# @api private
|
144
146
|
# @return [Symbol]
|
145
147
|
attr_reader :render_as
|
148
|
+
|
146
149
|
def render_as=(value)
|
147
150
|
@render_as = value.to_sym
|
148
151
|
end
|
@@ -194,7 +197,6 @@ class Puppet::Interface::Action
|
|
194
197
|
# @face.send(name, *args, &block)
|
195
198
|
# end
|
196
199
|
|
197
|
-
|
198
200
|
# We need to build an instance method as a wrapper, using normal code, to be
|
199
201
|
# able to expose argument defaulting between the caller and definer in the
|
200
202
|
# Ruby API. An extra method is, sadly, required for Ruby 1.8 to work since
|
@@ -214,7 +216,6 @@ class Puppet::Interface::Action
|
|
214
216
|
# idea how motivated we were to make this cleaner. Sorry.
|
215
217
|
# --daniel 2011-03-31
|
216
218
|
|
217
|
-
|
218
219
|
# The arity of the action
|
219
220
|
# @return [Integer]
|
220
221
|
attr_reader :positional_arg_count
|
@@ -222,8 +223,8 @@ class Puppet::Interface::Action
|
|
222
223
|
# The block that is executed when the action is invoked
|
223
224
|
# @return [block]
|
224
225
|
attr_reader :when_invoked
|
225
|
-
def when_invoked=(block)
|
226
226
|
|
227
|
+
def when_invoked=(block)
|
227
228
|
internal_name = "#{@name} implementation, required on Ruby 1.8".to_sym
|
228
229
|
|
229
230
|
arity = @positional_arg_count = block.arity
|
@@ -232,7 +233,7 @@ class Puppet::Interface::Action
|
|
232
233
|
# but will on 1.9.2, which treats it as "no arguments". Which bites,
|
233
234
|
# because this just begs for us to wind up in the horrible situation
|
234
235
|
# where a 1.8 vs 1.9 error bites our end users. --daniel 2011-04-19
|
235
|
-
#TRANSLATORS 'when_invoked' should not be translated
|
236
|
+
# TRANSLATORS 'when_invoked' should not be translated
|
236
237
|
raise ArgumentError, _("when_invoked requires at least one argument (options) for action %{name}") % { name: @name }
|
237
238
|
elsif arity > 0 then
|
238
239
|
range = Range.new(1, arity - 1)
|
@@ -252,25 +253,27 @@ class Puppet::Interface::Action
|
|
252
253
|
|
253
254
|
file = __FILE__ + "+eval[wrapper]"
|
254
255
|
line = __LINE__ + 2 # <== points to the same line as 'def' in the wrapper.
|
255
|
-
wrapper =
|
256
|
-
def #{@name}(#{decl.join(", ")})
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
end
|
266
|
-
WRAPPER
|
256
|
+
wrapper = <<~WRAPPER
|
257
|
+
def #{@name}(#{decl.join(", ")})
|
258
|
+
#{optn}
|
259
|
+
args = #{args}
|
260
|
+
action = get_action(#{name.inspect})
|
261
|
+
args << action.validate_and_clean(args.pop)
|
262
|
+
__invoke_decorations(:before, action, args, args.last)
|
263
|
+
rval = self.__send__(#{internal_name.inspect}, *args)
|
264
|
+
__invoke_decorations(:after, action, args, args.last)
|
265
|
+
return rval
|
266
|
+
end
|
267
|
+
WRAPPER
|
267
268
|
|
269
|
+
# It should be possible to rewrite this code to use `define_method`
|
270
|
+
# instead of `class/instance_eval` since Ruby 1.8 is long dead.
|
268
271
|
if @face.is_a?(Class)
|
269
|
-
@face.class_eval do eval wrapper, nil, file, line end
|
272
|
+
@face.class_eval do eval wrapper, nil, file, line end # rubocop:disable Security/Eval
|
270
273
|
@face.send(:define_method, internal_name, &block)
|
271
274
|
@when_invoked = @face.instance_method(name)
|
272
275
|
else
|
273
|
-
@face.instance_eval do eval wrapper, nil, file, line end
|
276
|
+
@face.instance_eval do eval wrapper, nil, file, line end # rubocop:disable Security/Eval
|
274
277
|
@face.meta_def(internal_name, &block)
|
275
278
|
@when_invoked = @face.method(name).unbind
|
276
279
|
end
|
@@ -312,9 +315,10 @@ WRAPPER
|
|
312
315
|
@display_global_options ||= []
|
313
316
|
[args].flatten.each do |refopt|
|
314
317
|
unless Puppet.settings.include? refopt
|
315
|
-
#TRANSLATORS 'Puppet.settings' should not be translated
|
318
|
+
# TRANSLATORS 'Puppet.settings' should not be translated
|
316
319
|
raise ArgumentError, _("Global option %{option} does not exist in Puppet.settings") % { option: refopt }
|
317
320
|
end
|
321
|
+
|
318
322
|
@display_global_options << refopt
|
319
323
|
end
|
320
324
|
@display_global_options.uniq!
|
@@ -397,6 +401,7 @@ WRAPPER
|
|
397
401
|
# Support code for action decoration; see puppet/interface.rb for the gory
|
398
402
|
# details of why this is hidden away behind private. --daniel 2011-04-15
|
399
403
|
private
|
404
|
+
|
400
405
|
# @return [void]
|
401
406
|
# @api private
|
402
407
|
def __add_method(name, proc)
|
@@ -1,10 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
# This class is used to build {Puppet::Interface::Action actions}.
|
3
4
|
# When an action is defined with
|
4
5
|
# {Puppet::Interface::ActionManager#action} the block is evaluated
|
5
6
|
# within the context of a new instance of this class.
|
6
7
|
# @api public
|
7
8
|
class Puppet::Interface::ActionBuilder
|
9
|
+
extend Forwardable
|
10
|
+
|
8
11
|
# The action under construction
|
9
12
|
# @return [Puppet::Interface::Action]
|
10
13
|
# @api private
|
@@ -15,6 +18,7 @@ class Puppet::Interface::ActionBuilder
|
|
15
18
|
# @api private
|
16
19
|
def self.build(face, name, &block)
|
17
20
|
raise "Action #{name.inspect} must specify a block" unless block
|
21
|
+
|
18
22
|
new(face, name, &block).action
|
19
23
|
end
|
20
24
|
|
@@ -57,14 +61,15 @@ class Puppet::Interface::ActionBuilder
|
|
57
61
|
# @todo this needs more
|
58
62
|
# @dsl Faces
|
59
63
|
def when_rendering(type = nil, &block)
|
60
|
-
if type.nil? then
|
61
|
-
#TRANSLATORS 'when_rendering' is a method name and should not be translated
|
64
|
+
if type.nil? then # the default error message sucks --daniel 2011-04-18
|
65
|
+
# TRANSLATORS 'when_rendering' is a method name and should not be translated
|
62
66
|
raise ArgumentError, _('You must give a rendering format to when_rendering')
|
63
67
|
end
|
64
68
|
if block.nil? then
|
65
|
-
#TRANSLATORS 'when_rendering' is a method name and should not be translated
|
69
|
+
# TRANSLATORS 'when_rendering' is a method name and should not be translated
|
66
70
|
raise ArgumentError, _('You must give a block to when_rendering')
|
67
71
|
end
|
72
|
+
|
68
73
|
@action.set_rendering_method_for(type, block)
|
69
74
|
end
|
70
75
|
|
@@ -123,7 +128,7 @@ class Puppet::Interface::ActionBuilder
|
|
123
128
|
# @api private
|
124
129
|
def render_as(value = nil)
|
125
130
|
if value.nil?
|
126
|
-
#TRANSLATORS 'render_as' is a method name and should not be translated
|
131
|
+
# TRANSLATORS 'render_as' is a method name and should not be translated
|
127
132
|
raise ArgumentError, _("You must give a rendering format to render_as")
|
128
133
|
end
|
129
134
|
|
@@ -139,28 +144,23 @@ class Puppet::Interface::ActionBuilder
|
|
139
144
|
# Metaprogram the simple DSL from the target class.
|
140
145
|
Puppet::Interface::Action.instance_methods.grep(/=$/).each do |setter|
|
141
146
|
next if setter =~ /^=/
|
147
|
+
|
142
148
|
property = setter.to_s.chomp('=')
|
143
149
|
|
144
150
|
unless method_defined? property
|
145
|
-
#
|
146
|
-
|
147
|
-
# Ruby versions if you pass the wrong number of arguments, but carries
|
148
|
-
# on, which is totally not what we want. --daniel 2011-04-18
|
149
|
-
eval <<-METHOD
|
150
|
-
def #{property}(value)
|
151
|
-
@action.#{property} = value
|
152
|
-
end
|
153
|
-
METHOD
|
151
|
+
# ActionBuilder#<property> delegates to Action#<setter>
|
152
|
+
def_delegator :@action, setter, property
|
154
153
|
end
|
155
154
|
end
|
156
155
|
|
157
156
|
private
|
157
|
+
|
158
158
|
def initialize(face, name, &block)
|
159
159
|
@face = face
|
160
160
|
@action = Puppet::Interface::Action.new(face, name)
|
161
161
|
instance_eval(&block)
|
162
162
|
unless @action.when_invoked
|
163
|
-
#TRANSLATORS 'when_invoked' is a method name and should not be translated and 'block' is a Ruby code block
|
163
|
+
# TRANSLATORS 'when_invoked' is a method name and should not be translated and 'block' is a Ruby code block
|
164
164
|
raise ArgumentError, _("actions need to know what to do when_invoked; please add the block")
|
165
165
|
end
|
166
166
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
# This class is not actually public API, but the method
|
3
4
|
# {Puppet::Interface::ActionManager#action action} is public when used
|
4
5
|
# as part of the Faces DSL (i.e. from within a
|
@@ -81,6 +82,7 @@ module Puppet::Interface::ActionManager
|
|
81
82
|
if default.length > 1
|
82
83
|
raise "The actions #{default.map(&:name).join(", ")} cannot all be default"
|
83
84
|
end
|
85
|
+
|
84
86
|
default.first
|
85
87
|
end
|
86
88
|
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
class Puppet::Interface
|
3
4
|
# @api private
|
4
5
|
module DocGen
|
@@ -57,7 +58,7 @@ class Puppet::Interface
|
|
57
58
|
# @dsl Faces
|
58
59
|
attr_doc :summary do |value|
|
59
60
|
value =~ /\n/ and
|
60
|
-
#TRANSLATORS 'Face' refers to a programming API in Puppet, 'summary' and 'description' are specifc attribute names and should not be translated
|
61
|
+
# TRANSLATORS 'Face' refers to a programming API in Puppet, 'summary' and 'description' are specifc attribute names and should not be translated
|
61
62
|
raise ArgumentError, _("Face summary should be a single line; put the long text in 'description' instead.")
|
62
63
|
value
|
63
64
|
end
|
@@ -110,7 +111,6 @@ class Puppet::Interface
|
|
110
111
|
end
|
111
112
|
end
|
112
113
|
end
|
113
|
-
|
114
114
|
end
|
115
115
|
|
116
116
|
# This module can be mixed in to provide a full set of documentation
|
@@ -179,9 +179,10 @@ class Puppet::Interface
|
|
179
179
|
self.short_description = value unless value.nil?
|
180
180
|
if @short_description.nil? then
|
181
181
|
return nil if @description.nil?
|
182
|
+
|
182
183
|
lines = @description.split("\n")
|
183
184
|
first_paragraph_break = lines.index('') || 5
|
184
|
-
grab
|
185
|
+
grab = [5, first_paragraph_break].min
|
185
186
|
@short_description = lines[0, grab].join("\n")
|
186
187
|
@short_description += ' [...]' if (grab < lines.length and first_paragraph_break >= 5)
|
187
188
|
end
|
@@ -202,14 +203,15 @@ class Puppet::Interface
|
|
202
203
|
def author(value = nil)
|
203
204
|
unless value.nil? then
|
204
205
|
unless value.is_a? String
|
205
|
-
#TRANSLATORS 'author' is an attribute name and should not be translated
|
206
|
+
# TRANSLATORS 'author' is an attribute name and should not be translated
|
206
207
|
raise ArgumentError, _('author must be a string; use multiple statements for multiple authors')
|
207
208
|
end
|
208
209
|
|
209
210
|
if value =~ /\n/ then
|
210
|
-
#TRANSLATORS 'author' is an attribute name and should not be translated
|
211
|
+
# TRANSLATORS 'author' is an attribute name and should not be translated
|
211
212
|
raise ArgumentError, _('author should be a single line; use multiple statements for multiple authors')
|
212
213
|
end
|
214
|
+
|
213
215
|
@authors.push(Puppet::Interface::DocGen.strip_whitespace(value))
|
214
216
|
end
|
215
217
|
@authors.empty? ? nil : @authors.join("\n")
|
@@ -227,9 +229,10 @@ class Puppet::Interface
|
|
227
229
|
# I think it's a bug that this ends up being the exposed
|
228
230
|
# version of `author` on ActionBuilder
|
229
231
|
if Array(value).any? {|x| x =~ /\n/ } then
|
230
|
-
#TRANSLATORS 'author' is an attribute name and should not be translated
|
232
|
+
# TRANSLATORS 'author' is an attribute name and should not be translated
|
231
233
|
raise ArgumentError, _('author should be a single line; use multiple statements')
|
232
234
|
end
|
235
|
+
|
233
236
|
@authors = Array(value).map{|x| Puppet::Interface::DocGen.strip_whitespace(x) }
|
234
237
|
end
|
235
238
|
alias :authors= :author=
|
@@ -248,9 +251,10 @@ class Puppet::Interface
|
|
248
251
|
# @dsl Faces
|
249
252
|
def copyright(owner = nil, years = nil)
|
250
253
|
if years.nil? and not owner.nil? then
|
251
|
-
#TRANSLATORS 'copyright' is an attribute name and should not be translated
|
254
|
+
# TRANSLATORS 'copyright' is an attribute name and should not be translated
|
252
255
|
raise ArgumentError, _('copyright takes the owners names, then the years covered')
|
253
256
|
end
|
257
|
+
|
254
258
|
self.copyright_owner = owner unless owner.nil?
|
255
259
|
self.copyright_years = years unless years.nil?
|
256
260
|
|
@@ -267,15 +271,15 @@ class Puppet::Interface
|
|
267
271
|
# @return [String] Comma-separated list of copyright owners
|
268
272
|
# @api private
|
269
273
|
attr_reader :copyright_owner
|
274
|
+
|
270
275
|
def copyright_owner=(value)
|
271
276
|
case value
|
272
277
|
when String then @copyright_owner = value
|
273
278
|
when Array then @copyright_owner = value.join(", ")
|
274
279
|
else
|
275
|
-
#TRANSLATORS 'copyright' is an attribute name and should not be translated
|
280
|
+
# TRANSLATORS 'copyright' is an attribute name and should not be translated
|
276
281
|
raise ArgumentError, _("copyright owner must be a string or an array of strings")
|
277
282
|
end
|
278
|
-
@copyright_owner
|
279
283
|
end
|
280
284
|
|
281
285
|
# Sets the copyright year
|
@@ -284,10 +288,11 @@ class Puppet::Interface
|
|
284
288
|
# @return [String]
|
285
289
|
# @api private
|
286
290
|
attr_reader :copyright_years
|
291
|
+
|
287
292
|
def copyright_years=(value)
|
288
293
|
years = munge_copyright_year value
|
289
|
-
years = (years.is_a?(Array) ? years : [years])
|
290
|
-
sort_by do |x| x.is_a?(Range) ? x.first : x end
|
294
|
+
years = (years.is_a?(Array) ? years : [years])
|
295
|
+
.sort_by do |x| x.is_a?(Range) ? x.first : x end
|
291
296
|
|
292
297
|
@copyright_years = years.map do |year|
|
293
298
|
if year.is_a? Range then
|
@@ -309,7 +314,7 @@ class Puppet::Interface
|
|
309
314
|
fault = "after #{future}"
|
310
315
|
end
|
311
316
|
if fault then
|
312
|
-
#TRANSLATORS 'copyright' is an attribute name and should not be translated
|
317
|
+
# TRANSLATORS 'copyright' is an attribute name and should not be translated
|
313
318
|
raise ArgumentError, _("copyright with a year %{value} is very strange; did you accidentally add or subtract two years?") %
|
314
319
|
{ value: fault }
|
315
320
|
end
|
@@ -325,12 +330,13 @@ class Puppet::Interface
|
|
325
330
|
found = part.split(/-/)
|
326
331
|
if found
|
327
332
|
unless found.length == 2 and found.all? {|x| x.strip =~ /^\d+$/ }
|
328
|
-
#TRANSLATORS 'copyright' is an attribute name and should not be translated
|
333
|
+
# TRANSLATORS 'copyright' is an attribute name and should not be translated
|
329
334
|
raise ArgumentError, _("%{value} is not a good copyright year or range") % { value: part.inspect }
|
330
335
|
end
|
336
|
+
|
331
337
|
Range.new(found[0].to_i, found[1].to_i)
|
332
338
|
else
|
333
|
-
#TRANSLATORS 'copyright' is an attribute name and should not be translated
|
339
|
+
# TRANSLATORS 'copyright' is an attribute name and should not be translated
|
334
340
|
raise ArgumentError, _("%{value} is not a good copyright year or range") % { value: part.inspect }
|
335
341
|
end
|
336
342
|
end
|
@@ -349,7 +355,7 @@ class Puppet::Interface
|
|
349
355
|
result
|
350
356
|
|
351
357
|
else
|
352
|
-
#TRANSLATORS 'copyright' is an attribute name and should not be translated
|
358
|
+
# TRANSLATORS 'copyright' is an attribute name and should not be translated
|
353
359
|
raise ArgumentError, _("%{value} is not a good copyright year, set, or range") % { value: input.inspect }
|
354
360
|
end
|
355
361
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
module Puppet::Interface::FaceCollection
|
3
4
|
@faces = Hash.new { |hash, key| hash[key] = {} }
|
4
5
|
|
@@ -27,6 +28,7 @@ module Puppet::Interface::FaceCollection
|
|
27
28
|
# elsewhere. Usually this will start from :current and all...
|
28
29
|
face = self[name, version]
|
29
30
|
return nil unless face
|
31
|
+
|
30
32
|
action = face.get_action(action_name)
|
31
33
|
unless action
|
32
34
|
# ...we need to search for it bound to an o{lder,ther} version. Since
|
@@ -110,13 +112,14 @@ module Puppet::Interface::FaceCollection
|
|
110
112
|
path = @loader.expand(version ? ::File.join(version.to_s, name.to_s) : name)
|
111
113
|
require path
|
112
114
|
true
|
113
|
-
|
114
115
|
rescue LoadError => e
|
115
116
|
raise unless e.message =~ %r{-- #{path}$}
|
117
|
+
|
116
118
|
# ...guess we didn't find the file; return a much better problem.
|
117
119
|
nil
|
118
120
|
rescue SyntaxError => e
|
119
121
|
raise unless e.message =~ %r{#{path}\.rb:\d+: }
|
122
|
+
|
120
123
|
Puppet.err _("Failed to load face %{name}:\n%{detail}") % { name: name, detail: e }
|
121
124
|
# ...but we just carry on after complaining.
|
122
125
|
nil
|
@@ -128,7 +131,7 @@ module Puppet::Interface::FaceCollection
|
|
128
131
|
|
129
132
|
def self.underscorize(name)
|
130
133
|
unless name.to_s =~ /^[-_a-z][-_a-z0-9]*$/i then
|
131
|
-
#TRANSLATORS 'face' refers to a programming API in Puppet
|
134
|
+
# TRANSLATORS 'face' refers to a programming API in Puppet
|
132
135
|
raise ArgumentError, _("%{name} (%{class_name}) is not a valid face name") %
|
133
136
|
{ name: name.inspect, class_name: name.class }
|
134
137
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
# This represents an option on an action or face (to be globally applied
|
3
4
|
# to its actions). Options should be constructed by calling
|
4
5
|
# {Puppet::Interface::OptionManager#option}, which is available on
|
@@ -21,6 +22,7 @@ class Puppet::Interface::Option
|
|
21
22
|
unless item =~ /^-[a-z]\b/ or item =~ /^--[^-]/ then
|
22
23
|
raise ArgumentError, _("%{option}: long options need two dashes (--)") % { option: item.inspect }
|
23
24
|
end
|
25
|
+
|
24
26
|
@optparse << item
|
25
27
|
|
26
28
|
# Duplicate checking...
|
@@ -36,6 +38,7 @@ class Puppet::Interface::Option
|
|
36
38
|
if Puppet.settings.include? name then
|
37
39
|
raise ArgumentError, _("%{option}: already defined in puppet") % { option: item.inspect }
|
38
40
|
end
|
41
|
+
|
39
42
|
dup = dups[name]
|
40
43
|
if dup
|
41
44
|
raise ArgumentError, _("%{option}: duplicates existing alias %{duplicate} in %{parent}") %
|
@@ -90,6 +93,7 @@ class Puppet::Interface::Option
|
|
90
93
|
unless found
|
91
94
|
raise ArgumentError, _("Can't find a name in the declaration %{declaration}") % { declaration: declaration.inspect }
|
92
95
|
end
|
96
|
+
|
93
97
|
found.captures.first
|
94
98
|
end
|
95
99
|
|
@@ -99,16 +103,18 @@ class Puppet::Interface::Option
|
|
99
103
|
unless name.to_s =~ /^[a-z]\w*$/
|
100
104
|
raise _("%{name} is an invalid option name") % { name: name.inspect }
|
101
105
|
end
|
106
|
+
|
102
107
|
name.to_sym
|
103
108
|
end
|
104
109
|
|
105
|
-
|
106
110
|
def takes_argument?
|
107
111
|
!!@argument
|
108
112
|
end
|
113
|
+
|
109
114
|
def optional_argument?
|
110
115
|
!!@optional_argument
|
111
116
|
end
|
117
|
+
|
112
118
|
def required?
|
113
119
|
!!@required
|
114
120
|
end
|
@@ -121,8 +127,9 @@ class Puppet::Interface::Option
|
|
121
127
|
if required
|
122
128
|
raise ArgumentError, _("%{name} can't be optional and have a default value") % { name: self }
|
123
129
|
end
|
130
|
+
|
124
131
|
unless proc.is_a? Proc
|
125
|
-
#TRANSLATORS 'proc' is a Ruby block of code
|
132
|
+
# TRANSLATORS 'proc' is a Ruby block of code
|
126
133
|
raise ArgumentError, _("default value for %{name} is a %{class_name}, not a proc") %
|
127
134
|
{ name: self, class_name: proc.class.name.inspect }
|
128
135
|
end
|
@@ -134,17 +141,20 @@ class Puppet::Interface::Option
|
|
134
141
|
end
|
135
142
|
|
136
143
|
attr_reader :parent, :name, :aliases, :optparse, :required
|
144
|
+
|
137
145
|
def required=(value)
|
138
146
|
if has_default?
|
139
147
|
raise ArgumentError, _("%{name} can't be optional and have a default value") % { name: self }
|
140
148
|
end
|
149
|
+
|
141
150
|
@required = value
|
142
151
|
end
|
143
152
|
|
144
153
|
attr_reader :before_action
|
154
|
+
|
145
155
|
def before_action=(proc)
|
146
156
|
unless proc.is_a? Proc
|
147
|
-
#TRANSLATORS 'proc' is a Ruby block of code
|
157
|
+
# TRANSLATORS 'proc' is a Ruby block of code
|
148
158
|
raise ArgumentError, _("before action hook for %{name} is a %{class_name}, not a proc") %
|
149
159
|
{ name: self, class_name: proc.class.name.inspect }
|
150
160
|
end
|
@@ -153,9 +163,10 @@ class Puppet::Interface::Option
|
|
153
163
|
end
|
154
164
|
|
155
165
|
attr_reader :after_action
|
166
|
+
|
156
167
|
def after_action=(proc)
|
157
168
|
unless proc.is_a? Proc
|
158
|
-
#TRANSLATORS 'proc' is a Ruby block of code
|
169
|
+
# TRANSLATORS 'proc' is a Ruby block of code
|
159
170
|
raise ArgumentError, _("after action hook for %{name} is a %{class_name}, not a proc") %
|
160
171
|
{ name: self, class_name: proc.class.name.inspect }
|
161
172
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
# @api public
|
3
4
|
class Puppet::Interface::OptionBuilder
|
4
5
|
# The option under construction
|
@@ -17,12 +18,12 @@ class Puppet::Interface::OptionBuilder
|
|
17
18
|
@face = face
|
18
19
|
@option = Puppet::Interface::Option.new(face, *declaration)
|
19
20
|
instance_eval(&block) if block_given?
|
20
|
-
@option
|
21
21
|
end
|
22
22
|
|
23
23
|
# Metaprogram the simple DSL from the option class.
|
24
24
|
Puppet::Interface::Option.instance_methods.grep(/=$/).each do |setter|
|
25
25
|
next if setter =~ /^=/
|
26
|
+
|
26
27
|
dsl = setter.to_s.chomp('=')
|
27
28
|
|
28
29
|
unless private_method_defined? dsl
|
@@ -42,17 +43,18 @@ class Puppet::Interface::OptionBuilder
|
|
42
43
|
# @dsl Faces
|
43
44
|
def before_action(&block)
|
44
45
|
unless block
|
45
|
-
#TRANSLATORS 'before_action' is a method name and should not be translated
|
46
|
+
# TRANSLATORS 'before_action' is a method name and should not be translated
|
46
47
|
raise ArgumentError, _("%{option} before_action requires a block") % { option: @option }
|
47
48
|
end
|
48
49
|
if @option.before_action
|
49
|
-
#TRANSLATORS 'before_action' is a method name and should not be translated
|
50
|
+
# TRANSLATORS 'before_action' is a method name and should not be translated
|
50
51
|
raise ArgumentError, _("%{option} already has a before_action set") % { option: @option }
|
51
52
|
end
|
52
53
|
unless block.arity == 3 then
|
53
|
-
#TRANSLATORS 'before_action' is a method name and should not be translated
|
54
|
+
# TRANSLATORS 'before_action' is a method name and should not be translated
|
54
55
|
raise ArgumentError, _("before_action takes three arguments, action, args, and options")
|
55
56
|
end
|
57
|
+
|
56
58
|
@option.before_action = block
|
57
59
|
end
|
58
60
|
|
@@ -62,17 +64,18 @@ class Puppet::Interface::OptionBuilder
|
|
62
64
|
# @dsl Faces
|
63
65
|
def after_action(&block)
|
64
66
|
unless block
|
65
|
-
#TRANSLATORS 'after_action' is a method name and should not be translated
|
67
|
+
# TRANSLATORS 'after_action' is a method name and should not be translated
|
66
68
|
raise ArgumentError, _("%{option} after_action requires a block") % { option: @option }
|
67
69
|
end
|
68
70
|
if @option.after_action
|
69
|
-
#TRANSLATORS 'after_action' is a method name and should not be translated
|
71
|
+
# TRANSLATORS 'after_action' is a method name and should not be translated
|
70
72
|
raise ArgumentError, _("%{option} already has an after_action set") % { option: @option }
|
71
73
|
end
|
72
74
|
unless block.arity == 3 then
|
73
|
-
#TRANSLATORS 'after_action' is a method name and should not be translated
|
75
|
+
# TRANSLATORS 'after_action' is a method name and should not be translated
|
74
76
|
raise ArgumentError, _("after_action takes three arguments, action, args, and options")
|
75
77
|
end
|
78
|
+
|
76
79
|
@option.after_action = block
|
77
80
|
end
|
78
81
|
|
@@ -91,16 +94,17 @@ class Puppet::Interface::OptionBuilder
|
|
91
94
|
# @dsl Faces
|
92
95
|
def default_to(&block)
|
93
96
|
unless block
|
94
|
-
#TRANSLATORS 'default_to' is a method name and should not be translated
|
97
|
+
# TRANSLATORS 'default_to' is a method name and should not be translated
|
95
98
|
raise ArgumentError, _("%{option} default_to requires a block") % { option: @option }
|
96
99
|
end
|
97
100
|
if @option.has_default?
|
98
101
|
raise ArgumentError, _("%{option} already has a default value") % { option: @option }
|
99
102
|
end
|
100
103
|
unless block.arity == 0
|
101
|
-
#TRANSLATORS 'default_to' is a method name and should not be translated
|
104
|
+
# TRANSLATORS 'default_to' is a method name and should not be translated
|
102
105
|
raise ArgumentError, _("%{option} default_to block should not take any arguments") % { option: @option }
|
103
106
|
end
|
107
|
+
|
104
108
|
@option.default = block
|
105
109
|
end
|
106
110
|
end
|
@@ -1,19 +1,20 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
# This class is not actually public API, but the method
|
3
4
|
# {Puppet::Interface::OptionManager#option option} is public when used
|
4
5
|
# as part of the Faces DSL (i.e. from within a
|
5
6
|
# {Puppet::Interface.define define} block).
|
6
7
|
# @api public
|
7
8
|
module Puppet::Interface::OptionManager
|
8
|
-
|
9
9
|
# @api private
|
10
10
|
def display_global_options(*args)
|
11
11
|
@display_global_options ||= []
|
12
12
|
[args].flatten.each do |refopt|
|
13
13
|
unless Puppet.settings.include?(refopt)
|
14
|
-
#TRANSLATORS 'Puppet.settings' references to the Puppet settings options and should not be translated
|
14
|
+
# TRANSLATORS 'Puppet.settings' references to the Puppet settings options and should not be translated
|
15
15
|
raise ArgumentError, _("Global option %{option} does not exist in Puppet.settings") % { option: refopt }
|
16
16
|
end
|
17
|
+
|
17
18
|
@display_global_options << refopt if refopt
|
18
19
|
end
|
19
20
|
@display_global_options.uniq!
|