puppet 6.28.0-universal-darwin → 7.0.0-universal-darwin
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of puppet might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CODEOWNERS +16 -2
- data/CONTRIBUTING.md +5 -5
- data/Gemfile +5 -7
- data/Gemfile.lock +52 -131
- data/README.md +5 -5
- data/conf/fileserver.conf +5 -10
- data/ext/README.environment +8 -0
- data/ext/build_defaults.yaml +1 -1
- data/ext/dbfix.sql +132 -0
- data/ext/debian/README.Debian +8 -0
- data/ext/debian/README.source +2 -0
- data/ext/debian/TODO.Debian +1 -0
- data/ext/debian/changelog.erb +1122 -0
- data/ext/debian/compat +1 -0
- data/ext/debian/control +144 -0
- data/ext/debian/copyright +339 -0
- data/ext/debian/docs +1 -0
- data/ext/debian/fileserver.conf +41 -0
- data/ext/debian/puppet-common.dirs +13 -0
- data/ext/debian/puppet-common.install +3 -0
- data/ext/debian/puppet-common.lintian-overrides +5 -0
- data/ext/debian/puppet-common.manpages +28 -0
- data/ext/debian/puppet-common.postinst +35 -0
- data/ext/debian/puppet-common.postrm +33 -0
- data/ext/debian/puppet-el.dirs +1 -0
- data/ext/debian/puppet-el.emacsen-install +25 -0
- data/ext/debian/puppet-el.emacsen-remove +11 -0
- data/ext/debian/puppet-el.emacsen-startup +9 -0
- data/ext/debian/puppet-el.install +1 -0
- data/ext/debian/puppet-testsuite.install +2 -0
- data/ext/debian/puppet-testsuite.lintian-overrides +4 -0
- data/ext/debian/puppet.lintian-overrides +3 -0
- data/ext/debian/puppet.logrotate +20 -0
- data/ext/debian/puppet.postinst +20 -0
- data/ext/debian/puppet.postrm +20 -0
- data/ext/debian/puppet.preinst +20 -0
- data/ext/debian/puppetmaster-common.install +2 -0
- data/ext/debian/puppetmaster-common.manpages +2 -0
- data/ext/debian/puppetmaster-common.postinst +6 -0
- data/ext/debian/puppetmaster-passenger.dirs +4 -0
- data/ext/debian/puppetmaster-passenger.postinst +162 -0
- data/ext/debian/puppetmaster-passenger.postrm +61 -0
- data/ext/debian/puppetmaster.README.debian +17 -0
- data/ext/debian/puppetmaster.default +14 -0
- data/ext/debian/puppetmaster.init +137 -0
- data/ext/debian/puppetmaster.lintian-overrides +3 -0
- data/ext/debian/puppetmaster.postinst +20 -0
- data/ext/debian/puppetmaster.postrm +5 -0
- data/ext/debian/puppetmaster.preinst +22 -0
- data/ext/debian/rules +132 -0
- data/ext/debian/source/format +1 -0
- data/ext/debian/source/options +1 -0
- data/ext/debian/vim-puppet.README.Debian +13 -0
- data/ext/debian/vim-puppet.dirs +5 -0
- data/ext/debian/vim-puppet.yaml +7 -0
- data/ext/debian/watch +2 -0
- data/ext/freebsd/puppetd +26 -0
- data/ext/freebsd/puppetmasterd +26 -0
- data/ext/gentoo/conf.d/puppet +5 -0
- data/ext/gentoo/conf.d/puppetmaster +12 -0
- data/ext/gentoo/init.d/puppet +38 -0
- data/ext/gentoo/init.d/puppetmaster +51 -0
- data/ext/gentoo/puppet/fileserver.conf +41 -0
- data/ext/ips/puppet-agent +44 -0
- data/ext/ips/puppet-master +44 -0
- data/ext/ips/puppet.p5m.erb +12 -0
- data/ext/ips/puppetagent.xml +42 -0
- data/ext/ips/puppetmaster.xml +42 -0
- data/ext/ips/rules +19 -0
- data/ext/ips/transforms +34 -0
- data/ext/ldap/puppet.schema +24 -0
- data/ext/logcheck/puppet +23 -0
- data/{examples → ext}/nagios/check_puppet.rb +2 -2
- data/ext/osx/file_mapping.yaml +28 -0
- data/ext/osx/postflight.erb +109 -0
- data/ext/osx/preflight.erb +52 -0
- data/ext/osx/prototype.plist.erb +38 -0
- data/ext/osx/puppet.plist +0 -2
- data/ext/project_data.yaml +1 -15
- data/ext/redhat/fileserver.conf +41 -0
- data/ext/redhat/logrotate +21 -0
- data/ext/redhat/puppet.spec.erb +841 -0
- data/ext/redhat/server.init +128 -0
- data/ext/redhat/server.sysconfig +13 -0
- data/{examples/enc → ext}/regexp_nodes/classes/databases +0 -0
- data/{examples/enc → ext}/regexp_nodes/classes/webservers +0 -0
- data/{examples/enc → ext}/regexp_nodes/environment/development +0 -0
- data/{examples/enc → ext}/regexp_nodes/parameters/service/prod +0 -0
- data/{examples/enc → ext}/regexp_nodes/parameters/service/qa +0 -0
- data/{examples/enc → ext}/regexp_nodes/parameters/service/sandbox +0 -0
- data/{examples/enc → ext}/regexp_nodes/regexp_nodes.rb +0 -0
- data/ext/solaris/pkginfo +6 -0
- data/ext/solaris/smf/puppetd.xml +77 -0
- data/ext/solaris/smf/puppetmasterd.xml +77 -0
- data/ext/solaris/smf/svc-puppetd +71 -0
- data/ext/solaris/smf/svc-puppetmasterd +67 -0
- data/ext/suse/puppet.spec +310 -0
- data/ext/suse/server.init +173 -0
- data/ext/windows/service/daemon.rb +6 -5
- data/ext/yaml_nodes.rb +105 -0
- data/install.rb +21 -17
- data/lib/puppet/agent.rb +11 -47
- data/lib/puppet/application/agent.rb +16 -18
- data/lib/puppet/application/apply.rb +4 -24
- data/lib/puppet/application/device.rb +100 -106
- data/lib/puppet/application/filebucket.rb +13 -10
- data/lib/puppet/application/lookup.rb +24 -74
- data/lib/puppet/application/resource.rb +16 -32
- data/lib/puppet/application/script.rb +0 -2
- data/lib/puppet/application/ssl.rb +1 -13
- data/lib/puppet/application.rb +178 -108
- data/lib/puppet/application_support.rb +0 -7
- data/lib/puppet/concurrent/thread_local_singleton.rb +3 -6
- data/lib/puppet/configurer/downloader.rb +1 -2
- data/lib/puppet/configurer/plugin_handler.rb +21 -19
- data/lib/puppet/configurer.rb +86 -183
- data/lib/puppet/confine/variable.rb +1 -1
- data/lib/puppet/defaults.rb +130 -244
- data/lib/puppet/environments.rb +82 -146
- data/lib/puppet/face/facts.rb +5 -103
- data/lib/puppet/face/generate.rb +0 -2
- data/lib/puppet/face/help/action.erb +0 -1
- data/lib/puppet/face/help/face.erb +0 -1
- data/lib/puppet/face/help.rb +1 -1
- data/lib/puppet/face/node/clean.rb +0 -11
- data/lib/puppet/face/plugin.rb +5 -8
- data/lib/puppet/ffi/windows/api_types.rb +311 -0
- data/lib/puppet/ffi/windows/constants.rb +404 -0
- data/lib/puppet/ffi/windows/functions.rb +628 -0
- data/lib/puppet/ffi/windows/structs.rb +338 -0
- data/lib/puppet/ffi/windows.rb +12 -0
- data/lib/puppet/file_serving/configuration/parser.rb +3 -34
- data/lib/puppet/file_serving/configuration.rb +0 -8
- data/lib/puppet/file_serving/fileset.rb +2 -14
- data/lib/puppet/file_serving/http_metadata.rb +1 -1
- data/lib/puppet/file_serving/metadata.rb +0 -3
- data/lib/puppet/file_serving/mount/file.rb +4 -4
- data/lib/puppet/file_serving/mount.rb +1 -2
- data/lib/puppet/file_system/file_impl.rb +8 -10
- data/lib/puppet/file_system/jruby.rb +1 -1
- data/lib/puppet/file_system/memory_file.rb +1 -8
- data/lib/puppet/file_system/windows.rb +6 -8
- data/lib/puppet/file_system.rb +1 -1
- data/lib/puppet/forge/repository.rb +0 -1
- data/lib/puppet/forge.rb +4 -4
- data/lib/puppet/functions/all.rb +1 -1
- data/lib/puppet/functions/camelcase.rb +1 -1
- data/lib/puppet/functions/capitalize.rb +2 -2
- data/lib/puppet/functions/downcase.rb +2 -2
- data/lib/puppet/functions/empty.rb +0 -8
- data/lib/puppet/functions/find_template.rb +2 -2
- data/lib/puppet/functions/get.rb +5 -5
- data/lib/puppet/functions/group_by.rb +5 -13
- data/lib/puppet/functions/lest.rb +1 -1
- data/lib/puppet/functions/new.rb +100 -100
- data/lib/puppet/functions/next.rb +1 -18
- data/lib/puppet/functions/partition.rb +4 -12
- data/lib/puppet/functions/require.rb +5 -5
- data/lib/puppet/functions/sort.rb +3 -3
- data/lib/puppet/functions/strftime.rb +0 -1
- data/lib/puppet/functions/tree_each.rb +10 -7
- data/lib/puppet/functions/type.rb +4 -4
- data/lib/puppet/functions/unwrap.rb +2 -17
- data/lib/puppet/functions/upcase.rb +2 -2
- data/lib/puppet/functions/versioncmp.rb +2 -6
- data/lib/puppet/generate/models/type/type.rb +4 -1
- data/lib/puppet/generate/type.rb +0 -9
- data/lib/puppet/http/client.rb +167 -137
- data/lib/puppet/{network/resolver.rb → http/dns.rb} +2 -2
- data/lib/puppet/http/errors.rb +16 -0
- data/lib/puppet/http/external_client.rb +5 -7
- data/lib/puppet/{network/http → http}/factory.rb +8 -15
- data/lib/puppet/{network/http → http}/pool.rb +61 -26
- data/lib/puppet/{network/http/session.rb → http/pool_entry.rb} +2 -3
- data/lib/puppet/http/proxy.rb +137 -0
- data/lib/puppet/http/redirector.rb +4 -17
- data/lib/puppet/http/resolver/server_list.rb +10 -25
- data/lib/puppet/http/resolver/settings.rb +4 -7
- data/lib/puppet/http/resolver/srv.rb +7 -11
- data/lib/puppet/http/resolver.rb +5 -15
- data/lib/puppet/http/response.rb +36 -54
- data/lib/puppet/http/response_converter.rb +24 -0
- data/lib/puppet/http/response_net_http.rb +42 -0
- data/lib/puppet/http/retry_after_handler.rb +4 -13
- data/lib/puppet/http/service/ca.rb +11 -22
- data/lib/puppet/http/service/compiler.rb +23 -144
- data/lib/puppet/http/service/file_server.rb +19 -29
- data/lib/puppet/http/service/puppetserver.rb +26 -12
- data/lib/puppet/http/service/report.rb +8 -10
- data/lib/puppet/http/service.rb +12 -26
- data/lib/puppet/http/session.rb +11 -20
- data/lib/puppet/{network/http → http}/site.rb +1 -2
- data/lib/puppet/http.rb +22 -13
- data/lib/puppet/indirector/catalog/compiler.rb +6 -25
- data/lib/puppet/indirector/catalog/rest.rb +2 -5
- data/lib/puppet/indirector/facts/facter.rb +6 -6
- data/lib/puppet/indirector/facts/rest.rb +3 -22
- data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -9
- data/lib/puppet/indirector/file_content/rest.rb +2 -6
- data/lib/puppet/indirector/file_metadata/rest.rb +3 -10
- data/lib/puppet/indirector/file_server.rb +1 -8
- data/lib/puppet/indirector/generic_http.rb +0 -11
- data/lib/puppet/indirector/indirection.rb +1 -1
- data/lib/puppet/indirector/node/rest.rb +2 -4
- data/lib/puppet/indirector/report/rest.rb +3 -8
- data/lib/puppet/indirector/request.rb +0 -101
- data/lib/puppet/indirector/resource/ral.rb +1 -6
- data/lib/puppet/indirector/rest.rb +12 -263
- data/lib/puppet/indirector/terminus.rb +0 -4
- data/lib/puppet/interface/documentation.rb +0 -1
- data/lib/puppet/module/plan.rb +1 -0
- data/lib/puppet/module/task.rb +1 -1
- data/lib/puppet/module.rb +0 -1
- data/lib/puppet/module_tool/applications/installer.rb +2 -56
- data/lib/puppet/module_tool/applications/uninstaller.rb +1 -1
- data/lib/puppet/module_tool/applications/upgrader.rb +1 -1
- data/lib/puppet/module_tool/applications.rb +0 -1
- data/lib/puppet/module_tool/errors/shared.rb +2 -34
- data/lib/puppet/network/authconfig.rb +2 -96
- data/lib/puppet/network/authorization.rb +13 -35
- data/lib/puppet/network/formats.rb +0 -67
- data/lib/puppet/network/http/api/indirected_routes.rb +3 -21
- data/lib/puppet/network/http/api/master/v3.rb +11 -13
- data/lib/puppet/network/http/connection.rb +247 -316
- data/lib/puppet/network/http/handler.rb +0 -1
- data/lib/puppet/network/http.rb +3 -3
- data/lib/puppet/network/http_pool.rb +16 -34
- data/lib/puppet/node/environment.rb +11 -10
- data/lib/puppet/node.rb +2 -31
- data/lib/puppet/pal/json_catalog_encoder.rb +4 -0
- data/lib/puppet/pal/pal_impl.rb +4 -2
- data/lib/puppet/parser/ast/leaf.rb +2 -3
- data/lib/puppet/parser/ast/pops_bridge.rb +0 -38
- data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +14 -39
- data/lib/puppet/parser/compiler.rb +0 -198
- data/lib/puppet/parser/functions/fqdn_rand.rb +6 -14
- data/lib/puppet/parser/resource.rb +1 -70
- data/lib/puppet/parser/scope.rb +0 -1
- data/lib/puppet/parser/templatewrapper.rb +1 -2
- data/lib/puppet/pops/evaluator/closure.rb +5 -7
- data/lib/puppet/pops/evaluator/deferred_resolver.rb +3 -5
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +0 -5
- data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +3 -4
- data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
- data/lib/puppet/pops/issues.rb +0 -5
- data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +6 -8
- data/lib/puppet/pops/lookup/lookup_adapter.rb +2 -3
- data/lib/puppet/pops/model/ast.pp +0 -42
- data/lib/puppet/pops/model/ast.rb +0 -291
- data/lib/puppet/pops/model/ast_transformer.rb +1 -1
- data/lib/puppet/pops/model/factory.rb +1 -47
- data/lib/puppet/pops/model/model_label_provider.rb +0 -5
- data/lib/puppet/pops/model/model_tree_dumper.rb +0 -22
- data/lib/puppet/pops/model/pn_transformer.rb +0 -16
- data/lib/puppet/pops/parser/code_merger.rb +4 -4
- data/lib/puppet/pops/parser/egrammar.ra +0 -58
- data/lib/puppet/pops/parser/eparser.rb +1685 -1896
- data/lib/puppet/pops/parser/lexer2.rb +91 -92
- data/lib/puppet/pops/parser/parser_support.rb +0 -5
- data/lib/puppet/pops/parser/slurp_support.rb +0 -1
- data/lib/puppet/pops/resource/resource_type_impl.rb +2 -24
- data/lib/puppet/pops/serialization/to_stringified_converter.rb +1 -1
- data/lib/puppet/pops/types/p_sem_ver_type.rb +2 -8
- data/lib/puppet/pops/types/p_sensitive_type.rb +0 -10
- data/lib/puppet/pops/types/type_calculator.rb +0 -7
- data/lib/puppet/pops/types/type_formatter.rb +3 -4
- data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
- data/lib/puppet/pops/types/type_parser.rb +0 -4
- data/lib/puppet/pops/types/types.rb +1 -2
- data/lib/puppet/pops/validation/checker4_0.rb +9 -37
- data/lib/puppet/pops/validation/tasks_checker.rb +0 -12
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -2
- data/lib/puppet/property/list.rb +1 -1
- data/lib/puppet/provider/aix_object.rb +1 -1
- data/lib/puppet/provider/exec/posix.rb +4 -16
- data/lib/puppet/provider/group/groupadd.rb +10 -18
- data/lib/puppet/provider/nameservice.rb +0 -18
- data/lib/puppet/provider/package/apt.rb +2 -34
- data/lib/puppet/provider/package/aptitude.rb +0 -6
- data/lib/puppet/provider/package/dnfmodule.rb +1 -1
- data/lib/puppet/provider/package/dpkg.rb +0 -10
- data/lib/puppet/provider/package/gem.rb +23 -3
- data/lib/puppet/provider/package/nim.rb +6 -11
- data/lib/puppet/provider/package/pip.rb +3 -16
- data/lib/puppet/provider/package/pkg.rb +2 -23
- data/lib/puppet/provider/package/portage.rb +1 -1
- data/lib/puppet/provider/package/puppet_gem.rb +1 -4
- data/lib/puppet/provider/package/puppetserver_gem.rb +17 -8
- data/lib/puppet/provider/package/windows/exe_package.rb +1 -30
- data/lib/puppet/provider/package/windows/package.rb +1 -2
- data/lib/puppet/provider/package/windows.rb +1 -14
- data/lib/puppet/provider/package/yum.rb +1 -1
- data/lib/puppet/provider/parsedfile.rb +0 -3
- data/lib/puppet/provider/service/base.rb +1 -1
- data/lib/puppet/provider/service/debian.rb +0 -2
- data/lib/puppet/provider/service/init.rb +9 -10
- data/lib/puppet/provider/service/launchd.rb +2 -2
- data/lib/puppet/provider/service/redhat.rb +1 -1
- data/lib/puppet/provider/service/smf.rb +194 -76
- data/lib/puppet/provider/service/systemd.rb +6 -16
- data/lib/puppet/provider/service/upstart.rb +5 -5
- data/lib/puppet/provider/service/windows.rb +0 -38
- data/lib/puppet/provider/user/aix.rb +3 -46
- data/lib/puppet/provider/user/directoryservice.rb +11 -39
- data/lib/puppet/provider/user/useradd.rb +24 -134
- data/lib/puppet/provider.rb +1 -14
- data/lib/puppet/reference/configuration.rb +8 -7
- data/lib/puppet/reference/indirection.rb +1 -1
- data/lib/puppet/reference/providers.rb +2 -2
- data/lib/puppet/resource/catalog.rb +2 -15
- data/lib/puppet/resource/type.rb +3 -119
- data/lib/puppet/resource/type_collection.rb +3 -49
- data/lib/puppet/resource.rb +6 -127
- data/lib/puppet/runtime.rb +2 -13
- data/lib/puppet/settings/environment_conf.rb +0 -1
- data/lib/puppet/settings/integer_setting.rb +17 -0
- data/lib/puppet/settings/port_setting.rb +15 -0
- data/lib/puppet/settings/priority_setting.rb +5 -4
- data/lib/puppet/settings.rb +82 -98
- data/lib/puppet/ssl/base.rb +3 -5
- data/lib/puppet/ssl/certificate.rb +0 -6
- data/lib/puppet/ssl/certificate_request.rb +1 -12
- data/lib/puppet/ssl/certificate_signer.rb +6 -0
- data/lib/puppet/ssl/oids.rb +3 -1
- data/lib/puppet/ssl/ssl_provider.rb +36 -75
- data/lib/puppet/ssl/state_machine.rb +20 -14
- data/lib/puppet/ssl/verifier.rb +2 -6
- data/lib/puppet/ssl.rb +10 -6
- data/lib/puppet/test/test_helper.rb +2 -7
- data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
- data/lib/puppet/transaction/persistence.rb +1 -21
- data/lib/puppet/transaction/report.rb +3 -19
- data/lib/puppet/transaction.rb +1 -7
- data/lib/puppet/type/exec.rb +6 -36
- data/lib/puppet/type/file/checksum.rb +1 -1
- data/lib/puppet/type/file/data_sync.rb +1 -1
- data/lib/puppet/type/file/mode.rb +0 -6
- data/lib/puppet/type/file/selcontext.rb +1 -1
- data/lib/puppet/type/file/source.rb +1 -1
- data/lib/puppet/type/file.rb +12 -32
- data/lib/puppet/type/filebucket.rb +4 -4
- data/lib/puppet/type/group.rb +1 -0
- data/lib/puppet/type/package.rb +8 -16
- data/lib/puppet/type/resources.rb +1 -1
- data/lib/puppet/type/service.rb +41 -26
- data/lib/puppet/type/tidy.rb +3 -22
- data/lib/puppet/type/user.rb +13 -35
- data/lib/puppet/type.rb +1 -77
- data/lib/puppet/util/autoload.rb +8 -1
- data/lib/puppet/util/command_line.rb +1 -1
- data/lib/puppet/util/execution.rb +0 -11
- data/lib/puppet/util/filetype.rb +2 -2
- data/lib/puppet/util/http_proxy.rb +2 -215
- data/lib/puppet/util/json.rb +0 -20
- data/lib/puppet/util/log.rb +4 -8
- data/lib/puppet/util/logging.rb +25 -1
- data/lib/puppet/util/monkey_patches.rb +2 -59
- data/lib/puppet/util/package.rb +16 -25
- data/lib/puppet/util/pidlock.rb +1 -1
- data/lib/puppet/util/posix.rb +5 -54
- data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +1 -1
- data/lib/puppet/util/rdoc.rb +0 -7
- data/lib/puppet/util/retry_action.rb +1 -1
- data/lib/puppet/util/run_mode.rb +9 -1
- data/lib/puppet/util/selinux.rb +4 -30
- data/lib/puppet/util/suidmanager.rb +2 -1
- data/lib/puppet/util/symbolic_file_mode.rb +17 -29
- data/lib/puppet/util/tagging.rb +0 -1
- data/lib/puppet/util/windows/adsi.rb +0 -46
- data/lib/puppet/util/windows/daemon.rb +360 -0
- data/lib/puppet/util/windows/error.rb +1 -0
- data/lib/puppet/util/windows/eventlog.rb +4 -9
- data/lib/puppet/util/windows/file.rb +8 -242
- data/lib/puppet/util/windows/monkey_patches/process.rb +414 -0
- data/lib/puppet/util/windows/principal.rb +2 -9
- data/lib/puppet/util/windows/process.rb +4 -226
- data/lib/puppet/util/windows/service.rb +11 -457
- data/lib/puppet/util/windows/sid.rb +2 -6
- data/lib/puppet/util/windows/string.rb +12 -13
- data/lib/puppet/util/windows/user.rb +2 -0
- data/lib/puppet/util/windows.rb +3 -11
- data/lib/puppet/util/yaml.rb +1 -42
- data/lib/puppet/util.rb +5 -5
- data/lib/puppet/vendor/require_vendored.rb +0 -1
- data/lib/puppet/version.rb +1 -1
- data/lib/puppet/x509/cert_provider.rb +29 -1
- data/lib/puppet/x509.rb +5 -1
- data/lib/puppet.rb +34 -27
- data/locales/puppet.pot +9633 -5
- data/man/man5/puppet.conf.5 +286 -401
- data/man/man8/puppet-agent.8 +2 -5
- data/man/man8/puppet-apply.8 +2 -2
- data/man/man8/puppet-catalog.8 +9 -9
- data/man/man8/puppet-config.8 +1 -1
- data/man/man8/puppet-describe.8 +1 -1
- data/man/man8/puppet-device.8 +2 -2
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +1 -1
- data/man/man8/puppet-facts.8 +8 -51
- data/man/man8/puppet-filebucket.8 +4 -4
- data/man/man8/puppet-generate.8 +1 -1
- data/man/man8/puppet-help.8 +1 -1
- data/man/man8/puppet-lookup.8 +6 -9
- data/man/man8/puppet-module.8 +3 -60
- data/man/man8/puppet-node.8 +5 -5
- data/man/man8/puppet-parser.8 +1 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +5 -5
- data/man/man8/puppet-resource.8 +1 -1
- data/man/man8/puppet-script.8 +2 -2
- data/man/man8/puppet-ssl.8 +1 -5
- data/man/man8/puppet.8 +2 -2
- data/spec/fixtures/ssl/127.0.0.1-key.pem +57 -107
- data/spec/fixtures/ssl/127.0.0.1.pem +31 -52
- data/spec/fixtures/ssl/bad-basic-constraints.pem +35 -57
- data/spec/fixtures/ssl/bad-int-basic-constraints.pem +35 -57
- data/spec/fixtures/ssl/ca.pem +35 -57
- data/spec/fixtures/ssl/crl.pem +18 -28
- data/spec/fixtures/ssl/ec-key.pem +11 -11
- data/spec/fixtures/ssl/ec.pem +24 -33
- data/spec/fixtures/ssl/encrypted-ec-key.pem +12 -12
- data/spec/fixtures/ssl/encrypted-key.pem +58 -108
- data/spec/fixtures/ssl/intermediate-agent-crl.pem +19 -28
- data/spec/fixtures/ssl/intermediate-agent.pem +36 -57
- data/spec/fixtures/ssl/intermediate-crl.pem +21 -31
- data/spec/fixtures/ssl/intermediate.pem +36 -57
- data/spec/fixtures/ssl/pluto-key.pem +57 -107
- data/spec/fixtures/ssl/pluto.pem +30 -52
- data/spec/fixtures/ssl/request-key.pem +57 -107
- data/spec/fixtures/ssl/request.pem +26 -47
- data/spec/fixtures/ssl/revoked-key.pem +57 -107
- data/spec/fixtures/ssl/revoked.pem +30 -52
- data/spec/fixtures/ssl/signed-key.pem +57 -107
- data/spec/fixtures/ssl/signed.pem +30 -52
- data/spec/fixtures/ssl/tampered-cert.pem +30 -52
- data/spec/fixtures/ssl/tampered-csr.pem +26 -47
- data/spec/fixtures/ssl/unknown-127.0.0.1-key.pem +57 -107
- data/spec/fixtures/ssl/unknown-127.0.0.1.pem +29 -50
- data/spec/fixtures/ssl/unknown-ca-key.pem +57 -107
- data/spec/fixtures/ssl/unknown-ca.pem +33 -55
- data/spec/fixtures/unit/forge/bacula.json +1 -1
- data/spec/fixtures/unit/provider/service/smf/{svcs.out → svcs_instances.out} +0 -0
- data/spec/fixtures/unit/provider/user/aix/aix_passwd_file.out +0 -4
- data/spec/integration/application/agent_spec.rb +50 -406
- data/spec/integration/application/apply_spec.rb +1 -20
- data/spec/integration/application/filebucket_spec.rb +16 -32
- data/spec/integration/application/help_spec.rb +2 -0
- data/spec/integration/application/lookup_spec.rb +50 -81
- data/spec/integration/application/module_spec.rb +0 -21
- data/spec/integration/application/plugin_spec.rb +24 -2
- data/spec/integration/configurer_spec.rb +2 -18
- data/spec/integration/defaults_spec.rb +14 -3
- data/spec/integration/environments/settings_interpolation_spec.rb +4 -0
- data/spec/integration/http/client_spec.rb +4 -63
- data/spec/integration/indirector/direct_file_server_spec.rb +3 -1
- data/spec/integration/indirector/facts/facter_spec.rb +39 -93
- data/spec/integration/network/http_pool_spec.rb +3 -21
- data/spec/integration/parser/catalog_spec.rb +0 -38
- data/spec/integration/parser/node_spec.rb +0 -9
- data/spec/integration/parser/pcore_resource_spec.rb +0 -47
- data/spec/integration/resource/type_collection_spec.rb +6 -2
- data/spec/integration/transaction/report_spec.rb +1 -1
- data/spec/integration/transaction_spec.rb +9 -4
- data/spec/integration/type/exec_spec.rb +45 -70
- data/spec/integration/type/file_spec.rb +7 -6
- data/spec/integration/type/package_spec.rb +6 -6
- data/spec/integration/util/rdoc/parser_spec.rb +1 -1
- data/spec/integration/util/windows/adsi_spec.rb +1 -21
- data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
- data/spec/integration/util/windows/principal_spec.rb +0 -21
- data/spec/integration/util/windows/process_spec.rb +9 -1
- data/spec/integration/util/windows/registry_spec.rb +10 -6
- data/spec/integration/util/windows/security_spec.rb +1 -1
- data/spec/lib/matchers/include.rb +27 -0
- data/spec/lib/matchers/include_spec.rb +32 -0
- data/spec/lib/puppet/test_ca.rb +2 -7
- data/spec/lib/puppet_spec/https.rb +1 -1
- data/spec/lib/puppet_spec/modules.rb +2 -13
- data/spec/lib/puppet_spec/puppetserver.rb +3 -55
- data/spec/lib/puppet_spec/settings.rb +1 -1
- data/spec/shared_behaviours/documentation_on_faces.rb +2 -0
- data/spec/spec_helper.rb +17 -13
- data/spec/unit/agent_spec.rb +8 -38
- data/spec/unit/application/agent_spec.rb +19 -33
- data/spec/unit/application/apply_spec.rb +56 -76
- data/spec/unit/application/facts_spec.rb +12 -456
- data/spec/unit/application/filebucket_spec.rb +43 -39
- data/spec/unit/application/lookup_spec.rb +10 -131
- data/spec/unit/application/resource_spec.rb +0 -29
- data/spec/unit/application/ssl_spec.rb +2 -25
- data/spec/unit/application_spec.rb +9 -51
- data/spec/unit/certificate_factory_spec.rb +1 -1
- data/spec/unit/configurer/downloader_spec.rb +6 -8
- data/spec/unit/configurer/plugin_handler_spec.rb +56 -18
- data/spec/unit/configurer_spec.rb +68 -327
- data/spec/unit/confine/feature_spec.rb +1 -1
- data/spec/unit/confine_spec.rb +2 -8
- data/spec/unit/context/trusted_information_spec.rb +2 -6
- data/spec/unit/daemon_spec.rb +11 -2
- data/spec/unit/defaults_spec.rb +68 -55
- data/spec/unit/environments_spec.rb +68 -408
- data/spec/unit/face/generate_spec.rb +0 -64
- data/spec/unit/face/node_spec.rb +11 -0
- data/spec/unit/face/plugin_spec.rb +73 -33
- data/spec/unit/file_bucket/dipper_spec.rb +2 -2
- data/spec/unit/file_bucket/file_spec.rb +1 -1
- data/spec/unit/file_serving/configuration/parser_spec.rb +15 -41
- data/spec/unit/file_serving/configuration_spec.rb +10 -26
- data/spec/unit/file_serving/fileset_spec.rb +0 -60
- data/spec/unit/file_serving/metadata_spec.rb +3 -3
- data/spec/unit/file_serving/terminus_helper_spec.rb +4 -11
- data/spec/unit/file_system_spec.rb +4 -56
- data/spec/unit/forge/module_release_spec.rb +10 -5
- data/spec/unit/functions/assert_type_spec.rb +1 -1
- data/spec/unit/functions/camelcase_spec.rb +1 -1
- data/spec/unit/functions/capitalize_spec.rb +1 -1
- data/spec/unit/functions/downcase_spec.rb +1 -1
- data/spec/unit/functions/empty_spec.rb +0 -10
- data/spec/unit/functions/logging_spec.rb +0 -1
- data/spec/unit/functions/lookup_spec.rb +0 -64
- data/spec/unit/functions/unwrap_spec.rb +0 -8
- data/spec/unit/functions/upcase_spec.rb +1 -1
- data/spec/unit/functions/versioncmp_spec.rb +4 -40
- data/spec/unit/functions4_spec.rb +2 -2
- data/spec/unit/gettext/config_spec.rb +0 -12
- data/spec/unit/http/client_spec.rb +8 -84
- data/spec/unit/{network/resolver_spec.rb → http/dns_spec.rb} +3 -3
- data/spec/unit/http/external_client_spec.rb +4 -4
- data/spec/unit/{network/http → http}/factory_spec.rb +5 -30
- data/spec/unit/{network/http/session_spec.rb → http/pool_entry_spec.rb} +3 -3
- data/spec/unit/{network/http → http}/pool_spec.rb +12 -17
- data/spec/unit/{util/http_proxy_spec.rb → http/proxy_spec.rb} +2 -69
- data/spec/unit/http/resolver_spec.rb +13 -13
- data/spec/unit/http/service/compiler_spec.rb +0 -193
- data/spec/unit/http/service/file_server_spec.rb +3 -3
- data/spec/unit/http/service/puppetserver_spec.rb +34 -4
- data/spec/unit/http/service_spec.rb +0 -1
- data/spec/unit/http/session_spec.rb +16 -14
- data/spec/unit/{network/http → http}/site_spec.rb +3 -3
- data/spec/unit/indirector/catalog/compiler_spec.rb +10 -101
- data/spec/unit/indirector/catalog/rest_spec.rb +0 -8
- data/spec/unit/indirector/face_spec.rb +1 -0
- data/spec/unit/indirector/facts/facter_spec.rb +3 -0
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +5 -3
- data/spec/unit/indirector/file_bucket_file/selector_spec.rb +8 -26
- data/spec/unit/indirector/file_content/rest_spec.rb +0 -4
- data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -4
- data/spec/unit/indirector/file_server_spec.rb +1 -15
- data/spec/unit/indirector/indirection_spec.rb +15 -18
- data/spec/unit/indirector/report/rest_spec.rb +2 -17
- data/spec/unit/indirector/request_spec.rb +0 -264
- data/spec/unit/indirector/resource/ral_spec.rb +75 -40
- data/spec/unit/indirector/rest_spec.rb +98 -752
- data/spec/unit/indirector/store_configs_spec.rb +7 -0
- data/spec/unit/indirector_spec.rb +2 -2
- data/spec/unit/interface/action_spec.rb +9 -0
- data/spec/unit/module_spec.rb +1 -15
- data/spec/unit/module_tool/applications/installer_spec.rb +0 -105
- data/spec/unit/network/authconfig_spec.rb +2 -129
- data/spec/unit/network/authorization_spec.rb +2 -55
- data/spec/unit/network/formats_spec.rb +4 -51
- data/spec/unit/network/http/api/indirected_routes_spec.rb +5 -92
- data/spec/unit/network/http/api/master/v3_spec.rb +28 -7
- data/spec/unit/network/http/api_spec.rb +10 -0
- data/spec/unit/network/http/connection_spec.rb +19 -41
- data/spec/unit/network/http/handler_spec.rb +0 -1
- data/spec/unit/network/http_pool_spec.rb +0 -4
- data/spec/unit/node/environment_spec.rb +33 -21
- data/spec/unit/node_spec.rb +2 -60
- data/spec/unit/parser/compiler_spec.rb +19 -3
- data/spec/unit/parser/functions/create_resources_spec.rb +2 -20
- data/spec/unit/parser/functions/fqdn_rand_spec.rb +1 -15
- data/spec/unit/parser/resource_spec.rb +8 -14
- data/spec/unit/parser/templatewrapper_spec.rb +5 -16
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +4 -7
- data/spec/unit/pops/loaders/loaders_spec.rb +6 -21
- data/spec/unit/pops/parser/parse_application_spec.rb +4 -22
- data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -1
- data/spec/unit/pops/parser/parse_capabilities_spec.rb +8 -21
- data/spec/unit/pops/parser/parse_containers_spec.rb +13 -2
- data/spec/unit/pops/parser/parse_site_spec.rb +20 -24
- data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -71
- data/spec/unit/pops/serialization/to_from_hr_spec.rb +1 -1
- data/spec/unit/pops/serialization/to_stringified_spec.rb +0 -5
- data/spec/unit/pops/types/p_sem_ver_type_spec.rb +0 -18
- data/spec/unit/pops/types/p_sensitive_type_spec.rb +0 -18
- data/spec/unit/pops/types/type_calculator_spec.rb +6 -12
- data/spec/unit/pops/types/type_factory_spec.rb +1 -1
- data/spec/unit/pops/validator/validator_spec.rb +61 -51
- data/spec/unit/pops/visitor_spec.rb +1 -1
- data/spec/unit/property_spec.rb +0 -1
- data/spec/unit/provider/group/groupadd_spec.rb +2 -5
- data/spec/unit/provider/nameservice_spec.rb +64 -122
- data/spec/unit/provider/package/apt_spec.rb +23 -28
- data/spec/unit/provider/package/aptitude_spec.rb +1 -1
- data/spec/unit/provider/package/base_spec.rb +5 -6
- data/spec/unit/provider/package/dnfmodule_spec.rb +1 -10
- data/spec/unit/provider/package/dpkg_spec.rb +0 -48
- data/spec/unit/provider/package/gem_spec.rb +33 -1
- data/spec/unit/provider/package/nim_spec.rb +0 -42
- data/spec/unit/provider/package/pacman_spec.rb +12 -18
- data/spec/unit/provider/package/pip2_spec.rb +1 -1
- data/spec/unit/provider/package/pip3_spec.rb +1 -1
- data/spec/unit/provider/package/pip_spec.rb +12 -44
- data/spec/unit/provider/package/pkg_spec.rb +4 -29
- data/spec/unit/provider/package/pkgdmg_spec.rb +4 -0
- data/spec/unit/provider/package/puppet_gem_spec.rb +4 -3
- data/spec/unit/provider/package/puppetserver_gem_spec.rb +3 -3
- data/spec/unit/provider/package/windows/exe_package_spec.rb +0 -17
- data/spec/unit/provider/parsedfile_spec.rb +0 -10
- data/spec/unit/provider/service/gentoo_spec.rb +5 -6
- data/spec/unit/provider/service/init_spec.rb +9 -16
- data/spec/unit/provider/service/launchd_spec.rb +0 -11
- data/spec/unit/provider/service/openwrt_spec.rb +29 -23
- data/spec/unit/provider/service/redhat_spec.rb +2 -3
- data/spec/unit/provider/service/smf_spec.rb +401 -165
- data/spec/unit/provider/service/systemd_spec.rb +9 -54
- data/spec/unit/provider/service/windows_spec.rb +0 -203
- data/spec/unit/provider/user/aix_spec.rb +0 -105
- data/spec/unit/provider/user/directoryservice_spec.rb +36 -68
- data/spec/unit/provider/user/hpux_spec.rb +1 -1
- data/spec/unit/provider/user/pw_spec.rb +0 -2
- data/spec/unit/provider/user/useradd_spec.rb +5 -114
- data/spec/unit/provider_spec.rb +12 -22
- data/spec/unit/puppet_spec.rb +4 -12
- data/spec/unit/resource/catalog_spec.rb +2 -15
- data/spec/unit/resource/type_collection_spec.rb +2 -22
- data/spec/unit/resource/type_spec.rb +1 -1
- data/spec/unit/resource_spec.rb +12 -125
- data/spec/unit/settings/http_extra_headers_spec.rb +2 -4
- data/spec/unit/settings/integer_setting_spec.rb +42 -0
- data/spec/unit/settings/port_setting_spec.rb +31 -0
- data/spec/unit/settings/priority_setting_spec.rb +4 -4
- data/spec/unit/settings_spec.rb +79 -110
- data/spec/unit/ssl/base_spec.rb +37 -3
- data/spec/unit/ssl/certificate_request_spec.rb +21 -45
- data/spec/unit/ssl/certificate_spec.rb +2 -11
- data/spec/unit/ssl/ssl_provider_spec.rb +3 -80
- data/spec/unit/ssl/state_machine_spec.rb +5 -21
- data/spec/unit/ssl/verifier_spec.rb +0 -21
- data/spec/unit/transaction/additional_resource_generator_spec.rb +9 -3
- data/spec/unit/transaction/event_manager_spec.rb +11 -14
- data/spec/unit/transaction/persistence_spec.rb +0 -51
- data/spec/unit/transaction/report_spec.rb +0 -2
- data/spec/unit/transaction/resource_harness_spec.rb +2 -2
- data/spec/unit/transaction_spec.rb +55 -96
- data/spec/unit/type/exec_spec.rb +29 -76
- data/spec/unit/type/file/checksum_spec.rb +6 -6
- data/spec/unit/type/file/content_spec.rb +2 -1
- data/spec/unit/type/file/ensure_spec.rb +1 -1
- data/spec/unit/type/file/mode_spec.rb +1 -1
- data/spec/unit/type/file/selinux_spec.rb +5 -3
- data/spec/unit/type/file/source_spec.rb +4 -5
- data/spec/unit/type/file_spec.rb +18 -6
- data/spec/unit/type/group_spec.rb +6 -13
- data/spec/unit/type/package_spec.rb +1 -1
- data/spec/unit/type/resources_spec.rb +7 -7
- data/spec/unit/type/service_spec.rb +189 -87
- data/spec/unit/type/tidy_spec.rb +8 -24
- data/spec/unit/type_spec.rb +24 -4
- data/spec/unit/util/at_fork_spec.rb +2 -2
- data/spec/unit/util/autoload_spec.rb +1 -5
- data/spec/unit/util/backups_spec.rb +2 -3
- data/spec/unit/util/execution_spec.rb +11 -44
- data/spec/unit/util/inifile_spec.rb +14 -6
- data/spec/unit/util/log_spec.rb +7 -8
- data/spec/unit/util/logging_spec.rb +3 -5
- data/spec/unit/util/monkey_patches_spec.rb +0 -6
- data/spec/unit/util/posix_spec.rb +15 -363
- data/spec/unit/util/run_mode_spec.rb +21 -121
- data/spec/unit/util/selinux_spec.rb +68 -163
- data/spec/unit/util/storage_spec.rb +1 -3
- data/spec/unit/util/suidmanager_spec.rb +41 -44
- data/spec/unit/util/windows/sid_spec.rb +0 -41
- data/spec/unit/util/windows/string_spec.rb +1 -3
- data/spec/unit/util/yaml_spec.rb +13 -92
- data/spec/unit/util_spec.rb +6 -31
- data/tasks/generate_cert_fixtures.rake +7 -17
- data/tasks/parallel.rake +3 -3
- metadata +138 -233
- data/conf/auth.conf +0 -150
- data/ext/README.md +0 -13
- data/lib/puppet/application/cert.rb +0 -76
- data/lib/puppet/application/key.rb +0 -4
- data/lib/puppet/application/man.rb +0 -4
- data/lib/puppet/application/status.rb +0 -4
- data/lib/puppet/face/key.rb +0 -16
- data/lib/puppet/face/man.rb +0 -145
- data/lib/puppet/face/module/build.rb +0 -14
- data/lib/puppet/face/module/generate.rb +0 -14
- data/lib/puppet/face/module/search.rb +0 -103
- data/lib/puppet/face/status.rb +0 -51
- data/lib/puppet/facter_impl.rb +0 -96
- data/lib/puppet/ffi/posix/constants.rb +0 -14
- data/lib/puppet/ffi/posix/functions.rb +0 -24
- data/lib/puppet/ffi/posix.rb +0 -10
- data/lib/puppet/file_serving/mount/scripts.rb +0 -24
- data/lib/puppet/indirector/certificate/file.rb +0 -9
- data/lib/puppet/indirector/certificate/rest.rb +0 -18
- data/lib/puppet/indirector/certificate_request/file.rb +0 -9
- data/lib/puppet/indirector/certificate_request/memory.rb +0 -7
- data/lib/puppet/indirector/certificate_request/rest.rb +0 -11
- data/lib/puppet/indirector/file_content/http.rb +0 -22
- data/lib/puppet/indirector/key/file.rb +0 -46
- data/lib/puppet/indirector/key/memory.rb +0 -7
- data/lib/puppet/indirector/ssl_file.rb +0 -162
- data/lib/puppet/indirector/status/local.rb +0 -12
- data/lib/puppet/indirector/status/rest.rb +0 -27
- data/lib/puppet/indirector/status.rb +0 -3
- data/lib/puppet/module_tool/applications/searcher.rb +0 -29
- data/lib/puppet/network/auth_config_parser.rb +0 -90
- data/lib/puppet/network/authstore.rb +0 -283
- data/lib/puppet/network/http/api/master/v3/authorization.rb +0 -18
- data/lib/puppet/network/http/api/master/v3/environment.rb +0 -88
- data/lib/puppet/network/http/base_pool.rb +0 -36
- data/lib/puppet/network/http/compression.rb +0 -127
- data/lib/puppet/network/http/connection_adapter.rb +0 -184
- data/lib/puppet/network/http/nocache_pool.rb +0 -28
- data/lib/puppet/network/rest_controller.rb +0 -2
- data/lib/puppet/network/rights.rb +0 -210
- data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +0 -66
- data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -22
- data/lib/puppet/parser/environment_compiler.rb +0 -202
- data/lib/puppet/pops/types/enumeration.rb +0 -16
- data/lib/puppet/resource/capability_finder.rb +0 -154
- data/lib/puppet/rest/errors.rb +0 -15
- data/lib/puppet/rest/response.rb +0 -35
- data/lib/puppet/rest/route.rb +0 -85
- data/lib/puppet/rest/routes.rb +0 -135
- data/lib/puppet/settings/alias_setting.rb +0 -37
- data/lib/puppet/ssl/host.rb +0 -505
- data/lib/puppet/ssl/key.rb +0 -61
- data/lib/puppet/ssl/validator/default_validator.rb +0 -209
- data/lib/puppet/ssl/validator/no_validator.rb +0 -22
- data/lib/puppet/ssl/validator.rb +0 -61
- data/lib/puppet/ssl/verifier_adapter.rb +0 -58
- data/lib/puppet/status.rb +0 -40
- data/lib/puppet/util/connection.rb +0 -88
- data/lib/puppet/util/fact_dif.rb +0 -81
- data/lib/puppet/util/ssl.rb +0 -83
- data/lib/puppet/util/windows/api_types.rb +0 -309
- data/lib/puppet/util/windows/monkey_patches/dir.rb +0 -40
- data/lib/puppet/vendor/load_pathspec.rb +0 -1
- data/lib/puppet/vendor/pathspec/CHANGELOG.md +0 -2
- data/lib/puppet/vendor/pathspec/LICENSE +0 -201
- data/lib/puppet/vendor/pathspec/PUPPET_README.md +0 -6
- data/lib/puppet/vendor/pathspec/README.md +0 -53
- data/lib/puppet/vendor/pathspec/lib/pathspec/gitignorespec.rb +0 -275
- data/lib/puppet/vendor/pathspec/lib/pathspec/regexspec.rb +0 -17
- data/lib/puppet/vendor/pathspec/lib/pathspec/spec.rb +0 -14
- data/lib/puppet/vendor/pathspec/lib/pathspec.rb +0 -122
- data/man/man8/puppet-key.8 +0 -126
- data/man/man8/puppet-man.8 +0 -76
- data/man/man8/puppet-status.8 +0 -108
- data/spec/fixtures/integration/application/agent/cached_deferred_catalog.json +0 -92
- data/spec/fixtures/integration/application/agent/lib/facter/agent_spec_role.rb +0 -3
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Gemfile +0 -4
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Rakefile +0 -3
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/lib/puppet/functions/l10n.rb +0 -8
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/config.yaml +0 -25
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/ja/puppet-l10n.po +0 -19
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/puppet-l10n.pot +0 -20
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/metadata.json +0 -8
- data/spec/fixtures/ssl/oid-key.pem +0 -117
- data/spec/fixtures/ssl/oid.pem +0 -69
- data/spec/fixtures/ssl/trusted_oid_mapping.yaml +0 -5
- data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services_vendor_preset +0 -9
- data/spec/integration/application/resource_spec.rb +0 -68
- data/spec/integration/application/ssl_spec.rb +0 -20
- data/spec/integration/l10n/compiler_spec.rb +0 -37
- data/spec/integration/network/authconfig_spec.rb +0 -256
- data/spec/integration/util/windows/monkey_patches/dir_spec.rb +0 -11
- data/spec/shared_contexts/l10n.rb +0 -32
- data/spec/unit/application/man_spec.rb +0 -52
- data/spec/unit/capability_spec.rb +0 -414
- data/spec/unit/concurrent/thread_local_singleton_spec.rb +0 -39
- data/spec/unit/face/key_spec.rb +0 -9
- data/spec/unit/face/module/search_spec.rb +0 -231
- data/spec/unit/face/status_spec.rb +0 -9
- data/spec/unit/facter_impl_spec.rb +0 -31
- data/spec/unit/file_serving/mount/scripts_spec.rb +0 -69
- data/spec/unit/indirector/certificate/file_spec.rb +0 -14
- data/spec/unit/indirector/certificate/rest_spec.rb +0 -61
- data/spec/unit/indirector/certificate_request/file_spec.rb +0 -14
- data/spec/unit/indirector/certificate_request/rest_spec.rb +0 -25
- data/spec/unit/indirector/key/file_spec.rb +0 -78
- data/spec/unit/indirector/ssl_file_spec.rb +0 -305
- data/spec/unit/indirector/status/local_spec.rb +0 -10
- data/spec/unit/indirector/status/rest_spec.rb +0 -50
- data/spec/unit/module_tool/applications/searcher_spec.rb +0 -38
- data/spec/unit/network/auth_config_parser_spec.rb +0 -115
- data/spec/unit/network/authstore_spec.rb +0 -407
- data/spec/unit/network/http/api/master/v3/authorization_spec.rb +0 -57
- data/spec/unit/network/http/api/master/v3/environment_spec.rb +0 -185
- data/spec/unit/network/http/compression_spec.rb +0 -240
- data/spec/unit/network/http/nocache_pool_spec.rb +0 -64
- data/spec/unit/network/http_spec.rb +0 -9
- data/spec/unit/network/rights_spec.rb +0 -439
- data/spec/unit/parser/environment_compiler_spec.rb +0 -730
- data/spec/unit/pops/evaluator/deferred_resolver_spec.rb +0 -20
- data/spec/unit/pops/types/enumeration_spec.rb +0 -51
- data/spec/unit/resource/capability_finder_spec.rb +0 -148
- data/spec/unit/rest/route_spec.rb +0 -132
- data/spec/unit/ssl/host_spec.rb +0 -645
- data/spec/unit/ssl/key_spec.rb +0 -173
- data/spec/unit/ssl/validator_spec.rb +0 -278
- data/spec/unit/status_spec.rb +0 -45
- data/spec/unit/util/json_spec.rb +0 -126
- data/spec/unit/util/ssl_spec.rb +0 -91
- data/spec/unit/util/windows_spec.rb +0 -23
data/lib/puppet/resource/type.rb
CHANGED
@@ -11,16 +11,13 @@ class Puppet::Resource::Type
|
|
11
11
|
include Puppet::Util::Warnings
|
12
12
|
include Puppet::Util::Errors
|
13
13
|
|
14
|
-
|
15
|
-
RESOURCE_KINDS = [:hostclass, :node, :definition, :capability_mapping, :application, :site]
|
14
|
+
RESOURCE_KINDS = [:hostclass, :node, :definition]
|
16
15
|
|
17
16
|
# Map the names used in our documentation to the names used internally
|
18
17
|
RESOURCE_KINDS_TO_EXTERNAL_NAMES = {
|
19
18
|
:hostclass => "class",
|
20
19
|
:node => "node",
|
21
|
-
:definition => "defined_type"
|
22
|
-
:application => "application",
|
23
|
-
:site => 'site'
|
20
|
+
:definition => "defined_type"
|
24
21
|
}
|
25
22
|
RESOURCE_EXTERNAL_NAMES_TO_KINDS = RESOURCE_KINDS_TO_EXTERNAL_NAMES.invert
|
26
23
|
|
@@ -37,15 +34,6 @@ class Puppet::Resource::Type
|
|
37
34
|
attr_accessor :file, :line, :doc, :code, :parent, :resource_type_collection, :override
|
38
35
|
attr_reader :namespace, :arguments, :behaves_like, :module_name
|
39
36
|
|
40
|
-
# The attributes 'produces' and 'consumes' are arrays of the blueprints
|
41
|
-
# of capabilities this type can produce/consume. The entries in the array
|
42
|
-
# are a fairly direct representation of what goes into produces/consumes
|
43
|
-
# clauses. Each entry is a hash with attributes
|
44
|
-
# :capability - the type name of the capres produced/consumed
|
45
|
-
# :mappings - a hash of attribute_name => Expression
|
46
|
-
# These two attributes are populated in
|
47
|
-
# PopsBridge::instantiate_CapabilityMapping
|
48
|
-
|
49
37
|
# Map from argument (aka parameter) names to Puppet Type
|
50
38
|
# @return [Hash<Symbol, Puppet::Pops::Types::PAnyType] map from name to type
|
51
39
|
#
|
@@ -69,53 +57,6 @@ class Puppet::Resource::Type
|
|
69
57
|
return(klass == parent_type ? true : parent_type.child_of?(klass))
|
70
58
|
end
|
71
59
|
|
72
|
-
# Evaluate the resources produced by the given resource. These resources are
|
73
|
-
# evaluated in a separate but identical scope from the rest of the resource.
|
74
|
-
#
|
75
|
-
# @deprecated application orchestration will be removed in puppet 7
|
76
|
-
def evaluate_produces(resource, scope)
|
77
|
-
# Only defined types and classes can produce capabilities
|
78
|
-
return unless definition? || hostclass?
|
79
|
-
|
80
|
-
resource.export.map do |ex|
|
81
|
-
# Assert that the ref really is a resource reference
|
82
|
-
raise Puppet::Error, _("Invalid export in %{reference}: %{ex} is not a resource") % { reference: resource.ref, ex: ex } unless ex.is_a?(Puppet::Resource)
|
83
|
-
raise Puppet::Error, _("Invalid export in %{reference}: %{ex} is not a capability resource") % { reference: resource.ref, ex: ex } if ex.resource_type.nil? || !ex.resource_type.is_capability?
|
84
|
-
|
85
|
-
blueprint = produces.find { |pr| pr[:capability] == ex.type }
|
86
|
-
if blueprint.nil?
|
87
|
-
raise Puppet::ParseError, _("Resource type %{res_type} does not produce %{ex_type}") % { res_type: resource.type, ex_type: ex.type }
|
88
|
-
end
|
89
|
-
t = ex.type
|
90
|
-
t = Puppet::Pops::Evaluator::Runtime3ResourceSupport.find_resource_type(scope, t) unless t == 'class' || t == 'node'
|
91
|
-
produced_resource = Puppet::Parser::Resource.new(t, ex.title, :scope => scope, :source => self)
|
92
|
-
|
93
|
-
produced_resource.resource_type.parameters.each do |name|
|
94
|
-
next if name == :name
|
95
|
-
|
96
|
-
expr = blueprint[:mappings][name.to_s]
|
97
|
-
if expr
|
98
|
-
produced_resource[name] = expr.safeevaluate(scope)
|
99
|
-
else
|
100
|
-
produced_resource[name] = scope[name.to_s]
|
101
|
-
end
|
102
|
-
end
|
103
|
-
# Tag the produced resource so we can later distinguish it from
|
104
|
-
# copies of the resource that wind up in the catalogs of nodes that
|
105
|
-
# use this resource. We tag the resource with producer:<environment>,
|
106
|
-
# meaning produced resources need to be unique within their
|
107
|
-
# environment
|
108
|
-
# @todo lutter 2014-11-13: we would really like to use a dedicated
|
109
|
-
# metadata field to indicate the producer of a resource, but that
|
110
|
-
# requires changes to PuppetDB and its API; so for now, we just use
|
111
|
-
# tagging
|
112
|
-
produced_resource.tag("producer:#{scope.catalog.environment}")
|
113
|
-
scope.catalog.add_resource(produced_resource)
|
114
|
-
produced_resource[:require] = resource.ref
|
115
|
-
produced_resource
|
116
|
-
end
|
117
|
-
end
|
118
|
-
|
119
60
|
# Now evaluate the code associated with this class or definition.
|
120
61
|
def evaluate_code(resource)
|
121
62
|
|
@@ -129,8 +70,6 @@ class Puppet::Resource::Type
|
|
129
70
|
|
130
71
|
resource.add_edge_to_stage
|
131
72
|
|
132
|
-
evaluate_produces(resource, scope)
|
133
|
-
|
134
73
|
if code
|
135
74
|
if @match # Only bother setting up the ephemeral scope if there are match variables to add into it
|
136
75
|
scope.with_guarded_scope do
|
@@ -165,28 +104,6 @@ class Puppet::Resource::Type
|
|
165
104
|
@module_name = options[:module_name]
|
166
105
|
end
|
167
106
|
|
168
|
-
# @deprecated application orchestration will be removed in puppet 7
|
169
|
-
def produces
|
170
|
-
@produces || EMPTY_ARRAY
|
171
|
-
end
|
172
|
-
|
173
|
-
# @deprecated application orchestration will be removed in puppet 7
|
174
|
-
def consumes
|
175
|
-
@consumes || EMPTY_ARRAY
|
176
|
-
end
|
177
|
-
|
178
|
-
# @deprecated application orchestration will be removed in puppet 7
|
179
|
-
def add_produces(blueprint)
|
180
|
-
@produces ||= []
|
181
|
-
@produces << blueprint
|
182
|
-
end
|
183
|
-
|
184
|
-
# @deprecated application orchestration will be removed in puppet 7
|
185
|
-
def add_consumes(blueprint)
|
186
|
-
@consumes ||= []
|
187
|
-
@consumes << blueprint
|
188
|
-
end
|
189
|
-
|
190
107
|
# This is only used for node names, and really only when the node name
|
191
108
|
# is a regexp.
|
192
109
|
def match(string)
|
@@ -242,9 +159,6 @@ class Puppet::Resource::Type
|
|
242
159
|
:class
|
243
160
|
when :node
|
244
161
|
:node
|
245
|
-
when :site
|
246
|
-
# @deprecated application orchestration will be removed in puppet 7
|
247
|
-
:site
|
248
162
|
end
|
249
163
|
|
250
164
|
# Do nothing if the resource already exists; this makes sure we don't
|
@@ -289,21 +203,6 @@ class Puppet::Resource::Type
|
|
289
203
|
@name.is_a?(Regexp)
|
290
204
|
end
|
291
205
|
|
292
|
-
# @deprecated Not used by Puppet
|
293
|
-
# @api private
|
294
|
-
def assign_parameter_values(parameters, resource)
|
295
|
-
Puppet.deprecation_warning(_('The method Puppet::Resource::Type.assign_parameter_values is deprecated and will be removed in the next major release of Puppet.'))
|
296
|
-
|
297
|
-
return unless parameters
|
298
|
-
|
299
|
-
# It'd be nice to assign default parameter values here,
|
300
|
-
# but we can't because they often rely on local variables
|
301
|
-
# created during set_resource_parameters.
|
302
|
-
parameters.each do |name, value|
|
303
|
-
resource.set_parameter name, value
|
304
|
-
end
|
305
|
-
end
|
306
|
-
|
307
206
|
def parent_type(scope = nil)
|
308
207
|
return nil unless parent
|
309
208
|
|
@@ -326,7 +225,6 @@ class Puppet::Resource::Type
|
|
326
225
|
caller_name = resource[:caller_module_name] || scope.parent_module_name
|
327
226
|
scope[CALLER_MODULE_NAME] = caller_name unless caller_name.nil?
|
328
227
|
|
329
|
-
resource.add_parameters_from_consume
|
330
228
|
inject_external_parameters(resource, scope)
|
331
229
|
|
332
230
|
if @type == :hostclass
|
@@ -389,7 +287,7 @@ class Puppet::Resource::Type
|
|
389
287
|
private :assign_defaults
|
390
288
|
|
391
289
|
def validate_resource_hash(resource, resource_hash)
|
392
|
-
Puppet::Pops::Types::TypeMismatchDescriber.validate_parameters(resource.to_s, parameter_struct, resource_hash,
|
290
|
+
Puppet::Pops::Types::TypeMismatchDescriber.validate_parameters(resource.to_s, parameter_struct, resource_hash, false)
|
393
291
|
end
|
394
292
|
private :validate_resource_hash
|
395
293
|
|
@@ -444,14 +342,6 @@ class Puppet::Resource::Type
|
|
444
342
|
end
|
445
343
|
end
|
446
344
|
|
447
|
-
# Returns boolean true if an instance of this type is a capability. This
|
448
|
-
# implementation always returns false. This "duck-typing" interface is
|
449
|
-
# shared among other classes and makes it easier to detect capabilities
|
450
|
-
# when they are intermixed with non capability instances.
|
451
|
-
def is_capability?
|
452
|
-
false
|
453
|
-
end
|
454
|
-
|
455
345
|
private
|
456
346
|
|
457
347
|
def convert_from_ast(name)
|
@@ -516,12 +406,6 @@ class Puppet::Resource::Type
|
|
516
406
|
type_factory = Puppet::Pops::Types::TypeFactory
|
517
407
|
members = { type_factory.optional(type_factory.string(NAME)) => type_factory.any }
|
518
408
|
|
519
|
-
if application?
|
520
|
-
resource_type = type_factory.type_type(type_factory.resource)
|
521
|
-
members[type_factory.string(NODES)] = type_factory.hash_of(type_factory.variant(
|
522
|
-
resource_type, type_factory.array_of(resource_type)), type_factory.type_type(type_factory.resource('node')))
|
523
|
-
end
|
524
|
-
|
525
409
|
Puppet::Type.eachmetaparam do |name|
|
526
410
|
# TODO: Once meta parameters are typed, this should change to reflect that type
|
527
411
|
members[name.to_s] = type_factory.any
|
@@ -1,4 +1,3 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
1
|
require 'puppet/parser/type_loader'
|
3
2
|
require 'puppet/util/file_watcher'
|
4
3
|
require 'puppet/util/warnings'
|
@@ -14,22 +13,16 @@ class Puppet::Resource::TypeCollection
|
|
14
13
|
def clear
|
15
14
|
@hostclasses.clear
|
16
15
|
@definitions.clear
|
17
|
-
@applications.clear
|
18
16
|
@nodes.clear
|
19
17
|
@notfound.clear
|
20
|
-
@capability_mappings.clear
|
21
|
-
@sites.clear
|
22
18
|
end
|
23
19
|
|
24
20
|
def initialize(env)
|
25
21
|
@environment = env
|
26
22
|
@hostclasses = {}
|
27
23
|
@definitions = {}
|
28
|
-
@capability_mappings = {}
|
29
|
-
@applications = {}
|
30
24
|
@nodes = {}
|
31
25
|
@notfound = {}
|
32
|
-
@sites = []
|
33
26
|
@lock = Puppet::Concurrent::Lock.new
|
34
27
|
|
35
28
|
# So we can keep a list and match the first-defined regex
|
@@ -46,10 +39,7 @@ class Puppet::Resource::TypeCollection
|
|
46
39
|
"TypeCollection" + {
|
47
40
|
:hostclasses => @hostclasses.keys,
|
48
41
|
:definitions => @definitions.keys,
|
49
|
-
:nodes => @nodes.keys
|
50
|
-
:capability_mappings => @capability_mappings.keys,
|
51
|
-
:applications => @applications.keys,
|
52
|
-
:site => @sites[0] # todo, could be just a binary, this dumps the entire body (good while developing)
|
42
|
+
:nodes => @nodes.keys
|
53
43
|
}.inspect
|
54
44
|
end
|
55
45
|
|
@@ -72,7 +62,6 @@ class Puppet::Resource::TypeCollection
|
|
72
62
|
handle_hostclass_merge(instance)
|
73
63
|
dupe_check(instance, @hostclasses) { |dupe| _("Class '%{klass}' is already defined%{error}; cannot redefine") % { klass: instance.name, error: dupe.error_context } }
|
74
64
|
dupe_check(instance, @definitions) { |dupe| _("Definition '%{klass}' is already defined%{error}; cannot be redefined as a class") % { klass: instance.name, error: dupe.error_context } }
|
75
|
-
dupe_check(instance, @applications) { |dupe| _("Application '%{klass}' is already defined%{error}; cannot be redefined as a class") % { klass: instance.name, error: dupe.error_context } }
|
76
65
|
|
77
66
|
@hostclasses[instance.name] = instance
|
78
67
|
instance
|
@@ -110,16 +99,6 @@ class Puppet::Resource::TypeCollection
|
|
110
99
|
instance
|
111
100
|
end
|
112
101
|
|
113
|
-
def add_site(instance)
|
114
|
-
dupe_check_singleton(instance, @sites) { |dupe| _("Site is already defined%{error}; cannot redefine") % { error: dupe.error_context } }
|
115
|
-
@sites << instance
|
116
|
-
instance
|
117
|
-
end
|
118
|
-
|
119
|
-
def site(_)
|
120
|
-
@sites[0]
|
121
|
-
end
|
122
|
-
|
123
102
|
def loader
|
124
103
|
@loader ||= Puppet::Parser::TypeLoader.new(environment)
|
125
104
|
end
|
@@ -150,38 +129,18 @@ class Puppet::Resource::TypeCollection
|
|
150
129
|
def add_definition(instance)
|
151
130
|
dupe_check(instance, @hostclasses) { |dupe| _("'%{name}' is already defined%{error} as a class; cannot redefine as a definition") % { name: instance.name, error: dupe.error_context } }
|
152
131
|
dupe_check(instance, @definitions) { |dupe| _("Definition '%{name}' is already defined%{error}; cannot be redefined") % { name: instance.name, error: dupe.error_context } }
|
153
|
-
dupe_check(instance, @applications) { |dupe| _("'%{name}' is already defined%{error} as an application; cannot be redefined") % { name: instance.name, error: dupe.error_context } }
|
154
|
-
@definitions[instance.name] = instance
|
155
|
-
end
|
156
132
|
|
157
|
-
|
158
|
-
dupe_check(instance, @capability_mappings) { |dupe| _("'%{name}' is already defined%{error} as a class; cannot redefine as a mapping") % { name: instance.name, error: dupe.error_context } }
|
159
|
-
@capability_mappings[instance.name] = instance
|
133
|
+
@definitions[instance.name] = instance
|
160
134
|
end
|
161
135
|
|
162
136
|
def definition(name)
|
163
137
|
@definitions[munge_name(name)]
|
164
138
|
end
|
165
139
|
|
166
|
-
def add_application(instance)
|
167
|
-
dupe_check(instance, @hostclasses) { |dupe| _("'%{name}' is already defined%{error} as a class; cannot redefine as an application") % { name: instance.name, error: dupe.error_context } }
|
168
|
-
dupe_check(instance, @definitions) { |dupe| _("'%{name}' is already defined%{error} as a definition; cannot redefine as an application") % { name: instance.name, error: dupe.error_context } }
|
169
|
-
dupe_check(instance, @applications) { |dupe| _("'%{name}' is already defined%{error} as an application; cannot be redefined") % { name: instance.name, error: dupe.error_context } }
|
170
|
-
@applications[instance.name] = instance
|
171
|
-
end
|
172
|
-
|
173
|
-
def application(name)
|
174
|
-
@applications[munge_name(name)]
|
175
|
-
end
|
176
|
-
|
177
140
|
def find_node(name)
|
178
141
|
@nodes[munge_name(name)]
|
179
142
|
end
|
180
143
|
|
181
|
-
def find_site()
|
182
|
-
@sites[0]
|
183
|
-
end
|
184
|
-
|
185
144
|
def find_hostclass(name)
|
186
145
|
find_or_load(name, :hostclass)
|
187
146
|
end
|
@@ -190,14 +149,9 @@ class Puppet::Resource::TypeCollection
|
|
190
149
|
find_or_load(name, :definition)
|
191
150
|
end
|
192
151
|
|
193
|
-
def find_application(name)
|
194
|
-
find_or_load(name, :application)
|
195
|
-
end
|
196
|
-
|
197
152
|
# TODO: This implementation is wasteful as it creates a copy on each request
|
198
153
|
#
|
199
|
-
[:hostclasses, :nodes, :definitions
|
200
|
-
:applications].each do |m|
|
154
|
+
[:hostclasses, :nodes, :definitions].each do |m|
|
201
155
|
define_method(m) do
|
202
156
|
instance_variable_get("@#{m}").dup
|
203
157
|
end
|
data/lib/puppet/resource.rb
CHANGED
@@ -11,7 +11,7 @@ class Puppet::Resource
|
|
11
11
|
include Puppet::Util::PsychSupport
|
12
12
|
|
13
13
|
include Enumerable
|
14
|
-
attr_accessor :file, :line, :catalog, :exported, :virtual, :strict
|
14
|
+
attr_accessor :file, :line, :catalog, :exported, :virtual, :strict
|
15
15
|
attr_reader :type, :title, :parameters
|
16
16
|
|
17
17
|
# @!attribute [rw] sensitive_parameters
|
@@ -29,15 +29,9 @@ class Puppet::Resource
|
|
29
29
|
EMPTY_ARRAY = [].freeze
|
30
30
|
EMPTY_HASH = {}.freeze
|
31
31
|
|
32
|
-
ATTRIBUTES = [:file, :line, :exported
|
32
|
+
ATTRIBUTES = [:file, :line, :exported].freeze
|
33
33
|
TYPE_CLASS = 'Class'.freeze
|
34
34
|
TYPE_NODE = 'Node'.freeze
|
35
|
-
TYPE_SITE = 'Site'.freeze
|
36
|
-
|
37
|
-
CLASS_STRING = 'class'.freeze
|
38
|
-
DEFINED_TYPE_STRING = 'defined_type'.freeze
|
39
|
-
COMPILABLE_TYPE_STRING = 'compilable_type'.freeze
|
40
|
-
UNKNOWN_TYPE_STRING = 'unknown'.freeze
|
41
35
|
|
42
36
|
PCORE_TYPE_KEY = '__ptype'.freeze
|
43
37
|
VALUE_KEY = 'value'.freeze
|
@@ -199,18 +193,6 @@ class Puppet::Resource
|
|
199
193
|
resource_type.is_a?(Puppet::CompilableResourceType)
|
200
194
|
end
|
201
195
|
|
202
|
-
def self.to_kind(resource_type)
|
203
|
-
if resource_type == CLASS_STRING
|
204
|
-
CLASS_STRING
|
205
|
-
elsif resource_type.is_a?(Puppet::Resource::Type) && resource_type.type == :definition
|
206
|
-
DEFINED_TYPE_STRING
|
207
|
-
elsif resource_type.is_a?(Puppet::CompilableResourceType)
|
208
|
-
COMPILABLE_TYPE_STRING
|
209
|
-
else
|
210
|
-
UNKNOWN_TYPE_STRING
|
211
|
-
end
|
212
|
-
end
|
213
|
-
|
214
196
|
# Iterate over each param/value pair, as required for Enumerable.
|
215
197
|
def each
|
216
198
|
parameters.each { |p,v| yield p, v }
|
@@ -265,7 +247,6 @@ class Puppet::Resource
|
|
265
247
|
src = type
|
266
248
|
self.file = src.file
|
267
249
|
self.line = src.line
|
268
|
-
self.kind = src.kind
|
269
250
|
self.exported = src.exported
|
270
251
|
self.virtual = src.virtual
|
271
252
|
self.set_tags(src)
|
@@ -328,7 +309,6 @@ class Puppet::Resource
|
|
328
309
|
|
329
310
|
rt = resource_type
|
330
311
|
|
331
|
-
self.kind = self.class.to_kind(rt) unless kind
|
332
312
|
if strict? && rt.nil?
|
333
313
|
if self.class?
|
334
314
|
raise ArgumentError, _("Could not find declared class %{title}") % { title: title }
|
@@ -359,29 +339,6 @@ class Puppet::Resource
|
|
359
339
|
catalog ? catalog.resource(to_s) : nil
|
360
340
|
end
|
361
341
|
|
362
|
-
# A resource is an application component if it exports or consumes
|
363
|
-
# one or more capabilities, or if it requires a capability resource
|
364
|
-
def is_application_component?
|
365
|
-
return true if ! export.empty? || self[:consume]
|
366
|
-
# Array(self[:require]) does not work for Puppet::Resource instances
|
367
|
-
req = self[:require] || []
|
368
|
-
req = [ req ] unless req.is_a?(Array)
|
369
|
-
req.any? { |r| r.is_capability? }
|
370
|
-
end
|
371
|
-
|
372
|
-
# A resource is a capability (instance) if its underlying type is a
|
373
|
-
# capability type
|
374
|
-
def is_capability?
|
375
|
-
!resource_type.nil? && resource_type.is_capability?
|
376
|
-
end
|
377
|
-
|
378
|
-
# Returns the value of the 'export' metaparam as an Array
|
379
|
-
# @api private
|
380
|
-
def export
|
381
|
-
v = self[:export] || []
|
382
|
-
v.is_a?(Array) ? v : [ v ]
|
383
|
-
end
|
384
|
-
|
385
342
|
# The resource's type implementation
|
386
343
|
# @return [Puppet::Type, Puppet::Resource::Type]
|
387
344
|
# @api private
|
@@ -396,12 +353,11 @@ class Puppet::Resource
|
|
396
353
|
case type
|
397
354
|
when TYPE_CLASS; environment.known_resource_types.hostclass(title == :main ? "" : title)
|
398
355
|
when TYPE_NODE; environment.known_resource_types.node(title)
|
399
|
-
when TYPE_SITE; environment.known_resource_types.site(nil)
|
400
356
|
else
|
401
357
|
result = Puppet::Type.type(type)
|
402
358
|
if !result
|
403
359
|
krt = environment.known_resource_types
|
404
|
-
result = krt.definition(type)
|
360
|
+
result = krt.definition(type)
|
405
361
|
end
|
406
362
|
result
|
407
363
|
end
|
@@ -512,24 +468,10 @@ class Puppet::Resource
|
|
512
468
|
ref
|
513
469
|
end
|
514
470
|
|
515
|
-
# Convert our resource to a RAL resource instance.
|
516
|
-
# instances for resource types that
|
517
|
-
# the resource doesn’t exist and it’s compilable_type kind, raise an error.
|
518
|
-
# There are certain cases where a resource won't be in a catalog, such as
|
519
|
-
# when we create a resource directly by using Puppet::Resource.new(...), so we
|
520
|
-
# must check its kind before deciding whether the catalog format is of an older
|
521
|
-
# version or not.
|
471
|
+
# Convert our resource to a RAL resource instance. Creates component
|
472
|
+
# instances for resource types that don't exist.
|
522
473
|
def to_ral
|
523
|
-
|
524
|
-
typeklass = Puppet::Type.type(self.type)
|
525
|
-
elsif self.catalog && self.catalog.catalog_format >= 2
|
526
|
-
typeklass = Puppet::Type.type(:component)
|
527
|
-
else
|
528
|
-
typeklass = Puppet::Type.type(self.type) || Puppet::Type.type(:component)
|
529
|
-
end
|
530
|
-
|
531
|
-
raise(Puppet::Error, "Resource type '#{self.type}' was not found") unless typeklass
|
532
|
-
|
474
|
+
typeklass = Puppet::Type.type(self.type) || Puppet::Type.type(:component)
|
533
475
|
typeklass.new(self)
|
534
476
|
end
|
535
477
|
|
@@ -548,38 +490,6 @@ class Puppet::Resource
|
|
548
490
|
end
|
549
491
|
private :missing_arguments
|
550
492
|
|
551
|
-
# @deprecated Not used by Puppet
|
552
|
-
# @api private
|
553
|
-
def set_default_parameters(scope)
|
554
|
-
Puppet.deprecation_warning(_('The method Puppet::Resource.set_default_parameters is deprecated and will be removed in the next major release of Puppet.'))
|
555
|
-
|
556
|
-
return [] unless resource_type and resource_type.respond_to?(:arguments)
|
557
|
-
|
558
|
-
unless is_a?(Puppet::Parser::Resource)
|
559
|
-
fail Puppet::DevError, _("Cannot evaluate default parameters for %{resource} - not a parser resource") % { resource: self }
|
560
|
-
end
|
561
|
-
|
562
|
-
missing_arguments.collect do |param, default|
|
563
|
-
rtype = resource_type
|
564
|
-
if rtype.type == :hostclass
|
565
|
-
using_bound_value = false
|
566
|
-
catch(:no_such_key) do
|
567
|
-
bound_value = Puppet::Pops::Lookup.search_and_merge("#{rtype.name}::#{param}", Puppet::Pops::Lookup::Invocation.new(scope), nil)
|
568
|
-
# Assign bound value but don't let an undef trump a default expression
|
569
|
-
unless bound_value.nil? && !default.nil?
|
570
|
-
self[param.to_sym] = bound_value
|
571
|
-
using_bound_value = true
|
572
|
-
end
|
573
|
-
end
|
574
|
-
end
|
575
|
-
unless using_bound_value
|
576
|
-
next if default.nil?
|
577
|
-
self[param.to_sym] = default.safeevaluate(scope)
|
578
|
-
end
|
579
|
-
param
|
580
|
-
end.compact
|
581
|
-
end
|
582
|
-
|
583
493
|
def copy_as_resource
|
584
494
|
Puppet::Resource.new(self)
|
585
495
|
end
|
@@ -588,37 +498,6 @@ class Puppet::Resource
|
|
588
498
|
resource_type.valid_parameter?(name)
|
589
499
|
end
|
590
500
|
|
591
|
-
# Verify that all required arguments are either present or
|
592
|
-
# have been provided with defaults.
|
593
|
-
# Must be called after 'set_default_parameters'. We can't join the methods
|
594
|
-
# because Type#set_parameters needs specifically ordered behavior.
|
595
|
-
#
|
596
|
-
# @deprecated Not used by Puppet
|
597
|
-
# @api private
|
598
|
-
def validate_complete
|
599
|
-
Puppet.deprecation_warning(_('The method Puppet::Resource.validate_complete is deprecated and will be removed in the next major release of Puppet.'))
|
600
|
-
|
601
|
-
return unless resource_type and resource_type.respond_to?(:arguments)
|
602
|
-
|
603
|
-
resource_type.arguments.each do |param, default|
|
604
|
-
param = param.to_sym
|
605
|
-
fail Puppet::ParseError, _("Must pass %{param} to %{resource}") % { param: param, resource: self } unless parameters.include?(param)
|
606
|
-
end
|
607
|
-
|
608
|
-
# Perform optional type checking
|
609
|
-
arg_types = resource_type.argument_types
|
610
|
-
# Parameters is a map from name, to parameter, and the parameter again has name and value
|
611
|
-
parameters.each do |name, value|
|
612
|
-
t = arg_types[name.to_s] # untyped, and parameters are symbols here (aargh, strings in the type)
|
613
|
-
next unless t
|
614
|
-
unless Puppet::Pops::Types::TypeCalculator.instance?(t, value.value)
|
615
|
-
inferred_type = Puppet::Pops::Types::TypeCalculator.infer_set(value.value)
|
616
|
-
actual = inferred_type.generalize()
|
617
|
-
fail Puppet::ParseError, _("Expected parameter '%{name}' of '%{value0}' to have type %{value1}, got %{value2}") % { name: name, value0: self, value1: t.to_s, value2: actual.to_s }
|
618
|
-
end
|
619
|
-
end
|
620
|
-
end
|
621
|
-
|
622
501
|
def validate_parameter(name)
|
623
502
|
raise Puppet::ParseError.new(_("no parameter named '%{name}'") % { name: name }, file, line) unless valid_parameter?(name)
|
624
503
|
end
|
data/lib/puppet/runtime.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
require 'puppet/http'
|
2
|
-
require 'puppet/facter_impl'
|
3
2
|
require 'singleton'
|
4
3
|
|
5
4
|
# Provides access to runtime implementations.
|
@@ -12,26 +11,16 @@ class Puppet::Runtime
|
|
12
11
|
@runtime_services = {
|
13
12
|
http: proc do
|
14
13
|
klass = Puppet::Network::HttpPool.http_client_class
|
15
|
-
if klass == Puppet::Network::HTTP::Connection
|
16
|
-
klass == Puppet::Network::HTTP::ConnectionAdapter
|
14
|
+
if klass == Puppet::Network::HTTP::Connection
|
17
15
|
Puppet::HTTP::Client.new
|
18
16
|
else
|
19
17
|
Puppet::HTTP::ExternalClient.new(klass)
|
20
18
|
end
|
21
|
-
end
|
22
|
-
facter: proc { Puppet::FacterImpl.new }
|
19
|
+
end
|
23
20
|
}
|
24
21
|
end
|
25
22
|
private :initialize
|
26
23
|
|
27
|
-
# Loads all runtime implementations.
|
28
|
-
#
|
29
|
-
# @return Array[Symbol] the names of loaded implementations
|
30
|
-
# @api private
|
31
|
-
def load_services
|
32
|
-
@runtime_services.keys.each { |key| self[key] }
|
33
|
-
end
|
34
|
-
|
35
24
|
# Get a runtime implementation.
|
36
25
|
#
|
37
26
|
# @param name [Symbol] the name of the implementation
|
@@ -29,7 +29,6 @@ class Puppet::Settings::EnvironmentConf
|
|
29
29
|
section = config.sections[:main]
|
30
30
|
rescue Errno::ENOENT
|
31
31
|
# environment.conf is an optional file
|
32
|
-
Puppet.debug { "Path to #{path_to_env} does not exist, using default environment.conf" }
|
33
32
|
end
|
34
33
|
|
35
34
|
new(path_to_env, section, global_module_path)
|
@@ -0,0 +1,17 @@
|
|
1
|
+
class Puppet::Settings::IntegerSetting < Puppet::Settings::BaseSetting
|
2
|
+
def munge(value)
|
3
|
+
return value if Integer === value
|
4
|
+
|
5
|
+
begin
|
6
|
+
value = Integer(value)
|
7
|
+
rescue ArgumentError, TypeError
|
8
|
+
raise Puppet::Settings::ValidationError, _("Cannot convert '%{value}' to an integer for parameter: %{name}") % { value: value.inspect, name: @name }
|
9
|
+
end
|
10
|
+
|
11
|
+
value
|
12
|
+
end
|
13
|
+
|
14
|
+
def type
|
15
|
+
:integer
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
class Puppet::Settings::PortSetting < Puppet::Settings::IntegerSetting
|
2
|
+
def munge(value)
|
3
|
+
value = super
|
4
|
+
|
5
|
+
if value < 0 || value > 65535
|
6
|
+
raise Puppet::Settings::ValidationError, _("Value '%{value}' is not a valid port number for parameter: %{name}") % { value: value.inspect, name: @name }
|
7
|
+
end
|
8
|
+
|
9
|
+
value
|
10
|
+
end
|
11
|
+
|
12
|
+
def type
|
13
|
+
:port
|
14
|
+
end
|
15
|
+
end
|
@@ -6,11 +6,12 @@ class Puppet::Settings::PrioritySetting < Puppet::Settings::BaseSetting
|
|
6
6
|
PRIORITY_MAP =
|
7
7
|
if Puppet::Util::Platform.windows?
|
8
8
|
require 'puppet/util/windows/process'
|
9
|
+
require 'puppet/ffi/windows/constants'
|
9
10
|
{
|
10
|
-
:high => Puppet::
|
11
|
-
:normal => Puppet::
|
12
|
-
:low => Puppet::
|
13
|
-
:idle => Puppet::
|
11
|
+
:high => Puppet::FFI::Windows::Constants::HIGH_PRIORITY_CLASS,
|
12
|
+
:normal => Puppet::FFI::Windows::Constants::NORMAL_PRIORITY_CLASS,
|
13
|
+
:low => Puppet::FFI::Windows::Constants::BELOW_NORMAL_PRIORITY_CLASS,
|
14
|
+
:idle => Puppet::FFI::Windows::Constants::IDLE_PRIORITY_CLASS
|
14
15
|
}
|
15
16
|
else
|
16
17
|
{
|