puppet 6.16.0-x86-mingw32 → 7.0.0-x86-mingw32
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/Gemfile +5 -3
- data/Gemfile.lock +31 -33
- data/README.md +4 -5
- data/Rakefile +4 -12
- data/conf/fileserver.conf +5 -10
- data/ext/build_defaults.yaml +1 -1
- data/ext/osx/file_mapping.yaml +0 -5
- data/ext/project_data.yaml +1 -14
- data/ext/redhat/puppet.spec.erb +0 -1
- data/ext/windows/service/daemon.rb +6 -5
- data/install.rb +21 -17
- data/lib/puppet.rb +11 -20
- data/lib/puppet/agent.rb +2 -2
- data/lib/puppet/agent/locker.rb +0 -7
- data/lib/puppet/application.rb +172 -98
- data/lib/puppet/application/agent.rb +22 -6
- data/lib/puppet/application/apply.rb +18 -20
- data/lib/puppet/application/device.rb +100 -104
- data/lib/puppet/application/doc.rb +1 -1
- data/lib/puppet/application/filebucket.rb +15 -11
- data/lib/puppet/application/lookup.rb +16 -4
- data/lib/puppet/application/ssl.rb +1 -1
- data/lib/puppet/configurer.rb +66 -31
- data/lib/puppet/configurer/downloader.rb +31 -10
- data/lib/puppet/configurer/plugin_handler.rb +21 -19
- data/lib/puppet/confine.rb +2 -2
- data/lib/puppet/confine/any.rb +1 -1
- data/lib/puppet/defaults.rb +166 -169
- data/lib/puppet/environments.rb +41 -15
- data/lib/puppet/face/catalog.rb +1 -1
- data/lib/puppet/face/config.rb +56 -16
- data/lib/puppet/face/epp.rb +12 -2
- data/lib/puppet/face/facts.rb +66 -6
- data/lib/puppet/face/help.rb +1 -1
- data/lib/puppet/face/node.rb +3 -3
- data/lib/puppet/face/node/clean.rb +2 -2
- data/lib/puppet/face/plugin.rb +5 -8
- data/lib/puppet/feature/base.rb +1 -1
- data/lib/puppet/ffi/windows.rb +12 -0
- 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/file_bucket/dipper.rb +1 -1
- data/lib/puppet/file_serving/configuration.rb +0 -5
- data/lib/puppet/file_serving/configuration/parser.rb +3 -32
- data/lib/puppet/file_serving/http_metadata.rb +13 -1
- data/lib/puppet/file_serving/metadata.rb +4 -1
- data/lib/puppet/file_serving/mount.rb +1 -2
- data/lib/puppet/file_serving/mount/locales.rb +1 -2
- data/lib/puppet/file_serving/mount/pluginfacts.rb +1 -2
- data/lib/puppet/file_serving/mount/plugins.rb +1 -2
- data/lib/puppet/file_serving/terminus_selector.rb +7 -8
- data/lib/puppet/file_system/file_impl.rb +4 -4
- data/lib/puppet/file_system/uniquefile.rb +8 -16
- data/lib/puppet/forge.rb +1 -1
- data/lib/puppet/forge/cache.rb +1 -1
- data/lib/puppet/forge/repository.rb +3 -8
- data/lib/puppet/functions/epp.rb +1 -0
- data/lib/puppet/functions/inline_epp.rb +1 -0
- data/lib/puppet/functions/lstrip.rb +4 -4
- data/lib/puppet/functions/new.rb +8 -3
- data/lib/puppet/functions/reverse_each.rb +1 -1
- data/lib/puppet/functions/rstrip.rb +4 -4
- data/lib/puppet/functions/step.rb +1 -1
- data/lib/puppet/functions/strip.rb +4 -4
- data/lib/puppet/generate/models/type/type.rb +4 -1
- data/lib/puppet/gettext/config.rb +5 -5
- data/lib/puppet/gettext/module_translations.rb +4 -4
- data/lib/puppet/http.rb +23 -13
- data/lib/puppet/http/client.rb +170 -115
- 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 -11
- 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 +13 -19
- data/lib/puppet/http/resolver.rb +10 -23
- data/lib/puppet/http/resolver/server_list.rb +23 -45
- data/lib/puppet/http/resolver/settings.rb +7 -10
- data/lib/puppet/http/resolver/srv.rb +11 -15
- data/lib/puppet/http/response.rb +49 -48
- 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.rb +15 -27
- data/lib/puppet/http/service/ca.rb +11 -22
- data/lib/puppet/http/service/compiler.rb +23 -70
- data/lib/puppet/http/service/file_server.rb +19 -28
- data/lib/puppet/http/service/puppetserver.rb +53 -0
- data/lib/puppet/http/service/report.rb +8 -10
- data/lib/puppet/http/session.rb +16 -24
- data/lib/puppet/{network/http → http}/site.rb +1 -2
- data/lib/puppet/indirector.rb +1 -1
- data/lib/puppet/indirector/catalog/compiler.rb +1 -1
- data/lib/puppet/indirector/catalog/rest.rb +2 -4
- data/lib/puppet/indirector/exec.rb +1 -1
- data/lib/puppet/indirector/fact_search.rb +60 -0
- data/lib/puppet/indirector/facts/facter.rb +27 -6
- data/lib/puppet/indirector/facts/json.rb +27 -0
- data/lib/puppet/indirector/facts/rest.rb +3 -22
- data/lib/puppet/indirector/facts/yaml.rb +4 -59
- data/lib/puppet/indirector/file_bucket_file/rest.rb +3 -9
- data/lib/puppet/indirector/file_content/rest.rb +3 -7
- data/lib/puppet/indirector/file_metadata/http.rb +25 -5
- data/lib/puppet/indirector/file_metadata/rest.rb +5 -11
- data/lib/puppet/indirector/file_server.rb +1 -8
- data/lib/puppet/indirector/generic_http.rb +0 -11
- data/lib/puppet/indirector/hiera.rb +4 -0
- data/lib/puppet/indirector/indirection.rb +1 -1
- data/lib/puppet/indirector/json.rb +5 -1
- data/lib/puppet/indirector/msgpack.rb +1 -1
- data/lib/puppet/indirector/node/json.rb +8 -0
- data/lib/puppet/indirector/node/rest.rb +2 -4
- data/lib/puppet/indirector/report/json.rb +34 -0
- data/lib/puppet/indirector/report/processor.rb +2 -2
- data/lib/puppet/indirector/report/rest.rb +3 -8
- data/lib/puppet/indirector/request.rb +2 -103
- data/lib/puppet/indirector/rest.rb +12 -263
- data/lib/puppet/indirector/yaml.rb +1 -1
- data/lib/puppet/module.rb +1 -2
- data/lib/puppet/module_tool/applications.rb +0 -1
- data/lib/puppet/network/authconfig.rb +2 -96
- data/lib/puppet/network/authorization.rb +13 -35
- data/lib/puppet/network/format_support.rb +2 -2
- data/lib/puppet/network/formats.rb +2 -1
- data/lib/puppet/network/http.rb +3 -3
- 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/api/master/v3/environments.rb +0 -1
- data/lib/puppet/network/http/connection.rb +247 -316
- data/lib/puppet/network/http/handler.rb +0 -1
- data/lib/puppet/network/http/route.rb +2 -2
- data/lib/puppet/network/http_pool.rb +16 -34
- data/lib/puppet/node.rb +1 -30
- data/lib/puppet/node/environment.rb +12 -5
- data/lib/puppet/node/facts.rb +17 -0
- data/lib/puppet/pal/json_catalog_encoder.rb +4 -0
- data/lib/puppet/pal/pal_impl.rb +93 -14
- data/lib/puppet/parameter.rb +1 -1
- data/lib/puppet/parser/ast/leaf.rb +5 -5
- data/lib/puppet/parser/ast/pops_bridge.rb +0 -42
- data/lib/puppet/parser/compiler.rb +1 -199
- data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +14 -39
- data/lib/puppet/parser/functions.rb +21 -17
- data/lib/puppet/parser/functions/create_resources.rb +11 -7
- data/lib/puppet/parser/resource.rb +3 -71
- data/lib/puppet/parser/resource/param.rb +6 -0
- data/lib/puppet/parser/type_loader.rb +2 -2
- data/lib/puppet/pops/adaptable.rb +7 -13
- data/lib/puppet/pops/adapters.rb +8 -4
- data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +1 -3
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +27 -13
- data/lib/puppet/pops/evaluator/runtime3_converter.rb +2 -2
- data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +3 -3
- data/lib/puppet/pops/evaluator/runtime3_support.rb +1 -1
- data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +6 -8
- data/lib/puppet/pops/loader/runtime3_type_loader.rb +4 -2
- data/lib/puppet/pops/loaders.rb +18 -11
- data/lib/puppet/pops/lookup/context.rb +1 -1
- data/lib/puppet/pops/lookup/hiera_config.rb +14 -1
- data/lib/puppet/pops/model/ast.pp +0 -42
- data/lib/puppet/pops/model/ast.rb +0 -290
- data/lib/puppet/pops/model/factory.rb +0 -45
- 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/egrammar.ra +0 -56
- data/lib/puppet/pops/parser/eparser.rb +1520 -1712
- data/lib/puppet/pops/parser/lexer2.rb +4 -4
- data/lib/puppet/pops/parser/parser_support.rb +0 -5
- data/lib/puppet/pops/resource/resource_type_impl.rb +2 -22
- data/lib/puppet/pops/types/iterable.rb +34 -8
- data/lib/puppet/pops/types/p_meta_type.rb +1 -1
- data/lib/puppet/pops/types/p_type_set_type.rb +4 -0
- data/lib/puppet/pops/types/type_calculator.rb +0 -7
- data/lib/puppet/pops/types/type_parser.rb +0 -4
- data/lib/puppet/pops/types/types.rb +0 -1
- data/lib/puppet/pops/validation/checker4_0.rb +28 -42
- data/lib/puppet/pops/validation/tasks_checker.rb +0 -12
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -1
- data/lib/puppet/provider.rb +0 -13
- data/lib/puppet/provider/file/windows.rb +1 -1
- data/lib/puppet/provider/nameservice.rb +0 -18
- data/lib/puppet/provider/package/apt.rb +34 -0
- data/lib/puppet/provider/package/aptitude.rb +1 -1
- data/lib/puppet/provider/package/dpkg.rb +1 -11
- data/lib/puppet/provider/package/gem.rb +27 -5
- data/lib/puppet/provider/package/pip.rb +0 -1
- data/lib/puppet/provider/package/pip2.rb +17 -0
- data/lib/puppet/provider/package/pkg.rb +0 -4
- data/lib/puppet/provider/package/portage.rb +1 -1
- data/lib/puppet/provider/package/puppet_gem.rb +6 -4
- data/lib/puppet/provider/package/puppetserver_gem.rb +180 -0
- data/lib/puppet/provider/package/yum.rb +2 -1
- data/lib/puppet/provider/package/zypper.rb +3 -0
- data/lib/puppet/provider/service/smf.rb +191 -73
- data/lib/puppet/provider/service/windows.rb +23 -7
- data/lib/puppet/provider/user/aix.rb +1 -1
- data/lib/puppet/provider/user/directoryservice.rb +0 -10
- data/lib/puppet/provider/user/user_role_add.rb +1 -1
- data/lib/puppet/provider/user/useradd.rb +11 -4
- data/lib/puppet/provider/user/windows_adsi.rb +18 -1
- data/lib/puppet/reference/configuration.rb +2 -0
- data/lib/puppet/reference/indirection.rb +1 -1
- data/lib/puppet/reports/http.rb +2 -0
- data/lib/puppet/resource.rb +3 -90
- data/lib/puppet/resource/catalog.rb +1 -14
- data/lib/puppet/resource/type.rb +5 -112
- data/lib/puppet/resource/type_collection.rb +3 -48
- data/lib/puppet/runtime.rb +1 -2
- data/lib/puppet/settings.rb +84 -35
- data/lib/puppet/settings/base_setting.rb +26 -2
- 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/ssl.rb +10 -6
- 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_context.rb +2 -2
- data/lib/puppet/ssl/ssl_provider.rb +37 -1
- data/lib/puppet/ssl/state_machine.rb +3 -1
- data/lib/puppet/ssl/verifier.rb +2 -0
- data/lib/puppet/test/test_helper.rb +19 -16
- data/lib/puppet/transaction.rb +3 -9
- data/lib/puppet/transaction/persistence.rb +1 -1
- data/lib/puppet/transaction/report.rb +10 -8
- data/lib/puppet/trusted_external.rb +29 -1
- data/lib/puppet/type.rb +9 -77
- data/lib/puppet/type/file.rb +45 -22
- data/lib/puppet/type/file/checksum.rb +5 -5
- data/lib/puppet/type/file/source.rb +33 -13
- data/lib/puppet/type/filebucket.rb +4 -4
- data/lib/puppet/type/notify.rb +2 -2
- data/lib/puppet/type/package.rb +5 -13
- data/lib/puppet/type/service.rb +53 -0
- data/lib/puppet/type/user.rb +18 -3
- data/lib/puppet/util.rb +41 -3
- data/lib/puppet/util/autoload.rb +9 -7
- data/lib/puppet/util/character_encoding.rb +9 -5
- data/lib/puppet/util/checksums.rb +19 -4
- data/lib/puppet/util/execution.rb +2 -13
- data/lib/puppet/util/fileparsing.rb +2 -2
- data/lib/puppet/util/http_proxy.rb +2 -215
- data/lib/puppet/util/monkey_patches.rb +0 -46
- data/lib/puppet/util/provider_features.rb +1 -1
- data/lib/puppet/util/rdoc.rb +0 -7
- data/lib/puppet/util/reference.rb +1 -1
- data/lib/puppet/util/retry_action.rb +1 -1
- data/lib/puppet/util/rubygems.rb +5 -1
- data/lib/puppet/util/run_mode.rb +14 -2
- data/lib/puppet/util/windows.rb +3 -7
- 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 +5 -15
- 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 +8 -6
- data/lib/puppet/util/windows/process.rb +4 -226
- data/lib/puppet/util/windows/registry.rb +11 -11
- data/lib/puppet/util/windows/security.rb +4 -4
- data/lib/puppet/util/windows/service.rb +52 -486
- data/lib/puppet/util/windows/string.rb +12 -13
- data/lib/puppet/util/windows/user.rb +242 -8
- data/lib/puppet/util/yaml.rb +0 -22
- data/lib/puppet/vendor/require_vendored.rb +0 -1
- data/lib/puppet/version.rb +1 -1
- data/lib/puppet/x509.rb +5 -1
- data/lib/puppet/x509/cert_provider.rb +29 -1
- data/locales/puppet.pot +713 -1380
- data/man/man5/puppet.conf.5 +84 -98
- data/man/man8/puppet-agent.8 +7 -4
- data/man/man8/puppet-apply.8 +1 -1
- data/man/man8/puppet-catalog.8 +1 -1
- data/man/man8/puppet-config.8 +6 -6
- data/man/man8/puppet-describe.8 +1 -1
- data/man/man8/puppet-device.8 +1 -1
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +1 -1
- data/man/man8/puppet-facts.8 +55 -9
- data/man/man8/puppet-filebucket.8 +6 -6
- data/man/man8/puppet-generate.8 +1 -1
- data/man/man8/puppet-help.8 +1 -1
- data/man/man8/puppet-lookup.8 +2 -2
- data/man/man8/puppet-module.8 +1 -58
- data/man/man8/puppet-node.8 +7 -4
- data/man/man8/puppet-parser.8 +1 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +4 -1
- data/man/man8/puppet-resource.8 +1 -1
- data/man/man8/puppet-script.8 +1 -1
- data/man/man8/puppet-ssl.8 +1 -1
- data/man/man8/puppet.8 +2 -2
- data/spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/provider/applytest/applytest.rb +2 -0
- data/spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/type/applytest.rb +25 -0
- data/spec/fixtures/unit/forge/bacula-releases.json +128 -0
- data/spec/fixtures/unit/forge/bacula.tar.gz +0 -0
- data/spec/fixtures/unit/provider/package/puppetserver_gem/gem-list-local-packages +30 -0
- data/spec/fixtures/unit/provider/service/smf/{svcs.out → svcs_instances.out} +0 -0
- data/spec/integration/application/agent_spec.rb +157 -59
- data/spec/integration/application/apply_spec.rb +150 -150
- data/spec/integration/application/doc_spec.rb +16 -6
- data/spec/integration/application/filebucket_spec.rb +78 -29
- data/spec/integration/application/help_spec.rb +44 -0
- data/spec/integration/application/lookup_spec.rb +13 -0
- data/spec/integration/application/module_spec.rb +68 -0
- data/spec/integration/application/plugin_spec.rb +76 -4
- data/spec/integration/configurer_spec.rb +14 -0
- data/spec/integration/data_binding_spec.rb +82 -0
- data/spec/integration/defaults_spec.rb +33 -5
- data/spec/integration/directory_environments_spec.rb +17 -17
- data/spec/integration/environments/setting_hooks_spec.rb +1 -1
- data/spec/integration/indirector/facts/facter_spec.rb +8 -6
- data/spec/integration/network/http_pool_spec.rb +29 -30
- data/spec/integration/node/environment_spec.rb +1 -1
- data/spec/integration/parser/catalog_spec.rb +0 -38
- data/spec/integration/parser/compiler_spec.rb +11 -0
- data/spec/integration/parser/node_spec.rb +0 -9
- data/spec/integration/parser/pcore_resource_spec.rb +0 -37
- data/spec/integration/type/file_spec.rb +6 -5
- data/spec/integration/util/execution_spec.rb +22 -0
- data/spec/integration/util/windows/adsi_spec.rb +2 -2
- data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
- data/spec/integration/util/windows/process_spec.rb +26 -32
- data/spec/integration/util/windows/registry_spec.rb +7 -7
- data/spec/integration/util/windows/security_spec.rb +1 -1
- data/spec/integration/util/windows/user_spec.rb +47 -5
- data/spec/integration/util_spec.rb +7 -33
- data/spec/lib/puppet_spec/matchers.rb +0 -80
- data/spec/lib/puppet_spec/puppetserver.rb +9 -1
- data/spec/lib/puppet_spec/settings.rb +7 -1
- data/spec/shared_contexts/types_setup.rb +2 -0
- data/spec/spec_helper.rb +2 -0
- data/spec/unit/agent_spec.rb +0 -2
- data/spec/unit/application/agent_spec.rb +3 -4
- data/spec/unit/application/config_spec.rb +224 -4
- data/spec/unit/application/doc_spec.rb +2 -2
- data/spec/unit/application/face_base_spec.rb +6 -4
- data/spec/unit/application/facts_spec.rb +74 -8
- data/spec/unit/application/filebucket_spec.rb +41 -39
- data/spec/unit/application/resource_spec.rb +3 -1
- data/spec/unit/application/ssl_spec.rb +17 -4
- data/spec/unit/application_spec.rb +9 -4
- data/spec/unit/certificate_factory_spec.rb +1 -1
- data/spec/unit/configurer/downloader_spec.rb +14 -0
- data/spec/unit/configurer/fact_handler_spec.rb +4 -4
- data/spec/unit/configurer/plugin_handler_spec.rb +56 -18
- data/spec/unit/configurer_spec.rb +96 -44
- data/spec/unit/confine_spec.rb +2 -1
- data/spec/unit/context/trusted_information_spec.rb +12 -10
- data/spec/unit/defaults_spec.rb +77 -28
- data/spec/unit/environments_spec.rb +96 -32
- data/spec/unit/face/config_spec.rb +65 -12
- data/spec/unit/face/facts_spec.rb +4 -0
- data/spec/unit/face/node_spec.rb +2 -2
- data/spec/unit/face/plugin_spec.rb +73 -33
- data/spec/unit/file_bucket/file_spec.rb +1 -1
- data/spec/unit/file_serving/configuration/parser_spec.rb +14 -18
- data/spec/unit/file_serving/configuration_spec.rb +6 -12
- data/spec/unit/file_serving/http_metadata_spec.rb +37 -14
- data/spec/unit/file_serving/mount/locales_spec.rb +2 -2
- data/spec/unit/file_serving/mount/pluginfacts_spec.rb +2 -2
- data/spec/unit/file_serving/mount/plugins_spec.rb +2 -2
- data/spec/unit/file_serving/terminus_selector_spec.rb +45 -26
- data/spec/unit/file_system/uniquefile_spec.rb +18 -0
- data/spec/unit/file_system_spec.rb +1 -2
- 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/inline_epp_spec.rb +26 -1
- data/spec/unit/functions/upcase_spec.rb +1 -1
- data/spec/unit/http/client_spec.rb +71 -17
- 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 -11
- 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 +34 -15
- data/spec/unit/http/response_spec.rb +6 -0
- data/spec/unit/http/service/ca_spec.rb +2 -3
- data/spec/unit/http/service/compiler_spec.rb +51 -65
- data/spec/unit/http/service/file_server_spec.rb +5 -6
- data/spec/unit/http/service/puppetserver_spec.rb +112 -0
- data/spec/unit/http/service/report_spec.rb +2 -3
- data/spec/unit/http/service_spec.rb +1 -3
- data/spec/unit/http/session_spec.rb +24 -35
- data/spec/unit/{network/http → http}/site_spec.rb +3 -3
- data/spec/unit/indirector/catalog/json_spec.rb +1 -1
- data/spec/unit/indirector/catalog/rest_spec.rb +1 -1
- data/spec/unit/indirector/facts/facter_spec.rb +97 -0
- data/spec/unit/indirector/facts/json_spec.rb +255 -0
- data/spec/unit/indirector/facts/rest_spec.rb +1 -1
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +5 -3
- data/spec/unit/indirector/file_content/rest_spec.rb +0 -4
- data/spec/unit/indirector/file_metadata/http_spec.rb +27 -0
- 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/json_spec.rb +8 -8
- data/spec/unit/indirector/msgpack_spec.rb +8 -8
- data/spec/unit/indirector/node/json_spec.rb +33 -0
- data/spec/unit/indirector/node/rest_spec.rb +1 -1
- data/spec/{integration/indirector/report/yaml.rb → unit/indirector/report/json_spec.rb} +13 -24
- data/spec/unit/indirector/report/rest_spec.rb +2 -17
- data/spec/unit/indirector/report/yaml_spec.rb +72 -8
- data/spec/unit/indirector/request_spec.rb +3 -267
- data/spec/unit/indirector/rest_spec.rb +98 -752
- data/spec/unit/indirector/yaml_spec.rb +7 -7
- data/spec/unit/interface_spec.rb +3 -3
- data/spec/unit/module_tool/tar/mini_spec.rb +20 -0
- data/spec/unit/network/authconfig_spec.rb +2 -132
- data/spec/unit/network/authorization_spec.rb +2 -55
- data/spec/unit/network/format_support_spec.rb +3 -2
- data/spec/unit/network/formats_spec.rb +4 -4
- data/spec/unit/network/http/api/indirected_routes_spec.rb +3 -98
- data/spec/unit/network/http/api/master/v3/environments_spec.rb +12 -23
- 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 +61 -73
- data/spec/unit/network/http/handler_spec.rb +0 -6
- data/spec/unit/network/http_pool_spec.rb +0 -4
- data/spec/unit/node/environment_spec.rb +51 -22
- data/spec/unit/node_spec.rb +2 -54
- data/spec/unit/parser/ast/block_expression_spec.rb +1 -1
- data/spec/unit/parser/functions/create_resources_spec.rb +2 -20
- data/spec/unit/parser/scope_spec.rb +1 -1
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +19 -8
- data/spec/unit/pops/loaders/loaders_spec.rb +77 -22
- data/spec/unit/pops/lookup/lookup_spec.rb +25 -0
- 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_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/types/type_calculator_spec.rb +7 -17
- data/spec/unit/pops/types/type_factory_spec.rb +1 -1
- data/spec/unit/pops/validator/validator_spec.rb +61 -46
- data/spec/unit/pops/visitor_spec.rb +1 -1
- data/spec/unit/provider/exec_spec.rb +4 -3
- data/spec/unit/provider/nameservice_spec.rb +0 -57
- data/spec/unit/provider/package/apt_spec.rb +77 -0
- data/spec/unit/provider/package/aptitude_spec.rb +1 -0
- data/spec/unit/provider/package/dpkg_spec.rb +22 -55
- data/spec/unit/provider/package/gem_spec.rb +32 -0
- data/spec/unit/provider/package/openbsd_spec.rb +2 -0
- data/spec/unit/provider/package/pip2_spec.rb +36 -0
- data/spec/unit/provider/package/puppet_gem_spec.rb +6 -2
- data/spec/unit/provider/package/puppetserver_gem_spec.rb +137 -0
- data/spec/unit/provider/package/yum_spec.rb +31 -0
- data/spec/unit/provider/package/zypper_spec.rb +14 -0
- data/spec/unit/provider/service/base_spec.rb +2 -4
- data/spec/unit/provider/service/bsd_spec.rb +5 -1
- data/spec/unit/provider/service/daemontools_spec.rb +1 -1
- data/spec/unit/provider/service/debian_spec.rb +3 -5
- data/spec/unit/provider/service/freebsd_spec.rb +1 -1
- data/spec/unit/provider/service/gentoo_spec.rb +4 -5
- data/spec/unit/provider/service/init_spec.rb +45 -5
- data/spec/unit/provider/service/launchd_spec.rb +5 -6
- data/spec/unit/provider/service/openrc_spec.rb +4 -5
- data/spec/unit/provider/service/openwrt_spec.rb +1 -1
- data/spec/unit/provider/service/redhat_spec.rb +1 -1
- data/spec/unit/provider/service/runit_spec.rb +2 -1
- data/spec/unit/provider/service/smf_spec.rb +402 -166
- data/spec/unit/provider/service/src_spec.rb +3 -5
- data/spec/unit/provider/service/systemd_spec.rb +3 -6
- data/spec/unit/provider/service/upstart_spec.rb +4 -5
- data/spec/unit/provider/service/windows_spec.rb +50 -15
- data/spec/unit/provider/user/openbsd_spec.rb +1 -0
- data/spec/unit/provider/user/useradd_spec.rb +22 -16
- data/spec/unit/provider/user/windows_adsi_spec.rb +82 -0
- data/spec/unit/provider_spec.rb +0 -12
- data/spec/unit/puppet_pal_2pec.rb +40 -0
- data/spec/unit/puppet_pal_catalog_spec.rb +45 -0
- data/spec/unit/reports/store_spec.rb +17 -13
- data/spec/unit/resource/type_collection_spec.rb +2 -22
- data/spec/unit/resource_spec.rb +3 -59
- 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 +586 -239
- data/spec/unit/ssl/base_spec.rb +36 -3
- data/spec/unit/ssl/certificate_request_spec.rb +15 -45
- data/spec/unit/ssl/certificate_spec.rb +2 -11
- data/spec/unit/ssl/ssl_provider_spec.rb +78 -49
- data/spec/unit/ssl/state_machine_spec.rb +0 -1
- data/spec/unit/ssl/verifier_spec.rb +0 -21
- data/spec/unit/test/test_helper_spec.rb +17 -0
- data/spec/unit/transaction/persistence_spec.rb +15 -0
- data/spec/unit/transaction/report_spec.rb +3 -3
- data/spec/unit/transaction/resource_harness_spec.rb +2 -2
- data/spec/unit/transaction_spec.rb +45 -79
- data/spec/unit/type/file/checksum_spec.rb +6 -6
- data/spec/unit/type/file/content_spec.rb +1 -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/source_spec.rb +4 -5
- data/spec/unit/type/file_spec.rb +134 -102
- data/spec/unit/type/filebucket_spec.rb +1 -1
- data/spec/unit/type/package_spec.rb +1 -1
- data/spec/unit/type/service_spec.rb +209 -0
- data/spec/unit/type/user_spec.rb +31 -2
- data/spec/unit/type_spec.rb +70 -0
- data/spec/unit/util/backups_spec.rb +0 -2
- data/spec/unit/util/character_encoding_spec.rb +4 -4
- data/spec/unit/util/checksums_spec.rb +16 -0
- data/spec/unit/util/command_line_spec.rb +11 -6
- data/spec/unit/util/execution_spec.rb +0 -29
- data/spec/unit/util/monkey_patches_spec.rb +0 -6
- data/spec/unit/util/rubygems_spec.rb +2 -2
- data/spec/unit/util/run_mode_spec.rb +27 -127
- data/spec/unit/util/windows/api_types_spec.rb +104 -40
- data/spec/unit/util/windows/service_spec.rb +4 -4
- data/spec/unit/util/windows/string_spec.rb +1 -3
- data/spec/unit/util/yaml_spec.rb +0 -54
- data/spec/unit/util_spec.rb +3 -21
- data/spec/unit/x509/cert_provider_spec.rb +1 -1
- metadata +76 -270
- data/conf/auth.conf +0 -150
- 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/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.rb +0 -3
- data/lib/puppet/indirector/status/local.rb +0 -12
- data/lib/puppet/indirector/status/rest.rb +0 -27
- 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 -85
- 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 -182
- 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 -64
- data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +0 -20
- data/lib/puppet/parser/environment_compiler.rb +0 -199
- 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/ssl/host.rb +0 -505
- data/lib/puppet/ssl/key.rb +0 -61
- data/lib/puppet/ssl/validator.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/verifier_adapter.rb +0 -58
- data/lib/puppet/status.rb +0 -40
- data/lib/puppet/util/connection.rb +0 -88
- data/lib/puppet/util/ssl.rb +0 -83
- data/lib/puppet/util/windows/api_types.rb +0 -282
- 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.rb +0 -122
- 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/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/integration/faces/config_spec.rb +0 -91
- data/spec/integration/faces/documentation_spec.rb +0 -57
- data/spec/integration/file_bucket/file_spec.rb +0 -50
- data/spec/integration/file_serving/content_spec.rb +0 -7
- data/spec/integration/file_serving/fileset_spec.rb +0 -12
- data/spec/integration/file_serving/metadata_spec.rb +0 -8
- data/spec/integration/file_serving/terminus_helper_spec.rb +0 -20
- data/spec/integration/file_system/uniquefile_spec.rb +0 -26
- data/spec/integration/module_tool/forge_spec.rb +0 -51
- data/spec/integration/module_tool/tar/mini_spec.rb +0 -28
- data/spec/integration/network/authconfig_spec.rb +0 -256
- data/spec/integration/provider/service/init_spec.rb +0 -48
- data/spec/integration/provider/service/systemd_spec.rb +0 -25
- data/spec/integration/provider/service/windows_spec.rb +0 -50
- data/spec/integration/reference/providers_spec.rb +0 -21
- data/spec/integration/reports_spec.rb +0 -13
- data/spec/integration/ssl/certificate_request_spec.rb +0 -44
- data/spec/integration/ssl/host_spec.rb +0 -72
- data/spec/integration/ssl/key_spec.rb +0 -99
- data/spec/integration/test/test_helper_spec.rb +0 -31
- data/spec/shared_behaviours/file_serving_model.rb +0 -51
- data/spec/unit/capability_spec.rb +0 -414
- data/spec/unit/face/catalog_spec.rb +0 -6
- data/spec/unit/face/key_spec.rb +0 -9
- data/spec/unit/face/man_spec.rb +0 -25
- data/spec/unit/face/module/search_spec.rb +0 -231
- data/spec/unit/face/module_spec.rb +0 -3
- data/spec/unit/face/status_spec.rb +0 -9
- 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 -79
- 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/man_spec.rb +0 -31
- 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 -422
- 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 -723
- data/spec/unit/pops/types/enumeration_spec.rb +0 -51
- data/spec/unit/resource/capability_finder_spec.rb +0 -143
- data/spec/unit/rest/route_spec.rb +0 -132
- data/spec/unit/ssl/host_spec.rb +0 -650
- 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/ssl_spec.rb +0 -91
@@ -134,10 +134,10 @@ class Lexer2
|
|
134
134
|
'type' => [:TYPE, 'type', 4],
|
135
135
|
'attr' => [:ATTR, 'attr', 4],
|
136
136
|
'private' => [:PRIVATE, 'private', 7],
|
137
|
-
'application' => [:APPLICATION, 'application', 11],
|
138
|
-
'consumes' => [:CONSUMES, 'consumes', 8],
|
139
|
-
'produces' => [:PRODUCES, 'produces', 8],
|
140
|
-
'site' => [:SITE, 'site', 4],
|
137
|
+
'application' => [:APPLICATION, 'application', 11], # reserved
|
138
|
+
'consumes' => [:CONSUMES, 'consumes', 8], # reserved
|
139
|
+
'produces' => [:PRODUCES, 'produces', 8], # reserved
|
140
|
+
'site' => [:SITE, 'site', 4], # reserved
|
141
141
|
}
|
142
142
|
|
143
143
|
KEYWORDS.each {|k,v| v[1].freeze; v.freeze }
|
@@ -178,11 +178,6 @@ class Parser
|
|
178
178
|
definition
|
179
179
|
end
|
180
180
|
|
181
|
-
def add_mapping(produces)
|
182
|
-
# The actual handling of mappings happens in PopsBridge
|
183
|
-
add_definition(produces)
|
184
|
-
end
|
185
|
-
|
186
181
|
# Transforms an array of expressions containing literal name expressions to calls if followed by an
|
187
182
|
# expression, or expression list
|
188
183
|
#
|
@@ -87,9 +87,7 @@ class ResourceTypeImpl
|
|
87
87
|
:subscribe,
|
88
88
|
:before,
|
89
89
|
:notify,
|
90
|
-
:stage
|
91
|
-
:export,
|
92
|
-
:consume
|
90
|
+
:stage
|
93
91
|
].freeze
|
94
92
|
|
95
93
|
# Speed up lookup
|
@@ -107,7 +105,7 @@ class ResourceTypeImpl
|
|
107
105
|
@parameters = parameters
|
108
106
|
@title_patterns_hash = title_patterns_hash
|
109
107
|
@isomorphic = isomorphic
|
110
|
-
|
108
|
+
# ignore capability parameter
|
111
109
|
|
112
110
|
# Compute attributes hash
|
113
111
|
# Compute key_names (possibly compound key if there are multiple name vars).
|
@@ -175,10 +173,6 @@ class ResourceTypeImpl
|
|
175
173
|
false
|
176
174
|
end
|
177
175
|
|
178
|
-
def is_capability?
|
179
|
-
@capability
|
180
|
-
end
|
181
|
-
|
182
176
|
# Answers if the parameter name is a parameter/attribute of this type
|
183
177
|
# This is part of the Puppet::Type API
|
184
178
|
# Check if used when compiling (it is triggered in an apply)
|
@@ -243,20 +237,6 @@ class ResourceTypeImpl
|
|
243
237
|
# Param.
|
244
238
|
end
|
245
239
|
|
246
|
-
#######################
|
247
|
-
# UNSUPPORTED STUFF
|
248
|
-
#######################
|
249
|
-
|
250
|
-
# Applications are not supported
|
251
|
-
def application?
|
252
|
-
false
|
253
|
-
end
|
254
|
-
|
255
|
-
############################
|
256
|
-
# DON'T KNOW YET
|
257
|
-
############################
|
258
|
-
|
259
|
-
|
260
240
|
##################################################
|
261
241
|
# NEVER CALLED COMPILE SIDE FOR A COMPILATION
|
262
242
|
##################################################
|
@@ -23,13 +23,16 @@ module Puppet::Pops::Types
|
|
23
23
|
#
|
24
24
|
# An `ArgumentError` is raised for all other objects.
|
25
25
|
#
|
26
|
-
# @param
|
26
|
+
# @param my_caller [Object] The calling object to reference in errors
|
27
|
+
# @param obj [Object] The object to produce an `Iterable` for
|
28
|
+
# @param infer_elements [Boolean] Whether or not to recursively infer all elements of obj. Optional
|
29
|
+
#
|
27
30
|
# @return [Iterable,nil] The produced `Iterable`
|
28
31
|
# @raise [ArgumentError] In case an `Iterable` cannot be produced
|
29
32
|
# @api public
|
30
|
-
def self.asserted_iterable(
|
31
|
-
iter = self.on(obj)
|
32
|
-
raise ArgumentError, "#{
|
33
|
+
def self.asserted_iterable(my_caller, obj, infer_elements = false)
|
34
|
+
iter = self.on(obj, nil, infer_elements)
|
35
|
+
raise ArgumentError, "#{my_caller.class}(): wrong argument type (#{obj.class}; is not Iterable." if iter.nil?
|
33
36
|
iter
|
34
37
|
end
|
35
38
|
|
@@ -48,11 +51,14 @@ module Puppet::Pops::Types
|
|
48
51
|
# The value `nil` is returned for all other objects.
|
49
52
|
#
|
50
53
|
# @param o [Object] The object to produce an `Iterable` for
|
51
|
-
# @param element_type [PAnyType] the element type for the iterator. Optional
|
54
|
+
# @param element_type [PAnyType] the element type for the iterator. Optional
|
55
|
+
# @param infer_elements [Boolean] if element_type is nil, whether or not to recursively
|
56
|
+
# infer types for the entire collection. Optional
|
57
|
+
#
|
52
58
|
# @return [Iterable,nil] The produced `Iterable` or `nil` if it couldn't be produced
|
53
59
|
#
|
54
60
|
# @api public
|
55
|
-
def self.on(o, element_type = nil)
|
61
|
+
def self.on(o, element_type = nil, infer_elements = true)
|
56
62
|
case o
|
57
63
|
when IteratorProducer
|
58
64
|
o.iterator
|
@@ -64,7 +70,7 @@ module Puppet::Pops::Types
|
|
64
70
|
if o.empty?
|
65
71
|
Iterator.new(PUnitType::DEFAULT, o.each)
|
66
72
|
else
|
67
|
-
if element_type.nil?
|
73
|
+
if element_type.nil? && infer_elements
|
68
74
|
tc = TypeCalculator.singleton
|
69
75
|
element_type = PVariantType.maybe_create(o.map {|e| tc.infer_set(e) })
|
70
76
|
end
|
@@ -75,7 +81,7 @@ module Puppet::Pops::Types
|
|
75
81
|
if o.empty?
|
76
82
|
HashIterator.new(PHashType::DEFAULT_KEY_PAIR_TUPLE, o.each)
|
77
83
|
else
|
78
|
-
if element_type.nil?
|
84
|
+
if element_type.nil? && infer_elements
|
79
85
|
tc = TypeCalculator.singleton
|
80
86
|
element_type = PTupleType.new([
|
81
87
|
PVariantType.maybe_create(o.keys.map {|e| tc.infer_set(e) }),
|
@@ -202,6 +208,26 @@ module Puppet::Pops::Types
|
|
202
208
|
@enumeration.send(name, *arguments, &block)
|
203
209
|
end
|
204
210
|
|
211
|
+
def next
|
212
|
+
@enumeration.next
|
213
|
+
end
|
214
|
+
|
215
|
+
def map(*args, &block)
|
216
|
+
@enumeration.map(*args, &block)
|
217
|
+
end
|
218
|
+
|
219
|
+
def reduce(*args, &block)
|
220
|
+
@enumeration.reduce(*args, &block)
|
221
|
+
end
|
222
|
+
|
223
|
+
def all?(&block)
|
224
|
+
@enumeration.all?(&block)
|
225
|
+
end
|
226
|
+
|
227
|
+
def any?(&block)
|
228
|
+
@enumeration.any?(&block)
|
229
|
+
end
|
230
|
+
|
205
231
|
def step(step, &block)
|
206
232
|
raise ArgumentError if step <= 0
|
207
233
|
r = self
|
@@ -22,7 +22,7 @@ class PMetaType < PAnyType
|
|
22
22
|
end
|
23
23
|
|
24
24
|
def instance?(o, guard = nil)
|
25
|
-
|
25
|
+
raise NotImplementedError, "Subclass of PMetaType should implement 'instance?'"
|
26
26
|
end
|
27
27
|
|
28
28
|
# Called from the TypeParser once it has found a type using the Loader. The TypeParser will
|
@@ -349,6 +349,10 @@ class PTypeSetType < PMetaType
|
|
349
349
|
self.class == o.class && @name_authority == o.name_authority && @name == o.name && @version == o.version
|
350
350
|
end
|
351
351
|
|
352
|
+
def instance?(o, guard = nil)
|
353
|
+
o.is_a?(PTypeSetType)
|
354
|
+
end
|
355
|
+
|
352
356
|
DEFAULT = self.new({
|
353
357
|
KEY_NAME => 'DefaultTypeSet',
|
354
358
|
KEY_NAME_AUTHORITY => Pcore::RUNTIME_NAME_AUTHORITY,
|
@@ -181,13 +181,6 @@ class TypeCalculator
|
|
181
181
|
t.is_a?(PAnyType) ? t.assignable?(t2) : false
|
182
182
|
end
|
183
183
|
|
184
|
-
# Returns an iterable if the t represents something that can be iterated
|
185
|
-
def enumerable(t)
|
186
|
-
#TRANSLATOR 'TypeCalculator.enumerable' and 'iterable' are methods and should not be translated
|
187
|
-
Puppet.deprecation_warning(_('TypeCalculator.enumerable is deprecated. Use iterable'))
|
188
|
-
iterable(t)
|
189
|
-
end
|
190
|
-
|
191
184
|
# Returns an iterable if the t represents something that can be iterated
|
192
185
|
def iterable(t)
|
193
186
|
# Create an iterable on the type if possible
|
@@ -236,7 +236,6 @@ class Checker4_0 < Evaluator::LiteralEvaluator
|
|
236
236
|
case p
|
237
237
|
when Model::AbstractResource
|
238
238
|
when Model::CollectExpression
|
239
|
-
when Model::CapabilityMapping
|
240
239
|
acceptor.accept(Issues::UNSUPPORTED_OPERATOR_IN_CONTEXT, p, :operator=>'* =>')
|
241
240
|
else
|
242
241
|
# protect against just testing a snippet that has no parent, error message will be a bit strange
|
@@ -295,32 +294,6 @@ class Checker4_0 < Evaluator::LiteralEvaluator
|
|
295
294
|
end
|
296
295
|
end
|
297
296
|
|
298
|
-
def check_CapabilityMapping(o)
|
299
|
-
ok =
|
300
|
-
case o.component
|
301
|
-
when Model::QualifiedReference
|
302
|
-
name = o.component.cased_value
|
303
|
-
acceptor.accept(Issues::ILLEGAL_CLASSREF, o.component, {:name=>name}) unless name =~ Patterns::CLASSREF_EXT
|
304
|
-
true
|
305
|
-
when Model::AccessExpression
|
306
|
-
keys = o.component.keys
|
307
|
-
expr = o.component.left_expr
|
308
|
-
if expr.is_a?(Model::QualifiedReference) && keys.size == 1
|
309
|
-
key = keys[0]
|
310
|
-
key.is_a?(Model::LiteralString) || key.is_a?(Model::QualifiedName) || key.is_a?(Model::QualifiedReference)
|
311
|
-
else
|
312
|
-
false
|
313
|
-
end
|
314
|
-
else
|
315
|
-
false
|
316
|
-
end
|
317
|
-
acceptor.accept(Issues::ILLEGAL_EXPRESSION, o.component, :feature=>'capability mapping', :container => o) unless ok
|
318
|
-
|
319
|
-
if o.capability !~ Patterns::CLASSREF_EXT
|
320
|
-
acceptor.accept(Issues::ILLEGAL_CLASSREF, o, {:name=>o.capability})
|
321
|
-
end
|
322
|
-
end
|
323
|
-
|
324
297
|
def check_EppExpression(o)
|
325
298
|
p = container
|
326
299
|
if p.is_a?(Model::LambdaExpression)
|
@@ -397,6 +370,15 @@ class Checker4_0 < Evaluator::LiteralEvaluator
|
|
397
370
|
'regexp' => true,
|
398
371
|
'pattern' => true,
|
399
372
|
'runtime' => true,
|
373
|
+
'init' => true,
|
374
|
+
'object' => true,
|
375
|
+
'sensitive' => true,
|
376
|
+
'semver' => true,
|
377
|
+
'semverrange' => true,
|
378
|
+
'string' => true,
|
379
|
+
'timestamp' => true,
|
380
|
+
'timespan' => true,
|
381
|
+
'typeset' => true,
|
400
382
|
}
|
401
383
|
|
402
384
|
FUTURE_RESERVED_WORDS = {
|
@@ -589,36 +571,40 @@ class Checker4_0 < Evaluator::LiteralEvaluator
|
|
589
571
|
# @api private
|
590
572
|
class Puppet::Util::FileNamespaceAdapter < Puppet::Pops::Adaptable::Adapter
|
591
573
|
attr_accessor :file_to_namespace
|
574
|
+
|
575
|
+
def self.create_adapter(env)
|
576
|
+
adapter = super(env)
|
577
|
+
adapter.file_to_namespace = {}
|
578
|
+
adapter
|
579
|
+
end
|
592
580
|
end
|
593
581
|
|
594
582
|
def namespace_for_file(file)
|
595
583
|
env = Puppet.lookup(:current_environment)
|
596
584
|
return NO_NAMESPACE if env.nil?
|
597
585
|
|
598
|
-
Puppet::Util::FileNamespaceAdapter.adapt(env)
|
599
|
-
adapter.file_to_namespace ||= {}
|
586
|
+
adapter = Puppet::Util::FileNamespaceAdapter.adapt(env)
|
600
587
|
|
601
|
-
|
602
|
-
|
588
|
+
file_namespace = adapter.file_to_namespace[file]
|
589
|
+
return file_namespace unless file_namespace.nil? # No cache entry, so we do the calculation
|
603
590
|
|
604
|
-
|
591
|
+
path = Pathname.new(file)
|
605
592
|
|
606
|
-
|
593
|
+
return adapter.file_to_namespace[file] = NO_NAMESPACE if path.extname != ".pp"
|
607
594
|
|
608
|
-
|
595
|
+
path = path.expand_path
|
609
596
|
|
610
|
-
|
597
|
+
return adapter.file_to_namespace[file] = NO_NAMESPACE if initial_manifest?(path, env.manifest)
|
611
598
|
|
612
|
-
|
613
|
-
|
599
|
+
#All auto-loaded files from modules come from a module search path dir
|
600
|
+
relative_path = get_module_relative_path(path, env.full_modulepath)
|
614
601
|
|
615
|
-
|
602
|
+
return adapter.file_to_namespace[file] = NO_NAMESPACE if relative_path == NO_PATH
|
616
603
|
|
617
|
-
|
618
|
-
|
604
|
+
#If a file comes from a module, but isn't in the right place, always error
|
605
|
+
names = dir_to_names(relative_path)
|
619
606
|
|
620
|
-
|
621
|
-
end
|
607
|
+
return adapter.file_to_namespace[file] = (names == BAD_MODULE_FILE ? BAD_MODULE_FILE : names.join("::").freeze)
|
622
608
|
end
|
623
609
|
|
624
610
|
def initial_manifest?(path, manifest_setting)
|
@@ -13,14 +13,6 @@ class TasksChecker < Checker4_0
|
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
16
|
-
def check_Application(o)
|
17
|
-
illegalTasksExpression(o)
|
18
|
-
end
|
19
|
-
|
20
|
-
def check_CapabilityMapping(o)
|
21
|
-
illegalTasksExpression(o)
|
22
|
-
end
|
23
|
-
|
24
16
|
def check_CollectExpression(o)
|
25
17
|
# Only virtual resource queries are allowed in apply blocks, not exported
|
26
18
|
# resource queries
|
@@ -83,10 +75,6 @@ class TasksChecker < Checker4_0
|
|
83
75
|
illegalTasksExpression(o)
|
84
76
|
end
|
85
77
|
|
86
|
-
def check_SiteDefinition(o)
|
87
|
-
illegalTasksExpression(o)
|
88
|
-
end
|
89
|
-
|
90
78
|
def check_ApplyExpression(o)
|
91
79
|
if in_ApplyExpression?
|
92
80
|
acceptor.accept(Issues::EXPRESSION_NOT_SUPPORTED_WHEN_COMPILING, o, {:klass => o})
|
@@ -35,7 +35,7 @@ class ValidatorFactory_4_0 < Factory
|
|
35
35
|
p[Issues::DUPLICATE_KEY] = Puppet[:strict] == :off ? :ignore : Puppet[:strict]
|
36
36
|
p[Issues::NAME_WITH_HYPHEN] = :error
|
37
37
|
p[Issues::EMPTY_RESOURCE_SPECIALIZATION] = :ignore
|
38
|
-
p[Issues::CLASS_NOT_VIRTUALIZABLE] =
|
38
|
+
p[Issues::CLASS_NOT_VIRTUALIZABLE] = :error
|
39
39
|
p
|
40
40
|
end
|
41
41
|
end
|
data/lib/puppet/provider.rb
CHANGED
@@ -117,19 +117,6 @@ class Puppet::Provider
|
|
117
117
|
Puppet::Util::Execution.execpipe(*args, &block)
|
118
118
|
end
|
119
119
|
|
120
|
-
# Convenience methods - see class method with the same name.
|
121
|
-
# @return (see self.execfail)
|
122
|
-
# @deprecated
|
123
|
-
def execfail(*args)
|
124
|
-
Puppet::Util::Execution.execfail(*args)
|
125
|
-
end
|
126
|
-
|
127
|
-
# (see Puppet::Util::Execution.execfail)
|
128
|
-
# @deprecated
|
129
|
-
def self.execfail(*args)
|
130
|
-
Puppet::Util::Execution.execfail(*args)
|
131
|
-
end
|
132
|
-
|
133
120
|
# Returns the absolute path to the executable for the command referenced by the given name.
|
134
121
|
# @raise [Puppet::DevError] if the name does not reference an existing command.
|
135
122
|
# @return [String] the absolute path to the found executable for the command
|
@@ -126,7 +126,7 @@ Puppet::Type.type(:file).provide :windows do
|
|
126
126
|
# If the SYSTEM account does _not_ have FullControl in this scenario, we should
|
127
127
|
# force the resource out of sync no matter what.
|
128
128
|
#TRANSLATORS 'SYSTEM' is a Windows name and should not be translated
|
129
|
-
Puppet.debug _("%{resource_name}: %{mode_part_type} set to SYSTEM. SYSTEM permissions cannot be set below FullControl ('7')") % { resource_name: resource[:name], mode_part_type: mode_part['type']}
|
129
|
+
Puppet.debug { _("%{resource_name}: %{mode_part_type} set to SYSTEM. SYSTEM permissions cannot be set below FullControl ('7')") % { resource_name: resource[:name], mode_part_type: mode_part['type']} }
|
130
130
|
return nil
|
131
131
|
end
|
132
132
|
end
|
@@ -54,24 +54,6 @@ class Puppet::Provider::NameService < Puppet::Provider
|
|
54
54
|
end
|
55
55
|
end
|
56
56
|
|
57
|
-
# List everything out by name. Abstracted a bit so that it works
|
58
|
-
# for both users and groups.
|
59
|
-
def listbyname
|
60
|
-
Puppet.deprecation_warning(_("listbyname is deprecated and will be removed in a future release of Puppet. Please use `self.instances` to obtain a list of users."))
|
61
|
-
names = []
|
62
|
-
Puppet::Etc.send("set#{section()}ent")
|
63
|
-
begin
|
64
|
-
while ent = Puppet::Etc.send("get#{section()}ent") #rubocop:disable Lint/AssignmentInCondition
|
65
|
-
names << ent.name
|
66
|
-
yield ent.name if block_given?
|
67
|
-
end
|
68
|
-
ensure
|
69
|
-
Puppet::Etc.send("end#{section()}ent")
|
70
|
-
end
|
71
|
-
|
72
|
-
names
|
73
|
-
end
|
74
|
-
|
75
57
|
def resource_type=(resource_type)
|
76
58
|
super
|
77
59
|
@resource_type.validproperties.each do |prop|
|
@@ -16,6 +16,7 @@ Puppet::Type.type(:package).provide :apt, :parent => :dpkg, :source => :dpkg do
|
|
16
16
|
|
17
17
|
commands :aptget => "/usr/bin/apt-get"
|
18
18
|
commands :aptcache => "/usr/bin/apt-cache"
|
19
|
+
commands :aptmark => "/usr/bin/apt-mark"
|
19
20
|
commands :preseed => "/usr/bin/debconf-set-selections"
|
20
21
|
|
21
22
|
defaultfor :osfamily => :debian
|
@@ -30,6 +31,39 @@ Puppet::Type.type(:package).provide :apt, :parent => :dpkg, :source => :dpkg do
|
|
30
31
|
false
|
31
32
|
end
|
32
33
|
|
34
|
+
def self.instances
|
35
|
+
packages = super
|
36
|
+
manual_marks = aptmark('showmanual').split("\n")
|
37
|
+
packages.each do |package|
|
38
|
+
package.mark = :manual if manual_marks.include?(package.name)
|
39
|
+
end
|
40
|
+
packages
|
41
|
+
end
|
42
|
+
|
43
|
+
def query
|
44
|
+
hash = super
|
45
|
+
hash[:mark] = :manual if aptmark('showmanual').split("\n").include?(@resource[:name])
|
46
|
+
hash
|
47
|
+
end
|
48
|
+
|
49
|
+
def initialize(value={})
|
50
|
+
super(value)
|
51
|
+
@property_flush = {}
|
52
|
+
end
|
53
|
+
|
54
|
+
def mark=(value)
|
55
|
+
@property_flush[:mark] = value
|
56
|
+
end
|
57
|
+
|
58
|
+
def flush
|
59
|
+
# unless we are removing the package mark it if it hasn't already been marked
|
60
|
+
if @property_flush
|
61
|
+
unless @property_flush[:mark] || [:purge, :absent].include?(resource[:ensure])
|
62
|
+
aptmark('manual', resource[:name])
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
33
67
|
# A derivative of DPKG; this is how most people actually manage
|
34
68
|
# Debian boxes, and the only thing that differs is that it can
|
35
69
|
# install packages from remote sites.
|