puppet 5.0.0 → 6.0.0
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 +7 -0
- data/CONTRIBUTING.md +52 -42
- data/Gemfile +48 -81
- data/Gemfile.lock +156 -0
- data/MAINTAINERS +0 -19
- data/README.md +19 -17
- data/Rakefile +47 -36
- data/conf/auth.conf +7 -2
- data/conf/environment.conf +1 -1
- data/conf/fileserver.conf +1 -1
- data/conf/puppet.conf +4 -4
- data/ext/README.environment +1 -1
- data/ext/build_defaults.yaml +0 -2
- data/ext/cert_inspector +2 -2
- data/ext/debian/copyright +2 -24
- data/ext/debian/puppetmaster.README.debian +2 -2
- data/ext/envpuppet +1 -1
- data/ext/gentoo/init.d/puppetmaster +4 -4
- data/ext/hiera/hiera.yaml +1 -1
- data/ext/ips/puppet-agent +11 -11
- data/ext/ips/puppet-master +11 -11
- data/ext/project_data.yaml +9 -8
- data/ext/puppet-test +5 -5
- data/ext/redhat/client.init +2 -2
- data/ext/redhat/logrotate +1 -1
- data/ext/redhat/puppet.spec.erb +0 -4
- data/ext/regexp_nodes/regexp_nodes.rb +15 -16
- data/ext/solaris/smf/puppet +11 -11
- data/ext/solaris/smf/svc-puppetd +5 -5
- data/ext/solaris/smf/svc-puppetmasterd +5 -5
- data/ext/upload_facts.rb +2 -2
- data/ext/windows/service/daemon.rb +1 -1
- data/install.rb +2 -3
- data/lib/hiera/puppet_function.rb +5 -2
- data/lib/hiera/scope.rb +24 -2
- data/lib/hiera_puppet.rb +3 -3
- data/lib/puppet/agent/locker.rb +6 -5
- data/lib/puppet/agent.rb +24 -3
- data/lib/puppet/application/agent.rb +19 -14
- data/lib/puppet/application/apply.rb +30 -17
- data/lib/puppet/application/cert.rb +30 -174
- data/lib/puppet/application/config.rb +1 -0
- data/lib/puppet/application/describe.rb +6 -3
- data/lib/puppet/application/device.rb +165 -60
- data/lib/puppet/application/doc.rb +10 -4
- data/lib/puppet/application/face_base.rb +1 -1
- data/lib/puppet/application/facts.rb +5 -0
- data/lib/puppet/application/filebucket.rb +60 -18
- data/lib/puppet/application/help.rb +1 -0
- data/lib/puppet/application/lookup.rb +23 -11
- data/lib/puppet/application/resource.rb +8 -4
- data/lib/puppet/application/script.rb +261 -0
- data/lib/puppet/application/ssl.rb +133 -0
- data/lib/puppet/application.rb +42 -11
- data/lib/puppet/application_support.rb +7 -3
- data/lib/puppet/configurer/downloader.rb +1 -1
- data/lib/puppet/configurer/fact_handler.rb +5 -1
- data/lib/puppet/configurer/plugin_handler.rb +32 -9
- data/lib/puppet/configurer.rb +114 -76
- data/lib/puppet/confine.rb +4 -1
- data/lib/puppet/context.rb +1 -1
- data/lib/puppet/daemon.rb +3 -3
- data/lib/puppet/datatypes/error.rb +21 -0
- data/lib/puppet/datatypes/impl/error.rb +40 -0
- data/lib/puppet/datatypes.rb +213 -0
- data/lib/puppet/defaults.rb +279 -209
- data/lib/puppet/environments.rb +24 -11
- data/lib/puppet/error.rb +35 -18
- data/lib/puppet/etc.rb +6 -7
- data/lib/puppet/external/dot.rb +23 -24
- data/lib/puppet/external/pson/common.rb +2 -2
- data/lib/puppet/external/pson/pure/generator.rb +1 -1
- data/lib/puppet/external/pson/pure/parser.rb +1 -1
- data/lib/puppet/face/catalog.rb +2 -2
- data/lib/puppet/face/config.rb +157 -11
- data/lib/puppet/face/epp.rb +66 -37
- data/lib/puppet/face/facts.rb +49 -0
- data/lib/puppet/face/help/action.erb +4 -1
- data/lib/puppet/face/help/face.erb +1 -1
- data/lib/puppet/face/help/global.erb +2 -2
- data/lib/puppet/face/help/man.erb +1 -1
- data/lib/puppet/face/help.rb +78 -64
- data/lib/puppet/face/man.rb +56 -12
- data/lib/puppet/face/module/build.rb +5 -54
- data/lib/puppet/face/module/generate.rb +6 -243
- data/lib/puppet/face/module/install.rb +1 -4
- data/lib/puppet/face/module/list.rb +6 -22
- data/lib/puppet/face/module/search.rb +7 -3
- data/lib/puppet/face/module/uninstall.rb +15 -7
- data/lib/puppet/face/module/upgrade.rb +1 -4
- data/lib/puppet/face/node/clean.rb +14 -10
- data/lib/puppet/face/node.rb +1 -0
- data/lib/puppet/face/parser.rb +30 -4
- data/lib/puppet/face/plugin.rb +1 -3
- data/lib/puppet/face/status.rb +3 -2
- data/lib/puppet/feature/base.rb +8 -27
- data/lib/puppet/feature/bolt.rb +3 -0
- data/lib/puppet/feature/eventlog.rb +1 -1
- data/lib/puppet/file_bucket/dipper.rb +1 -2
- data/lib/puppet/file_bucket/file.rb +0 -2
- data/lib/puppet/file_serving/base.rb +18 -17
- data/lib/puppet/file_serving/configuration/parser.rb +25 -9
- data/lib/puppet/file_serving/configuration.rb +6 -0
- data/lib/puppet/file_serving/fileset.rb +1 -1
- data/lib/puppet/file_serving/http_metadata.rb +1 -1
- data/lib/puppet/file_serving/metadata.rb +4 -3
- data/lib/puppet/file_serving/mount/locales.rb +35 -0
- data/lib/puppet/file_serving/mount/tasks.rb +21 -0
- data/lib/puppet/file_system/uniquefile.rb +2 -2
- data/lib/puppet/forge/errors.rb +27 -25
- data/lib/puppet/forge/repository.rb +1 -1
- data/lib/puppet/forge.rb +22 -9
- data/lib/puppet/functions/abs.rb +61 -0
- data/lib/puppet/functions/alert.rb +1 -1
- data/lib/puppet/functions/all.rb +104 -0
- data/lib/puppet/functions/annotate.rb +11 -11
- data/lib/puppet/functions/any.rb +109 -0
- data/lib/puppet/functions/assert_type.rb +7 -7
- data/lib/puppet/functions/binary_file.rb +15 -2
- data/lib/puppet/functions/break.rb +34 -9
- data/lib/puppet/functions/call.rb +41 -4
- data/lib/puppet/functions/camelcase.rb +62 -0
- data/lib/puppet/functions/capitalize.rb +61 -0
- data/lib/puppet/functions/ceiling.rb +37 -0
- data/lib/puppet/functions/chomp.rb +57 -0
- data/lib/puppet/functions/chop.rb +67 -0
- data/lib/puppet/functions/compare.rb +125 -0
- data/lib/puppet/functions/contain.rb +25 -3
- data/lib/puppet/functions/convert_to.rb +34 -0
- data/lib/puppet/functions/crit.rb +1 -1
- data/lib/puppet/functions/debug.rb +1 -1
- data/lib/puppet/functions/defined.rb +14 -15
- data/lib/puppet/functions/dig.rb +47 -3
- data/lib/puppet/functions/downcase.rb +89 -0
- data/lib/puppet/functions/each.rb +30 -20
- data/lib/puppet/functions/emerg.rb +1 -1
- data/lib/puppet/functions/empty.rb +77 -0
- data/lib/puppet/functions/epp.rb +3 -0
- data/lib/puppet/functions/err.rb +1 -1
- data/lib/puppet/functions/eyaml_lookup_key.rb +11 -8
- data/lib/puppet/functions/filter.rb +30 -23
- data/lib/puppet/functions/find_file.rb +15 -2
- data/lib/puppet/functions/flatten.rb +64 -0
- data/lib/puppet/functions/floor.rb +37 -0
- data/lib/puppet/functions/get.rb +150 -0
- data/lib/puppet/functions/getvar.rb +87 -0
- data/lib/puppet/functions/hiera.rb +11 -11
- data/lib/puppet/functions/hiera_array.rb +11 -11
- data/lib/puppet/functions/hiera_hash.rb +12 -12
- data/lib/puppet/functions/hiera_include.rb +15 -15
- data/lib/puppet/functions/hocon_data.rb +1 -1
- data/lib/puppet/functions/include.rb +34 -2
- data/lib/puppet/functions/info.rb +1 -1
- data/lib/puppet/functions/inline_epp.rb +2 -2
- data/lib/puppet/functions/join.rb +56 -0
- data/lib/puppet/functions/json_data.rb +3 -3
- data/lib/puppet/functions/keys.rb +25 -0
- data/lib/puppet/functions/length.rb +44 -0
- data/lib/puppet/functions/lest.rb +39 -1
- data/lib/puppet/functions/lookup.rb +7 -5
- data/lib/puppet/functions/lstrip.rb +58 -0
- data/lib/puppet/functions/map.rb +34 -20
- data/lib/puppet/functions/match.rb +17 -6
- data/lib/puppet/functions/max.rb +183 -0
- data/lib/puppet/functions/min.rb +182 -0
- data/lib/puppet/functions/module_directory.rb +41 -0
- data/lib/puppet/functions/new.rb +982 -7
- data/lib/puppet/functions/next.rb +2 -9
- data/lib/puppet/functions/notice.rb +1 -1
- data/lib/puppet/functions/reduce.rb +36 -5
- data/lib/puppet/functions/regsubst.rb +10 -4
- data/lib/puppet/functions/require.rb +42 -2
- data/lib/puppet/functions/return.rb +2 -9
- data/lib/puppet/functions/reverse_each.rb +71 -2
- data/lib/puppet/functions/round.rb +24 -0
- data/lib/puppet/functions/rstrip.rb +58 -0
- data/lib/puppet/functions/size.rb +15 -0
- data/lib/puppet/functions/slice.rb +25 -12
- data/lib/puppet/functions/sort.rb +74 -0
- data/lib/puppet/functions/split.rb +12 -10
- data/lib/puppet/functions/step.rb +73 -1
- data/lib/puppet/functions/strftime.rb +178 -10
- data/lib/puppet/functions/strip.rb +58 -0
- data/lib/puppet/functions/then.rb +65 -2
- data/lib/puppet/functions/tree_each.rb +200 -0
- data/lib/puppet/functions/type.rb +42 -1
- data/lib/puppet/functions/unique.rb +13 -13
- data/lib/puppet/functions/unwrap.rb +8 -4
- data/lib/puppet/functions/upcase.rb +89 -0
- data/lib/puppet/functions/values.rb +25 -0
- data/lib/puppet/functions/versioncmp.rb +1 -1
- data/lib/puppet/functions/warning.rb +1 -1
- data/lib/puppet/functions/with.rb +9 -7
- data/lib/puppet/functions/yaml_data.rb +8 -7
- data/lib/puppet/functions.rb +212 -95
- data/lib/puppet/generate/models/type/property.rb +1 -1
- data/lib/puppet/generate/type.rb +1 -1
- data/lib/puppet/gettext/config.rb +275 -0
- data/lib/puppet/gettext/module_translations.rb +42 -0
- data/lib/puppet/gettext/stubs.rb +11 -0
- data/lib/puppet/graph/relationship_graph.rb +7 -1
- data/lib/puppet/graph/simple_graph.rb +12 -8
- data/lib/puppet/graph.rb +0 -2
- data/lib/puppet/indirector/catalog/compiler.rb +48 -16
- data/lib/puppet/indirector/catalog/json.rb +14 -3
- data/lib/puppet/indirector/catalog/yaml.rb +0 -16
- data/lib/puppet/indirector/certificate/file.rb +0 -1
- data/lib/puppet/indirector/exec.rb +1 -1
- data/lib/puppet/indirector/facts/facter.rb +4 -6
- data/lib/puppet/indirector/facts/network_device.rb +2 -2
- data/lib/puppet/indirector/facts/rest.rb +21 -0
- data/lib/puppet/indirector/facts/yaml.rb +4 -6
- data/lib/puppet/indirector/file_bucket_file/file.rb +11 -4
- data/lib/puppet/indirector/file_content/http.rb +3 -1
- data/lib/puppet/indirector/file_server.rb +1 -1
- data/lib/puppet/indirector/indirection.rb +28 -24
- data/lib/puppet/indirector/key/file.rb +1 -6
- data/lib/puppet/indirector/node/exec.rb +2 -4
- data/lib/puppet/indirector/node/yaml.rb +0 -6
- data/lib/puppet/indirector/request.rb +19 -15
- data/lib/puppet/indirector/rest.rb +21 -68
- data/lib/puppet/indirector/ssl_file.rb +5 -46
- data/lib/puppet/indirector/terminus.rb +4 -4
- data/lib/puppet/indirector/yaml.rb +4 -4
- data/lib/puppet/info_service/class_information_service.rb +1 -1
- data/lib/puppet/info_service/task_information_service.rb +36 -0
- data/lib/puppet/info_service.rb +10 -0
- data/lib/puppet/interface/action.rb +54 -29
- data/lib/puppet/interface/action_builder.rb +22 -5
- data/lib/puppet/interface/action_manager.rb +1 -1
- data/lib/puppet/interface/documentation.rb +21 -10
- data/lib/puppet/interface/face_collection.rb +7 -3
- data/lib/puppet/interface/option.rb +36 -15
- data/lib/puppet/interface/option_builder.rb +23 -9
- data/lib/puppet/interface/option_manager.rb +9 -4
- data/lib/puppet/interface.rb +3 -2
- data/lib/puppet/loaders.rb +3 -0
- data/lib/puppet/metatype/manager.rb +9 -7
- data/lib/puppet/module/task.rb +267 -0
- data/lib/puppet/module.rb +70 -14
- data/lib/puppet/module_tool/applications/application.rb +5 -5
- data/lib/puppet/module_tool/applications/checksummer.rb +3 -3
- data/lib/puppet/module_tool/applications/installer.rb +9 -7
- data/lib/puppet/module_tool/applications/uninstaller.rb +4 -2
- data/lib/puppet/module_tool/applications/unpacker.rb +4 -4
- data/lib/puppet/module_tool/applications/upgrader.rb +8 -6
- data/lib/puppet/module_tool/applications.rb +0 -1
- data/lib/puppet/module_tool/dependency.rb +1 -1
- data/lib/puppet/module_tool/errors/installer.rb +18 -20
- data/lib/puppet/module_tool/errors/shared.rb +20 -15
- data/lib/puppet/module_tool/errors/uninstaller.rb +1 -0
- data/lib/puppet/module_tool/errors/upgrader.rb +1 -1
- data/lib/puppet/module_tool/installed_modules.rb +3 -3
- data/lib/puppet/module_tool/local_tarball.rb +3 -3
- data/lib/puppet/module_tool/metadata.rb +3 -5
- data/lib/puppet/module_tool/shared_behaviors.rb +2 -2
- data/lib/puppet/module_tool/tar/mini.rb +57 -4
- data/lib/puppet/module_tool.rb +2 -5
- data/lib/puppet/network/auth_config_parser.rb +18 -13
- data/lib/puppet/network/authconfig.rb +1 -14
- data/lib/puppet/network/authstore.rb +3 -3
- data/lib/puppet/network/client_request.rb +1 -1
- data/lib/puppet/network/format.rb +3 -3
- data/lib/puppet/network/format_support.rb +14 -9
- data/lib/puppet/network/formats.rb +98 -9
- data/lib/puppet/network/http/api/indirected_routes.rb +11 -3
- data/lib/puppet/network/http/api/indirection_type.rb +1 -1
- data/lib/puppet/network/http/api/master/v3/environment.rb +7 -4
- data/lib/puppet/network/http/api/master/v3/environments.rb +2 -2
- data/lib/puppet/network/http/api.rb +1 -10
- data/lib/puppet/network/http/compression.rb +1 -1
- data/lib/puppet/network/http/connection.rb +105 -25
- data/lib/puppet/network/http/error.rb +10 -10
- data/lib/puppet/network/http/factory.rb +8 -0
- data/lib/puppet/network/http/handler.rb +59 -27
- data/lib/puppet/network/http.rb +0 -2
- data/lib/puppet/network/resolver.rb +139 -67
- data/lib/puppet/network/rights.rb +1 -1
- data/lib/puppet/node/environment.rb +23 -20
- data/lib/puppet/node/facts.rb +20 -1
- data/lib/puppet/node.rb +80 -8
- data/lib/puppet/parameter/boolean.rb +1 -1
- data/lib/puppet/parameter/value_collection.rb +9 -9
- data/lib/puppet/parameter.rb +15 -10
- data/lib/puppet/parser/abstract_compiler.rb +36 -0
- data/lib/puppet/parser/ast/branch.rb +4 -4
- data/lib/puppet/parser/ast/leaf.rb +7 -2
- data/lib/puppet/parser/ast/node.rb +2 -2
- data/lib/puppet/parser/ast/pops_bridge.rb +26 -52
- data/lib/puppet/parser/ast.rb +4 -8
- data/lib/puppet/parser/catalog_compiler.rb +32 -0
- data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +1 -1
- data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +9 -2
- data/lib/puppet/parser/compiler.rb +29 -61
- data/lib/puppet/parser/functions/assert_type.rb +4 -4
- data/lib/puppet/parser/functions/binary_file.rb +1 -1
- data/lib/puppet/parser/functions/break.rb +1 -1
- data/lib/puppet/parser/functions/create_resources.rb +7 -7
- data/lib/puppet/parser/functions/defined.rb +1 -1
- data/lib/puppet/parser/functions/dig.rb +12 -3
- data/lib/puppet/parser/functions/each.rb +3 -3
- data/lib/puppet/parser/functions/epp.rb +4 -1
- data/lib/puppet/parser/functions/filter.rb +3 -3
- data/lib/puppet/parser/functions/find_file.rb +1 -1
- data/lib/puppet/parser/functions/fqdn_rand.rb +16 -1
- data/lib/puppet/parser/functions/generate.rb +3 -5
- data/lib/puppet/parser/functions/hiera.rb +4 -4
- data/lib/puppet/parser/functions/hiera_array.rb +5 -5
- data/lib/puppet/parser/functions/hiera_hash.rb +6 -6
- data/lib/puppet/parser/functions/hiera_include.rb +10 -11
- data/lib/puppet/parser/functions/inline_epp.rb +1 -1
- data/lib/puppet/parser/functions/inline_template.rb +8 -3
- data/lib/puppet/parser/functions/lest.rb +2 -2
- data/lib/puppet/parser/functions/lookup.rb +1 -1
- data/lib/puppet/parser/functions/map.rb +2 -2
- data/lib/puppet/parser/functions/match.rb +1 -1
- data/lib/puppet/parser/functions/new.rb +106 -54
- data/lib/puppet/parser/functions/next.rb +1 -1
- data/lib/puppet/parser/functions/realize.rb +6 -0
- data/lib/puppet/parser/functions/reduce.rb +33 -2
- data/lib/puppet/parser/functions/return.rb +23 -2
- data/lib/puppet/parser/functions/reverse_each.rb +3 -3
- data/lib/puppet/parser/functions/scanf.rb +1 -1
- data/lib/puppet/parser/functions/sha256.rb +5 -0
- data/lib/puppet/parser/functions/slice.rb +1 -1
- data/lib/puppet/parser/functions/sprintf.rb +28 -3
- data/lib/puppet/parser/functions/step.rb +2 -2
- data/lib/puppet/parser/functions/strftime.rb +1 -1
- data/lib/puppet/parser/functions/tag.rb +6 -0
- data/lib/puppet/parser/functions/tagged.rb +6 -3
- data/lib/puppet/parser/functions/template.rb +11 -2
- data/lib/puppet/parser/functions/then.rb +2 -2
- data/lib/puppet/parser/functions/type.rb +1 -1
- data/lib/puppet/parser/functions/with.rb +5 -5
- data/lib/puppet/parser/functions.rb +40 -7
- data/lib/puppet/parser/parser_factory.rb +1 -1
- data/lib/puppet/parser/relationship.rb +2 -2
- data/lib/puppet/parser/resource/param.rb +12 -5
- data/lib/puppet/parser/resource.rb +39 -12
- data/lib/puppet/parser/scope.rb +55 -24
- data/lib/puppet/parser/script_compiler.rb +123 -0
- data/lib/puppet/parser/templatewrapper.rb +4 -3
- data/lib/puppet/parser/type_loader.rb +12 -12
- data/lib/puppet/parser.rb +1 -0
- data/lib/puppet/pops/adapters.rb +14 -0
- data/lib/puppet/pops/evaluator/access_operator.rb +49 -8
- data/lib/puppet/pops/evaluator/closure.rb +12 -4
- data/lib/puppet/pops/evaluator/collector_transformer.rb +4 -3
- data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +1 -1
- data/lib/puppet/pops/evaluator/compare_operator.rb +7 -5
- data/lib/puppet/pops/evaluator/deferred_resolver.rb +127 -0
- data/lib/puppet/pops/evaluator/epp_evaluator.rb +36 -10
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +61 -17
- data/lib/puppet/pops/evaluator/external_syntax_support.rb +1 -1
- data/lib/puppet/pops/evaluator/literal_evaluator.rb +1 -1
- data/lib/puppet/pops/evaluator/relationship_operator.rb +1 -1
- data/lib/puppet/pops/evaluator/runtime3_converter.rb +29 -8
- data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +4 -4
- data/lib/puppet/pops/evaluator/runtime3_support.rb +17 -20
- data/lib/puppet/pops/functions/dispatch.rb +13 -6
- data/lib/puppet/pops/functions/function.rb +10 -4
- data/lib/puppet/pops/issue_reporter.rb +25 -3
- data/lib/puppet/pops/issues.rb +82 -15
- data/lib/puppet/pops/label_provider.rb +1 -1
- data/lib/puppet/pops/loader/base_loader.rb +10 -0
- data/lib/puppet/pops/loader/dependency_loader.rb +7 -0
- data/lib/puppet/pops/loader/loader.rb +22 -3
- data/lib/puppet/pops/loader/loader_paths.rb +183 -31
- data/lib/puppet/pops/loader/module_loaders.rb +239 -41
- data/lib/puppet/pops/loader/puppet_plan_instantiator.rb +84 -0
- data/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +10 -10
- data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +39 -0
- data/lib/puppet/pops/loader/ruby_function_instantiator.rb +1 -2
- data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +54 -0
- data/lib/puppet/pops/loader/runtime3_type_loader.rb +6 -1
- data/lib/puppet/pops/loader/static_loader.rb +23 -45
- data/lib/puppet/pops/loader/task_instantiator.rb +97 -0
- data/lib/puppet/pops/loader/type_definition_instantiator.rb +8 -1
- data/lib/puppet/pops/loaders.rb +158 -45
- data/lib/puppet/pops/lookup/context.rb +1 -1
- data/lib/puppet/pops/lookup/data_dig_function_provider.rb +1 -1
- data/lib/puppet/pops/lookup/explainer.rb +2 -1
- data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
- data/lib/puppet/pops/lookup/hiera_config.rb +4 -4
- data/lib/puppet/pops/lookup/interpolation.rb +1 -1
- data/lib/puppet/pops/lookup/lookup_adapter.rb +61 -12
- data/lib/puppet/pops/merge_strategy.rb +7 -4
- data/lib/puppet/pops/migration/migration_checker.rb +8 -8
- data/lib/puppet/pops/model/ast.pp +19 -0
- data/lib/puppet/pops/model/ast.rb +567 -436
- data/lib/puppet/pops/model/ast_transformer.rb +1 -1
- data/lib/puppet/pops/model/factory.rb +232 -147
- data/lib/puppet/pops/model/model_label_provider.rb +9 -1
- data/lib/puppet/pops/model/model_tree_dumper.rb +17 -2
- data/lib/puppet/pops/model/pn_transformer.rb +400 -0
- data/lib/puppet/pops/model/tree_dumper.rb +1 -1
- data/lib/puppet/pops/parser/code_merger.rb +2 -2
- data/lib/puppet/pops/parser/egrammar.ra +85 -24
- data/lib/puppet/pops/parser/eparser.rb +1791 -1578
- data/lib/puppet/pops/parser/epp_parser.rb +1 -1
- data/lib/puppet/pops/parser/epp_support.rb +7 -5
- data/lib/puppet/pops/parser/evaluating_parser.rb +1 -1
- data/lib/puppet/pops/parser/heredoc_support.rb +2 -2
- data/lib/puppet/pops/parser/interpolation_support.rb +2 -2
- data/lib/puppet/pops/parser/lexer2.rb +5 -5
- data/lib/puppet/pops/parser/lexer_support.rb +5 -4
- data/lib/puppet/pops/parser/locatable.rb +1 -1
- data/lib/puppet/pops/parser/locator.rb +7 -15
- data/lib/puppet/pops/parser/parser_support.rb +3 -3
- data/lib/puppet/pops/parser/pn_parser.rb +316 -0
- data/lib/puppet/pops/parser/slurp_support.rb +0 -3
- data/lib/puppet/pops/patterns.rb +2 -1
- data/lib/puppet/pops/pcore.rb +67 -12
- data/lib/puppet/pops/pn.rb +236 -0
- data/lib/puppet/pops/puppet_stack.rb +15 -1
- data/lib/puppet/pops/resource/param.rb +2 -2
- data/lib/puppet/pops/resource/resource_type_impl.rb +4 -4
- data/lib/puppet/pops/serialization/abstract_reader.rb +4 -0
- data/lib/puppet/pops/serialization/abstract_writer.rb +8 -1
- data/lib/puppet/pops/serialization/extension.rb +1 -0
- data/lib/puppet/pops/serialization/from_data_converter.rb +69 -26
- data/lib/puppet/pops/serialization/json.rb +7 -7
- data/lib/puppet/pops/serialization/json_path.rb +3 -2
- data/lib/puppet/pops/serialization/object.rb +3 -4
- data/lib/puppet/pops/serialization/serializer.rb +2 -1
- data/lib/puppet/pops/serialization/to_data_converter.rb +27 -14
- data/lib/puppet/pops/serialization/to_stringified_converter.rb +226 -0
- data/lib/puppet/pops/serialization.rb +3 -2
- data/lib/puppet/pops/time/timespan.rb +1 -1
- data/lib/puppet/pops/time/timestamp.rb +31 -19
- data/lib/puppet/pops/types/annotatable.rb +2 -2
- data/lib/puppet/pops/types/annotation.rb +8 -8
- data/lib/puppet/pops/types/class_loader.rb +9 -6
- data/lib/puppet/pops/types/implementation_registry.rb +29 -36
- data/lib/puppet/pops/types/iterable.rb +42 -11
- data/lib/puppet/pops/types/p_binary_type.rb +12 -6
- data/lib/puppet/pops/types/p_init_type.rb +238 -0
- data/lib/puppet/pops/types/p_meta_type.rb +18 -11
- data/lib/puppet/pops/types/p_object_type.rb +240 -48
- data/lib/puppet/pops/types/p_object_type_extension.rb +218 -0
- data/lib/puppet/pops/types/p_sem_ver_range_type.rb +5 -6
- data/lib/puppet/pops/types/p_sem_ver_type.rb +12 -4
- data/lib/puppet/pops/types/p_sensitive_type.rb +2 -2
- data/lib/puppet/pops/types/p_timespan_type.rb +9 -9
- data/lib/puppet/pops/types/p_timestamp_type.rb +7 -3
- data/lib/puppet/pops/types/p_type_set_type.rb +33 -10
- data/lib/puppet/pops/types/p_uri_type.rb +190 -0
- data/lib/puppet/pops/types/puppet_object.rb +16 -2
- data/lib/puppet/pops/types/ruby_generator.rb +111 -78
- data/lib/puppet/pops/types/ruby_method.rb +2 -2
- data/lib/puppet/pops/types/string_converter.rb +38 -14
- data/lib/puppet/pops/types/tree_iterators.rb +254 -0
- data/lib/puppet/pops/types/type_acceptor.rb +1 -1
- data/lib/puppet/pops/types/type_calculator.rb +31 -20
- data/lib/puppet/pops/types/type_factory.rb +82 -17
- data/lib/puppet/pops/types/type_formatter.rb +77 -9
- data/lib/puppet/pops/types/type_mismatch_describer.rb +106 -137
- data/lib/puppet/pops/types/type_parser.rb +130 -24
- data/lib/puppet/pops/types/type_set_reference.rb +2 -2
- data/lib/puppet/pops/types/type_with_members.rb +43 -0
- data/lib/puppet/pops/types/types.rb +456 -219
- data/lib/puppet/pops/utils.rb +2 -2
- data/lib/puppet/pops/validation/checker4_0.rb +145 -8
- data/lib/puppet/pops/validation/tasks_checker.rb +101 -0
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +13 -8
- data/lib/puppet/pops/validation.rb +14 -12
- data/lib/puppet/pops.rb +2 -1
- data/lib/puppet/property/ensure.rb +2 -2
- data/lib/puppet/property/keyvalue.rb +70 -8
- data/lib/puppet/property.rb +15 -7
- data/lib/puppet/provider/aix_object.rb +483 -0
- data/lib/puppet/provider/exec.rb +0 -2
- data/lib/puppet/provider/file/windows.rb +1 -1
- data/lib/puppet/provider/group/aix.rb +51 -110
- data/lib/puppet/provider/group/groupadd.rb +27 -1
- data/lib/puppet/provider/group/windows_adsi.rb +4 -7
- data/lib/puppet/provider/ldap.rb +2 -2
- data/lib/puppet/provider/nameservice/directoryservice.rb +7 -6
- data/lib/puppet/provider/nameservice/objectadd.rb +13 -24
- data/lib/puppet/provider/nameservice/pw.rb +14 -14
- data/lib/puppet/provider/nameservice.rb +20 -10
- data/lib/puppet/provider/package/aix.rb +5 -5
- data/lib/puppet/provider/package/appdmg.rb +0 -1
- data/lib/puppet/provider/package/apple.rb +0 -1
- data/lib/puppet/provider/package/dnf.rb +2 -1
- data/lib/puppet/provider/package/gem.rb +13 -12
- data/lib/puppet/provider/package/macports.rb +2 -2
- data/lib/puppet/provider/package/nim.rb +7 -8
- data/lib/puppet/provider/package/opkg.rb +1 -1
- data/lib/puppet/provider/package/pacman.rb +4 -4
- data/lib/puppet/provider/package/pip.rb +15 -6
- data/lib/puppet/provider/package/pkg.rb +12 -6
- data/lib/puppet/provider/package/pkgdmg.rb +3 -4
- data/lib/puppet/provider/package/pkgutil.rb +5 -5
- data/lib/puppet/provider/package/portage.rb +9 -10
- data/lib/puppet/provider/package/puppet_gem.rb +1 -1
- data/lib/puppet/provider/package/rpm.rb +1 -1
- data/lib/puppet/provider/package/windows/package.rb +1 -1
- data/lib/puppet/provider/package/yum.rb +34 -10
- data/lib/puppet/provider/package/zypper.rb +5 -5
- data/lib/puppet/provider/parsedfile.rb +4 -4
- data/lib/puppet/provider/service/base.rb +23 -10
- data/lib/puppet/provider/service/debian.rb +1 -0
- data/lib/puppet/provider/service/init.rb +2 -1
- data/lib/puppet/provider/service/launchd.rb +7 -8
- data/lib/puppet/provider/service/redhat.rb +3 -2
- data/lib/puppet/provider/service/runit.rb +2 -1
- data/lib/puppet/provider/service/smf.rb +5 -3
- data/lib/puppet/provider/service/systemd.rb +6 -3
- data/lib/puppet/provider/service/upstart.rb +11 -1
- data/lib/puppet/provider/service/windows.rb +37 -40
- data/lib/puppet/provider/user/aix.rb +143 -247
- data/lib/puppet/provider/user/openbsd.rb +3 -2
- data/lib/puppet/provider/user/pw.rb +1 -1
- data/lib/puppet/provider/user/user_role_add.rb +7 -1
- data/lib/puppet/provider/user/useradd.rb +40 -6
- data/lib/puppet/provider/user/windows_adsi.rb +1 -1
- data/lib/puppet/provider.rb +34 -13
- data/lib/puppet/reference/configuration.rb +12 -2
- data/lib/puppet/reference/providers.rb +1 -1
- data/lib/puppet/reference/report.rb +1 -1
- data/lib/puppet/reference/type.rb +11 -12
- data/lib/puppet/relationship.rb +2 -1
- data/lib/puppet/reports/http.rb +4 -2
- data/lib/puppet/reports/store.rb +1 -1
- data/lib/puppet/reports.rb +2 -2
- data/lib/puppet/resource/capability_finder.rb +49 -27
- data/lib/puppet/resource/catalog.rb +42 -34
- data/lib/puppet/resource/status.rb +11 -3
- data/lib/puppet/resource/type.rb +16 -12
- data/lib/puppet/resource/type_collection.rb +2 -2
- data/lib/puppet/resource.rb +30 -12
- data/lib/puppet/rest/client.rb +83 -0
- data/lib/puppet/rest/errors.rb +14 -0
- data/lib/puppet/rest/response.rb +34 -0
- data/lib/puppet/rest/route.rb +84 -0
- data/lib/puppet/rest/routes.rb +154 -0
- data/lib/puppet/rest/ssl_context.rb +13 -0
- data/lib/puppet/settings/base_setting.rb +29 -9
- data/lib/puppet/settings/certificate_revocation_setting.rb +21 -0
- data/lib/puppet/settings/config_file.rb +16 -7
- data/lib/puppet/settings/environment_conf.rb +29 -11
- data/lib/puppet/settings/file_setting.rb +1 -1
- data/lib/puppet/settings/ini_file.rb +66 -12
- data/lib/puppet/settings/ttl_setting.rb +5 -0
- data/lib/puppet/settings.rb +68 -38
- data/lib/puppet/ssl/base.rb +10 -13
- data/lib/puppet/ssl/certificate.rb +6 -2
- data/lib/puppet/ssl/certificate_request.rb +19 -21
- data/lib/puppet/ssl/certificate_request_attributes.rb +1 -1
- data/lib/puppet/ssl/certificate_signer.rb +11 -0
- data/lib/puppet/ssl/host.rb +413 -174
- data/lib/puppet/ssl/key.rb +1 -5
- data/lib/puppet/ssl/oids.rb +10 -4
- data/lib/puppet/ssl/validator/default_validator.rb +33 -19
- data/lib/puppet/ssl.rb +0 -1
- data/lib/puppet/syntax_checkers/base64.rb +6 -7
- data/lib/puppet/syntax_checkers/json.rb +1 -1
- data/lib/puppet/test/test_helper.rb +2 -3
- data/lib/puppet/transaction/additional_resource_generator.rb +2 -2
- data/lib/puppet/transaction/event.rb +38 -15
- data/lib/puppet/transaction/event_manager.rb +3 -1
- data/lib/puppet/transaction/persistence.rb +17 -2
- data/lib/puppet/transaction/report.rb +33 -16
- data/lib/puppet/transaction.rb +43 -16
- data/lib/puppet/type/exec.rb +23 -20
- data/lib/puppet/type/file/checksum.rb +7 -1
- data/lib/puppet/type/file/checksum_value.rb +4 -3
- data/lib/puppet/type/file/content.rb +17 -5
- data/lib/puppet/type/file/data_sync.rb +2 -1
- data/lib/puppet/type/file/ensure.rb +1 -1
- data/lib/puppet/type/file/mode.rb +1 -1
- data/lib/puppet/type/file/source.rb +21 -8
- data/lib/puppet/type/file.rb +36 -25
- data/lib/puppet/type/group.rb +7 -6
- data/lib/puppet/type/notify.rb +1 -1
- data/lib/puppet/type/package.rb +5 -8
- data/lib/puppet/type/resources.rb +1 -1
- data/lib/puppet/type/schedule.rb +73 -112
- data/lib/puppet/type/service.rb +3 -6
- data/lib/puppet/type/stage.rb +1 -1
- data/lib/puppet/type/tidy.rb +21 -8
- data/lib/puppet/type/user.rb +98 -50
- data/lib/puppet/type.rb +76 -67
- data/lib/puppet/util/at_fork/solaris.rb +6 -4
- data/lib/puppet/util/autoload.rb +62 -54
- data/lib/puppet/util/backups.rb +1 -1
- data/lib/puppet/util/character_encoding.rb +2 -24
- data/lib/puppet/util/checksums.rb +82 -3
- data/lib/puppet/util/classgen.rb +0 -6
- data/lib/puppet/util/command_line/trollop.rb +6 -5
- data/lib/puppet/util/command_line.rb +5 -1
- data/lib/puppet/util/connection.rb +74 -0
- data/lib/puppet/util/errors.rb +59 -8
- data/lib/puppet/util/execution.rb +70 -17
- data/lib/puppet/util/feature.rb +63 -41
- data/lib/puppet/util/fileparsing.rb +30 -10
- data/lib/puppet/util/filetype.rb +2 -2
- data/lib/puppet/util/http_proxy.rb +18 -8
- data/lib/puppet/util/inifile.rb +3 -4
- data/lib/puppet/util/instance_loader.rb +4 -24
- data/lib/puppet/util/json.rb +69 -0
- data/lib/puppet/util/json_lockfile.rb +3 -3
- data/lib/puppet/util/ldap/connection.rb +7 -7
- data/lib/puppet/util/ldap/manager.rb +6 -3
- data/lib/puppet/util/log/destinations.rb +13 -4
- data/lib/puppet/util/log.rb +30 -33
- data/lib/puppet/util/logging.rb +26 -29
- data/lib/puppet/util/monkey_patches.rb +1 -1
- data/lib/puppet/util/network_device/base.rb +1 -1
- data/lib/puppet/util/network_device/config.rb +22 -15
- data/lib/puppet/util/platform.rb +16 -0
- data/lib/puppet/util/plist.rb +7 -5
- data/lib/puppet/util/posix.rb +1 -1
- data/lib/puppet/util/provider_features.rb +3 -6
- data/lib/puppet/util/rdoc/generators/puppet_generator.rb +3 -3
- data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +1 -1
- data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -1
- data/lib/puppet/util/rdoc.rb +1 -1
- data/lib/puppet/util/reference.rb +8 -15
- data/lib/puppet/util/rubygems.rb +1 -13
- data/lib/puppet/util/run_mode.rb +1 -1
- data/lib/puppet/util/selinux.rb +1 -1
- data/lib/puppet/util/ssl.rb +40 -1
- data/lib/puppet/util/storage.rb +3 -3
- data/lib/puppet/util/suidmanager.rb +8 -5
- data/lib/puppet/util/tag_set.rb +1 -1
- data/lib/puppet/util/tagging.rb +18 -5
- data/lib/puppet/util/warnings.rb +0 -2
- data/lib/puppet/util/windows/adsi.rb +160 -214
- data/lib/puppet/util/windows/api_types.rb +9 -5
- data/lib/puppet/util/windows/com.rb +2 -1
- data/lib/puppet/util/windows/eventlog.rb +10 -5
- data/lib/puppet/util/windows/file.rb +113 -12
- data/lib/puppet/util/windows/principal.rb +7 -6
- data/lib/puppet/util/windows/process.rb +10 -2
- data/lib/puppet/util/windows/registry.rb +2 -2
- data/lib/puppet/util/windows/security.rb +26 -14
- data/lib/puppet/util/windows/service.rb +770 -0
- data/lib/puppet/util/windows/sid.rb +60 -9
- data/lib/puppet/util/windows.rb +19 -2
- data/lib/puppet/util/yaml.rb +41 -5
- data/lib/puppet/util.rb +50 -50
- data/lib/puppet/vendor/deep_merge/README.md +2 -2
- data/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +18 -18
- data/lib/puppet/vendor/pathspec/lib/pathspec.rb +1 -1
- data/lib/puppet/version.rb +1 -1
- data/lib/puppet.rb +12 -68
- data/lib/puppet_pal.rb +1102 -0
- data/locales/en/puppet.po +19 -0
- data/locales/ja/puppet.po +11128 -0
- data/locales/puppet.pot +3723 -2251
- data/man/man5/puppet.conf.5 +342 -187
- data/man/man8/puppet-agent.8 +36 -10
- data/man/man8/puppet-apply.8 +21 -6
- data/man/man8/puppet-catalog.8 +12 -15
- data/man/man8/puppet-config.8 +40 -6
- data/man/man8/puppet-describe.8 +3 -3
- data/man/man8/puppet-device.8 +48 -14
- data/man/man8/puppet-doc.8 +5 -5
- data/man/man8/puppet-epp.8 +49 -21
- data/man/man8/puppet-facts.8 +58 -9
- data/man/man8/puppet-filebucket.8 +76 -10
- data/man/man8/puppet-generate.8 +84 -0
- data/man/man8/puppet-help.8 +4 -4
- data/man/man8/puppet-key.8 +11 -17
- data/man/man8/puppet-lookup.8 +104 -0
- data/man/man8/puppet-man.8 +13 -7
- data/man/man8/puppet-module.8 +29 -98
- data/man/man8/puppet-node.8 +12 -15
- data/man/man8/puppet-parser.8 +34 -11
- data/man/man8/puppet-plugin.8 +4 -4
- data/man/man8/puppet-report.8 +9 -9
- data/man/man8/puppet-resource.8 +4 -8
- data/man/man8/puppet-script.8 +67 -0
- data/man/man8/puppet-ssl.8 +28 -0
- data/man/man8/puppet-status.8 +9 -9
- data/man/man8/puppet.8 +21 -3
- data/spec/fixtures/unit/application/environments/production/data/common.yaml +2 -0
- data/spec/fixtures/unit/functions/hiera/hiera/backend/hieraspec_backend.rb +22 -0
- data/spec/fixtures/unit/functions/lookup/hiera/backend/custom_backend.rb +18 -0
- data/spec/fixtures/unit/functions/lookup/hiera/backend/other_backend.rb +7 -0
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome2/lib/puppet_x/awesome2/echo_scheme_handler.rb +1 -1
- data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/manifests/init.pp +6 -6
- data/spec/fixtures/unit/provider/aix_object/aix_colon_list_real_world_input.out +1 -0
- data/spec/fixtures/unit/provider/aix_object/aix_colon_list_real_world_output.out +1 -0
- data/spec/fixtures/unit/provider/package/pkgng/pkg.info +0 -1
- data/spec/fixtures/unit/provider/package/yum/yum-check-update-plugin-output.txt +36 -0
- data/spec/fixtures/unit/provider/package/yum/yum-check-update-simple.txt +1 -0
- data/spec/fixtures/unit/provider/service/base/ps_ef.mixed_encoding +3 -0
- data/spec/fixtures/unit/provider/user/aix/aix_passwd_file.out +32 -0
- data/spec/integration/agent/logging_spec.rb +4 -2
- data/spec/integration/application/apply_spec.rb +33 -26
- data/spec/integration/application/lookup_spec.rb +21 -0
- data/spec/integration/configurer_spec.rb +2 -5
- data/spec/integration/data_binding_spec.rb +1 -0
- data/spec/integration/defaults_spec.rb +5 -10
- data/spec/integration/faces/config_spec.rb +16 -4
- data/spec/integration/faces/plugin_spec.rb +3 -0
- data/spec/integration/file_bucket/file_spec.rb +20 -22
- data/spec/integration/file_system/uniquefile_spec.rb +26 -29
- data/spec/integration/indirector/facts/facter_spec.rb +4 -14
- data/spec/integration/indirector/file_content/file_server_spec.rb +17 -0
- data/spec/integration/indirector/file_metadata/file_server_spec.rb +10 -0
- data/spec/integration/network/authconfig_spec.rb +2 -2
- data/spec/integration/network/http/api/indirected_routes_spec.rb +9 -38
- data/spec/integration/node/environment_spec.rb +1 -1
- data/spec/integration/node_spec.rb +0 -4
- data/spec/integration/parser/catalog_spec.rb +10 -6
- data/spec/integration/parser/collection_spec.rb +42 -3
- data/spec/integration/parser/compiler_spec.rb +43 -24
- data/spec/integration/parser/pcore_resource_spec.rb +3 -3
- data/spec/integration/parser/scope_spec.rb +18 -5
- data/spec/integration/parser/script_compiler_spec.rb +113 -0
- data/spec/integration/provider/service/init_spec.rb +4 -2
- data/spec/integration/provider/service/systemd_spec.rb +8 -4
- data/spec/integration/provider/service/windows_spec.rb +5 -3
- data/spec/integration/reference/providers_spec.rb +6 -0
- data/spec/integration/ssl/certificate_request_spec.rb +0 -2
- data/spec/integration/ssl/host_spec.rb +16 -24
- data/spec/integration/ssl/key_spec.rb +3 -3
- data/spec/integration/test/test_helper_spec.rb +32 -32
- data/spec/integration/transaction/report_spec.rb +11 -6
- data/spec/integration/type/exec_spec.rb +1 -1
- data/spec/integration/type/file_spec.rb +72 -18
- data/spec/integration/type/package_spec.rb +1 -1
- data/spec/integration/type_spec.rb +1 -2
- data/spec/integration/util/autoload_spec.rb +9 -6
- data/spec/integration/util/execution_spec.rb +13 -5
- data/spec/integration/util/rdoc/parser_spec.rb +13 -23
- data/spec/integration/util/settings_spec.rb +2 -1
- data/spec/integration/util/windows/adsi_spec.rb +89 -4
- data/spec/integration/util/windows/principal_spec.rb +12 -3
- data/spec/integration/util/windows/process_spec.rb +48 -3
- data/spec/integration/util/windows/registry_spec.rb +1 -1
- data/spec/integration/util/windows/security_spec.rb +98 -8
- data/spec/integration/util/windows/user_spec.rb +1 -1
- data/spec/integration/util_spec.rb +3 -3
- data/spec/lib/matchers/json.rb +27 -32
- data/{lib/puppet/ssl → spec/lib/puppet}/certificate_factory.rb +5 -6
- data/spec/lib/puppet/test_ca.rb +109 -0
- data/spec/lib/puppet_spec/compiler.rb +27 -0
- data/spec/lib/puppet_spec/files.rb +28 -23
- data/spec/lib/puppet_spec/language.rb +34 -35
- data/spec/lib/puppet_spec/module_tool/shared_functions.rb +2 -2
- data/spec/lib/puppet_spec/modules.rb +20 -0
- data/spec/lib/puppet_spec/ssl.rb +265 -0
- data/spec/lib/puppet_spec/validators.rb +37 -0
- data/spec/shared_behaviours/file_server_terminus.rb +0 -2
- data/spec/shared_behaviours/file_serving_model.rb +0 -19
- data/spec/shared_behaviours/path_parameters.rb +1 -1
- data/spec/shared_behaviours/things_that_declare_options.rb +2 -2
- data/spec/shared_contexts/checksum.rb +4 -1
- data/spec/shared_contexts/digests.rb +46 -1
- data/spec/shared_contexts/types_setup.rb +66 -7
- data/spec/shared_examples/rhel_package_provider.rb +2 -2
- data/spec/spec_helper.rb +7 -14
- data/spec/unit/agent_spec.rb +48 -4
- data/spec/unit/application/agent_spec.rb +5 -20
- data/spec/unit/application/apply_spec.rb +4 -12
- data/spec/unit/application/config_spec.rb +4 -0
- data/spec/unit/application/device_spec.rb +141 -10
- data/spec/unit/application/face_base_spec.rb +2 -2
- data/spec/unit/application/filebucket_spec.rb +18 -4
- data/spec/unit/application/lookup_spec.rb +46 -9
- data/spec/unit/application/ssl_spec.rb +322 -0
- data/spec/unit/application_spec.rb +46 -4
- data/spec/unit/capability_spec.rb +11 -9
- data/spec/unit/{ssl/certificate_factory_spec.rb → certificate_factory_spec.rb} +9 -18
- data/spec/unit/configurer/downloader_spec.rb +6 -1
- data/spec/unit/configurer/plugin_handler_spec.rb +46 -18
- data/spec/unit/configurer_spec.rb +90 -33
- data/spec/unit/confine_spec.rb +16 -0
- data/spec/unit/context/trusted_information_spec.rb +3 -2
- data/spec/unit/daemon_spec.rb +3 -2
- data/spec/unit/data_providers/hiera_data_provider_spec.rb +4 -4
- data/spec/unit/datatypes_spec.rb +353 -0
- data/spec/unit/defaults_spec.rb +108 -6
- data/spec/unit/environments_spec.rb +62 -0
- data/spec/unit/etc_spec.rb +1 -1
- data/spec/unit/face/config_spec.rb +185 -21
- data/spec/unit/face/epp_face_spec.rb +70 -6
- data/spec/unit/face/facts_spec.rb +53 -0
- data/spec/unit/face/help_spec.rb +64 -70
- data/spec/unit/face/man_spec.rb +26 -0
- data/spec/unit/face/module/list_spec.rb +0 -61
- data/spec/unit/face/module/search_spec.rb +12 -1
- data/spec/unit/face/node_spec.rb +9 -32
- data/spec/unit/face/parser_spec.rb +80 -2
- data/spec/unit/face/plugin_spec.rb +50 -4
- data/spec/unit/file_bucket/dipper_spec.rb +29 -13
- data/spec/unit/file_serving/base_spec.rb +6 -9
- data/spec/unit/file_serving/configuration/parser_spec.rb +2 -2
- data/spec/unit/file_serving/configuration_spec.rb +14 -4
- data/spec/unit/file_serving/content_spec.rb +0 -1
- data/spec/unit/file_serving/fileset_spec.rb +0 -1
- data/spec/unit/file_serving/metadata_spec.rb +4 -5
- data/spec/unit/file_serving/mount/locales_spec.rb +73 -0
- data/spec/unit/file_serving/mount/modules_spec.rb +1 -1
- data/spec/unit/file_serving/mount/tasks_spec.rb +72 -0
- data/spec/unit/file_serving/terminus_selector_spec.rb +0 -2
- data/spec/unit/file_system/path_pattern_spec.rb +1 -1
- data/spec/unit/file_system/uniquefile_spec.rb +2 -2
- data/spec/unit/file_system_spec.rb +7 -4
- data/spec/unit/forge/forge_spec.rb +2 -2
- data/spec/unit/forge/module_release_spec.rb +70 -0
- data/spec/unit/forge_spec.rb +106 -2
- data/spec/unit/functions/abs_spec.rb +70 -0
- data/spec/unit/functions/all_spec.rb +97 -0
- data/spec/unit/functions/any_spec.rb +109 -0
- data/spec/unit/functions/assert_type_spec.rb +1 -1
- data/spec/unit/functions/break_spec.rb +144 -54
- data/spec/unit/functions/call_spec.rb +59 -5
- data/spec/unit/functions/camelcase_spec.rb +34 -0
- data/spec/unit/functions/capitalize_spec.rb +34 -0
- data/spec/unit/functions/ceiling_spec.rb +65 -0
- data/spec/unit/functions/chomp_spec.rb +46 -0
- data/spec/unit/functions/chop_spec.rb +38 -0
- data/spec/unit/functions/compare_spec.rb +147 -0
- data/spec/unit/functions/contain_spec.rb +1 -0
- data/spec/unit/functions/convert_to_spec.rb +25 -0
- data/spec/unit/functions/defined_spec.rb +2 -2
- data/spec/unit/functions/downcase_spec.rb +34 -0
- data/spec/unit/functions/empty_spec.rb +77 -0
- data/spec/unit/functions/epp_spec.rb +21 -3
- data/spec/unit/functions/filter_spec.rb +4 -4
- data/spec/unit/functions/flatten_spec.rb +31 -0
- data/spec/unit/functions/floor_spec.rb +65 -0
- data/spec/unit/functions/get_spec.rb +135 -0
- data/spec/unit/functions/getvar_spec.rb +121 -0
- data/spec/unit/functions/hiera_spec.rb +19 -49
- data/spec/unit/functions/include_spec.rb +16 -1
- data/spec/unit/functions/inline_epp_spec.rb +1 -1
- data/spec/unit/functions/join_spec.rb +33 -0
- data/spec/unit/functions/keys_spec.rb +31 -0
- data/spec/unit/functions/length_spec.rb +50 -0
- data/spec/unit/functions/lookup_fixture_spec.rb +1 -1
- data/spec/unit/functions/lookup_spec.rb +198 -80
- data/spec/unit/functions/lstrip_spec.rb +30 -0
- data/spec/unit/functions/match_spec.rb +21 -4
- data/spec/unit/functions/max_spec.rb +129 -0
- data/spec/unit/functions/min_spec.rb +129 -0
- data/spec/unit/functions/module_directory_spec.rb +43 -0
- data/spec/unit/functions/new_spec.rb +81 -14
- data/spec/unit/functions/next_spec.rb +1 -1
- data/spec/unit/functions/regsubst_spec.rb +4 -5
- data/spec/unit/functions/require_spec.rb +2 -0
- data/spec/unit/functions/return_spec.rb +2 -2
- data/spec/unit/functions/round_spec.rb +41 -0
- data/spec/unit/functions/rstrip_spec.rb +30 -0
- data/spec/unit/functions/shared.rb +12 -0
- data/spec/unit/functions/size_spec.rb +50 -0
- data/spec/unit/functions/sort_spec.rb +79 -0
- data/spec/unit/functions/split_spec.rb +3 -4
- data/spec/unit/functions/step_spec.rb +1 -1
- data/spec/unit/functions/strftime_spec.rb +2 -2
- data/spec/unit/functions/strip_spec.rb +30 -0
- data/spec/unit/functions/tree_each_spec.rb +493 -0
- data/spec/unit/functions/upcase_spec.rb +34 -0
- data/spec/unit/functions/values_spec.rb +30 -0
- data/spec/unit/functions/versioncmp_spec.rb +3 -4
- data/spec/unit/functions4_spec.rb +146 -76
- data/spec/unit/gettext/config_spec.rb +144 -0
- data/spec/unit/gettext/module_loading_spec.rb +53 -0
- data/spec/unit/graph/relationship_graph_spec.rb +15 -0
- data/spec/unit/graph/simple_graph_spec.rb +43 -3
- data/spec/unit/indirector/catalog/compiler_spec.rb +3 -18
- data/spec/unit/indirector/certificate/file_spec.rb +0 -8
- data/spec/unit/indirector/direct_file_server_spec.rb +44 -46
- data/spec/unit/indirector/exec_spec.rb +29 -23
- data/spec/unit/indirector/facts/rest_spec.rb +45 -0
- data/spec/unit/indirector/facts/yaml_spec.rb +95 -78
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +156 -99
- data/spec/unit/indirector/file_server_spec.rb +122 -116
- data/spec/unit/indirector/indirection_spec.rb +25 -10
- data/spec/unit/indirector/json_spec.rb +0 -11
- data/spec/unit/indirector/key/file_spec.rb +0 -17
- data/spec/unit/indirector/node/exec_spec.rb +43 -22
- data/spec/unit/indirector/request_spec.rb +47 -6
- data/spec/unit/indirector/resource/ral_spec.rb +1 -0
- data/spec/unit/indirector/rest_spec.rb +45 -2
- data/spec/unit/indirector/ssl_file_spec.rb +37 -59
- data/spec/unit/indirector/terminus_spec.rb +3 -3
- data/spec/unit/indirector/yaml_spec.rb +87 -64
- data/spec/unit/indirector_spec.rb +0 -1
- data/spec/unit/info_service_spec.rb +203 -3
- data/spec/unit/interface/action_manager_spec.rb +1 -1
- data/spec/unit/interface/action_spec.rb +34 -1
- data/spec/unit/interface_spec.rb +12 -0
- data/spec/unit/module_spec.rb +89 -4
- data/spec/unit/module_tool/applications/installer_spec.rb +10 -2
- data/spec/unit/module_tool/applications/uninstaller_spec.rb +8 -0
- data/spec/unit/module_tool/applications/unpacker_spec.rb +4 -4
- data/spec/unit/module_tool/applications/upgrader_spec.rb +7 -1
- data/spec/unit/module_tool/tar/mini_spec.rb +34 -5
- data/spec/unit/network/formats_spec.rb +31 -13
- data/spec/unit/network/http/api/indirected_routes_spec.rb +9 -5
- data/spec/unit/network/http/api/master/v3/authorization_spec.rb +5 -7
- data/spec/unit/network/http/api/master/v3/environment_spec.rb +0 -1
- data/spec/unit/network/http/api_spec.rb +0 -26
- data/spec/unit/network/http/compression_spec.rb +6 -3
- data/spec/unit/network/http/connection_spec.rb +99 -47
- data/spec/unit/network/http/factory_spec.rb +32 -11
- data/spec/unit/network/http/handler_spec.rb +3 -2
- data/spec/unit/network/resolver_spec.rb +87 -12
- data/spec/unit/node/environment_spec.rb +38 -6
- data/spec/unit/node/facts_spec.rb +14 -1
- data/spec/unit/node_spec.rb +121 -23
- data/spec/unit/other/selinux_spec.rb +0 -71
- data/spec/unit/parser/ast/leaf_spec.rb +3 -4
- data/spec/unit/parser/compiler_spec.rb +9 -2
- data/spec/unit/parser/environment_compiler_spec.rb +55 -17
- data/spec/unit/parser/functions/create_resources_spec.rb +10 -1
- data/spec/unit/parser/functions/digest_spec.rb +1 -5
- data/spec/unit/parser/functions/fail_spec.rb +1 -5
- data/spec/unit/parser/functions/file_spec.rb +0 -4
- data/spec/unit/parser/functions/fqdn_rand_spec.rb +24 -0
- data/spec/unit/parser/functions/generate_spec.rb +29 -31
- data/spec/unit/parser/functions/inline_template_spec.rb +7 -4
- data/spec/unit/parser/functions/realize_spec.rb +9 -0
- data/spec/unit/parser/functions/regsubst_spec.rb +0 -4
- data/spec/unit/parser/functions/scanf_spec.rb +0 -4
- data/spec/unit/parser/functions/split_spec.rb +0 -4
- data/spec/unit/parser/functions/sprintf_spec.rb +26 -4
- data/spec/unit/parser/functions/tag_spec.rb +7 -4
- data/spec/unit/parser/functions/tagged_spec.rb +37 -0
- data/spec/unit/parser/functions/template_spec.rb +8 -4
- data/spec/unit/parser/functions/versioncmp_spec.rb +0 -4
- data/spec/unit/parser/functions_spec.rb +27 -2
- data/spec/unit/parser/resource/param_spec.rb +2 -2
- data/spec/unit/parser/resource_spec.rb +0 -1
- data/spec/unit/parser/scope_spec.rb +23 -4
- data/spec/unit/parser/type_loader_spec.rb +1 -1
- data/spec/unit/pops/adaptable_spec.rb +0 -1
- data/spec/unit/pops/evaluator/access_ops_spec.rb +5 -0
- data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +10 -0
- data/spec/unit/pops/evaluator/conditionals_spec.rb +1 -1
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +78 -16
- data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +4 -8
- data/spec/unit/pops/factory_rspec_helper.rb +1 -1
- data/spec/unit/pops/factory_spec.rb +10 -6
- data/spec/unit/pops/issues_spec.rb +23 -8
- data/spec/unit/pops/loaders/dependency_loader_spec.rb +2 -2
- data/spec/unit/pops/loaders/loader_spec.rb +495 -0
- data/spec/unit/pops/loaders/loaders_spec.rb +64 -19
- data/spec/unit/pops/loaders/module_loaders_spec.rb +75 -0
- data/spec/unit/pops/loaders/static_loader_spec.rb +16 -44
- data/spec/unit/pops/lookup/interpolation_spec.rb +5 -0
- data/spec/unit/pops/lookup/lookup_spec.rb +56 -0
- data/spec/unit/pops/model/model_spec.rb +5 -0
- data/spec/unit/pops/model/pn_transformer_spec.rb +53 -0
- data/spec/unit/pops/parser/lexer2_spec.rb +119 -26
- data/spec/unit/pops/parser/locator_spec.rb +20 -0
- data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +67 -4
- data/spec/unit/pops/parser/parse_calls_spec.rb +28 -0
- data/spec/unit/pops/parser/parse_conditionals_spec.rb +12 -0
- data/spec/unit/pops/parser/parse_containers_spec.rb +1 -1
- data/spec/unit/pops/parser/parse_functions_spec.rb +1 -1
- data/spec/unit/pops/parser/parse_heredoc_spec.rb +3 -3
- data/spec/unit/pops/parser/parse_lambda_spec.rb +1 -1
- data/spec/unit/pops/parser/parse_plan_spec.rb +48 -0
- data/spec/unit/pops/parser/parse_resource_spec.rb +35 -35
- data/spec/unit/pops/parser/parser_spec.rb +138 -0
- data/spec/unit/pops/parser/pn_parser_spec.rb +101 -0
- data/spec/unit/pops/pn_spec.rb +148 -0
- data/spec/unit/pops/puppet_stack_spec.rb +38 -9
- data/spec/unit/pops/serialization/packer_spec.rb +8 -0
- data/spec/unit/pops/serialization/serialization_spec.rb +38 -6
- data/spec/unit/pops/serialization/to_from_hr_spec.rb +134 -5
- data/spec/unit/pops/serialization/to_stringified_spec.rb +157 -0
- data/spec/unit/pops/types/deferred_spec.rb +87 -0
- data/spec/unit/pops/types/error_spec.rb +207 -0
- data/spec/unit/pops/types/iterable_spec.rb +10 -10
- data/spec/unit/pops/types/p_init_type_spec.rb +383 -0
- data/spec/unit/pops/types/p_object_type_spec.rb +531 -54
- data/spec/unit/pops/types/p_sensitive_type_spec.rb +4 -0
- data/spec/unit/pops/types/p_timespan_type_spec.rb +32 -4
- data/spec/unit/pops/types/p_timestamp_type_spec.rb +64 -3
- data/spec/unit/pops/types/p_type_set_type_spec.rb +108 -4
- data/spec/unit/pops/types/p_uri_type_spec.rb +191 -0
- data/spec/unit/pops/types/ruby_generator_spec.rb +285 -73
- data/spec/unit/pops/types/string_converter_spec.rb +63 -17
- data/spec/unit/pops/types/task_spec.rb +485 -0
- data/spec/unit/pops/types/type_acceptor_spec.rb +2 -2
- data/spec/unit/pops/types/type_calculator_spec.rb +224 -63
- data/spec/unit/pops/types/type_factory_spec.rb +6 -6
- data/spec/unit/pops/types/type_formatter_spec.rb +37 -19
- data/spec/unit/pops/types/type_mismatch_describer_spec.rb +21 -0
- data/spec/unit/pops/types/type_parser_spec.rb +39 -2
- data/spec/unit/pops/types/types_spec.rb +88 -10
- data/spec/unit/pops/validator/validator_spec.rb +435 -7
- data/spec/unit/property/keyvalue_spec.rb +97 -6
- data/spec/unit/property_spec.rb +14 -5
- data/spec/unit/provider/aix_object_spec.rb +805 -0
- data/spec/unit/provider/exec/posix_spec.rb +8 -8
- data/spec/unit/provider/exec/shell_spec.rb +2 -1
- data/spec/unit/provider/exec/windows_spec.rb +2 -2
- data/spec/unit/provider/file/windows_spec.rb +2 -2
- data/spec/unit/provider/group/aix_spec.rb +76 -0
- data/spec/unit/provider/group/groupadd_spec.rb +77 -1
- data/spec/unit/provider/group/pw_spec.rb +4 -4
- data/spec/unit/provider/group/windows_adsi_spec.rb +80 -23
- data/spec/unit/provider/ldap_spec.rb +0 -1
- data/spec/unit/provider/nameservice_spec.rb +11 -11
- data/spec/unit/provider/package/aix_spec.rb +26 -1
- data/spec/unit/provider/package/aptitude_spec.rb +1 -1
- data/spec/unit/provider/package/aptrpm_spec.rb +1 -1
- data/spec/unit/provider/package/dnf_spec.rb +9 -2
- data/spec/unit/provider/package/dpkg_spec.rb +2 -2
- data/spec/unit/provider/package/gem_spec.rb +17 -7
- data/spec/unit/provider/package/nim_spec.rb +2 -11
- data/spec/unit/provider/package/opkg_spec.rb +2 -2
- data/spec/unit/provider/package/pip_spec.rb +38 -41
- data/spec/unit/provider/package/pkg_spec.rb +64 -24
- data/spec/unit/provider/package/pkgng_spec.rb +1 -1
- data/spec/unit/provider/package/puppet_gem_spec.rb +2 -2
- data/spec/unit/provider/package/rpm_spec.rb +33 -14
- data/spec/unit/provider/package/urpmi_spec.rb +9 -3
- data/spec/unit/provider/package/windows/msi_package_spec.rb +1 -1
- data/spec/unit/provider/package/windows/package_spec.rb +1 -1
- data/spec/unit/provider/package/windows_spec.rb +3 -3
- data/spec/unit/provider/package/yum_spec.rb +69 -0
- data/spec/unit/provider/parsedfile_spec.rb +1 -1
- data/spec/unit/provider/service/base_spec.rb +23 -5
- data/spec/unit/provider/service/bsd_spec.rb +17 -16
- data/spec/unit/provider/service/daemontools_spec.rb +2 -3
- data/spec/unit/provider/service/debian_spec.rb +8 -4
- data/spec/unit/provider/service/freebsd_spec.rb +2 -2
- data/spec/unit/provider/service/gentoo_spec.rb +27 -26
- data/spec/unit/provider/service/init_spec.rb +17 -16
- data/spec/unit/provider/service/launchd_spec.rb +6 -3
- data/spec/unit/provider/service/openbsd_spec.rb +43 -42
- data/spec/unit/provider/service/openrc_spec.rb +35 -34
- data/spec/unit/provider/service/openwrt_spec.rb +7 -5
- data/spec/unit/provider/service/rcng_spec.rb +7 -6
- data/spec/unit/provider/service/redhat_spec.rb +11 -6
- data/spec/unit/provider/service/runit_spec.rb +2 -3
- data/spec/unit/provider/service/smf_spec.rb +7 -7
- data/spec/unit/provider/service/src_spec.rb +3 -4
- data/spec/unit/provider/service/systemd_spec.rb +73 -51
- data/spec/unit/provider/service/upstart_spec.rb +53 -14
- data/spec/unit/provider/service/windows_spec.rb +49 -86
- data/spec/unit/provider/user/aix_spec.rb +126 -121
- data/spec/unit/provider/user/hpux_spec.rb +4 -3
- data/spec/unit/provider/user/openbsd_spec.rb +2 -2
- data/spec/unit/provider/user/pw_spec.rb +14 -14
- data/spec/unit/provider/user/user_role_add_spec.rb +20 -3
- data/spec/unit/provider/user/useradd_spec.rb +194 -22
- data/spec/unit/provider/user/windows_adsi_spec.rb +5 -5
- data/spec/unit/provider_spec.rb +210 -14
- data/spec/unit/puppet_pal_2pec.rb +1020 -0
- data/spec/unit/puppet_pal_catalog_spec.rb +801 -0
- data/spec/unit/puppet_pal_spec.rb +4 -0
- data/spec/unit/puppet_spec.rb +31 -19
- data/spec/unit/resource/capability_finder_spec.rb +16 -18
- data/spec/unit/resource/catalog_spec.rb +27 -12
- data/spec/unit/resource/status_spec.rb +17 -4
- data/spec/unit/resource/type_collection_spec.rb +4 -1
- data/spec/unit/resource/type_spec.rb +24 -9
- data/spec/unit/resource_spec.rb +46 -5
- data/spec/unit/rest/client_spec.rb +135 -0
- data/spec/unit/rest/route_spec.rb +132 -0
- data/spec/unit/settings/autosign_setting_spec.rb +2 -2
- data/spec/unit/settings/certificate_revocation_setting_spec.rb +37 -0
- data/spec/unit/settings/config_file_spec.rb +10 -1
- data/spec/unit/settings/file_setting_spec.rb +17 -9
- data/spec/unit/settings/ini_file_spec.rb +314 -5
- data/spec/unit/settings/path_setting_spec.rb +1 -1
- data/spec/unit/settings_spec.rb +57 -7
- data/spec/unit/ssl/certificate_request_attributes_spec.rb +21 -8
- data/spec/unit/ssl/certificate_request_spec.rb +62 -41
- data/spec/unit/ssl/certificate_spec.rb +4 -7
- data/spec/unit/ssl/host_spec.rb +248 -579
- data/spec/unit/ssl/key_spec.rb +0 -15
- data/spec/unit/ssl/validator_spec.rb +36 -167
- data/spec/unit/task_spec.rb +247 -0
- data/spec/unit/transaction/additional_resource_generator_spec.rb +64 -62
- data/spec/unit/transaction/event_manager_spec.rb +12 -0
- data/spec/unit/transaction/persistence_spec.rb +43 -1
- data/spec/unit/transaction/report_spec.rb +62 -19
- data/spec/unit/transaction/resource_harness_spec.rb +2 -2
- data/spec/unit/transaction_spec.rb +134 -16
- data/spec/unit/type/exec_spec.rb +11 -13
- data/spec/unit/type/file/checksum_spec.rb +21 -1
- data/spec/unit/type/file/content_spec.rb +13 -1
- data/spec/unit/type/file/selinux_spec.rb +0 -1
- data/spec/unit/type/file/source_spec.rb +15 -9
- data/spec/unit/type/file_spec.rb +37 -22
- data/spec/unit/type/group_spec.rb +8 -0
- data/spec/unit/type/package_spec.rb +10 -0
- data/spec/unit/type/resources_spec.rb +26 -12
- data/spec/unit/type/schedule_spec.rb +15 -1
- data/spec/unit/type/service_spec.rb +36 -10
- data/spec/unit/type/tidy_spec.rb +17 -1
- data/spec/unit/type/user_spec.rb +24 -115
- data/spec/unit/type_spec.rb +177 -98
- data/spec/unit/util/autoload_spec.rb +71 -43
- data/spec/unit/util/character_encoding_spec.rb +0 -43
- data/spec/unit/util/checksums_spec.rb +3 -3
- data/spec/unit/util/diff_spec.rb +11 -3
- data/spec/unit/util/docs_spec.rb +1 -1
- data/spec/unit/util/errors_spec.rb +1 -1
- data/spec/unit/util/execution_spec.rb +229 -95
- data/spec/unit/util/execution_stub_spec.rb +2 -2
- data/spec/unit/util/feature_spec.rb +35 -17
- data/spec/unit/util/filetype_spec.rb +8 -4
- data/spec/unit/util/http_proxy_spec.rb +57 -0
- data/spec/unit/util/inifile_spec.rb +35 -4
- data/spec/unit/util/ldap/manager_spec.rb +1 -16
- data/spec/unit/util/lockfile_spec.rb +1 -1
- data/spec/unit/util/log/destinations_spec.rb +45 -15
- data/spec/unit/util/log_spec.rb +42 -12
- data/spec/unit/util/logging_spec.rb +37 -15
- data/spec/unit/util/monkey_patches_spec.rb +6 -3
- data/spec/unit/util/plist_spec.rb +12 -6
- data/spec/unit/util/profiler/object_counts_spec.rb +2 -1
- data/spec/unit/util/rubygems_spec.rb +0 -34
- data/spec/unit/util/run_mode_spec.rb +7 -7
- data/spec/unit/util/selinux_spec.rb +3 -3
- data/spec/unit/util/storage_spec.rb +13 -1
- data/spec/unit/util/suidmanager_spec.rb +5 -5
- data/spec/unit/util/tag_set_spec.rb +8 -1
- data/spec/unit/util/tagging_spec.rb +27 -8
- data/spec/unit/util/windows/access_control_entry_spec.rb +1 -1
- data/spec/unit/util/windows/access_control_list_spec.rb +1 -1
- data/spec/unit/util/windows/adsi_spec.rb +39 -35
- data/spec/unit/util/windows/api_types_spec.rb +52 -1
- data/spec/unit/util/windows/eventlog_spec.rb +1 -1
- data/spec/unit/util/windows/security_descriptor_spec.rb +1 -1
- data/spec/unit/util/windows/service_spec.rb +424 -0
- data/spec/unit/util/windows/sid_spec.rb +88 -17
- data/spec/unit/util/windows/string_spec.rb +1 -1
- data/spec/unit/util/yaml_spec.rb +162 -28
- data/spec/unit/util_spec.rb +41 -76
- data/spec/watchr.rb +0 -1
- data/tasks/benchmark.rake +41 -0
- data/tasks/ci.rake +0 -5
- data/tasks/generate_ast_model.rake +55 -43
- data/tasks/manpages.rake +19 -3
- data/tasks/parallel.rake +12 -7
- data/tasks/parser.rake +11 -3
- metadata +3262 -3438
- data/ext/rack/config.ru +0 -44
- data/ext/rack/example-passenger-vhost.conf +0 -57
- data/lib/puppet/application/ca.rb +0 -11
- data/lib/puppet/application/certificate.rb +0 -17
- data/lib/puppet/application/certificate_request.rb +0 -7
- data/lib/puppet/application/certificate_revocation_list.rb +0 -7
- data/lib/puppet/application/master.rb +0 -313
- data/lib/puppet/bindings.rb +0 -147
- data/lib/puppet/configurer/downloader_factory.rb +0 -34
- data/lib/puppet/external/nagios/base.rb +0 -472
- data/lib/puppet/external/nagios/grammar.ry +0 -248
- data/lib/puppet/external/nagios/makefile +0 -9
- data/lib/puppet/external/nagios/parser.rb +0 -400
- data/lib/puppet/external/nagios.rb +0 -46
- data/lib/puppet/face/ca.rb +0 -266
- data/lib/puppet/face/certificate.rb +0 -165
- data/lib/puppet/face/certificate_request.rb +0 -56
- data/lib/puppet/face/certificate_revocation_list.rb +0 -56
- data/lib/puppet/feature/rack.rb +0 -19
- data/lib/puppet/graph/random_prioritizer.rb +0 -16
- data/lib/puppet/graph/title_hash_prioritizer.rb +0 -16
- data/lib/puppet/indirector/certificate/ca.rb +0 -9
- data/lib/puppet/indirector/certificate/disabled_ca.rb +0 -22
- data/lib/puppet/indirector/certificate_request/ca.rb +0 -22
- data/lib/puppet/indirector/certificate_request/disabled_ca.rb +0 -22
- data/lib/puppet/indirector/certificate_revocation_list/ca.rb +0 -8
- data/lib/puppet/indirector/certificate_revocation_list/disabled_ca.rb +0 -22
- data/lib/puppet/indirector/certificate_revocation_list/file.rb +0 -8
- data/lib/puppet/indirector/certificate_revocation_list/rest.rb +0 -10
- data/lib/puppet/indirector/certificate_status/file.rb +0 -91
- data/lib/puppet/indirector/certificate_status/rest.rb +0 -11
- data/lib/puppet/indirector/certificate_status.rb +0 -4
- data/lib/puppet/indirector/key/ca.rb +0 -16
- data/lib/puppet/indirector/key/disabled_ca.rb +0 -22
- data/lib/puppet/indirector/ldap.rb +0 -80
- data/lib/puppet/indirector/node/ldap.rb +0 -259
- data/lib/puppet/indirector/node/write_only_yaml.rb +0 -37
- data/lib/puppet/module_tool/applications/builder.rb +0 -148
- data/lib/puppet/module_tool/skeleton/templates/generator/Gemfile +0 -18
- data/lib/puppet/module_tool/skeleton/templates/generator/README.md.erb +0 -89
- data/lib/puppet/module_tool/skeleton/templates/generator/Rakefile +0 -32
- data/lib/puppet/module_tool/skeleton/templates/generator/examples/init.pp.erb +0 -12
- data/lib/puppet/module_tool/skeleton/templates/generator/manifests/init.pp.erb +0 -48
- data/lib/puppet/module_tool/skeleton/templates/generator/metadata.json.erb +0 -1
- data/lib/puppet/module_tool/skeleton/templates/generator/spec/classes/init_spec.rb.erb +0 -6
- data/lib/puppet/module_tool/skeleton/templates/generator/spec/spec_helper.rb +0 -1
- data/lib/puppet/network/http/api/ca/v1.rb +0 -11
- data/lib/puppet/network/http/api/ca.rb +0 -2
- data/lib/puppet/network/http/rack/rest.rb +0 -162
- data/lib/puppet/network/http/rack.rb +0 -33
- data/lib/puppet/network/http/webrick/rest.rb +0 -114
- data/lib/puppet/network/http/webrick.rb +0 -125
- data/lib/puppet/network/server.rb +0 -39
- data/lib/puppet/provider/aixobject.rb +0 -392
- data/lib/puppet/provider/augeas/augeas.rb +0 -567
- data/lib/puppet/provider/cisco.rb +0 -9
- data/lib/puppet/provider/computer/computer.rb +0 -20
- data/lib/puppet/provider/cron/crontab.rb +0 -297
- data/lib/puppet/provider/host/parsed.rb +0 -46
- data/lib/puppet/provider/interface/cisco.rb +0 -27
- data/lib/puppet/provider/macauthorization/macauthorization.rb +0 -298
- data/lib/puppet/provider/mailalias/aliases.rb +0 -50
- data/lib/puppet/provider/maillist/mailman.rb +0 -108
- data/lib/puppet/provider/mcx/mcxcontent.rb +0 -173
- data/lib/puppet/provider/mount/parsed.rb +0 -282
- data/lib/puppet/provider/mount.rb +0 -59
- data/lib/puppet/provider/naginator.rb +0 -63
- data/lib/puppet/provider/scheduled_task/win32_taskscheduler.rb +0 -590
- data/lib/puppet/provider/selboolean/getsetsebool.rb +0 -47
- data/lib/puppet/provider/selmodule/semodule.rb +0 -138
- data/lib/puppet/provider/ssh_authorized_key/parsed.rb +0 -105
- data/lib/puppet/provider/sshkey/parsed.rb +0 -50
- data/lib/puppet/provider/vlan/cisco.rb +0 -28
- data/lib/puppet/provider/yumrepo/inifile.rb +0 -304
- data/lib/puppet/provider/zfs/zfs.rb +0 -84
- data/lib/puppet/provider/zone/solaris.rb +0 -364
- data/lib/puppet/provider/zpool/zpool.rb +0 -125
- data/lib/puppet/ssl/certificate_authority/autosign_command.rb +0 -45
- data/lib/puppet/ssl/certificate_authority/interface.rb +0 -324
- data/lib/puppet/ssl/certificate_authority.rb +0 -553
- data/lib/puppet/ssl/certificate_revocation_list.rb +0 -110
- data/lib/puppet/ssl/configuration.rb +0 -61
- data/lib/puppet/ssl/inventory.rb +0 -55
- data/lib/puppet/type/augeas.rb +0 -211
- data/lib/puppet/type/computer.rb +0 -66
- data/lib/puppet/type/cron.rb +0 -475
- data/lib/puppet/type/host.rb +0 -95
- data/lib/puppet/type/interface.rb +0 -121
- data/lib/puppet/type/k5login.rb +0 -88
- data/lib/puppet/type/macauthorization.rb +0 -167
- data/lib/puppet/type/mailalias.rb +0 -46
- data/lib/puppet/type/maillist.rb +0 -62
- data/lib/puppet/type/mcx.rb +0 -98
- data/lib/puppet/type/mount.rb +0 -310
- data/lib/puppet/type/nagios_command.rb +0 -3
- data/lib/puppet/type/nagios_contact.rb +0 -3
- data/lib/puppet/type/nagios_contactgroup.rb +0 -3
- data/lib/puppet/type/nagios_host.rb +0 -3
- data/lib/puppet/type/nagios_hostdependency.rb +0 -3
- data/lib/puppet/type/nagios_hostescalation.rb +0 -3
- data/lib/puppet/type/nagios_hostextinfo.rb +0 -3
- data/lib/puppet/type/nagios_hostgroup.rb +0 -3
- data/lib/puppet/type/nagios_service.rb +0 -3
- data/lib/puppet/type/nagios_servicedependency.rb +0 -3
- data/lib/puppet/type/nagios_serviceescalation.rb +0 -3
- data/lib/puppet/type/nagios_serviceextinfo.rb +0 -3
- data/lib/puppet/type/nagios_servicegroup.rb +0 -3
- data/lib/puppet/type/nagios_timeperiod.rb +0 -3
- data/lib/puppet/type/router.rb +0 -17
- data/lib/puppet/type/scheduled_task.rb +0 -184
- data/lib/puppet/type/selboolean.rb +0 -26
- data/lib/puppet/type/selmodule.rb +0 -59
- data/lib/puppet/type/ssh_authorized_key.rb +0 -143
- data/lib/puppet/type/sshkey.rb +0 -75
- data/lib/puppet/type/vlan.rb +0 -26
- data/lib/puppet/type/yumrepo.rb +0 -409
- data/lib/puppet/type/zfs.rb +0 -150
- data/lib/puppet/type/zone.rb +0 -382
- data/lib/puppet/type/zpool.rb +0 -91
- data/lib/puppet/util/methodhelper.rb +0 -32
- data/lib/puppet/util/nagios_maker.rb +0 -85
- data/lib/puppet/util/network_device/cisco/device.rb +0 -285
- data/lib/puppet/util/network_device/cisco/facts.rb +0 -72
- data/lib/puppet/util/network_device/cisco/interface.rb +0 -94
- data/lib/puppet/util/network_device/cisco.rb +0 -4
- data/lib/puppet/util/network_device/ipcalc.rb +0 -68
- data/lib/puppet/util/network_device/transport/ssh.rb +0 -126
- data/lib/puppet/util/network_device/transport/telnet.rb +0 -47
- data/lib/puppet/util/windows/taskscheduler.rb +0 -1276
- data/lib/puppet/vendor/load_semantic.rb +0 -1
- data/lib/puppet/vendor/load_semantic_puppet.rb +0 -1
- data/lib/puppet/vendor/semantic/lib/semantic.rb +0 -5
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/graph.rb +0 -60
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/graph_node.rb +0 -117
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/module_release.rb +0 -58
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/source.rb +0 -25
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency/unsatisfiable_graph.rb +0 -31
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/dependency.rb +0 -181
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/gem_version.rb +0 -3
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/version.rb +0 -203
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/version_range.rb +0 -758
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet.rb +0 -9
- data/lib/puppet/vendor/semantic_puppet/locales/config.yaml +0 -21
- data/man/man8/puppet-ca.8 +0 -182
- data/man/man8/puppet-cert.8 +0 -101
- data/man/man8/puppet-certificate.8 +0 -224
- data/man/man8/puppet-certificate_request.8 +0 -161
- data/man/man8/puppet-certificate_revocation_list.8 +0 -139
- data/man/man8/puppet-inspect.8 +0 -36
- data/man/man8/puppet-master.8 +0 -85
- data/spec/fixtures/integration/provider/cron/crontab/create_normal_entry +0 -19
- data/spec/fixtures/integration/provider/cron/crontab/create_special_entry +0 -18
- data/spec/fixtures/integration/provider/cron/crontab/crontab_user1 +0 -15
- data/spec/fixtures/integration/provider/cron/crontab/crontab_user2 +0 -4
- data/spec/fixtures/integration/provider/cron/crontab/modify_entry +0 -13
- data/spec/fixtures/integration/provider/cron/crontab/moved_cronjob_input1 +0 -15
- data/spec/fixtures/integration/provider/cron/crontab/moved_cronjob_input2 +0 -6
- data/spec/fixtures/integration/provider/cron/crontab/purged +0 -8
- data/spec/fixtures/integration/provider/cron/crontab/remove_named_resource +0 -12
- data/spec/fixtures/integration/provider/cron/crontab/remove_unnamed_resource +0 -14
- data/spec/fixtures/integration/provider/cron/crontab/unspecialized +0 -15
- data/spec/fixtures/integration/provider/mailalias/aliases/test1 +0 -31
- data/spec/fixtures/integration/provider/sshkey/sample +0 -21
- data/spec/fixtures/unit/provider/augeas/augeas/augeas/lenses/test.aug +0 -13
- data/spec/fixtures/unit/provider/augeas/augeas/etc/fstab +0 -10
- data/spec/fixtures/unit/provider/augeas/augeas/etc/hosts +0 -6
- data/spec/fixtures/unit/provider/augeas/augeas/etc/test +0 -3
- data/spec/fixtures/unit/provider/augeas/augeas/test.aug +0 -13
- data/spec/fixtures/unit/provider/host/parsed/valid_hosts +0 -19
- data/spec/fixtures/unit/provider/mount/mount-output.aix.txt +0 -7
- data/spec/fixtures/unit/provider/mount/parsed/aix.filesystems +0 -152
- data/spec/fixtures/unit/provider/mount/parsed/aix.mount +0 -11
- data/spec/fixtures/unit/provider/mount/parsed/darwin.mount +0 -6
- data/spec/fixtures/unit/provider/mount/parsed/freebsd.fstab +0 -8
- data/spec/fixtures/unit/provider/mount/parsed/freebsd.mount +0 -3
- data/spec/fixtures/unit/provider/mount/parsed/hpux.mount +0 -17
- data/spec/fixtures/unit/provider/mount/parsed/linux.fstab +0 -11
- data/spec/fixtures/unit/provider/mount/parsed/linux.mount +0 -5
- data/spec/fixtures/unit/provider/mount/parsed/netbsd.fstab +0 -9
- data/spec/fixtures/unit/provider/mount/parsed/netbsd.mount +0 -8
- data/spec/fixtures/unit/provider/mount/parsed/openbsd.fstab +0 -4
- data/spec/fixtures/unit/provider/mount/parsed/openbsd.mount +0 -4
- data/spec/fixtures/unit/provider/mount/parsed/solaris.fstab +0 -11
- data/spec/fixtures/unit/provider/mount/parsed/solaris.mount +0 -6
- data/spec/fixtures/unit/provider/naginator/define_empty_param +0 -6
- data/spec/fixtures/unit/provider/ssh_authorized_key/parsed/authorized_keys +0 -7
- data/spec/fixtures/unit/provider/ssh_authorized_key/parsed/authorized_keys1 +0 -3
- data/spec/fixtures/unit/provider/ssh_authorized_key/parsed/authorized_keys2 +0 -1
- data/spec/fixtures/unit/provider/sshkey/parsed/sample +0 -21
- data/spec/fixtures/unit/provider/sshkey/parsed/sample_with_blank_lines +0 -8
- data/spec/fixtures/unit/provider/zfs/zfs/zfs-list.out +0 -2
- data/spec/fixtures/unit/provider/zpool/zpool/zpool-list.out +0 -2
- data/spec/integration/faces/ca_spec.rb +0 -354
- data/spec/integration/indirector/node/ldap_spec.rb +0 -14
- data/spec/integration/provider/cron/crontab_spec.rb +0 -241
- data/spec/integration/provider/mailalias/aliases_spec.rb +0 -10
- data/spec/integration/provider/mount_spec.rb +0 -161
- data/spec/integration/provider/ssh_authorized_key_spec.rb +0 -219
- data/spec/integration/provider/sshkey_spec.rb +0 -159
- data/spec/integration/provider/yumrepo_spec.rb +0 -130
- data/spec/integration/ssl/autosign_spec.rb +0 -145
- data/spec/integration/ssl/certificate_authority_spec.rb +0 -162
- data/spec/integration/ssl/certificate_revocation_list_spec.rb +0 -34
- data/spec/integration/transaction_spec.rb +0 -522
- data/spec/integration/type/nagios_spec.rb +0 -71
- data/spec/integration/type/user_spec.rb +0 -64
- data/spec/unit/application/cert_spec.rb +0 -240
- data/spec/unit/application/certificate_spec.rb +0 -22
- data/spec/unit/application/master_spec.rb +0 -404
- data/spec/unit/configurer/downloader_factory_spec.rb +0 -96
- data/spec/unit/face/ca_spec.rb +0 -10
- data/spec/unit/face/certificate_request_spec.rb +0 -10
- data/spec/unit/face/certificate_revocation_list_spec.rb +0 -10
- data/spec/unit/face/certificate_spec.rb +0 -231
- data/spec/unit/face/module/build_spec.rb +0 -69
- data/spec/unit/graph/title_hash_prioritizer_spec.rb +0 -49
- data/spec/unit/indirector/certificate/ca_spec.rb +0 -23
- data/spec/unit/indirector/certificate/disabled_ca_spec.rb +0 -33
- data/spec/unit/indirector/certificate_request/ca_spec.rb +0 -57
- data/spec/unit/indirector/certificate_request/disabled_ca_spec.rb +0 -33
- data/spec/unit/indirector/certificate_revocation_list/ca_spec.rb +0 -16
- data/spec/unit/indirector/certificate_revocation_list/disabled_ca_spec.rb +0 -33
- data/spec/unit/indirector/certificate_revocation_list/file_spec.rb +0 -17
- data/spec/unit/indirector/certificate_revocation_list/rest_spec.rb +0 -26
- data/spec/unit/indirector/certificate_status/file_spec.rb +0 -191
- data/spec/unit/indirector/certificate_status/rest_spec.rb +0 -18
- data/spec/unit/indirector/code_spec.rb +0 -31
- data/spec/unit/indirector/key/ca_spec.rb +0 -23
- data/spec/unit/indirector/key/disabled_ca_spec.rb +0 -33
- data/spec/unit/indirector/ldap_spec.rb +0 -137
- data/spec/unit/indirector/node/ldap_spec.rb +0 -462
- data/spec/unit/indirector/node/write_only_yaml_spec.rb +0 -12
- data/spec/unit/module_tool/applications/builder_spec.rb +0 -432
- data/spec/unit/network/http/api/ca/v1_spec.rb +0 -26
- data/spec/unit/network/http/rack/rest_spec.rb +0 -325
- data/spec/unit/network/http/rack_spec.rb +0 -43
- data/spec/unit/network/http/webrick/rest_spec.rb +0 -231
- data/spec/unit/network/http/webrick_spec.rb +0 -279
- data/spec/unit/network/server_spec.rb +0 -95
- data/spec/unit/provider/aixobject_spec.rb +0 -101
- data/spec/unit/provider/augeas/augeas_spec.rb +0 -1025
- data/spec/unit/provider/cisco_spec.rb +0 -15
- data/spec/unit/provider/cron/crontab_spec.rb +0 -207
- data/spec/unit/provider/cron/parsed_spec.rb +0 -358
- data/spec/unit/provider/host/parsed_spec.rb +0 -233
- data/spec/unit/provider/interface/cisco_spec.rb +0 -57
- data/spec/unit/provider/macauthorization_spec.rb +0 -155
- data/spec/unit/provider/mcx/mcxcontent_spec.rb +0 -192
- data/spec/unit/provider/mount/parsed_spec.rb +0 -317
- data/spec/unit/provider/mount_spec.rb +0 -165
- data/spec/unit/provider/naginator_spec.rb +0 -79
- data/spec/unit/provider/network_device_spec.rb +0 -152
- data/spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb +0 -2060
- data/spec/unit/provider/selboolean_spec.rb +0 -36
- data/spec/unit/provider/selmodule-example.pp +0 -0
- data/spec/unit/provider/selmodule_spec.rb +0 -73
- data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +0 -277
- data/spec/unit/provider/sshkey/parsed_spec.rb +0 -95
- data/spec/unit/provider/vlan/cisco_spec.rb +0 -55
- data/spec/unit/provider/yumrepo/inifile_spec.rb +0 -326
- data/spec/unit/provider/zfs/zfs_spec.rb +0 -106
- data/spec/unit/provider/zone/solaris_spec.rb +0 -247
- data/spec/unit/provider/zpool/zpool_spec.rb +0 -251
- data/spec/unit/ssl/certificate_authority/autosign_command_spec.rb +0 -30
- data/spec/unit/ssl/certificate_authority/interface_spec.rb +0 -560
- data/spec/unit/ssl/certificate_authority_spec.rb +0 -1184
- data/spec/unit/ssl/certificate_revocation_list_spec.rb +0 -196
- data/spec/unit/ssl/configuration_spec.rb +0 -141
- data/spec/unit/ssl/inventory_spec.rb +0 -151
- data/spec/unit/type/augeas_spec.rb +0 -119
- data/spec/unit/type/computer_spec.rb +0 -80
- data/spec/unit/type/cron_spec.rb +0 -543
- data/spec/unit/type/host_spec.rb +0 -681
- data/spec/unit/type/interface_spec.rb +0 -129
- data/spec/unit/type/k5login_spec.rb +0 -115
- data/spec/unit/type/macauthorization_spec.rb +0 -113
- data/spec/unit/type/mailalias_spec.rb +0 -49
- data/spec/unit/type/maillist_spec.rb +0 -41
- data/spec/unit/type/mcx_spec.rb +0 -79
- data/spec/unit/type/mount_spec.rb +0 -634
- data/spec/unit/type/nagios_spec.rb +0 -293
- data/spec/unit/type/scheduled_task_spec.rb +0 -103
- data/spec/unit/type/selboolean_spec.rb +0 -44
- data/spec/unit/type/selmodule_spec.rb +0 -17
- data/spec/unit/type/ssh_authorized_key_spec.rb +0 -258
- data/spec/unit/type/sshkey_spec.rb +0 -77
- data/spec/unit/type/vlan_spec.rb +0 -44
- data/spec/unit/type/yumrepo_spec.rb +0 -398
- data/spec/unit/type/zfs_spec.rb +0 -46
- data/spec/unit/type/zone_spec.rb +0 -172
- data/spec/unit/type/zpool_spec.rb +0 -109
- data/spec/unit/util/nagios_maker_spec.rb +0 -122
- data/spec/unit/util/network_device/cisco/device_spec.rb +0 -482
- data/spec/unit/util/network_device/cisco/facts_spec.rb +0 -64
- data/spec/unit/util/network_device/cisco/interface_spec.rb +0 -88
- data/spec/unit/util/network_device/ipcalc_spec.rb +0 -62
- data/spec/unit/util/network_device/transport/ssh_spec.rb +0 -218
- data/spec/unit/util/network_device/transport/telnet_spec.rb +0 -86
|
@@ -4,7 +4,9 @@ class Puppet::Pops::Evaluator::EppEvaluator
|
|
|
4
4
|
|
|
5
5
|
def self.inline_epp(scope, epp_source, template_args = nil)
|
|
6
6
|
unless epp_source.is_a?(String)
|
|
7
|
-
|
|
7
|
+
#TRANSLATORS 'inline_epp()' is a method name and 'epp' refers to 'Embedded Puppet (EPP) template' and should not be translated
|
|
8
|
+
raise ArgumentError, _("inline_epp(): the first argument must be a String with the epp source text, got a %{class_name}") %
|
|
9
|
+
{ class_name: epp_source.class }
|
|
8
10
|
end
|
|
9
11
|
|
|
10
12
|
# Parse and validate the source
|
|
@@ -12,7 +14,8 @@ class Puppet::Pops::Evaluator::EppEvaluator
|
|
|
12
14
|
begin
|
|
13
15
|
result = parser.parse_string(epp_source, 'inlined-epp-text')
|
|
14
16
|
rescue Puppet::ParseError => e
|
|
15
|
-
|
|
17
|
+
#TRANSLATORS 'inline_epp()' is a method name and 'EPP' refers to 'Embedded Puppet (EPP) template' and should not be translated
|
|
18
|
+
raise ArgumentError, _("inline_epp(): Invalid EPP: %{detail}") % { detail: e.message }
|
|
16
19
|
end
|
|
17
20
|
|
|
18
21
|
# Evaluate (and check template_args)
|
|
@@ -21,7 +24,8 @@ class Puppet::Pops::Evaluator::EppEvaluator
|
|
|
21
24
|
|
|
22
25
|
def self.epp(scope, file, env_name, template_args = nil)
|
|
23
26
|
unless file.is_a?(String)
|
|
24
|
-
|
|
27
|
+
#TRANSLATORS 'epp()' is a method name and should not be translated
|
|
28
|
+
raise ArgumentError, _("epp(): the first argument must be a String with the filename, got a %{class_name}") % { class_name: file.class }
|
|
25
29
|
end
|
|
26
30
|
|
|
27
31
|
unless Puppet::FileSystem.exist?(file)
|
|
@@ -41,27 +45,32 @@ class Puppet::Pops::Evaluator::EppEvaluator
|
|
|
41
45
|
begin
|
|
42
46
|
result = parser.parse_file(template_file)
|
|
43
47
|
rescue Puppet::ParseError => e
|
|
44
|
-
|
|
48
|
+
#TRANSLATORS 'epp()' is a method name and 'EPP' refers to 'Embedded Puppet (EPP) template' and should not be translated
|
|
49
|
+
raise ArgumentError, _("epp(): Invalid EPP: %{detail}") % { detail: e.message }
|
|
45
50
|
end
|
|
46
51
|
|
|
47
52
|
# Evaluate (and check template_args)
|
|
48
53
|
evaluate(parser, 'epp', scope, true, result, template_args)
|
|
49
54
|
end
|
|
50
55
|
|
|
51
|
-
private
|
|
52
|
-
|
|
53
56
|
def self.evaluate(parser, func_name, scope, use_global_scope_only, parse_result, template_args)
|
|
54
57
|
template_args, template_args_set = handle_template_args(func_name, template_args)
|
|
55
58
|
|
|
56
59
|
body = parse_result.body
|
|
57
60
|
unless body.is_a?(Puppet::Pops::Model::LambdaExpression)
|
|
58
|
-
|
|
61
|
+
#TRANSLATORS 'LambdaExpression' is a class name and should not be translated
|
|
62
|
+
raise ArgumentError, _("%{function_name}(): the parser did not produce a LambdaExpression, got '%{class_name}'") %
|
|
63
|
+
{ function_name: func_name, class_name: body.class }
|
|
59
64
|
end
|
|
60
65
|
unless body.body.is_a?(Puppet::Pops::Model::EppExpression)
|
|
61
|
-
|
|
66
|
+
#TRANSLATORS 'EppExpression' is a class name and should not be translated
|
|
67
|
+
raise ArgumentError, _("%{function_name}(): the parser did not produce an EppExpression, got '%{class_name}'") %
|
|
68
|
+
{ function_name: func_name, class_name: body.body.class }
|
|
62
69
|
end
|
|
63
70
|
unless parse_result.definitions.empty?
|
|
64
|
-
|
|
71
|
+
#TRANSLATORS 'EPP' refers to 'Embedded Puppet (EPP) template'
|
|
72
|
+
raise ArgumentError, _("%{function_name}(): The EPP template contains illegal expressions (definitions)") %
|
|
73
|
+
{ function_name: func_name }
|
|
65
74
|
end
|
|
66
75
|
|
|
67
76
|
parameters_specified = body.body.parameters_specified
|
|
@@ -71,6 +80,19 @@ class Puppet::Pops::Evaluator::EppEvaluator
|
|
|
71
80
|
enforce_parameters = true
|
|
72
81
|
end
|
|
73
82
|
|
|
83
|
+
# filter out all qualified names and set them in qualified_variables
|
|
84
|
+
# only pass unqualified (filtered) variable names to the the template
|
|
85
|
+
filtered_args = {}
|
|
86
|
+
template_args.each_pair do |k, v|
|
|
87
|
+
if k =~ /::/
|
|
88
|
+
k = k[2..-1] if k.start_with?('::')
|
|
89
|
+
scope[k] = v
|
|
90
|
+
else
|
|
91
|
+
filtered_args[k] = v
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
template_args = filtered_args
|
|
95
|
+
|
|
74
96
|
# inline_epp() logic sees all local variables, epp() all global
|
|
75
97
|
if use_global_scope_only
|
|
76
98
|
scope.with_global_scope do |global_scope|
|
|
@@ -80,15 +102,19 @@ class Puppet::Pops::Evaluator::EppEvaluator
|
|
|
80
102
|
parser.closure(body, scope).call_by_name(template_args, enforce_parameters)
|
|
81
103
|
end
|
|
82
104
|
end
|
|
105
|
+
private_class_method :evaluate
|
|
83
106
|
|
|
84
107
|
def self.handle_template_args(func_name, template_args)
|
|
85
108
|
if template_args.nil?
|
|
86
109
|
[{}, false]
|
|
87
110
|
else
|
|
88
111
|
unless template_args.is_a?(Hash)
|
|
89
|
-
|
|
112
|
+
#TRANSLATORS 'template_args' is a variable name and should not be translated
|
|
113
|
+
raise ArgumentError, _("%{function_name}(): the template_args must be a Hash, got a %{class_name}") %
|
|
114
|
+
{ function_name: func_name, class_name: template_args.class }
|
|
90
115
|
end
|
|
91
116
|
[template_args, true]
|
|
92
117
|
end
|
|
93
118
|
end
|
|
119
|
+
private_class_method :handle_template_args
|
|
94
120
|
end
|
|
@@ -178,6 +178,15 @@ class EvaluatorImpl
|
|
|
178
178
|
end
|
|
179
179
|
end
|
|
180
180
|
|
|
181
|
+
# Implementation of case option matching.
|
|
182
|
+
#
|
|
183
|
+
# This is the type of matching performed in a case option, using == for every type
|
|
184
|
+
# of value except regular expression where a match is performed.
|
|
185
|
+
#
|
|
186
|
+
def match?(left, right)
|
|
187
|
+
@@compare_operator.match(left, right, nil)
|
|
188
|
+
end
|
|
189
|
+
|
|
181
190
|
protected
|
|
182
191
|
|
|
183
192
|
def lvalue_VariableExpression(o, scope)
|
|
@@ -231,7 +240,10 @@ class EvaluatorImpl
|
|
|
231
240
|
values.fetch(lval) {|k| fail(Issues::MISSING_MULTI_ASSIGNMENT_KEY, o, :key =>k)},
|
|
232
241
|
o, scope)
|
|
233
242
|
end
|
|
234
|
-
elsif values.is_a?(Puppet::Pops::Types::
|
|
243
|
+
elsif values.is_a?(Puppet::Pops::Types::PClassType)
|
|
244
|
+
if Puppet[:tasks]
|
|
245
|
+
fail(Issues::CATALOG_OPERATION_NOT_SUPPORTED_WHEN_SCRIPTING, o, {:operation => _('multi var assignment from class')})
|
|
246
|
+
end
|
|
235
247
|
# assign variables from class variables
|
|
236
248
|
# lookup class resource and return one or more parameter values
|
|
237
249
|
# TODO: behavior when class_name is nil
|
|
@@ -305,7 +317,7 @@ class EvaluatorImpl
|
|
|
305
317
|
nil
|
|
306
318
|
end
|
|
307
319
|
|
|
308
|
-
# A QualifiedReference (i.e. a capitalized qualified name such as Foo, or Foo::Bar) evaluates to a
|
|
320
|
+
# A QualifiedReference (i.e. a capitalized qualified name such as Foo, or Foo::Bar) evaluates to a PTypeType
|
|
309
321
|
#
|
|
310
322
|
def eval_QualifiedReference(o, scope)
|
|
311
323
|
type = Types::TypeParser.singleton.interpret(o)
|
|
@@ -330,7 +342,7 @@ class EvaluatorImpl
|
|
|
330
342
|
candidate
|
|
331
343
|
when Hash
|
|
332
344
|
candidate.to_a
|
|
333
|
-
when Puppet::Pops::Types::
|
|
345
|
+
when Puppet::Pops::Types::Iterable
|
|
334
346
|
candidate.to_a
|
|
335
347
|
else
|
|
336
348
|
# turns anything else into an array (so result can be unfolded)
|
|
@@ -392,7 +404,9 @@ class EvaluatorImpl
|
|
|
392
404
|
end
|
|
393
405
|
|
|
394
406
|
left_o = bin_expr.left_expr
|
|
395
|
-
if (left.is_a?(
|
|
407
|
+
if (left.is_a?(URI) || left.is_a?(Types::PBinaryType::Binary)) && operator == '+'
|
|
408
|
+
concatenate(left, right)
|
|
409
|
+
elsif (left.is_a?(Array) || left.is_a?(Hash)) && COLLECTION_OPERATORS.include?(operator)
|
|
396
410
|
# Handle operation on collections
|
|
397
411
|
case operator
|
|
398
412
|
when '+'
|
|
@@ -428,9 +442,9 @@ class EvaluatorImpl
|
|
|
428
442
|
end
|
|
429
443
|
end
|
|
430
444
|
result = left.send(operator, right)
|
|
431
|
-
rescue NoMethodError
|
|
445
|
+
rescue NoMethodError
|
|
432
446
|
fail(Issues::OPERATOR_NOT_APPLICABLE, left_o, {:operator => operator, :left_value => left})
|
|
433
|
-
rescue ZeroDivisionError
|
|
447
|
+
rescue ZeroDivisionError
|
|
434
448
|
fail(Issues::DIV_BY_ZERO, bin_expr.right_expr)
|
|
435
449
|
end
|
|
436
450
|
case result
|
|
@@ -479,7 +493,7 @@ class EvaluatorImpl
|
|
|
479
493
|
def eval_AccessExpression(o, scope)
|
|
480
494
|
left = evaluate(o.left_expr, scope)
|
|
481
495
|
keys = o.keys || []
|
|
482
|
-
if left.is_a?(Types::
|
|
496
|
+
if left.is_a?(Types::PClassType)
|
|
483
497
|
# Evaluate qualified references without errors no undefined types
|
|
484
498
|
keys = keys.map {|key| key.is_a?(Model::QualifiedReference) ? Types::TypeParser.singleton.interpret(key) : evaluate(key, scope) }
|
|
485
499
|
else
|
|
@@ -689,7 +703,7 @@ class EvaluatorImpl
|
|
|
689
703
|
end
|
|
690
704
|
|
|
691
705
|
# Evaluates a CollectExpression by creating a collector transformer. The transformer
|
|
692
|
-
# will
|
|
706
|
+
# will evaluate the collection, create the appropriate collector, and hand it off
|
|
693
707
|
# to the compiler to collect the resources specified by the query.
|
|
694
708
|
#
|
|
695
709
|
def eval_CollectExpression o, scope
|
|
@@ -724,7 +738,8 @@ class EvaluatorImpl
|
|
|
724
738
|
#evaluate(o.body, scope)
|
|
725
739
|
rescue Puppet::Pops::Evaluator::PuppetStopIteration => ex
|
|
726
740
|
# breaking out of a file level program is not allowed
|
|
727
|
-
|
|
741
|
+
#TRANSLATOR break() is a method that should not be translated
|
|
742
|
+
raise Puppet::ParseError.new(_("break() from context where this is illegal"), ex.file, ex.line)
|
|
728
743
|
end
|
|
729
744
|
end
|
|
730
745
|
|
|
@@ -755,7 +770,7 @@ class EvaluatorImpl
|
|
|
755
770
|
|
|
756
771
|
# must be a CatalogEntry subtype
|
|
757
772
|
case evaluated_name
|
|
758
|
-
when Types::
|
|
773
|
+
when Types::PClassType
|
|
759
774
|
unless evaluated_name.class_name.nil?
|
|
760
775
|
fail(Issues::ILLEGAL_RESOURCE_TYPE, o.type_name, {:actual=> evaluated_name.to_s})
|
|
761
776
|
end
|
|
@@ -858,6 +873,18 @@ class EvaluatorImpl
|
|
|
858
873
|
evaluated_resources
|
|
859
874
|
end
|
|
860
875
|
|
|
876
|
+
def eval_ApplyExpression(o, scope)
|
|
877
|
+
# All expressions are wrapped in an ApplyBlockExpression so we can identify the contents of
|
|
878
|
+
# that block. However we don't want to serialize the block expression, so unwrap here.
|
|
879
|
+
body = if o.body.statements.count > 1
|
|
880
|
+
Model::BlockExpression.from_asserted_hash(o.body._pcore_init_hash)
|
|
881
|
+
else
|
|
882
|
+
o.body.statements[0]
|
|
883
|
+
end
|
|
884
|
+
|
|
885
|
+
Puppet.lookup(:apply_executor).apply(unfold([], o.arguments, scope), body, scope)
|
|
886
|
+
end
|
|
887
|
+
|
|
861
888
|
# Produces 3x parameter
|
|
862
889
|
def eval_AttributeOperation(o, scope)
|
|
863
890
|
create_resource_parameter(o, scope, o.attribute_name, evaluate(o.value_expr, scope), o.operator)
|
|
@@ -933,7 +960,7 @@ class EvaluatorImpl
|
|
|
933
960
|
|
|
934
961
|
obj = receiver[0]
|
|
935
962
|
receiver_type = Types::TypeCalculator.infer(obj)
|
|
936
|
-
if receiver_type.is_a?(Types::
|
|
963
|
+
if receiver_type.is_a?(Types::TypeWithMembers)
|
|
937
964
|
member = receiver_type[name]
|
|
938
965
|
unless member.nil?
|
|
939
966
|
args = unfold([], o.arguments || [], scope)
|
|
@@ -1095,7 +1122,7 @@ class EvaluatorImpl
|
|
|
1095
1122
|
end
|
|
1096
1123
|
|
|
1097
1124
|
def string_Regexp(o, scope)
|
|
1098
|
-
|
|
1125
|
+
Types::PRegexpType.regexp_to_s_with_delimiters(o)
|
|
1099
1126
|
end
|
|
1100
1127
|
|
|
1101
1128
|
def string_PAnyType(o, scope)
|
|
@@ -1116,7 +1143,11 @@ class EvaluatorImpl
|
|
|
1116
1143
|
# * Hash => a merge, where entries in `y` overrides
|
|
1117
1144
|
# * any other => error
|
|
1118
1145
|
#
|
|
1119
|
-
# When x is
|
|
1146
|
+
# When x is a URI, y of type produces:
|
|
1147
|
+
#
|
|
1148
|
+
# * String => merge of URI interpreted x + URI(y) using URI merge semantics
|
|
1149
|
+
# * URI => merge of URI interpreted x + y using URI merge semantics
|
|
1150
|
+
# * any other => error
|
|
1120
1151
|
#
|
|
1121
1152
|
# When x is nil, an empty array is used instead.
|
|
1122
1153
|
#
|
|
@@ -1146,11 +1177,18 @@ class EvaluatorImpl
|
|
|
1146
1177
|
# @param hsh_x [Hash] the hash to merge to
|
|
1147
1178
|
# @param hsh_y [Hash] hash merged with `hsh_x`
|
|
1148
1179
|
# @return [Hash] new hash with `hsh_x` merged with `hsh_y`
|
|
1180
|
+
# @overload concatenate(uri_x, uri_y)
|
|
1181
|
+
# @param uri_x [URI] the uri to merge to
|
|
1182
|
+
# @param uri_y [URI] uri to merged with `uri_x`
|
|
1183
|
+
# @return [URI] new uri with `uri_x` merged with `uri_y`
|
|
1184
|
+
# @overload concatenate(uri_x, string_y)
|
|
1185
|
+
# @param uri_x [URI] the uri to merge to
|
|
1186
|
+
# @param string_y [String] string to merge with `uri_x`
|
|
1187
|
+
# @return [URI] new uri with `uri_x` merged with `string_y`
|
|
1149
1188
|
# @raise [ArgumentError] when `xxx_x` is neither an Array nor a Hash
|
|
1150
1189
|
# @raise [ArgumentError] when `xxx_x` is a Hash, and `xxx_y` is neither Array nor Hash.
|
|
1151
1190
|
#
|
|
1152
1191
|
def concatenate(x, y)
|
|
1153
|
-
x = [x] unless x.is_a?(Array) || x.is_a?(Hash)
|
|
1154
1192
|
case x
|
|
1155
1193
|
when Array
|
|
1156
1194
|
y = case y
|
|
@@ -1168,7 +1206,7 @@ class EvaluatorImpl
|
|
|
1168
1206
|
# Hash[a,1,b,2] => {a => 1, b => 2}
|
|
1169
1207
|
# Hash[[a,1], [b,2]] => {[a,1] => [b,2]}
|
|
1170
1208
|
# Hash[[[a,1], [b,2]]] => {a => 1, b => 2}
|
|
1171
|
-
# Use type
|
|
1209
|
+
# Use type calculator to determine if array is Array[Array[?]], and if so use second form
|
|
1172
1210
|
# of call
|
|
1173
1211
|
t = @@type_calculator.infer(y)
|
|
1174
1212
|
if t.element_type.is_a? Types::PArrayType
|
|
@@ -1177,11 +1215,17 @@ class EvaluatorImpl
|
|
|
1177
1215
|
Hash[*y]
|
|
1178
1216
|
end
|
|
1179
1217
|
else
|
|
1180
|
-
raise ArgumentError.new(_(
|
|
1218
|
+
raise ArgumentError.new(_('Can only append Array or Hash to a Hash'))
|
|
1181
1219
|
end
|
|
1182
1220
|
x.merge y # new hash with overwrite
|
|
1221
|
+
when URI
|
|
1222
|
+
raise ArgumentError.new(_('An URI can only be merged with an URI or String')) unless y.is_a?(String) || y.is_a?(URI)
|
|
1223
|
+
x + y
|
|
1224
|
+
when Types::PBinaryType::Binary
|
|
1225
|
+
raise ArgumentError.new(_('Can only append Binary to a Binary')) unless y.is_a?(Types::PBinaryType::Binary)
|
|
1226
|
+
Types::PBinaryType::Binary.from_binary_string(x.binary_buffer + y.binary_buffer)
|
|
1183
1227
|
else
|
|
1184
|
-
|
|
1228
|
+
concatenate([x], y)
|
|
1185
1229
|
end
|
|
1186
1230
|
end
|
|
1187
1231
|
|
|
@@ -19,7 +19,7 @@ module Puppet::Pops::Evaluator::ExternalSyntaxSupport
|
|
|
19
19
|
if acceptor.error_count > 0
|
|
20
20
|
checker_message = "Invalid produced text having syntax: '#{syntax}'."
|
|
21
21
|
Puppet::Pops::IssueReporter.assert_and_report(acceptor, :message => checker_message)
|
|
22
|
-
raise ArgumentError, "Internal Error: Configuration of runtime error handling wrong: should have raised exception"
|
|
22
|
+
raise ArgumentError, _("Internal Error: Configuration of runtime error handling wrong: should have raised exception")
|
|
23
23
|
end
|
|
24
24
|
end
|
|
25
25
|
|
|
@@ -9,7 +9,7 @@ module Evaluator
|
|
|
9
9
|
# Hash
|
|
10
10
|
# QualifiedName
|
|
11
11
|
# Default (produced :default)
|
|
12
|
-
# Regular Expression (produces ruby
|
|
12
|
+
# Regular Expression (produces ruby regular expression)
|
|
13
13
|
#
|
|
14
14
|
# Not considered literal
|
|
15
15
|
# QualifiedReference # i.e. File, FooBar
|
|
@@ -91,7 +91,7 @@ class RelationshipOperator
|
|
|
91
91
|
end
|
|
92
92
|
|
|
93
93
|
# Asserts (and returns) the type if it is a PCatalogEntryType
|
|
94
|
-
# (A PCatalogEntryType is the base class of
|
|
94
|
+
# (A PCatalogEntryType is the base class of PClassType, and PResourceType).
|
|
95
95
|
#
|
|
96
96
|
def assert_catalog_type(o, scope)
|
|
97
97
|
unless @type_calculator.assignable?(@catalog_type, o)
|
|
@@ -61,7 +61,7 @@ class Runtime3Converter
|
|
|
61
61
|
end
|
|
62
62
|
|
|
63
63
|
def convert_NilClass(o, scope, undef_value)
|
|
64
|
-
@inner ?
|
|
64
|
+
@inner ? nil : undef_value
|
|
65
65
|
end
|
|
66
66
|
|
|
67
67
|
def convert_Integer(o, scope, undef_value)
|
|
@@ -78,8 +78,10 @@ class Runtime3Converter
|
|
|
78
78
|
end
|
|
79
79
|
|
|
80
80
|
def convert_String(o, scope, undef_value)
|
|
81
|
-
#
|
|
82
|
-
|
|
81
|
+
# Although wasteful, a dup is needed because user code may mutate these strings when applying
|
|
82
|
+
# Resources. This does not happen when in master mode since it only uses Resources that are
|
|
83
|
+
# in puppet core and those are all safe.
|
|
84
|
+
o.frozen? && !Puppet.run_mode.master? ? o.dup : o
|
|
83
85
|
end
|
|
84
86
|
|
|
85
87
|
def convert_Object(o, scope, undef_value)
|
|
@@ -103,7 +105,8 @@ class Runtime3Converter
|
|
|
103
105
|
end
|
|
104
106
|
|
|
105
107
|
def convert_Symbol(o, scope, undef_value)
|
|
106
|
-
o == :undef
|
|
108
|
+
o == :undef ? undef_value : o
|
|
109
|
+
#o == :undef && !@inner ? undef_value : o
|
|
107
110
|
end
|
|
108
111
|
|
|
109
112
|
def convert_PAnyType(o, scope, undef_value)
|
|
@@ -127,9 +130,9 @@ class Runtime3Converter
|
|
|
127
130
|
# Ensures that resources are *not* absolute.
|
|
128
131
|
#
|
|
129
132
|
def catalog_type_to_split_type_title(catalog_type)
|
|
130
|
-
split_type = catalog_type.is_a?(Puppet::Pops::Types::
|
|
133
|
+
split_type = catalog_type.is_a?(Puppet::Pops::Types::PTypeType) ? catalog_type.type : catalog_type
|
|
131
134
|
case split_type
|
|
132
|
-
when Puppet::Pops::Types::
|
|
135
|
+
when Puppet::Pops::Types::PClassType
|
|
133
136
|
class_name = split_type.class_name
|
|
134
137
|
['class', class_name.nil? ? nil : class_name.sub(/^::/, '')]
|
|
135
138
|
when Puppet::Pops::Types::PResourceType
|
|
@@ -143,7 +146,9 @@ class Runtime3Converter
|
|
|
143
146
|
[type_name.nil? ? nil : type_name.sub(/^::/, '').downcase, title.nil? ? '' : title]
|
|
144
147
|
end
|
|
145
148
|
else
|
|
146
|
-
|
|
149
|
+
#TRANSLATORS 'PClassType' and 'PResourceType' are Puppet types and should not be translated
|
|
150
|
+
raise ArgumentError, _("Cannot split the type %{class_name}, it represents neither a PClassType, nor a PResourceType.") %
|
|
151
|
+
{ class_name: catalog_type.class }
|
|
147
152
|
end
|
|
148
153
|
end
|
|
149
154
|
|
|
@@ -164,7 +169,7 @@ end
|
|
|
164
169
|
class Runtime3FunctionArgumentConverter < Runtime3Converter
|
|
165
170
|
|
|
166
171
|
def convert_Regexp(o, scope, undef_value)
|
|
167
|
-
# Puppet 3x cannot handle parameter values that are
|
|
172
|
+
# Puppet 3x cannot handle parameter values that are regular expressions. Turn into regexp string in
|
|
168
173
|
# source form
|
|
169
174
|
o.inspect
|
|
170
175
|
end
|
|
@@ -194,6 +199,22 @@ class Runtime3FunctionArgumentConverter < Runtime3Converter
|
|
|
194
199
|
o.to_s
|
|
195
200
|
end
|
|
196
201
|
|
|
202
|
+
# Converts result back to 4.x by replacing :undef with nil in Array and Hash objects
|
|
203
|
+
#
|
|
204
|
+
def self.convert_return(val3x)
|
|
205
|
+
if val3x == :undef
|
|
206
|
+
nil
|
|
207
|
+
elsif val3x.is_a?(Array)
|
|
208
|
+
val3x.map {|v| convert_return(v) }
|
|
209
|
+
elsif val3x.is_a?(Hash)
|
|
210
|
+
hsh = {}
|
|
211
|
+
val3x.each_pair {|k,v| hsh[convert_return(k)] = convert_return(v)}
|
|
212
|
+
hsh
|
|
213
|
+
else
|
|
214
|
+
val3x
|
|
215
|
+
end
|
|
216
|
+
end
|
|
217
|
+
|
|
197
218
|
@instance = self.new
|
|
198
219
|
end
|
|
199
220
|
|
|
@@ -28,7 +28,7 @@ module Runtime3ResourceSupport
|
|
|
28
28
|
# from the raised exception. (It may be good enough).
|
|
29
29
|
unless resolved_type
|
|
30
30
|
# TODO: do this the right way
|
|
31
|
-
raise ArgumentError, "Unknown resource type: '
|
|
31
|
+
raise ArgumentError, _("Unknown resource type: '%{type}'") % { type: type_name }
|
|
32
32
|
end
|
|
33
33
|
|
|
34
34
|
# Build a resource for each title - use the resolved *type* as opposed to a reference
|
|
@@ -60,7 +60,7 @@ module Runtime3ResourceSupport
|
|
|
60
60
|
# Classes are evaluated immediately
|
|
61
61
|
scope.compiler.evaluate_classes([resource_title], scope, false) if resolved_type == CLASS_STRING
|
|
62
62
|
|
|
63
|
-
# Turn the resource into a
|
|
63
|
+
# Turn the resource into a PTypeType (a reference to a resource type)
|
|
64
64
|
# weed out nil's
|
|
65
65
|
resource_to_ptype(resource)
|
|
66
66
|
end
|
|
@@ -89,8 +89,6 @@ module Runtime3ResourceSupport
|
|
|
89
89
|
scope.environment.known_resource_types.find_hostclass(class_name)
|
|
90
90
|
end
|
|
91
91
|
|
|
92
|
-
private
|
|
93
|
-
|
|
94
92
|
def self.find_builtin_resource_type(scope, type_name)
|
|
95
93
|
if type_name.include?(':')
|
|
96
94
|
# Skip the search for built in types as they are always in global namespace
|
|
@@ -106,11 +104,13 @@ module Runtime3ResourceSupport
|
|
|
106
104
|
# horrible - should be loaded by a "last loader" in 4.x loaders instead.
|
|
107
105
|
Puppet::Type.type(type_name)
|
|
108
106
|
end
|
|
107
|
+
private_class_method :find_builtin_resource_type
|
|
109
108
|
|
|
110
109
|
def self.find_defined_resource_type(scope, type_name)
|
|
111
110
|
krt = scope.environment.known_resource_types
|
|
112
111
|
krt.find_definition(type_name) || krt.application(type_name)
|
|
113
112
|
end
|
|
113
|
+
private_class_method :find_defined_resource_type
|
|
114
114
|
|
|
115
115
|
end
|
|
116
116
|
end
|
|
@@ -20,7 +20,7 @@ module Runtime3Support
|
|
|
20
20
|
def fail(issue, semantic, options={}, except=nil)
|
|
21
21
|
optionally_fail(issue, semantic, options, except)
|
|
22
22
|
# an error should have been raised since fail always fails
|
|
23
|
-
raise ArgumentError, "Internal Error: Configuration of runtime error handling wrong: should have raised exception"
|
|
23
|
+
raise ArgumentError, _("Internal Error: Configuration of runtime error handling wrong: should have raised exception")
|
|
24
24
|
end
|
|
25
25
|
|
|
26
26
|
# Optionally (based on severity) Fails the evaluation of _semantic_ with a given issue
|
|
@@ -55,13 +55,8 @@ module Runtime3Support
|
|
|
55
55
|
#
|
|
56
56
|
def runtime_issue(issue, options={})
|
|
57
57
|
# Get position from puppet runtime stack
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
file, line = stacktrace[0]
|
|
61
|
-
else
|
|
62
|
-
file = nil
|
|
63
|
-
line = nil
|
|
64
|
-
end
|
|
58
|
+
file, line = Puppet::Pops::PuppetStack.top_of_stack
|
|
59
|
+
|
|
65
60
|
# Use a SemanticError as the sourcepos
|
|
66
61
|
semantic = Puppet::Pops::SemanticError.new(issue, nil, options.merge({:file => file, :line => line}))
|
|
67
62
|
optionally_fail(issue, semantic)
|
|
@@ -150,7 +145,7 @@ module Runtime3Support
|
|
|
150
145
|
# case - it is just wrong, the error should be reported by the caller who knows in more detail where it
|
|
151
146
|
# is in the source.
|
|
152
147
|
#
|
|
153
|
-
raise ArgumentError, "Internal error - attempt to create a local scope without a hash" unless hash.is_a?(Hash)
|
|
148
|
+
raise ArgumentError, _("Internal error - attempt to create a local scope without a hash") unless hash.is_a?(Hash)
|
|
154
149
|
scope.ephemeral_from(hash)
|
|
155
150
|
end
|
|
156
151
|
|
|
@@ -288,7 +283,7 @@ module Runtime3Support
|
|
|
288
283
|
end
|
|
289
284
|
|
|
290
285
|
# Call via 3x API if function exists there
|
|
291
|
-
raise ArgumentError, "Unknown function '
|
|
286
|
+
raise ArgumentError, _("Unknown function '%{name}'") % { name: name } unless Puppet::Parser::Functions.function(name)
|
|
292
287
|
|
|
293
288
|
# Arguments must be mapped since functions are unaware of the new and magical creatures in 4x.
|
|
294
289
|
# NOTE: Passing an empty string last converts nil/:undef to empty string
|
|
@@ -301,21 +296,23 @@ module Runtime3Support
|
|
|
301
296
|
def call_function(name, args, o, scope, &block)
|
|
302
297
|
file, line = extract_file_line(o)
|
|
303
298
|
loader = Adapters::LoaderAdapter.loader_for_model_object(o, file)
|
|
304
|
-
|
|
299
|
+
# 'ruby -wc' thinks that _func is unused, because the only reference to it
|
|
300
|
+
# is inside of the Kernel.eval string below. By prefixing it with the
|
|
301
|
+
# underscore, we let Ruby know to not worry about whether it's unused or not.
|
|
302
|
+
if loader && _func = loader.load(:function, name)
|
|
305
303
|
Puppet::Util::Profiler.profile(name, [:functions, name]) do
|
|
306
304
|
# Add stack frame when calling. See Puppet::Pops::PuppetStack
|
|
307
|
-
return Kernel.eval('
|
|
305
|
+
return Kernel.eval('_func.call(scope, *args, &block)'.freeze, Kernel.binding, file || '', line)
|
|
308
306
|
end
|
|
309
307
|
end
|
|
310
|
-
# Call via 3x API if function exists there
|
|
308
|
+
# Call via 3x API if function exists there without having been autoloaded
|
|
311
309
|
fail(Issues::UNKNOWN_FUNCTION, o, {:name => name}) unless Puppet::Parser::Functions.function(name)
|
|
312
310
|
|
|
313
311
|
# Arguments must be mapped since functions are unaware of the new and magical creatures in 4x.
|
|
314
312
|
# NOTE: Passing an empty string last converts nil/:undef to empty string
|
|
315
313
|
mapped_args = Runtime3FunctionArgumentConverter.map_args(args, scope, '')
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
Puppet::Parser::Functions.rvalue?(name) ? result : nil
|
|
314
|
+
# The 3x function performs return value mapping and returns nil if it is not of rvalue type
|
|
315
|
+
Puppet::Pops::PuppetStack.stack(file, line, scope, "function_#{name}", [mapped_args], &block)
|
|
319
316
|
end
|
|
320
317
|
|
|
321
318
|
# The o is used for source reference
|
|
@@ -330,8 +327,7 @@ module Runtime3Support
|
|
|
330
327
|
end
|
|
331
328
|
|
|
332
329
|
def convert(value, scope, undef_value)
|
|
333
|
-
|
|
334
|
-
converter.convert(value, scope, undef_value)
|
|
330
|
+
Runtime3Converter.instance.convert(value, scope, undef_value)
|
|
335
331
|
end
|
|
336
332
|
|
|
337
333
|
def create_resources(o, scope, virtual, exported, type_name, resource_titles, evaluated_parameters)
|
|
@@ -375,7 +371,7 @@ module Runtime3Support
|
|
|
375
371
|
evaluated_parameters = evaluated_parameters.flatten
|
|
376
372
|
evaluated_resources.each do |r|
|
|
377
373
|
unless r.is_a?(Types::PResourceType) && r.type_name != 'class'
|
|
378
|
-
fail(Issues::
|
|
374
|
+
fail(Issues::ILLEGAL_OVERRIDDEN_TYPE, o, {:actual => r} )
|
|
379
375
|
end
|
|
380
376
|
t = Runtime3ResourceSupport.find_resource_type(scope, r.type_name)
|
|
381
377
|
resource = Puppet::Parser::Resource.new(
|
|
@@ -510,6 +506,7 @@ module Runtime3Support
|
|
|
510
506
|
p[Issues::RT_NO_STORECONFIGS] = Puppet[:storeconfigs] ? :ignore : :warning
|
|
511
507
|
p[Issues::CLASS_NOT_VIRTUALIZABLE] = Puppet[:strict] == :off ? :warning : Puppet[:strict]
|
|
512
508
|
p[Issues::NUMERIC_COERCION] = Puppet[:strict] == :off ? :ignore : Puppet[:strict]
|
|
509
|
+
p[Issues::SERIALIZATION_DEFAULT_CONVERTED_TO_STRING] = Puppet[:strict] == :off ? :warning : Puppet[:strict]
|
|
513
510
|
p[Issues::SERIALIZATION_UNKNOWN_CONVERTED_TO_STRING] = Puppet[:strict] == :off ? :warning : Puppet[:strict]
|
|
514
511
|
p[Issues::SERIALIZATION_UNKNOWN_KEY_CONVERTED_TO_STRING] = Puppet[:strict] == :off ? :warning : Puppet[:strict]
|
|
515
512
|
end
|
|
@@ -525,7 +522,7 @@ module Runtime3Support
|
|
|
525
522
|
:exception_class => Puppet::PreformattedError
|
|
526
523
|
})
|
|
527
524
|
if errors?
|
|
528
|
-
raise ArgumentError, "Internal Error: Configuration of runtime error handling wrong: should have raised exception"
|
|
525
|
+
raise ArgumentError, _("Internal Error: Configuration of runtime error handling wrong: should have raised exception")
|
|
529
526
|
end
|
|
530
527
|
end
|
|
531
528
|
end
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
module Puppet::Pops
|
|
2
|
-
|
|
2
|
+
module Functions
|
|
3
3
|
# Defines a connection between a implementation method and the signature that
|
|
4
4
|
# the method will handle.
|
|
5
5
|
#
|
|
@@ -72,14 +72,21 @@ class Dispatch < Evaluator::CallableSignature
|
|
|
72
72
|
new_args = []
|
|
73
73
|
@weaving.each do |knit|
|
|
74
74
|
if knit.is_a?(Array)
|
|
75
|
-
|
|
75
|
+
injection_name = @injections[knit[0]]
|
|
76
76
|
new_args <<
|
|
77
|
-
case
|
|
78
|
-
when :
|
|
79
|
-
# currently only supports :scope injection
|
|
77
|
+
case injection_name
|
|
78
|
+
when :scope
|
|
80
79
|
scope
|
|
80
|
+
when :pal_script_compiler
|
|
81
|
+
Puppet.lookup(:pal_script_compiler)
|
|
82
|
+
when :cache
|
|
83
|
+
Puppet::Pops::Adapters::ObjectIdCacheAdapter.adapt(scope.compiler)
|
|
84
|
+
when :pal_catalog_compiler
|
|
85
|
+
Puppet.lookup(:pal_catalog_compiler)
|
|
86
|
+
when :pal_compiler
|
|
87
|
+
Puppet.lookup(:pal_compiler)
|
|
81
88
|
else
|
|
82
|
-
|
|
89
|
+
raise ArgumentError, _("Unknown injection %{injection_name}") % { injection_name: injection_name }
|
|
83
90
|
end
|
|
84
91
|
else
|
|
85
92
|
# Careful so no new nil arguments are added since they would override default
|
|
@@ -49,13 +49,13 @@ class Puppet::Pops::Functions::Function
|
|
|
49
49
|
rescue Puppet::Pops::Evaluator::Next => jumper
|
|
50
50
|
begin
|
|
51
51
|
throw :next, jumper.value
|
|
52
|
-
rescue Puppet::Parser::Scope::UNCAUGHT_THROW_EXCEPTION
|
|
52
|
+
rescue Puppet::Parser::Scope::UNCAUGHT_THROW_EXCEPTION
|
|
53
53
|
raise Puppet::ParseError.new("next() from context where this is illegal", jumper.file, jumper.line)
|
|
54
54
|
end
|
|
55
55
|
rescue Puppet::Pops::Evaluator::Return => jumper
|
|
56
56
|
begin
|
|
57
57
|
throw :return, jumper
|
|
58
|
-
rescue Puppet::Parser::Scope::UNCAUGHT_THROW_EXCEPTION
|
|
58
|
+
rescue Puppet::Parser::Scope::UNCAUGHT_THROW_EXCEPTION
|
|
59
59
|
raise Puppet::ParseError.new("return() from context where this is illegal", jumper.file, jumper.line)
|
|
60
60
|
end
|
|
61
61
|
end
|
|
@@ -108,7 +108,10 @@ class Puppet::Pops::Functions::Function
|
|
|
108
108
|
def internal_call_function(scope, function_name, args, &block)
|
|
109
109
|
|
|
110
110
|
the_loader = loader
|
|
111
|
-
|
|
111
|
+
unless the_loader
|
|
112
|
+
raise ArgumentError, _("Function %{class_name}(): cannot call function '%{function_name}' - no loader specified") %
|
|
113
|
+
{ class_name: self.class.name, function_name: function_name }
|
|
114
|
+
end
|
|
112
115
|
|
|
113
116
|
func = the_loader.load(:function, function_name)
|
|
114
117
|
if func
|
|
@@ -121,7 +124,10 @@ class Puppet::Pops::Functions::Function
|
|
|
121
124
|
# about where in a puppet manifest this error originates. (Such information is not available here).
|
|
122
125
|
loader_scope = closure_scope
|
|
123
126
|
func_3x = Puppet::Parser::Functions.function(function_name, loader_scope.environment) if loader_scope.is_a?(Puppet::Parser::Scope)
|
|
124
|
-
|
|
127
|
+
unless func_3x
|
|
128
|
+
raise ArgumentError, _("Function %{class_name}(): Unknown function: '%{function_name}'") %
|
|
129
|
+
{ class_name: self.class.name, function_name: function_name }
|
|
130
|
+
end
|
|
125
131
|
|
|
126
132
|
# Call via 3x API
|
|
127
133
|
# Arguments must be mapped since functions are unaware of the new and magical creatures in 4x.
|