puppet 6.20.0-x64-mingw32 → 7.0.0-x64-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/CODEOWNERS +16 -2
- data/Gemfile +0 -2
- data/Gemfile.lock +18 -24
- data/README.md +1 -1
- 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/application.rb +178 -108
- data/lib/puppet/application/agent.rb +0 -1
- data/lib/puppet/application/apply.rb +2 -3
- data/lib/puppet/application/device.rb +100 -105
- data/lib/puppet/application/filebucket.rb +13 -9
- data/lib/puppet/application/script.rb +0 -1
- data/lib/puppet/application/ssl.rb +1 -1
- data/lib/puppet/application_support.rb +0 -7
- data/lib/puppet/configurer.rb +30 -45
- data/lib/puppet/configurer/plugin_handler.rb +21 -19
- data/lib/puppet/defaults.rb +97 -167
- data/lib/puppet/environments.rb +59 -58
- data/lib/puppet/face/facts.rb +51 -51
- data/lib/puppet/face/help.rb +1 -1
- data/lib/puppet/face/plugin.rb +5 -8
- 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_serving/configuration.rb +0 -5
- data/lib/puppet/file_serving/configuration/parser.rb +3 -32
- data/lib/puppet/file_serving/http_metadata.rb +1 -1
- data/lib/puppet/file_serving/mount.rb +1 -2
- data/lib/puppet/forge/repository.rb +0 -1
- data/lib/puppet/generate/models/type/type.rb +4 -1
- data/lib/puppet/http.rb +22 -13
- data/lib/puppet/http/client.rb +164 -114
- 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 +4 -12
- data/lib/puppet/http/resolver.rb +5 -15
- data/lib/puppet/http/resolver/server_list.rb +6 -10
- data/lib/puppet/http/resolver/settings.rb +4 -7
- data/lib/puppet/http/resolver/srv.rb +7 -11
- 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.rb +12 -26
- data/lib/puppet/http/service/ca.rb +11 -22
- data/lib/puppet/http/service/compiler.rb +22 -69
- data/lib/puppet/http/service/file_server.rb +18 -27
- data/lib/puppet/http/service/puppetserver.rb +26 -12
- data/lib/puppet/http/service/report.rb +8 -10
- data/lib/puppet/http/session.rb +11 -20
- data/lib/puppet/{network/http → http}/site.rb +1 -2
- data/lib/puppet/indirector/catalog/rest.rb +2 -4
- data/lib/puppet/indirector/facts/facter.rb +24 -3
- 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 -9
- data/lib/puppet/indirector/file_server.rb +1 -8
- data/lib/puppet/indirector/generic_http.rb +0 -11
- 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/rest.rb +12 -263
- data/lib/puppet/module_tool/applications.rb +0 -1
- data/lib/puppet/module_tool/applications/installer.rb +2 -48
- data/lib/puppet/module_tool/errors/shared.rb +2 -17
- data/lib/puppet/network/authconfig.rb +2 -96
- data/lib/puppet/network/authorization.rb +13 -35
- data/lib/puppet/network/http.rb +3 -3
- data/lib/puppet/network/http/api/indirected_routes.rb +2 -20
- 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_pool.rb +16 -34
- data/lib/puppet/node.rb +1 -30
- data/lib/puppet/pal/json_catalog_encoder.rb +4 -0
- data/lib/puppet/pal/pal_impl.rb +3 -1
- data/lib/puppet/parser/ast/leaf.rb +2 -3
- data/lib/puppet/parser/ast/pops_bridge.rb +0 -38
- data/lib/puppet/parser/compiler.rb +0 -198
- data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +14 -39
- data/lib/puppet/parser/resource.rb +0 -69
- data/lib/puppet/parser/templatewrapper.rb +1 -1
- 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 -3
- 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/model/ast.pp +0 -42
- data/lib/puppet/pops/model/ast.rb +0 -290
- data/lib/puppet/pops/model/ast_transformer.rb +1 -1
- 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 -24
- 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 +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/provider.rb +0 -13
- data/lib/puppet/provider/nameservice.rb +0 -18
- data/lib/puppet/provider/package/apt.rb +0 -4
- data/lib/puppet/provider/package/dpkg.rb +0 -10
- data/lib/puppet/provider/package/gem.rb +23 -3
- data/lib/puppet/provider/package/pip.rb +0 -1
- 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 +1 -4
- data/lib/puppet/provider/service/smf.rb +191 -73
- data/lib/puppet/provider/user/aix.rb +2 -2
- data/lib/puppet/provider/user/directoryservice.rb +0 -10
- data/lib/puppet/reference/configuration.rb +7 -6
- data/lib/puppet/reference/indirection.rb +1 -1
- data/lib/puppet/resource.rb +1 -89
- data/lib/puppet/resource/catalog.rb +1 -14
- data/lib/puppet/resource/type.rb +3 -119
- data/lib/puppet/resource/type_collection.rb +3 -48
- data/lib/puppet/runtime.rb +1 -2
- data/lib/puppet/settings.rb +73 -66
- 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_provider.rb +17 -0
- data/lib/puppet/ssl/state_machine.rb +3 -1
- data/lib/puppet/ssl/verifier.rb +2 -0
- data/lib/puppet/test/test_helper.rb +1 -3
- data/lib/puppet/transaction.rb +1 -7
- data/lib/puppet/transaction/report.rb +2 -4
- data/lib/puppet/type.rb +0 -76
- data/lib/puppet/type/file.rb +5 -7
- data/lib/puppet/type/file/checksum.rb +1 -1
- data/lib/puppet/type/file/source.rb +1 -1
- data/lib/puppet/type/filebucket.rb +3 -3
- data/lib/puppet/type/package.rb +5 -13
- data/lib/puppet/util/autoload.rb +8 -1
- data/lib/puppet/util/execution.rb +0 -11
- data/lib/puppet/util/http_proxy.rb +2 -215
- data/lib/puppet/util/monkey_patches.rb +0 -46
- data/lib/puppet/util/posix.rb +5 -54
- 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/windows.rb +3 -8
- 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/process.rb +4 -226
- data/lib/puppet/util/windows/service.rb +9 -460
- data/lib/puppet/util/windows/string.rb +12 -13
- 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 +587 -1312
- data/man/man5/puppet.conf.5 +39 -99
- data/man/man8/puppet-agent.8 +2 -2
- data/man/man8/puppet-apply.8 +2 -2
- data/man/man8/puppet-catalog.8 +1 -1
- data/man/man8/puppet-config.8 +1 -1
- data/man/man8/puppet-describe.8 +1 -1
- data/man/man8/puppet-device.8 +2 -2
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +1 -1
- data/man/man8/puppet-facts.8 +51 -36
- 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 +1 -1
- data/man/man8/puppet-module.8 +1 -58
- data/man/man8/puppet-node.8 +1 -1
- data/man/man8/puppet-parser.8 +1 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +1 -1
- data/man/man8/puppet-resource.8 +1 -1
- data/man/man8/puppet-script.8 +2 -2
- data/man/man8/puppet-ssl.8 +1 -1
- data/man/man8/puppet.8 +2 -2
- 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 +27 -138
- data/spec/integration/application/apply_spec.rb +1 -20
- data/spec/integration/application/filebucket_spec.rb +16 -16
- data/spec/integration/application/help_spec.rb +2 -0
- data/spec/integration/application/plugin_spec.rb +23 -1
- data/spec/integration/defaults_spec.rb +14 -3
- 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 -37
- data/spec/integration/resource/type_collection_spec.rb +6 -2
- data/spec/integration/transaction_spec.rb +9 -4
- data/spec/integration/type/file_spec.rb +5 -4
- data/spec/integration/util/windows/adsi_spec.rb +1 -3
- data/spec/integration/util/windows/monkey_patches/process_spec.rb +231 -0
- data/spec/integration/util/windows/registry_spec.rb +10 -0
- data/spec/integration/util/windows/security_spec.rb +1 -1
- data/spec/lib/puppet_spec/puppetserver.rb +1 -1
- data/spec/lib/puppet_spec/settings.rb +1 -0
- data/spec/spec_helper.rb +6 -1
- data/spec/unit/agent_spec.rb +6 -10
- data/spec/unit/application/agent_spec.rb +1 -0
- data/spec/unit/application/facts_spec.rb +35 -0
- data/spec/unit/application/filebucket_spec.rb +43 -39
- data/spec/unit/application/ssl_spec.rb +2 -2
- 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 -2
- data/spec/unit/configurer/plugin_handler_spec.rb +56 -18
- data/spec/unit/configurer_spec.rb +12 -9
- 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/defaults_spec.rb +72 -42
- data/spec/unit/environments_spec.rb +19 -99
- data/spec/unit/face/facts_spec.rb +4 -0
- data/spec/unit/face/node_spec.rb +11 -0
- 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 +15 -18
- data/spec/unit/file_serving/configuration_spec.rb +6 -12
- data/spec/unit/file_serving/metadata_spec.rb +3 -3
- data/spec/unit/file_serving/terminus_helper_spec.rb +4 -11
- data/spec/unit/forge/module_release_spec.rb +7 -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/upcase_spec.rb +1 -1
- data/spec/unit/http/client_spec.rb +7 -8
- 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 +13 -13
- data/spec/unit/http/service/compiler_spec.rb +0 -62
- 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/face_spec.rb +1 -0
- data/spec/unit/indirector/facts/facter_spec.rb +98 -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 +12 -8
- data/spec/unit/indirector/report/rest_spec.rb +2 -17
- data/spec/unit/indirector/request_spec.rb +0 -264
- data/spec/unit/indirector/rest_spec.rb +98 -752
- data/spec/unit/indirector_spec.rb +2 -2
- data/spec/unit/module_tool/applications/installer_spec.rb +0 -66
- 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 -4
- 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 -54
- data/spec/unit/parser/compiler_spec.rb +19 -3
- data/spec/unit/parser/functions/create_resources_spec.rb +2 -20
- data/spec/unit/parser/resource_spec.rb +8 -14
- data/spec/unit/parser/templatewrapper_spec.rb +3 -4
- 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_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 +6 -6
- 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/property_spec.rb +0 -1
- data/spec/unit/provider/nameservice_spec.rb +64 -122
- data/spec/unit/provider/package/apt_spec.rb +8 -4
- data/spec/unit/provider/package/base_spec.rb +5 -6
- data/spec/unit/provider/package/dpkg_spec.rb +0 -48
- data/spec/unit/provider/package/gem_spec.rb +32 -0
- data/spec/unit/provider/package/pacman_spec.rb +12 -18
- data/spec/unit/provider/package/pip_spec.rb +11 -6
- data/spec/unit/provider/package/pkgdmg_spec.rb +4 -0
- data/spec/unit/provider/package/puppet_gem_spec.rb +3 -2
- data/spec/unit/provider/service/smf_spec.rb +401 -165
- data/spec/unit/provider/service/windows_spec.rb +0 -1
- data/spec/unit/provider/user/aix_spec.rb +0 -5
- 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 +0 -1
- data/spec/unit/provider_spec.rb +8 -18
- 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 +10 -67
- 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 +23 -13
- data/spec/unit/ssl/base_spec.rb +37 -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 +2 -5
- data/spec/unit/ssl/state_machine_spec.rb +0 -1
- data/spec/unit/ssl/verifier_spec.rb +0 -21
- data/spec/unit/transaction/additional_resource_generator_spec.rb +7 -3
- data/spec/unit/transaction/event_manager_spec.rb +11 -14
- 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 +48 -91
- 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 +2 -0
- data/spec/unit/type/file/source_spec.rb +0 -1
- 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 +1 -1
- data/spec/unit/type/tidy_spec.rb +1 -0
- data/spec/unit/type_spec.rb +22 -2
- 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 -3
- 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 +52 -76
- data/spec/unit/util/storage_spec.rb +1 -3
- data/spec/unit/util/suidmanager_spec.rb +41 -44
- 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 +6 -31
- metadata +40 -233
- 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/ffi/posix.rb +0 -10
- data/lib/puppet/ffi/posix/constants.rb +0 -14
- data/lib/puppet/ffi/posix/functions.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.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 -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.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/fact_dif.rb +0 -62
- 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.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/fixtures/integration/application/agent/cached_deferred_catalog.json +0 -91
- data/spec/integration/network/authconfig_spec.rb +0 -256
- data/spec/integration/util/windows/monkey_patches/dir_spec.rb +0 -11
- data/spec/unit/application/man_spec.rb +0 -52
- data/spec/unit/capability_spec.rb +0 -414
- 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/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 -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 -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/ssl_spec.rb +0 -91
@@ -178,7 +178,7 @@ Puppet::Type.type(:user).provide :aix, :parent => Puppet::Provider::AixObject do
|
|
178
178
|
# does not have a password.
|
179
179
|
break if line =~ /^\S+:$/
|
180
180
|
|
181
|
-
match_obj = /password
|
181
|
+
match_obj = /password = (\S+)/.match(line)
|
182
182
|
end
|
183
183
|
return :absent unless match_obj
|
184
184
|
|
@@ -211,7 +211,7 @@ Puppet::Type.type(:user).provide :aix, :parent => Puppet::Provider::AixObject do
|
|
211
211
|
tempfile = Tempfile.new("puppet_#{user}_pw", :encoding => Encoding::ASCII)
|
212
212
|
tempfile << "#{user}:#{value}\n"
|
213
213
|
tempfile.close()
|
214
|
-
|
214
|
+
|
215
215
|
# Options '-e', '-c', use encrypted password and clear flags
|
216
216
|
# Must receive "user:enc_password" as input
|
217
217
|
# command, arguments = {:failonfail => true, :combine => true}
|
@@ -657,14 +657,4 @@ Puppet::Type.type(:user).provide :directoryservice do
|
|
657
657
|
def write_users_plist_to_disk(users_plist)
|
658
658
|
Puppet::Util::Plist.write_plist_file(users_plist, "#{users_plist_dir}/#{@resource.name}.plist", :binary)
|
659
659
|
end
|
660
|
-
|
661
|
-
# This is a simple wrapper method for writing values to a file.
|
662
|
-
def write_to_file(filename, value)
|
663
|
-
Puppet.deprecation_warning("Puppet::Type.type(:user).provider(:directoryservice).write_to_file is deprecated and will be removed in Puppet 5.")
|
664
|
-
begin
|
665
|
-
File.open(filename, 'w') { |f| f.write(value)}
|
666
|
-
rescue Errno::EACCES => detail
|
667
|
-
raise Puppet::Error, "Could not write to file #{filename}: #{detail}", detail.backtrace
|
668
|
-
end
|
669
|
-
end
|
670
660
|
end
|
@@ -24,6 +24,8 @@ config = Puppet::Util::Reference.newreference(:configuration, :depth => 1, :doc
|
|
24
24
|
val = object.default
|
25
25
|
if name.to_s == 'vardir'
|
26
26
|
val = 'Unix/Linux: /opt/puppetlabs/puppet/cache -- Windows: C:\ProgramData\PuppetLabs\puppet\cache -- Non-root user: ~/.puppetlabs/opt/puppet/cache'
|
27
|
+
elsif name.to_s == 'publicdir'
|
28
|
+
val = 'Unix/Linux: /opt/puppetlabs/puppet/public -- Windows: C:\ProgramData\PuppetLabs\puppet\public -- Non-root user: ~/.puppetlabs/opt/puppet/public'
|
27
29
|
elsif name.to_s == 'confdir'
|
28
30
|
val = 'Unix/Linux: /etc/puppetlabs/puppet -- Windows: C:\ProgramData\PuppetLabs\puppet\etc -- Non-root user: ~/.puppetlabs/etc/puppet'
|
29
31
|
elsif name.to_s == 'codedir'
|
@@ -55,12 +57,11 @@ config.header = <<EOT
|
|
55
57
|
* Each of these settings can be specified in `puppet.conf` or on the
|
56
58
|
command line.
|
57
59
|
* Puppet Enterprise (PE) and open source Puppet share the configuration settings
|
58
|
-
documented here. However, PE defaults
|
59
|
-
|
60
|
-
`disable18n`, `environment_timeout`
|
61
|
-
Puppet Server JRuby `max-active-instances` setting. To verify PE
|
62
|
-
defaults, check the `puppet.conf`
|
63
|
-
installation.
|
60
|
+
that are documented here. However, PE defaults for some settings differ from
|
61
|
+
the open source Puppet defaults. Some examples of settings that have different
|
62
|
+
PE defaults include `disable18n`, `environment_timeout`, `always_retry_plugins`,
|
63
|
+
and the Puppet Server JRuby `max-active-instances` setting. To verify PE
|
64
|
+
configuration defaults, check the `puppet.conf` file after installation.
|
64
65
|
* When using boolean settings on the command line, use `--setting` and
|
65
66
|
`--no-setting` instead of `--setting (true|false)`. (Using `--setting false`
|
66
67
|
results in "Error: Could not parse application options: needless argument".)
|
@@ -46,7 +46,7 @@ An indirector has five methods, which are mapped into HTTP verbs for the REST in
|
|
46
46
|
|
47
47
|
These methods are available via the `indirection` class method on the indirected classes. For example:
|
48
48
|
|
49
|
-
|
49
|
+
node = Puppet::Node.indirection.find('foo.example.com')
|
50
50
|
|
51
51
|
At startup, each indirection is configured with a terminus.
|
52
52
|
In most cases, this is the default terminus defined by the indirected class, but it can be overridden by the application or face, or overridden with the `route_file` configuration.
|
data/lib/puppet/resource.rb
CHANGED
@@ -32,7 +32,6 @@ class Puppet::Resource
|
|
32
32
|
ATTRIBUTES = [:file, :line, :exported].freeze
|
33
33
|
TYPE_CLASS = 'Class'.freeze
|
34
34
|
TYPE_NODE = 'Node'.freeze
|
35
|
-
TYPE_SITE = 'Site'.freeze
|
36
35
|
|
37
36
|
PCORE_TYPE_KEY = '__ptype'.freeze
|
38
37
|
VALUE_KEY = 'value'.freeze
|
@@ -340,29 +339,6 @@ class Puppet::Resource
|
|
340
339
|
catalog ? catalog.resource(to_s) : nil
|
341
340
|
end
|
342
341
|
|
343
|
-
# A resource is an application component if it exports or consumes
|
344
|
-
# one or more capabilities, or if it requires a capability resource
|
345
|
-
def is_application_component?
|
346
|
-
return true if ! export.empty? || self[:consume]
|
347
|
-
# Array(self[:require]) does not work for Puppet::Resource instances
|
348
|
-
req = self[:require] || []
|
349
|
-
req = [ req ] unless req.is_a?(Array)
|
350
|
-
req.any? { |r| r.is_capability? }
|
351
|
-
end
|
352
|
-
|
353
|
-
# A resource is a capability (instance) if its underlying type is a
|
354
|
-
# capability type
|
355
|
-
def is_capability?
|
356
|
-
!resource_type.nil? && resource_type.is_capability?
|
357
|
-
end
|
358
|
-
|
359
|
-
# Returns the value of the 'export' metaparam as an Array
|
360
|
-
# @api private
|
361
|
-
def export
|
362
|
-
v = self[:export] || []
|
363
|
-
v.is_a?(Array) ? v : [ v ]
|
364
|
-
end
|
365
|
-
|
366
342
|
# The resource's type implementation
|
367
343
|
# @return [Puppet::Type, Puppet::Resource::Type]
|
368
344
|
# @api private
|
@@ -377,12 +353,11 @@ class Puppet::Resource
|
|
377
353
|
case type
|
378
354
|
when TYPE_CLASS; environment.known_resource_types.hostclass(title == :main ? "" : title)
|
379
355
|
when TYPE_NODE; environment.known_resource_types.node(title)
|
380
|
-
when TYPE_SITE; environment.known_resource_types.site(nil)
|
381
356
|
else
|
382
357
|
result = Puppet::Type.type(type)
|
383
358
|
if !result
|
384
359
|
krt = environment.known_resource_types
|
385
|
-
result = krt.definition(type)
|
360
|
+
result = krt.definition(type)
|
386
361
|
end
|
387
362
|
result
|
388
363
|
end
|
@@ -515,38 +490,6 @@ class Puppet::Resource
|
|
515
490
|
end
|
516
491
|
private :missing_arguments
|
517
492
|
|
518
|
-
# @deprecated Not used by Puppet
|
519
|
-
# @api private
|
520
|
-
def set_default_parameters(scope)
|
521
|
-
Puppet.deprecation_warning(_('The method Puppet::Resource.set_default_parameters is deprecated and will be removed in the next major release of Puppet.'))
|
522
|
-
|
523
|
-
return [] unless resource_type and resource_type.respond_to?(:arguments)
|
524
|
-
|
525
|
-
unless is_a?(Puppet::Parser::Resource)
|
526
|
-
fail Puppet::DevError, _("Cannot evaluate default parameters for %{resource} - not a parser resource") % { resource: self }
|
527
|
-
end
|
528
|
-
|
529
|
-
missing_arguments.collect do |param, default|
|
530
|
-
rtype = resource_type
|
531
|
-
if rtype.type == :hostclass
|
532
|
-
using_bound_value = false
|
533
|
-
catch(:no_such_key) do
|
534
|
-
bound_value = Puppet::Pops::Lookup.search_and_merge("#{rtype.name}::#{param}", Puppet::Pops::Lookup::Invocation.new(scope), nil)
|
535
|
-
# Assign bound value but don't let an undef trump a default expression
|
536
|
-
unless bound_value.nil? && !default.nil?
|
537
|
-
self[param.to_sym] = bound_value
|
538
|
-
using_bound_value = true
|
539
|
-
end
|
540
|
-
end
|
541
|
-
end
|
542
|
-
unless using_bound_value
|
543
|
-
next if default.nil?
|
544
|
-
self[param.to_sym] = default.safeevaluate(scope)
|
545
|
-
end
|
546
|
-
param
|
547
|
-
end.compact
|
548
|
-
end
|
549
|
-
|
550
493
|
def copy_as_resource
|
551
494
|
Puppet::Resource.new(self)
|
552
495
|
end
|
@@ -555,37 +498,6 @@ class Puppet::Resource
|
|
555
498
|
resource_type.valid_parameter?(name)
|
556
499
|
end
|
557
500
|
|
558
|
-
# Verify that all required arguments are either present or
|
559
|
-
# have been provided with defaults.
|
560
|
-
# Must be called after 'set_default_parameters'. We can't join the methods
|
561
|
-
# because Type#set_parameters needs specifically ordered behavior.
|
562
|
-
#
|
563
|
-
# @deprecated Not used by Puppet
|
564
|
-
# @api private
|
565
|
-
def validate_complete
|
566
|
-
Puppet.deprecation_warning(_('The method Puppet::Resource.validate_complete is deprecated and will be removed in the next major release of Puppet.'))
|
567
|
-
|
568
|
-
return unless resource_type and resource_type.respond_to?(:arguments)
|
569
|
-
|
570
|
-
resource_type.arguments.each do |param, default|
|
571
|
-
param = param.to_sym
|
572
|
-
fail Puppet::ParseError, _("Must pass %{param} to %{resource}") % { param: param, resource: self } unless parameters.include?(param)
|
573
|
-
end
|
574
|
-
|
575
|
-
# Perform optional type checking
|
576
|
-
arg_types = resource_type.argument_types
|
577
|
-
# Parameters is a map from name, to parameter, and the parameter again has name and value
|
578
|
-
parameters.each do |name, value|
|
579
|
-
t = arg_types[name.to_s] # untyped, and parameters are symbols here (aargh, strings in the type)
|
580
|
-
next unless t
|
581
|
-
unless Puppet::Pops::Types::TypeCalculator.instance?(t, value.value)
|
582
|
-
inferred_type = Puppet::Pops::Types::TypeCalculator.infer_set(value.value)
|
583
|
-
actual = inferred_type.generalize()
|
584
|
-
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 }
|
585
|
-
end
|
586
|
-
end
|
587
|
-
end
|
588
|
-
|
589
501
|
def validate_parameter(name)
|
590
502
|
raise Puppet::ParseError.new(_("no parameter named '%{name}'") % { name: name }, file, line) unless valid_parameter?(name)
|
591
503
|
end
|
@@ -5,8 +5,6 @@ require 'puppet/util/tagging'
|
|
5
5
|
require 'puppet/graph'
|
6
6
|
require 'securerandom'
|
7
7
|
|
8
|
-
require 'puppet/resource/capability_finder'
|
9
|
-
|
10
8
|
# This class models a node catalog. It is the thing meant to be passed
|
11
9
|
# from server to client, and it contains all of the information in the
|
12
10
|
# catalog, including the resources and the relationships between them.
|
@@ -382,23 +380,12 @@ class Puppet::Resource::Catalog < Puppet::Graph::SimpleGraph
|
|
382
380
|
result = @resource_table[title_key]
|
383
381
|
if result.nil?
|
384
382
|
# an instance has to be created in order to construct the unique key used when
|
385
|
-
# searching for aliases
|
383
|
+
# searching for aliases
|
386
384
|
res = Puppet::Resource.new(type, title, { :environment => @environment_instance })
|
387
385
|
|
388
386
|
# Must check with uniqueness key because of aliases or if resource transforms title in title
|
389
387
|
# to attribute mappings.
|
390
388
|
result = @resource_table[[type_name, res.uniqueness_key].flatten]
|
391
|
-
|
392
|
-
if result.nil?
|
393
|
-
resource_type = res.resource_type
|
394
|
-
if resource_type && resource_type.is_capability?
|
395
|
-
# @todo lutter 2015-03-10: this assumes that it is legal to just
|
396
|
-
# mention a capability resource in code and have it automatically
|
397
|
-
# made available, even if the current component does not require it
|
398
|
-
result = Puppet::Resource::CapabilityFinder.find(environment, code_id, res)
|
399
|
-
add_resource(result) if result
|
400
|
-
end
|
401
|
-
end
|
402
389
|
end
|
403
390
|
result
|
404
391
|
end
|
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
|
@@ -13,22 +13,16 @@ class Puppet::Resource::TypeCollection
|
|
13
13
|
def clear
|
14
14
|
@hostclasses.clear
|
15
15
|
@definitions.clear
|
16
|
-
@applications.clear
|
17
16
|
@nodes.clear
|
18
17
|
@notfound.clear
|
19
|
-
@capability_mappings.clear
|
20
|
-
@sites.clear
|
21
18
|
end
|
22
19
|
|
23
20
|
def initialize(env)
|
24
21
|
@environment = env
|
25
22
|
@hostclasses = {}
|
26
23
|
@definitions = {}
|
27
|
-
@capability_mappings = {}
|
28
|
-
@applications = {}
|
29
24
|
@nodes = {}
|
30
25
|
@notfound = {}
|
31
|
-
@sites = []
|
32
26
|
@lock = Puppet::Concurrent::Lock.new
|
33
27
|
|
34
28
|
# So we can keep a list and match the first-defined regex
|
@@ -45,10 +39,7 @@ class Puppet::Resource::TypeCollection
|
|
45
39
|
"TypeCollection" + {
|
46
40
|
:hostclasses => @hostclasses.keys,
|
47
41
|
:definitions => @definitions.keys,
|
48
|
-
:nodes => @nodes.keys
|
49
|
-
:capability_mappings => @capability_mappings.keys,
|
50
|
-
:applications => @applications.keys,
|
51
|
-
:site => @sites[0] # todo, could be just a binary, this dumps the entire body (good while developing)
|
42
|
+
:nodes => @nodes.keys
|
52
43
|
}.inspect
|
53
44
|
end
|
54
45
|
|
@@ -71,7 +62,6 @@ class Puppet::Resource::TypeCollection
|
|
71
62
|
handle_hostclass_merge(instance)
|
72
63
|
dupe_check(instance, @hostclasses) { |dupe| _("Class '%{klass}' is already defined%{error}; cannot redefine") % { klass: instance.name, error: dupe.error_context } }
|
73
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 } }
|
74
|
-
dupe_check(instance, @applications) { |dupe| _("Application '%{klass}' is already defined%{error}; cannot be redefined as a class") % { klass: instance.name, error: dupe.error_context } }
|
75
65
|
|
76
66
|
@hostclasses[instance.name] = instance
|
77
67
|
instance
|
@@ -109,16 +99,6 @@ class Puppet::Resource::TypeCollection
|
|
109
99
|
instance
|
110
100
|
end
|
111
101
|
|
112
|
-
def add_site(instance)
|
113
|
-
dupe_check_singleton(instance, @sites) { |dupe| _("Site is already defined%{error}; cannot redefine") % { error: dupe.error_context } }
|
114
|
-
@sites << instance
|
115
|
-
instance
|
116
|
-
end
|
117
|
-
|
118
|
-
def site(_)
|
119
|
-
@sites[0]
|
120
|
-
end
|
121
|
-
|
122
102
|
def loader
|
123
103
|
@loader ||= Puppet::Parser::TypeLoader.new(environment)
|
124
104
|
end
|
@@ -149,38 +129,18 @@ class Puppet::Resource::TypeCollection
|
|
149
129
|
def add_definition(instance)
|
150
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 } }
|
151
131
|
dupe_check(instance, @definitions) { |dupe| _("Definition '%{name}' is already defined%{error}; cannot be redefined") % { name: instance.name, error: dupe.error_context } }
|
152
|
-
dupe_check(instance, @applications) { |dupe| _("'%{name}' is already defined%{error} as an application; cannot be redefined") % { name: instance.name, error: dupe.error_context } }
|
153
|
-
@definitions[instance.name] = instance
|
154
|
-
end
|
155
132
|
|
156
|
-
|
157
|
-
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 } }
|
158
|
-
@capability_mappings[instance.name] = instance
|
133
|
+
@definitions[instance.name] = instance
|
159
134
|
end
|
160
135
|
|
161
136
|
def definition(name)
|
162
137
|
@definitions[munge_name(name)]
|
163
138
|
end
|
164
139
|
|
165
|
-
def add_application(instance)
|
166
|
-
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 } }
|
167
|
-
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 } }
|
168
|
-
dupe_check(instance, @applications) { |dupe| _("'%{name}' is already defined%{error} as an application; cannot be redefined") % { name: instance.name, error: dupe.error_context } }
|
169
|
-
@applications[instance.name] = instance
|
170
|
-
end
|
171
|
-
|
172
|
-
def application(name)
|
173
|
-
@applications[munge_name(name)]
|
174
|
-
end
|
175
|
-
|
176
140
|
def find_node(name)
|
177
141
|
@nodes[munge_name(name)]
|
178
142
|
end
|
179
143
|
|
180
|
-
def find_site()
|
181
|
-
@sites[0]
|
182
|
-
end
|
183
|
-
|
184
144
|
def find_hostclass(name)
|
185
145
|
find_or_load(name, :hostclass)
|
186
146
|
end
|
@@ -189,14 +149,9 @@ class Puppet::Resource::TypeCollection
|
|
189
149
|
find_or_load(name, :definition)
|
190
150
|
end
|
191
151
|
|
192
|
-
def find_application(name)
|
193
|
-
find_or_load(name, :application)
|
194
|
-
end
|
195
|
-
|
196
152
|
# TODO: This implementation is wasteful as it creates a copy on each request
|
197
153
|
#
|
198
|
-
[:hostclasses, :nodes, :definitions
|
199
|
-
:applications].each do |m|
|
154
|
+
[:hostclasses, :nodes, :definitions].each do |m|
|
200
155
|
define_method(m) do
|
201
156
|
instance_variable_get("@#{m}").dup
|
202
157
|
end
|