puppet 6.22.1-x64-mingw32 → 6.25.1-x64-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CONTRIBUTING.md +5 -5
- data/Gemfile +2 -2
- data/Gemfile.lock +20 -20
- data/README.md +4 -4
- data/{ext → examples/enc}/regexp_nodes/classes/databases +0 -0
- data/{ext → examples/enc}/regexp_nodes/classes/webservers +0 -0
- data/{ext → examples/enc}/regexp_nodes/environment/development +0 -0
- data/{ext → examples/enc}/regexp_nodes/parameters/service/prod +0 -0
- data/{ext → examples/enc}/regexp_nodes/parameters/service/qa +0 -0
- data/{ext → examples/enc}/regexp_nodes/parameters/service/sandbox +0 -0
- data/{ext → examples/enc}/regexp_nodes/regexp_nodes.rb +0 -0
- data/{ext → examples}/nagios/check_puppet.rb +2 -2
- data/ext/README.md +13 -0
- data/ext/osx/puppet.plist +2 -0
- data/ext/project_data.yaml +1 -0
- data/lib/puppet/application/agent.rb +16 -5
- data/lib/puppet/application/apply.rb +22 -3
- data/lib/puppet/application/device.rb +2 -1
- data/lib/puppet/application/filebucket.rb +1 -0
- data/lib/puppet/application/resource.rb +32 -16
- data/lib/puppet/application/script.rb +2 -1
- data/lib/puppet/application/ssl.rb +1 -0
- data/lib/puppet/concurrent/thread_local_singleton.rb +1 -0
- data/lib/puppet/configurer/downloader.rb +2 -1
- data/lib/puppet/configurer.rb +144 -56
- data/lib/puppet/confine/variable.rb +1 -1
- data/lib/puppet/defaults.rb +47 -33
- data/lib/puppet/environments.rb +75 -25
- data/lib/puppet/face/facts.rb +1 -1
- data/lib/puppet/face/help/action.erb +1 -0
- data/lib/puppet/face/help/face.erb +1 -0
- data/lib/puppet/face/node/clean.rb +11 -0
- data/lib/puppet/facter_impl.rb +96 -0
- data/lib/puppet/file_serving/configuration/parser.rb +2 -0
- data/lib/puppet/file_serving/configuration.rb +3 -0
- data/lib/puppet/file_serving/fileset.rb +14 -2
- data/lib/puppet/file_serving/mount/file.rb +4 -4
- data/lib/puppet/file_serving/mount/scripts.rb +24 -0
- data/lib/puppet/file_system/file_impl.rb +3 -1
- data/lib/puppet/file_system/windows.rb +2 -2
- data/lib/puppet/forge.rb +4 -4
- data/lib/puppet/functions/all.rb +1 -1
- data/lib/puppet/functions/camelcase.rb +1 -1
- data/lib/puppet/functions/capitalize.rb +2 -2
- data/lib/puppet/functions/downcase.rb +2 -2
- data/lib/puppet/functions/empty.rb +8 -0
- data/lib/puppet/functions/find_template.rb +2 -2
- data/lib/puppet/functions/get.rb +5 -5
- data/lib/puppet/functions/group_by.rb +13 -5
- data/lib/puppet/functions/lest.rb +1 -1
- data/lib/puppet/functions/new.rb +100 -100
- data/lib/puppet/functions/partition.rb +4 -4
- data/lib/puppet/functions/require.rb +5 -5
- data/lib/puppet/functions/sort.rb +3 -3
- data/lib/puppet/functions/strftime.rb +1 -0
- data/lib/puppet/functions/tree_each.rb +7 -9
- data/lib/puppet/functions/type.rb +4 -4
- data/lib/puppet/functions/unwrap.rb +17 -2
- data/lib/puppet/functions/upcase.rb +2 -2
- data/lib/puppet/http/client.rb +1 -1
- data/lib/puppet/http/redirector.rb +5 -0
- data/lib/puppet/http/resolver/server_list.rb +15 -4
- data/lib/puppet/http/service/compiler.rb +75 -1
- data/lib/puppet/http/service/file_server.rb +2 -1
- data/lib/puppet/indirector/catalog/compiler.rb +25 -6
- data/lib/puppet/indirector/catalog/rest.rb +1 -0
- data/lib/puppet/indirector/facts/facter.rb +6 -6
- data/lib/puppet/indirector/file_metadata/rest.rb +1 -0
- data/lib/puppet/indirector/indirection.rb +1 -1
- data/lib/puppet/indirector/resource/ral.rb +6 -1
- data/lib/puppet/indirector/terminus.rb +4 -0
- data/lib/puppet/interface/documentation.rb +1 -0
- data/lib/puppet/module/plan.rb +0 -1
- data/lib/puppet/module/task.rb +1 -1
- data/lib/puppet/module.rb +1 -0
- data/lib/puppet/module_tool/applications/installer.rb +12 -4
- data/lib/puppet/module_tool/applications/uninstaller.rb +1 -1
- data/lib/puppet/module_tool/applications/upgrader.rb +1 -1
- data/lib/puppet/module_tool/errors/shared.rb +17 -0
- data/lib/puppet/network/http/api/indirected_routes.rb +1 -1
- data/lib/puppet/node/environment.rb +10 -11
- data/lib/puppet/pal/pal_impl.rb +1 -1
- data/lib/puppet/parser/functions/fqdn_rand.rb +14 -6
- data/lib/puppet/parser/resource.rb +1 -1
- data/lib/puppet/parser/scope.rb +1 -0
- data/lib/puppet/parser/templatewrapper.rb +1 -0
- data/lib/puppet/pops/evaluator/closure.rb +7 -5
- data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +1 -0
- data/lib/puppet/pops/lookup/lookup_adapter.rb +3 -2
- data/lib/puppet/pops/model/ast.rb +1 -0
- data/lib/puppet/pops/model/factory.rb +2 -1
- data/lib/puppet/pops/parser/eparser.rb +201 -201
- data/lib/puppet/pops/parser/lexer2.rb +92 -91
- data/lib/puppet/pops/parser/slurp_support.rb +1 -0
- data/lib/puppet/pops/serialization/to_data_converter.rb +18 -6
- data/lib/puppet/pops/serialization/to_stringified_converter.rb +1 -1
- data/lib/puppet/pops/types/p_sem_ver_type.rb +8 -2
- data/lib/puppet/pops/types/p_sensitive_type.rb +10 -0
- data/lib/puppet/pops/types/type_formatter.rb +4 -3
- data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -1
- data/lib/puppet/pops/types/types.rb +1 -1
- data/lib/puppet/provider/aix_object.rb +1 -1
- data/lib/puppet/provider/exec/posix.rb +16 -4
- data/lib/puppet/provider/group/groupadd.rb +5 -2
- data/lib/puppet/provider/package/nim.rb +11 -6
- data/lib/puppet/provider/package/pip.rb +15 -3
- data/lib/puppet/provider/package/pkg.rb +19 -2
- data/lib/puppet/provider/package/puppetserver_gem.rb +1 -1
- data/lib/puppet/provider/package/yum.rb +1 -1
- data/lib/puppet/provider/parsedfile.rb +3 -0
- data/lib/puppet/provider/service/base.rb +1 -1
- data/lib/puppet/provider/service/init.rb +5 -5
- data/lib/puppet/provider/service/launchd.rb +2 -2
- data/lib/puppet/provider/service/redhat.rb +1 -1
- data/lib/puppet/provider/service/smf.rb +3 -3
- data/lib/puppet/provider/service/systemd.rb +15 -5
- data/lib/puppet/provider/service/upstart.rb +5 -5
- data/lib/puppet/provider/service/windows.rb +38 -0
- data/lib/puppet/provider/user/aix.rb +44 -1
- data/lib/puppet/provider/user/directoryservice.rb +26 -13
- data/lib/puppet/provider/user/useradd.rb +72 -16
- data/lib/puppet/provider.rb +1 -1
- data/lib/puppet/reference/configuration.rb +1 -1
- data/lib/puppet/reference/providers.rb +2 -2
- data/lib/puppet/resource/catalog.rb +1 -1
- data/lib/puppet/resource/type_collection.rb +1 -0
- data/lib/puppet/resource.rb +38 -5
- data/lib/puppet/runtime.rb +11 -1
- data/lib/puppet/settings.rb +32 -9
- data/lib/puppet/test/test_helper.rb +4 -1
- data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
- data/lib/puppet/transaction/persistence.rb +11 -1
- data/lib/puppet/transaction/report.rb +15 -1
- data/lib/puppet/type/exec.rb +35 -5
- data/lib/puppet/type/file/mode.rb +6 -0
- data/lib/puppet/type/file/selcontext.rb +1 -1
- data/lib/puppet/type/file.rb +25 -7
- data/lib/puppet/type/filebucket.rb +3 -3
- data/lib/puppet/type/group.rb +0 -1
- data/lib/puppet/type/resources.rb +1 -1
- data/lib/puppet/type/service.rb +26 -41
- data/lib/puppet/type/tidy.rb +22 -3
- data/lib/puppet/type/user.rb +38 -21
- data/lib/puppet/type.rb +1 -1
- data/lib/puppet/util/command_line.rb +1 -1
- data/lib/puppet/util/filetype.rb +2 -2
- data/lib/puppet/util/json.rb +3 -0
- data/lib/puppet/util/log.rb +1 -2
- data/lib/puppet/util/logging.rb +1 -25
- data/lib/puppet/util/pidlock.rb +1 -1
- data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +1 -1
- data/lib/puppet/util/selinux.rb +30 -4
- data/lib/puppet/util/suidmanager.rb +1 -2
- data/lib/puppet/util/symbolic_file_mode.rb +29 -17
- data/lib/puppet/util/tagging.rb +1 -0
- data/lib/puppet/util/windows/service.rb +0 -5
- data/lib/puppet/util/windows/sid.rb +3 -1
- data/lib/puppet/util/windows/user.rb +0 -2
- data/lib/puppet/util/windows.rb +3 -0
- data/lib/puppet/util.rb +4 -3
- data/lib/puppet/version.rb +1 -1
- data/lib/puppet.rb +5 -9
- data/locales/puppet.pot +408 -364
- data/man/man5/puppet.conf.5 +303 -275
- data/man/man8/puppet-agent.8 +4 -1
- data/man/man8/puppet-apply.8 +1 -1
- data/man/man8/puppet-catalog.8 +9 -9
- data/man/man8/puppet-config.8 +1 -1
- data/man/man8/puppet-describe.8 +1 -1
- data/man/man8/puppet-device.8 +1 -1
- data/man/man8/puppet-doc.8 +1 -1
- data/man/man8/puppet-epp.8 +1 -1
- data/man/man8/puppet-facts.8 +8 -8
- data/man/man8/puppet-filebucket.8 +1 -1
- data/man/man8/puppet-generate.8 +1 -1
- data/man/man8/puppet-help.8 +1 -1
- data/man/man8/puppet-key.8 +7 -7
- data/man/man8/puppet-lookup.8 +1 -1
- data/man/man8/puppet-man.8 +1 -1
- data/man/man8/puppet-module.8 +3 -3
- data/man/man8/puppet-node.8 +5 -5
- data/man/man8/puppet-parser.8 +1 -1
- data/man/man8/puppet-plugin.8 +1 -1
- data/man/man8/puppet-report.8 +5 -5
- data/man/man8/puppet-resource.8 +1 -1
- data/man/man8/puppet-script.8 +1 -1
- data/man/man8/puppet-ssl.8 +1 -1
- data/man/man8/puppet-status.8 +4 -4
- data/man/man8/puppet.8 +2 -2
- data/spec/fixtures/integration/application/agent/cached_deferred_catalog.json +2 -1
- data/spec/fixtures/integration/application/agent/lib/facter/agent_spec_role.rb +3 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Gemfile +4 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Rakefile +3 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/lib/puppet/functions/l10n.rb +8 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/config.yaml +25 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/ja/puppet-l10n.po +19 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/puppet-l10n.pot +20 -0
- data/spec/fixtures/integration/l10n/envs/prod/modules/demo/metadata.json +8 -0
- data/spec/fixtures/ssl/127.0.0.1-key.pem +107 -57
- data/spec/fixtures/ssl/127.0.0.1.pem +52 -31
- data/spec/fixtures/ssl/bad-basic-constraints.pem +57 -35
- data/spec/fixtures/ssl/bad-int-basic-constraints.pem +57 -35
- data/spec/fixtures/ssl/ca.pem +57 -35
- data/spec/fixtures/ssl/crl.pem +28 -18
- data/spec/fixtures/ssl/ec-key.pem +11 -11
- data/spec/fixtures/ssl/ec.pem +33 -24
- data/spec/fixtures/ssl/encrypted-ec-key.pem +12 -12
- data/spec/fixtures/ssl/encrypted-key.pem +108 -58
- data/spec/fixtures/ssl/intermediate-agent-crl.pem +28 -19
- data/spec/fixtures/ssl/intermediate-agent.pem +57 -36
- data/spec/fixtures/ssl/intermediate-crl.pem +31 -21
- data/spec/fixtures/ssl/intermediate.pem +57 -36
- data/spec/fixtures/ssl/oid-key.pem +117 -0
- data/spec/fixtures/ssl/oid.pem +69 -0
- data/spec/fixtures/ssl/pluto-key.pem +107 -57
- data/spec/fixtures/ssl/pluto.pem +52 -30
- data/spec/fixtures/ssl/request-key.pem +107 -57
- data/spec/fixtures/ssl/request.pem +47 -26
- data/spec/fixtures/ssl/revoked-key.pem +107 -57
- data/spec/fixtures/ssl/revoked.pem +52 -30
- data/spec/fixtures/ssl/signed-key.pem +107 -57
- data/spec/fixtures/ssl/signed.pem +52 -30
- data/spec/fixtures/ssl/tampered-cert.pem +52 -30
- data/spec/fixtures/ssl/tampered-csr.pem +47 -26
- data/spec/fixtures/ssl/trusted_oid_mapping.yaml +5 -0
- data/spec/fixtures/ssl/unknown-127.0.0.1-key.pem +107 -57
- data/spec/fixtures/ssl/unknown-127.0.0.1.pem +50 -29
- data/spec/fixtures/ssl/unknown-ca-key.pem +107 -57
- data/spec/fixtures/ssl/unknown-ca.pem +55 -33
- data/spec/integration/application/agent_spec.rb +141 -37
- data/spec/integration/application/filebucket_spec.rb +16 -0
- data/spec/integration/application/module_spec.rb +21 -0
- data/spec/integration/application/resource_spec.rb +64 -0
- data/spec/integration/application/ssl_spec.rb +20 -0
- data/spec/integration/configurer_spec.rb +18 -2
- data/spec/integration/environments/settings_interpolation_spec.rb +0 -4
- data/spec/integration/indirector/facts/facter_spec.rb +93 -39
- data/spec/integration/l10n/compiler_spec.rb +37 -0
- data/spec/integration/parser/pcore_resource_spec.rb +10 -0
- data/spec/integration/transaction/report_spec.rb +1 -1
- data/spec/integration/type/exec_spec.rb +70 -45
- data/spec/integration/type/file_spec.rb +2 -2
- data/spec/integration/type/package_spec.rb +6 -6
- data/spec/integration/util/rdoc/parser_spec.rb +1 -1
- data/spec/integration/util/windows/process_spec.rb +1 -9
- data/spec/lib/puppet/test_ca.rb +7 -2
- data/spec/lib/puppet_spec/modules.rb +13 -2
- data/spec/lib/puppet_spec/puppetserver.rb +15 -0
- data/spec/lib/puppet_spec/settings.rb +1 -0
- data/spec/shared_behaviours/documentation_on_faces.rb +0 -2
- data/spec/shared_contexts/l10n.rb +27 -0
- data/spec/spec_helper.rb +1 -10
- data/spec/unit/application/agent_spec.rb +7 -2
- data/spec/unit/application/apply_spec.rb +76 -56
- data/spec/unit/application/resource_spec.rb +29 -0
- data/spec/unit/configurer/downloader_spec.rb +6 -0
- data/spec/unit/configurer_spec.rb +256 -57
- data/spec/unit/defaults_spec.rb +1 -0
- data/spec/unit/environments_spec.rb +184 -0
- data/spec/unit/facter_impl_spec.rb +31 -0
- data/spec/unit/file_bucket/dipper_spec.rb +2 -2
- data/spec/unit/file_serving/configuration/parser_spec.rb +23 -0
- data/spec/unit/file_serving/configuration_spec.rb +14 -4
- data/spec/unit/file_serving/fileset_spec.rb +60 -0
- data/spec/unit/file_serving/mount/scripts_spec.rb +69 -0
- data/spec/unit/file_system_spec.rb +13 -0
- data/spec/unit/functions/assert_type_spec.rb +1 -1
- data/spec/unit/functions/empty_spec.rb +10 -0
- data/spec/unit/functions/logging_spec.rb +1 -0
- data/spec/unit/functions/lookup_spec.rb +64 -0
- data/spec/unit/functions/unwrap_spec.rb +8 -0
- data/spec/unit/functions4_spec.rb +2 -2
- data/spec/unit/gettext/config_spec.rb +12 -0
- data/spec/unit/http/client_spec.rb +58 -1
- data/spec/unit/http/service/compiler_spec.rb +131 -0
- data/spec/unit/indirector/catalog/compiler_spec.rb +101 -10
- data/spec/unit/indirector/catalog/rest_spec.rb +8 -0
- data/spec/unit/indirector/indirection_spec.rb +10 -3
- data/spec/unit/indirector/resource/ral_spec.rb +40 -75
- data/spec/unit/interface/action_spec.rb +0 -9
- data/spec/unit/module_spec.rb +15 -1
- data/spec/unit/module_tool/applications/installer_spec.rb +51 -12
- data/spec/unit/network/authstore_spec.rb +0 -15
- data/spec/unit/network/formats_spec.rb +6 -0
- data/spec/unit/parser/functions/fqdn_rand_spec.rb +15 -1
- data/spec/unit/parser/templatewrapper_spec.rb +12 -2
- data/spec/unit/pops/parser/parse_containers_spec.rb +0 -11
- data/spec/unit/pops/serialization/to_from_hr_spec.rb +58 -0
- data/spec/unit/pops/serialization/to_stringified_spec.rb +5 -0
- data/spec/unit/pops/types/p_sem_ver_type_spec.rb +18 -0
- data/spec/unit/pops/types/p_sensitive_type_spec.rb +18 -0
- data/spec/unit/pops/types/type_calculator_spec.rb +6 -0
- data/spec/unit/provider/package/gem_spec.rb +1 -1
- data/spec/unit/provider/package/nim_spec.rb +42 -0
- data/spec/unit/provider/package/pip2_spec.rb +1 -1
- data/spec/unit/provider/package/pip3_spec.rb +1 -1
- data/spec/unit/provider/package/pip_spec.rb +38 -1
- data/spec/unit/provider/package/pkg_spec.rb +29 -4
- data/spec/unit/provider/package/puppet_gem_spec.rb +1 -1
- data/spec/unit/provider/package/puppetserver_gem_spec.rb +1 -1
- data/spec/unit/provider/parsedfile_spec.rb +10 -0
- data/spec/unit/provider/service/init_spec.rb +1 -0
- data/spec/unit/provider/service/launchd_spec.rb +11 -0
- data/spec/unit/provider/service/openwrt_spec.rb +3 -1
- data/spec/unit/provider/service/systemd_spec.rb +43 -9
- data/spec/unit/provider/service/windows_spec.rb +202 -0
- data/spec/unit/provider/user/aix_spec.rb +100 -0
- data/spec/unit/provider/user/directoryservice_spec.rb +68 -36
- data/spec/unit/provider/user/useradd_spec.rb +43 -2
- data/spec/unit/provider_spec.rb +4 -4
- data/spec/unit/puppet_spec.rb +12 -4
- data/spec/unit/resource/catalog_spec.rb +14 -1
- data/spec/unit/resource_spec.rb +58 -2
- data/spec/unit/settings_spec.rb +97 -56
- data/spec/unit/ssl/certificate_request_spec.rb +8 -14
- data/spec/unit/ssl/state_machine_spec.rb +19 -5
- data/spec/unit/transaction/additional_resource_generator_spec.rb +0 -2
- data/spec/unit/transaction_spec.rb +18 -20
- data/spec/unit/type/exec_spec.rb +76 -29
- data/spec/unit/type/file/selinux_spec.rb +3 -3
- data/spec/unit/type/file/source_spec.rb +4 -4
- data/spec/unit/type/service_spec.rb +86 -188
- data/spec/unit/type/tidy_spec.rb +24 -7
- data/spec/unit/type/user_spec.rb +45 -0
- data/spec/unit/type_spec.rb +2 -2
- data/spec/unit/util/logging_spec.rb +2 -0
- data/spec/unit/util/selinux_spec.rb +87 -16
- data/spec/unit/util/windows/sid_spec.rb +39 -4
- data/tasks/generate_cert_fixtures.rake +12 -3
- data/tasks/parallel.rake +3 -3
- metadata +49 -95
- data/ext/README.environment +0 -8
- data/ext/dbfix.sql +0 -132
- data/ext/debian/README.Debian +0 -8
- data/ext/debian/README.source +0 -2
- data/ext/debian/TODO.Debian +0 -1
- data/ext/debian/changelog.erb +0 -1122
- data/ext/debian/compat +0 -1
- data/ext/debian/control +0 -144
- data/ext/debian/copyright +0 -339
- data/ext/debian/docs +0 -1
- data/ext/debian/fileserver.conf +0 -41
- data/ext/debian/puppet-common.dirs +0 -13
- data/ext/debian/puppet-common.install +0 -3
- data/ext/debian/puppet-common.lintian-overrides +0 -5
- data/ext/debian/puppet-common.manpages +0 -28
- data/ext/debian/puppet-common.postinst +0 -35
- data/ext/debian/puppet-common.postrm +0 -33
- data/ext/debian/puppet-el.dirs +0 -1
- data/ext/debian/puppet-el.emacsen-install +0 -25
- data/ext/debian/puppet-el.emacsen-remove +0 -11
- data/ext/debian/puppet-el.emacsen-startup +0 -9
- data/ext/debian/puppet-el.install +0 -1
- data/ext/debian/puppet-testsuite.install +0 -2
- data/ext/debian/puppet-testsuite.lintian-overrides +0 -4
- data/ext/debian/puppet.lintian-overrides +0 -3
- data/ext/debian/puppet.logrotate +0 -20
- data/ext/debian/puppet.postinst +0 -20
- data/ext/debian/puppet.postrm +0 -20
- data/ext/debian/puppet.preinst +0 -20
- data/ext/debian/puppetmaster-common.install +0 -2
- data/ext/debian/puppetmaster-common.manpages +0 -2
- data/ext/debian/puppetmaster-common.postinst +0 -6
- data/ext/debian/puppetmaster-passenger.dirs +0 -4
- data/ext/debian/puppetmaster-passenger.postinst +0 -162
- data/ext/debian/puppetmaster-passenger.postrm +0 -61
- data/ext/debian/puppetmaster.README.debian +0 -17
- data/ext/debian/puppetmaster.default +0 -14
- data/ext/debian/puppetmaster.init +0 -137
- data/ext/debian/puppetmaster.lintian-overrides +0 -3
- data/ext/debian/puppetmaster.postinst +0 -20
- data/ext/debian/puppetmaster.postrm +0 -5
- data/ext/debian/puppetmaster.preinst +0 -22
- data/ext/debian/rules +0 -132
- data/ext/debian/source/format +0 -1
- data/ext/debian/source/options +0 -1
- data/ext/debian/vim-puppet.README.Debian +0 -13
- data/ext/debian/vim-puppet.dirs +0 -5
- data/ext/debian/vim-puppet.yaml +0 -7
- data/ext/debian/watch +0 -2
- data/ext/freebsd/puppetd +0 -26
- data/ext/freebsd/puppetmasterd +0 -26
- data/ext/gentoo/conf.d/puppet +0 -5
- data/ext/gentoo/conf.d/puppetmaster +0 -12
- data/ext/gentoo/init.d/puppet +0 -38
- data/ext/gentoo/init.d/puppetmaster +0 -51
- data/ext/gentoo/puppet/fileserver.conf +0 -41
- data/ext/ips/puppet-agent +0 -44
- data/ext/ips/puppet-master +0 -44
- data/ext/ips/puppet.p5m.erb +0 -12
- data/ext/ips/puppetagent.xml +0 -42
- data/ext/ips/puppetmaster.xml +0 -42
- data/ext/ips/rules +0 -19
- data/ext/ips/transforms +0 -34
- data/ext/ldap/puppet.schema +0 -24
- data/ext/logcheck/puppet +0 -23
- data/ext/osx/file_mapping.yaml +0 -33
- data/ext/osx/postflight.erb +0 -109
- data/ext/osx/preflight.erb +0 -52
- data/ext/osx/prototype.plist.erb +0 -38
- data/ext/redhat/fileserver.conf +0 -41
- data/ext/redhat/logrotate +0 -21
- data/ext/redhat/puppet.spec.erb +0 -842
- data/ext/redhat/server.init +0 -128
- data/ext/redhat/server.sysconfig +0 -13
- data/ext/solaris/pkginfo +0 -6
- data/ext/solaris/smf/puppetd.xml +0 -77
- data/ext/solaris/smf/puppetmasterd.xml +0 -77
- data/ext/solaris/smf/svc-puppetd +0 -71
- data/ext/solaris/smf/svc-puppetmasterd +0 -67
- data/ext/suse/puppet.spec +0 -310
- data/ext/suse/server.init +0 -173
- data/ext/yaml_nodes.rb +0 -105
- data/spec/unit/indirector/store_configs_spec.rb +0 -7
@@ -4,14 +4,22 @@
|
|
4
4
|
# and the values are arrays of elements in the collection that correspond to the key.
|
5
5
|
Puppet::Functions.create_function(:group_by) do
|
6
6
|
# @param collection A collection of things to group.
|
7
|
-
# @example Group array of strings by length, results in e.g. { 1 => [a, b], 2 => [ab] }
|
7
|
+
# @example Group array of strings by length, results in e.g. `{ 1 => [a, b], 2 => [ab] }`
|
8
|
+
# ```puppet
|
8
9
|
# [a, b, ab].group_by |$s| { $s.length }
|
9
|
-
#
|
10
|
+
# ```
|
11
|
+
# @example Group array of strings by length and index, results in e.g. `{1 => ['a'], 2 => ['b', 'ab']}`
|
12
|
+
# ```puppet
|
10
13
|
# [a, b, ab].group_by |$i, $s| { $i%2 + $s.length }
|
11
|
-
#
|
14
|
+
# ```
|
15
|
+
# @example Group hash iterating by key-value pair, results in e.g. `{ 2 => [['a', [1, 2]]], 1 => [['b', [1]]] }`
|
16
|
+
# ```puppet
|
12
17
|
# { a => [1, 2], b => [1] }.group_by |$kv| { $kv[1].length }
|
13
|
-
#
|
14
|
-
#
|
18
|
+
# ```
|
19
|
+
# @example Group hash iterating by key and value, results in e.g. `{ 2 => [['a', [1, 2]]], 1 => [['b', [1]]] }`
|
20
|
+
# ```puppet
|
21
|
+
# { a => [1, 2], b => [1] }.group_by |$k, $v| { $v.length }
|
22
|
+
# ```
|
15
23
|
dispatch :group_by_1 do
|
16
24
|
required_param 'Collection', :collection
|
17
25
|
block_param 'Callable[1,1]', :block
|
@@ -23,7 +23,7 @@
|
|
23
23
|
# .lest || { fail("no value for $data[a][b][c]" }
|
24
24
|
# ```
|
25
25
|
#
|
26
|
-
# Would fail the operation because
|
26
|
+
# Would fail the operation because `$data[a][b][c]` results in `undef`
|
27
27
|
# (there is no `b` key in `a`).
|
28
28
|
#
|
29
29
|
# In contrast - this example:
|
data/lib/puppet/functions/new.rb
CHANGED
@@ -51,7 +51,7 @@
|
|
51
51
|
# The following sections show the arguments and conversion rules
|
52
52
|
# per data type built into the Puppet Type System.
|
53
53
|
#
|
54
|
-
# ### Conversion to Optional[T] and NotUndef[T]
|
54
|
+
# ### Conversion to `Optional[T]` and `NotUndef[T]`
|
55
55
|
#
|
56
56
|
# Conversion to these data types is the same as a conversion to the type argument `T`.
|
57
57
|
# In the case of `Optional[T]` it is accepted that the argument to convert may be `undef`.
|
@@ -85,13 +85,13 @@
|
|
85
85
|
# * `0` as radix 8.
|
86
86
|
# * All others are decimal.
|
87
87
|
# * Conversion from `String` accepts an optional sign in the string.
|
88
|
-
# * For hexadecimal (radix 16) conversion an optional leading "0x"
|
89
|
-
# * For octal (radix 8) an optional leading "0" is accepted.
|
90
|
-
# * For binary (radix 2) an optional leading "0b" or "0B" is accepted.
|
88
|
+
# * For hexadecimal (radix 16) conversion an optional leading `"0x"`, or `"0X"` is accepted.
|
89
|
+
# * For octal (radix 8) an optional leading `"0"` is accepted.
|
90
|
+
# * For binary (radix 2) an optional leading `"0b"` or `"0B"` is accepted.
|
91
91
|
# * When `radix` is set to `default`, the conversion is based on the leading.
|
92
|
-
# characters in the string. A leading "0" for radix 8, a leading "0x"
|
93
|
-
# radix 16, and leading "0b" or "0B" for binary.
|
94
|
-
# * Conversion from `Boolean` results in 0 for `false` and 1 for `true`.
|
92
|
+
# characters in the string. A leading `"0"` for radix 8, a leading `"0x"`, or `"0X"` for
|
93
|
+
# radix 16, and leading `"0b"` or `"0B"` for binary.
|
94
|
+
# * Conversion from `Boolean` results in `0` for `false` and `1` for `true`.
|
95
95
|
# * Conversion from `Integer`, `Float`, and `Boolean` ignores the radix.
|
96
96
|
# * `Float` value fractions are truncated (no rounding).
|
97
97
|
# * When `abs` is set to `true`, the result will be an absolute integer.
|
@@ -119,9 +119,9 @@
|
|
119
119
|
# ```
|
120
120
|
#
|
121
121
|
# * For an integer, the floating point fraction of `.0` is added to the value.
|
122
|
-
# * A `Boolean` `true` is converted to 1.0
|
122
|
+
# * A `Boolean` `true` is converted to `1.0`, and a `false` to `0.0`.
|
123
123
|
# * In `String` format, integer prefixes for hex and binary are understood (but not octal since
|
124
|
-
# floating point in string format may start with a '0').
|
124
|
+
# floating point in string format may start with a `'0'`).
|
125
125
|
# * When `abs` is set to `true`, the result will be an absolute floating point value.
|
126
126
|
#
|
127
127
|
# ### Conversion to Numeric
|
@@ -139,7 +139,7 @@
|
|
139
139
|
# * If the value has a decimal period, or if given in scientific notation
|
140
140
|
# (e/E), the result is a `Float`, otherwise the value is an `Integer`. The
|
141
141
|
# conversion from `String` always uses a radix based on the prefix of the string.
|
142
|
-
# * Conversion from `Boolean` results in 0 for `false` and 1 for `true`.
|
142
|
+
# * Conversion from `Boolean` results in `0` for `false` and `1` for `true`.
|
143
143
|
# * When `abs` is set to `true`, the result will be an absolute `Float`or `Integer` value.
|
144
144
|
#
|
145
145
|
# @example Converting to Numeric in different ways
|
@@ -225,7 +225,7 @@
|
|
225
225
|
# )
|
226
226
|
# ```
|
227
227
|
#
|
228
|
-
# The directive consists of a percent (
|
228
|
+
# The directive consists of a percent (`%`) character, zero or more flags, optional minimum field width and
|
229
229
|
# a conversion specifier as follows:
|
230
230
|
# ```
|
231
231
|
# %[Flags][Width]Conversion
|
@@ -291,7 +291,7 @@
|
|
291
291
|
# argument is omitted, an array of default formats will be used.
|
292
292
|
#
|
293
293
|
# A third optional timezone argument can be provided. The first argument will then be parsed as if it represents a local time in that
|
294
|
-
# timezone. The timezone can be any timezone that is recognized when using the '%z' or '%Z' formats, or the word 'current'
|
294
|
+
# timezone. The timezone can be any timezone that is recognized when using the `'%z'` or `'%Z'` formats, or the word `'current'`, in which
|
295
295
|
# case the current timezone of the evaluating process will be used. The timezone argument is case insensitive.
|
296
296
|
#
|
297
297
|
# The default timezone, when no argument is provided, or when using the keyword `default`, is 'UTC'.
|
@@ -336,7 +336,7 @@
|
|
336
336
|
# | 0 | Use zeros for padding
|
337
337
|
# | # | Change names to upper-case or change case of am/pm
|
338
338
|
# | ^ | Use uppercase
|
339
|
-
# | : | Use colons for
|
339
|
+
# | : | Use colons for `%z`
|
340
340
|
#
|
341
341
|
# ##### Format directives (names and padding can be altered using flags):
|
342
342
|
#
|
@@ -345,48 +345,48 @@
|
|
345
345
|
# | Format | Meaning |
|
346
346
|
# | ------ | ------- |
|
347
347
|
# | Y | Year with century, zero-padded to at least 4 digits |
|
348
|
-
# | C | year / 100 (rounded down such as 20 in 2009) |
|
349
|
-
# | y | year % 100 (00..99) |
|
350
|
-
# | m | Month of the year, zero-padded (01..12) |
|
351
|
-
# | B | The full month name ("January") |
|
352
|
-
# | b | The abbreviated month name ("Jan") |
|
353
|
-
# | h | Equivalent to
|
354
|
-
# | d | Day of the month, zero-padded (01..31) |
|
355
|
-
# | e | Day of the month, blank-padded (
|
356
|
-
# | j | Day of the year (001..366) |
|
348
|
+
# | C | year / 100 (rounded down such as `20` in `2009`) |
|
349
|
+
# | y | year % 100 (`00..99`) |
|
350
|
+
# | m | Month of the year, zero-padded (`01..12`) |
|
351
|
+
# | B | The full month name (`"January"`) |
|
352
|
+
# | b | The abbreviated month name (`"Jan"`) |
|
353
|
+
# | h | Equivalent to `%b` |
|
354
|
+
# | d | Day of the month, zero-padded (`01..31`) |
|
355
|
+
# | e | Day of the month, blank-padded (`1..31`) |
|
356
|
+
# | j | Day of the year (`001..366`) |
|
357
357
|
#
|
358
358
|
# **Time (Hour, Minute, Second, Subsecond):**
|
359
359
|
#
|
360
360
|
# | Format | Meaning |
|
361
361
|
# | ------ | ------- |
|
362
|
-
# | H | Hour of the day, 24-hour clock, zero-padded (00..23) |
|
363
|
-
# | k | Hour of the day, 24-hour clock, blank-padded (
|
364
|
-
# | I | Hour of the day, 12-hour clock, zero-padded (01..12) |
|
365
|
-
# | l | Hour of the day, 12-hour clock, blank-padded (
|
366
|
-
# | P | Meridian indicator, lowercase ("am" or "pm") |
|
367
|
-
# | p | Meridian indicator, uppercase ("AM" or "PM") |
|
368
|
-
# | M | Minute of the hour (00..59) |
|
369
|
-
# | S | Second of the minute (00..60) |
|
370
|
-
# | L | Millisecond of the second (000..999). Digits under millisecond are truncated to not produce 1000 |
|
362
|
+
# | H | Hour of the day, 24-hour clock, zero-padded (`00..23`) |
|
363
|
+
# | k | Hour of the day, 24-hour clock, blank-padded (`0..23`) |
|
364
|
+
# | I | Hour of the day, 12-hour clock, zero-padded (`01..12`) |
|
365
|
+
# | l | Hour of the day, 12-hour clock, blank-padded (`1..12`) |
|
366
|
+
# | P | Meridian indicator, lowercase (`"am"` or `"pm"`) |
|
367
|
+
# | p | Meridian indicator, uppercase (`"AM"` or `"PM"`) |
|
368
|
+
# | M | Minute of the hour (`00..59`) |
|
369
|
+
# | S | Second of the minute (`00..60`) |
|
370
|
+
# | L | Millisecond of the second (`000..999`). Digits under millisecond are truncated to not produce 1000 |
|
371
371
|
# | N | Fractional seconds digits, default is 9 digits (nanosecond). Digits under a specified width are truncated to avoid carry up |
|
372
372
|
#
|
373
373
|
# **Time (Hour, Minute, Second, Subsecond):**
|
374
374
|
#
|
375
375
|
# | Format | Meaning |
|
376
376
|
# | ------ | ------- |
|
377
|
-
# | z | Time zone as hour and minute offset from UTC (e.g.
|
378
|
-
# | :z | hour and minute offset from UTC with a colon (e.g.
|
379
|
-
# | ::z | hour, minute and second offset from UTC (e.g.
|
377
|
+
# | z | Time zone as hour and minute offset from UTC (e.g. `+0900`) |
|
378
|
+
# | :z | hour and minute offset from UTC with a colon (e.g. `+09:00`) |
|
379
|
+
# | ::z | hour, minute and second offset from UTC (e.g. `+09:00:00`) |
|
380
380
|
# | Z | Abbreviated time zone name or similar information. (OS dependent) |
|
381
381
|
#
|
382
382
|
# **Weekday:**
|
383
383
|
#
|
384
384
|
# | Format | Meaning |
|
385
385
|
# | ------ | ------- |
|
386
|
-
# | A | The full weekday name ("Sunday") |
|
387
|
-
# | a | The abbreviated name ("Sun") |
|
388
|
-
# | u | Day of the week (Monday is 1
|
389
|
-
# | w | Day of the week (Sunday is 0
|
386
|
+
# | A | The full weekday name (`"Sunday"`) |
|
387
|
+
# | a | The abbreviated name (`"Sun"`) |
|
388
|
+
# | u | Day of the week (Monday is `1`, `1..7`) |
|
389
|
+
# | w | Day of the week (Sunday is `0`, `0..6`) |
|
390
390
|
#
|
391
391
|
# **ISO 8601 week-based year and week number:**
|
392
392
|
#
|
@@ -397,8 +397,8 @@
|
|
397
397
|
# | Format | Meaning |
|
398
398
|
# | ------ | ------- |
|
399
399
|
# | G | The week-based year |
|
400
|
-
# | g | The last 2 digits of the week-based year (00..99) |
|
401
|
-
# | V | Week number of the week-based year (01..53) |
|
400
|
+
# | g | The last 2 digits of the week-based year (`00..99`) |
|
401
|
+
# | V | Week number of the week-based year (`01..53`) |
|
402
402
|
#
|
403
403
|
# **Week number:**
|
404
404
|
#
|
@@ -407,8 +407,8 @@
|
|
407
407
|
#
|
408
408
|
# | Format | Meaning |
|
409
409
|
# | ------ | ------- |
|
410
|
-
# | U | Week number of the year. The week starts with Sunday. (00..53) |
|
411
|
-
# | W | Week number of the year. The week starts with Monday. (00..53) |
|
410
|
+
# | U | Week number of the year. The week starts with Sunday. (`00..53`) |
|
411
|
+
# | W | Week number of the year. The week starts with Monday. (`00..53`) |
|
412
412
|
#
|
413
413
|
# **Seconds since the Epoch:**
|
414
414
|
#
|
@@ -419,23 +419,23 @@
|
|
419
419
|
#
|
420
420
|
# | Format | Meaning |
|
421
421
|
# | ------ | ------- |
|
422
|
-
# | n | Newline character (
|
423
|
-
# | t | Tab character (
|
424
|
-
# | % | Literal
|
422
|
+
# | n | Newline character (`\n`) |
|
423
|
+
# | t | Tab character (`\t`) |
|
424
|
+
# | % | Literal `%` character |
|
425
425
|
#
|
426
426
|
# **Combination:**
|
427
427
|
#
|
428
428
|
# | Format | Meaning |
|
429
429
|
# | ------ | ------- |
|
430
|
-
# | c | date and time (
|
431
|
-
# | D | Date (
|
432
|
-
# | F | The ISO 8601 date format (
|
433
|
-
# | v | VMS date (
|
434
|
-
# | x | Same as
|
435
|
-
# | X | Same as
|
436
|
-
# | r | 12-hour time (
|
437
|
-
# | R | 24-hour time (
|
438
|
-
# | T | 24-hour time (
|
430
|
+
# | c | date and time (`%a %b %e %T %Y`) |
|
431
|
+
# | D | Date (`%m/%d/%y`) |
|
432
|
+
# | F | The ISO 8601 date format (`%Y-%m-%d`) |
|
433
|
+
# | v | VMS date (`%e-%^b-%4Y`) |
|
434
|
+
# | x | Same as `%D` |
|
435
|
+
# | X | Same as `%T` |
|
436
|
+
# | r | 12-hour time (`%I:%M:%S %p`) |
|
437
|
+
# | R | 24-hour time (`%H:%M`) |
|
438
|
+
# | T | 24-hour time (`%H:%M:%S`) |
|
439
439
|
#
|
440
440
|
# The default array contains the following patterns:
|
441
441
|
#
|
@@ -489,7 +489,7 @@
|
|
489
489
|
# The mapping from data type to format is referred to as the *format map*. This map
|
490
490
|
# allows different formatting depending on type.
|
491
491
|
#
|
492
|
-
# @example Positive Integers in Hexadecimal prefixed with '0x'
|
492
|
+
# @example Positive Integers in Hexadecimal prefixed with `'0x'`, negative in Decimal
|
493
493
|
#
|
494
494
|
# ```puppet
|
495
495
|
# $format_map = {
|
@@ -578,13 +578,13 @@
|
|
578
578
|
#
|
579
579
|
# | Format | Integer Formats
|
580
580
|
# | ------ | ---------------
|
581
|
-
# | d | Decimal, negative values produces leading
|
582
|
-
# | x X | Hexadecimal in lower or upper case. Uses
|
583
|
-
# | o | Octal. Uses
|
584
|
-
# | b B | Binary with prefix
|
585
|
-
# | c | Numeric value representing a Unicode value, result is a one unicode character string, quoted if alternative flag
|
586
|
-
# | s | Same as d
|
587
|
-
# | p | Same as d
|
581
|
+
# | d | Decimal, negative values produces leading `-`.
|
582
|
+
# | x X | Hexadecimal in lower or upper case. Uses `..f/..F` for negative values unless `+` is also used. A `#` adds prefix `0x/0X`.
|
583
|
+
# | o | Octal. Uses `..0` for negative values unless `+` is also used. A `#` adds prefix `0`.
|
584
|
+
# | b B | Binary with prefix `b` or `B`. Uses `..1/..1` for negative values unless `+` is also used.
|
585
|
+
# | c | Numeric value representing a Unicode value, result is a one unicode character string, quoted if alternative flag `#` is used
|
586
|
+
# | s | Same as `d`, or `d` in quotes if alternative flag `#` is used.
|
587
|
+
# | p | Same as `d`.
|
588
588
|
# | eEfgGaA | Converts integer to float and formats using the floating point rules.
|
589
589
|
#
|
590
590
|
# Defaults to `d`.
|
@@ -594,11 +594,11 @@
|
|
594
594
|
# | Format | Float formats
|
595
595
|
# | ------ | -------------
|
596
596
|
# | f | Floating point in non exponential notation.
|
597
|
-
# | e E | Exponential notation with
|
598
|
-
# | g G | Conditional exponential with
|
599
|
-
# | a A | Hexadecimal exponential form, using
|
600
|
-
# | s | Converted to string using format p
|
601
|
-
# | p | Same as f format with minimum significant number of fractional digits, prec has no effect.
|
597
|
+
# | e E | Exponential notation with `e` or `E`.
|
598
|
+
# | g G | Conditional exponential with `e` or `E` if exponent `< -4` or `>=` the precision.
|
599
|
+
# | a A | Hexadecimal exponential form, using `x`/`X` as prefix and `p`/`P` before exponent.
|
600
|
+
# | s | Converted to string using format `p`, then applying string formatting rule, alternate form `#`` quotes result.
|
601
|
+
# | p | Same as `f` format with minimum significant number of fractional digits, prec has no effect.
|
602
602
|
# | dxXobBc | Converts float to integer and formats using the integer rules.
|
603
603
|
#
|
604
604
|
# Defaults to `p`.
|
@@ -621,12 +621,12 @@
|
|
621
621
|
#
|
622
622
|
# | Format | Boolean Formats
|
623
623
|
# | ---- | -------------------
|
624
|
-
# | t T | String 'true'/'false' or 'True'/'False'
|
625
|
-
# | y Y | String 'yes'/'no'
|
626
|
-
# | dxXobB | Numeric value 0/1 in accordance with the given format which must be valid integer format.
|
627
|
-
# | eEfgGaA | Numeric value 0.0/1.0 in accordance with the given float format and flags.
|
628
|
-
# | s | String 'true' / 'false'
|
629
|
-
# | p | String 'true' / 'false'
|
624
|
+
# | t T | String `'true'/'false'` or `'True'/'False'`, first char if alternate form is used (i.e. `'t'/'f'` or `'T'/'F'`).
|
625
|
+
# | y Y | String `'yes'/'no'`, `'Yes'/'No'`, `'y'/'n'` or `'Y'/'N'` if alternative flag `#` is used.
|
626
|
+
# | dxXobB | Numeric value `0/1` in accordance with the given format which must be valid integer format.
|
627
|
+
# | eEfgGaA | Numeric value `0.0/1.0` in accordance with the given float format and flags.
|
628
|
+
# | s | String `'true'` / `'false'`.
|
629
|
+
# | p | String `'true'` / `'false'`.
|
630
630
|
#
|
631
631
|
# **Regexp to String**
|
632
632
|
#
|
@@ -640,33 +640,33 @@
|
|
640
640
|
# | Format | Undef formats
|
641
641
|
# | ------ | -------------
|
642
642
|
# | s | Empty string, or quoted empty string if alternative flag `#` is used.
|
643
|
-
# | p | String 'undef'
|
644
|
-
# | n | String 'nil'
|
645
|
-
# | dxXobB | String 'NaN'
|
646
|
-
# | eEfgGaA | String 'NaN'
|
647
|
-
# | v | String 'n/a'
|
648
|
-
# | V | String 'N/A'
|
649
|
-
# | u | String 'undef'
|
643
|
+
# | p | String `'undef'`, or quoted `'"undef"'` if alternative flag `#` is used.
|
644
|
+
# | n | String `'nil'`, or `'null'` if alternative flag `#` is used.
|
645
|
+
# | dxXobB | String `'NaN'`.
|
646
|
+
# | eEfgGaA | String `'NaN'`.
|
647
|
+
# | v | String `'n/a'`.
|
648
|
+
# | V | String `'N/A'`.
|
649
|
+
# | u | String `'undef'`, or `'undefined'` if alternative `#` flag is used.
|
650
650
|
#
|
651
651
|
# **Default value to String**
|
652
652
|
#
|
653
653
|
# | Format | Default formats
|
654
654
|
# | ------ | ---------------
|
655
|
-
# | d D | String 'default' or 'Default'
|
656
|
-
# | s | Same as d
|
657
|
-
# | p | Same as d
|
655
|
+
# | d D | String `'default'` or `'Default'`, alternative form `#` causes value to be quoted.
|
656
|
+
# | s | Same as `d`.
|
657
|
+
# | p | Same as `d`.
|
658
658
|
#
|
659
659
|
# **Binary value to String**
|
660
660
|
#
|
661
661
|
# | Format | Default formats
|
662
662
|
# | ------ | ---------------
|
663
663
|
# | s | binary as unquoted UTF-8 characters (errors if byte sequence is invalid UTF-8). Alternate form escapes non ascii bytes.
|
664
|
-
# | p | 'Binary("<base64strict>")'
|
665
|
-
# | b | '<base64>' - base64 string with newlines inserted
|
666
|
-
# | B | '<base64strict>' - base64 strict string (without newlines inserted)
|
667
|
-
# | u | '<base64urlsafe>' - base64 urlsafe string
|
668
|
-
# | t | 'Binary' - outputs the name of the type only
|
669
|
-
# | T | 'BINARY' - output the name of the type in all caps only
|
664
|
+
# | p | `'Binary("<base64strict>")'`
|
665
|
+
# | b | `'<base64>'` - base64 string with newlines inserted
|
666
|
+
# | B | `'<base64strict>'` - base64 strict string (without newlines inserted)
|
667
|
+
# | u | `'<base64urlsafe>'` - base64 urlsafe string
|
668
|
+
# | t | `'Binary'` - outputs the name of the type only
|
669
|
+
# | T | `'BINARY'` - output the name of the type in all caps only
|
670
670
|
#
|
671
671
|
# * The alternate form flag `#` will quote the binary or base64 text output.
|
672
672
|
# * The format `%#s` allows invalid UTF-8 characters and outputs all non ascii bytes
|
@@ -678,8 +678,8 @@
|
|
678
678
|
# | Format | Array/Tuple Formats
|
679
679
|
# | ------ | -------------
|
680
680
|
# | a | Formats with `[ ]` delimiters and `,`, alternate form `#` indents nested arrays/hashes.
|
681
|
-
# | s | Same as a
|
682
|
-
# | p | Same as a
|
681
|
+
# | s | Same as `a`.
|
682
|
+
# | p | Same as `a`.
|
683
683
|
#
|
684
684
|
# See "Flags" `<[({\|` for formatting of delimiters, and "Additional parameters for containers; Array and Hash" for
|
685
685
|
# more information about options.
|
@@ -695,7 +695,7 @@
|
|
695
695
|
# | h | Formats with `{ }` delimiters, `,` element separator and ` => ` inner element separator unless overridden by flags.
|
696
696
|
# | s | Same as h.
|
697
697
|
# | p | Same as h.
|
698
|
-
# | a | Converts the hash to an array of [k,v] tuples and formats it using array rule(s).
|
698
|
+
# | a | Converts the hash to an array of `[k,v]` tuples and formats it using array rule(s).
|
699
699
|
#
|
700
700
|
# See "Flags" `<[({\|` for formatting of delimiters, and "Additional parameters for containers; Array and Hash" for
|
701
701
|
# more information about options.
|
@@ -714,18 +714,18 @@
|
|
714
714
|
# | Flag | Effect
|
715
715
|
# | ------ | ------
|
716
716
|
# | (space) | A space instead of `+` for numeric output (`-` is shown), for containers skips delimiters.
|
717
|
-
# | # | Alternate format; prefix 0x/0x
|
718
|
-
# | + | Show sign
|
717
|
+
# | # | Alternate format; prefix `0x/0x`, `0` (octal) and `0b/0B` for binary, Floats force decimal '.'. For g/G keep trailing `0`.
|
718
|
+
# | + | Show sign `+/-` depending on value's sign, changes `x`, `X`, `o`, `b`, `B` format to not use 2's complement form.
|
719
719
|
# | - | Left justify the value in the given width.
|
720
|
-
# | 0 | Pad with 0 instead of space for widths larger than value.
|
721
|
-
# | <[({\| | Defines an enclosing pair
|
720
|
+
# | 0 | Pad with `0` instead of space for widths larger than value.
|
721
|
+
# | <[({\| | Defines an enclosing pair `<> [] () {} or \| \|` when used with a container type.
|
722
722
|
#
|
723
723
|
# ### Conversion to Boolean
|
724
724
|
#
|
725
725
|
# Accepts a single value as argument:
|
726
726
|
#
|
727
|
-
# * Float 0.0 is `false`, all other float values are `true`
|
728
|
-
# * Integer 0 is `false`, all other integer values are `true`
|
727
|
+
# * Float `0.0` is `false`, all other float values are `true`
|
728
|
+
# * Integer `0` is `false`, all other integer values are `true`
|
729
729
|
# * Strings
|
730
730
|
# * `true` if 'true', 'yes', 'y' (case independent compare)
|
731
731
|
# * `false` if 'false', 'no', 'n' (case independent compare)
|
@@ -840,7 +840,7 @@
|
|
840
840
|
# function SemVer.new(SemVerHash $hash_args)
|
841
841
|
# ```
|
842
842
|
#
|
843
|
-
# @example SemVer and SemVerRange usage
|
843
|
+
# @example `SemVer` and `SemVerRange` usage
|
844
844
|
#
|
845
845
|
# ```puppet
|
846
846
|
# # As a type, SemVer can describe disjunct ranges which versions can be
|
@@ -856,7 +856,7 @@
|
|
856
856
|
# notice(SemVer('3.4.5') =~ $t) # true
|
857
857
|
# ```
|
858
858
|
#
|
859
|
-
# ### Creating a SemVerRange
|
859
|
+
# ### Creating a `SemVerRange`
|
860
860
|
#
|
861
861
|
# A `SemVerRange` object represents a range of `SemVer`. It can be created from
|
862
862
|
# a `String`, or from two `SemVer` instances, where either end can be given as
|
@@ -4,19 +4,19 @@
|
|
4
4
|
# the second containing the rest.
|
5
5
|
Puppet::Functions.create_function(:partition) do
|
6
6
|
# @param collection A collection of things to partition.
|
7
|
-
# @example Partition array of empty strings, results in e.g. [[''], [b, c]]
|
7
|
+
# @example Partition array of empty strings, results in e.g. `[[''], [b, c]]`
|
8
8
|
# ```puppet
|
9
9
|
# ['', b, c].partition |$s| { $s.empty }
|
10
10
|
# ```
|
11
|
-
# @example Partition array of strings using index, results in e.g. [['', 'ab'], ['b']]
|
11
|
+
# @example Partition array of strings using index, results in e.g. `[['', 'ab'], ['b']]`
|
12
12
|
# ```puppet
|
13
13
|
# ['', b, ab].partition |$i, $s| { $i == 2 or $s.empty }
|
14
14
|
# ```
|
15
|
-
# @example Partition hash of strings by key-value pair, results in e.g. [[['b', []]], [['a', [1, 2]]]]
|
15
|
+
# @example Partition hash of strings by key-value pair, results in e.g. `[[['b', []]], [['a', [1, 2]]]]`
|
16
16
|
# ```puppet
|
17
17
|
# { a => [1, 2], b => [] }.partition |$kv| { $kv[1].empty }
|
18
18
|
# ```
|
19
|
-
# @example Partition hash of strings by key and value, results in e.g. [[['b', []]], [['a', [1, 2]]]]
|
19
|
+
# @example Partition hash of strings by key and value, results in e.g. `[[['b', []]], [['a', [1, 2]]]]`
|
20
20
|
# ```puppet
|
21
21
|
# { a => [1, 2], b => [] }.partition |$k, $v| { $v.empty }
|
22
22
|
# ```
|
@@ -4,13 +4,13 @@
|
|
4
4
|
# The relationship metaparameters work well for specifying relationships
|
5
5
|
# between individual resources, but they can be clumsy for specifying
|
6
6
|
# relationships between classes. This function is a superset of the
|
7
|
-
#
|
7
|
+
# `include` function, adding a class relationship so that the requiring
|
8
8
|
# class depends on the required class.
|
9
9
|
#
|
10
|
-
# Warning: using require in place of include can lead to unwanted dependency cycles.
|
10
|
+
# Warning: using `require` in place of `include` can lead to unwanted dependency cycles.
|
11
11
|
#
|
12
|
-
# For instance the following manifest, with
|
13
|
-
# dependence cycle, because notify imposes a before between File[/foo] and Service[foo]
|
12
|
+
# For instance, the following manifest, with `require` instead of `include`, would produce a nasty
|
13
|
+
# dependence cycle, because `notify` imposes a `before` between `File[/foo]` and `Service[foo]`:
|
14
14
|
#
|
15
15
|
# ```puppet
|
16
16
|
# class myservice {
|
@@ -32,7 +32,7 @@
|
|
32
32
|
# resource and relationship expressions.
|
33
33
|
#
|
34
34
|
# - Since 4.0.0 Class and Resource types, absolute names
|
35
|
-
# - Since 4.7.0 Returns an Array[Type[Class]] with references to the required classes
|
35
|
+
# - Since 4.7.0 Returns an `Array[Type[Class]]` with references to the required classes
|
36
36
|
#
|
37
37
|
Puppet::Functions.create_function(:require, Puppet::Functions::InternalFunction) do
|
38
38
|
dispatch :require_impl do
|
@@ -2,9 +2,9 @@
|
|
2
2
|
# Please note: This function is based on Ruby String comparison and as such may not be entirely UTF8 compatible.
|
3
3
|
# To ensure compatibility please use this function with Ruby 2.4.0 or greater - https://bugs.ruby-lang.org/issues/10085.
|
4
4
|
#
|
5
|
-
# This function is compatible with the function sort() in stdlib
|
5
|
+
# This function is compatible with the function `sort()` in `stdlib`.
|
6
6
|
# * Comparison of characters in a string always uses a system locale and may not be what is expected for a particular locale
|
7
|
-
# * Sorting is based on Ruby's
|
7
|
+
# * Sorting is based on Ruby's `<=>` operator unless a lambda is given that performs the comparison.
|
8
8
|
# * comparison of strings is case dependent (use lambda with `compare($a,$b)` to ignore case)
|
9
9
|
# * comparison of mixed data types raises an error (if there is the need to sort mixed data types use a lambda)
|
10
10
|
#
|
@@ -49,7 +49,7 @@
|
|
49
49
|
# }
|
50
50
|
# })
|
51
51
|
# ```
|
52
|
-
# Would notice [2,3,'a','b']
|
52
|
+
# Would notice `[2,3,'a','b']`
|
53
53
|
#
|
54
54
|
# @since 6.0.0 - supporting a lambda to do compare
|
55
55
|
#
|
@@ -6,13 +6,13 @@
|
|
6
6
|
#
|
7
7
|
# 1. An `Array`, `Hash`, `Iterator`, or `Object` that the function will iterate over.
|
8
8
|
# 2. An optional hash with the options:
|
9
|
-
# * `include_containers` => `Optional[Boolean]` # default true - if containers should be given to the lambda
|
10
|
-
# * `include_values` => `Optional[Boolean]` # default true - if non containers should be given to the lambda
|
11
|
-
# * `include_root` => `Optional[Boolean]` # default true - if the root container should be given to the lambda
|
9
|
+
# * `include_containers` => `Optional[Boolean]` # default `true` - if containers should be given to the lambda
|
10
|
+
# * `include_values` => `Optional[Boolean]` # default `true` - if non containers should be given to the lambda
|
11
|
+
# * `include_root` => `Optional[Boolean]` # default `true` - if the root container should be given to the lambda
|
12
12
|
# * `container_type` => `Optional[Type[Variant[Array, Hash, Object]]]` # a type that determines what a container is - can only
|
13
13
|
# be set to a type that matches the default `Variant[Array, Hash, Object]`.
|
14
14
|
# * `order` => `Enum[depth_first, breadth_first]` # default ´depth_first`, the order in which elements are visited
|
15
|
-
# * `include_refs` => Optional[Boolean] # default `false`, if attributes in objects marked as bing of `reference` kind
|
15
|
+
# * `include_refs` => `Optional[Boolean]` # default `false`, if attributes in objects marked as bing of `reference` kind
|
16
16
|
# should be included.
|
17
17
|
# 3. An optional lambda, which the function calls for each element in the first argument. It must
|
18
18
|
# accept one or two arguments; either `$path`, and `$value`, or just `$value`.
|
@@ -46,14 +46,12 @@
|
|
46
46
|
# [1, [2, 3], 4]
|
47
47
|
# ```
|
48
48
|
#
|
49
|
-
#
|
50
|
-
#
|
51
|
-
# If containers are skipped:
|
49
|
+
# If containers are skipped, results in:
|
52
50
|
#
|
53
51
|
# * `depth_first` order `1`, `2`, `3`, `4`
|
54
52
|
# * `breadth_first` order `1`, `4`,`2`, `3`
|
55
53
|
#
|
56
|
-
# If containers and root
|
54
|
+
# If containers and root are included, results in:
|
57
55
|
#
|
58
56
|
# * `depth_first` order `[1, [2, 3], 4]`, `1`, `[2, 3]`, `2`, `3`, `4`
|
59
57
|
# * `breadth_first` order `[1, [2, 3], 4]`, `1`, `[2, 3]`, `4`, `2`, `3`
|
@@ -96,7 +94,7 @@
|
|
96
94
|
#
|
97
95
|
# Any Puppet Type system data type can be used to filter what is
|
98
96
|
# considered to be a container, but it must be a narrower type than one of
|
99
|
-
# the default Array
|
97
|
+
# the default `Array`, `Hash`, `Object` types - for example it is not possible to make a
|
100
98
|
# `String` be a container type.
|
101
99
|
#
|
102
100
|
# @example Only `Array` as container type
|
@@ -35,10 +35,10 @@
|
|
35
35
|
#
|
36
36
|
# Would notice the four values:
|
37
37
|
#
|
38
|
-
# 1.
|
39
|
-
# 2.
|
40
|
-
# 3.
|
41
|
-
# 4.
|
38
|
+
# 1. `Array[Numeric]`
|
39
|
+
# 2. `Array[Numeric, 2, 2]`
|
40
|
+
# 3. `Tuple[Float[3.14], Integer[42,42]]]`
|
41
|
+
# 4. `Tuple[Float[3.14], Integer[42,42]]]`
|
42
42
|
#
|
43
43
|
# @since 4.4.0
|
44
44
|
#
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# Unwraps a Sensitive value and returns the wrapped object.
|
2
|
+
# Returns the Value itself, if it is not Sensitive.
|
2
3
|
#
|
3
4
|
# @example Usage of unwrap
|
4
5
|
#
|
@@ -28,12 +29,17 @@
|
|
28
29
|
# @since 4.0.0
|
29
30
|
#
|
30
31
|
Puppet::Functions.create_function(:unwrap) do
|
31
|
-
dispatch :
|
32
|
+
dispatch :from_sensitive do
|
32
33
|
param 'Sensitive', :arg
|
33
34
|
optional_block_param
|
34
35
|
end
|
35
36
|
|
36
|
-
|
37
|
+
dispatch :from_any do
|
38
|
+
param 'Any', :arg
|
39
|
+
optional_block_param
|
40
|
+
end
|
41
|
+
|
42
|
+
def from_sensitive(arg)
|
37
43
|
unwrapped = arg.unwrap
|
38
44
|
if block_given?
|
39
45
|
yield(unwrapped)
|
@@ -41,4 +47,13 @@ Puppet::Functions.create_function(:unwrap) do
|
|
41
47
|
unwrapped
|
42
48
|
end
|
43
49
|
end
|
50
|
+
|
51
|
+
def from_any(arg)
|
52
|
+
unwrapped = arg
|
53
|
+
if block_given?
|
54
|
+
yield(unwrapped)
|
55
|
+
else
|
56
|
+
unwrapped
|
57
|
+
end
|
58
|
+
end
|
44
59
|
end
|
@@ -22,14 +22,14 @@
|
|
22
22
|
# 'hello'.upcase()
|
23
23
|
# upcase('hello')
|
24
24
|
# ```
|
25
|
-
# Would both result in "HELLO"
|
25
|
+
# Would both result in `"HELLO"`
|
26
26
|
#
|
27
27
|
# @example Converting an Array to upper case
|
28
28
|
# ```puppet
|
29
29
|
# ['a', 'b'].upcase()
|
30
30
|
# upcase(['a', 'b'])
|
31
31
|
# ```
|
32
|
-
# Would both result in ['A', 'B']
|
32
|
+
# Would both result in `['A', 'B']`
|
33
33
|
#
|
34
34
|
# @example Converting a Hash to upper case
|
35
35
|
# ```puppet
|
data/lib/puppet/http/client.rb
CHANGED
@@ -303,7 +303,7 @@ class Puppet::HTTP::Client
|
|
303
303
|
|
304
304
|
while !done do
|
305
305
|
connect(request.uri, options: options) do |http|
|
306
|
-
apply_auth(request, basic_auth)
|
306
|
+
apply_auth(request, basic_auth) if redirects.zero?
|
307
307
|
|
308
308
|
# don't call return within the `request` block
|
309
309
|
http.request(request) do |nethttp|
|
@@ -57,6 +57,11 @@ class Puppet::HTTP::Redirector
|
|
57
57
|
new_request = request.class.new(url)
|
58
58
|
new_request.body = request.body
|
59
59
|
request.each do |header, value|
|
60
|
+
unless Puppet[:location_trusted]
|
61
|
+
# skip adding potentially sensitive header to other hosts
|
62
|
+
next if header.casecmp('Authorization').zero? && request.uri.host.casecmp(location.host) != 0
|
63
|
+
next if header.casecmp('Cookie').zero? && request.uri.host.casecmp(location.host) != 0
|
64
|
+
end
|
60
65
|
new_request[header] = value
|
61
66
|
end
|
62
67
|
|