Copy disabled (too large)
Download .txt
Showing preview only (16,987K chars total). Download the full file to get everything.
Repository: puppetlabs/puppet
Branch: main
Commit: e227c2754097
Files: 2904
Total size: 15.7 MB
Directory structure:
gitextract_xkxzuvnq/
├── .gitattributes
├── .github/
│ ├── release.yml
│ └── workflows/
│ ├── backport.yml
│ ├── checks.yaml
│ ├── jira.yml
│ ├── mend.yaml
│ └── rspec_tests.yaml
├── .gitignore
├── .gitmodules
├── .mailmap
├── .noexec.yaml
├── .rubocop.yml
├── .rubocop_todo.yml
├── .yardopts
├── CODEOWNERS
├── CODE_OF_CONDUCT.md
├── Gemfile
├── Guardfile.example
├── LICENSE
├── README.md
├── Rakefile
├── acceptance/
│ ├── .beaker.yml
│ ├── .gitignore
│ ├── Gemfile
│ ├── README.md
│ ├── Rakefile
│ ├── config/
│ │ ├── aio/
│ │ │ └── options.rb
│ │ ├── gem/
│ │ │ └── options.rb
│ │ ├── git/
│ │ │ └── options.rb
│ │ └── nodes/
│ │ ├── aix-53-power.yaml
│ │ ├── aix-61-power.yaml
│ │ ├── aix-71-power.yaml
│ │ ├── gem.yaml
│ │ ├── huaweios-6-powerpc.yaml
│ │ ├── pe/
│ │ │ ├── centos-5-32ma-32da-32da
│ │ │ ├── centos-5-32mda
│ │ │ ├── centos-5-64ma-64da-64da
│ │ │ ├── centos-5-64mda
│ │ │ ├── centos-6-32ma-32da-32da
│ │ │ ├── centos-6-32mda
│ │ │ ├── centos-6-64ma-64da-64da
│ │ │ ├── centos-6-64mda
│ │ │ ├── centos-6-64mda-sol-10-64a
│ │ │ ├── debian-6-32ma-32da-32da
│ │ │ ├── debian-6-32mda
│ │ │ ├── debian-6-64ma-64da-64da
│ │ │ ├── debian-6-64mda
│ │ │ ├── debian-7-32ma-32da-32da
│ │ │ ├── debian-7-32mda
│ │ │ ├── debian-7-64ma-64da-64da
│ │ │ ├── debian-7-64mda
│ │ │ ├── debian-7-i386
│ │ │ ├── oracle-5-32ma-32da-32da
│ │ │ ├── oracle-5-32mda
│ │ │ ├── oracle-5-64ma-64da-64da
│ │ │ ├── oracle-5-64mda
│ │ │ ├── oracle-6-32ma-32da-32da
│ │ │ ├── oracle-6-32mda
│ │ │ ├── oracle-6-64ma-64da-64da
│ │ │ ├── oracle-6-64mda
│ │ │ ├── redhat-5-32ma-32da-32da
│ │ │ ├── redhat-5-32mda
│ │ │ ├── redhat-5-64ma-64da-64da
│ │ │ ├── redhat-5-64mda
│ │ │ ├── redhat-6-32ma-32da-32da
│ │ │ ├── redhat-6-32mda
│ │ │ ├── redhat-6-64ma-64da-64da
│ │ │ ├── redhat-6-64mda
│ │ │ ├── scientific-5-32ma-32da-32da
│ │ │ ├── scientific-5-32mda
│ │ │ ├── scientific-5-64ma-64da-64da
│ │ │ ├── scientific-5-64mda
│ │ │ ├── scientific-6-32ma-32da-32da
│ │ │ ├── scientific-6-32mda
│ │ │ ├── scientific-6-64ma-64da-64da
│ │ │ ├── scientific-6-64mda
│ │ │ ├── sles-11-32ma-32da-32da
│ │ │ ├── sles-11-32mda
│ │ │ ├── sles-11-64ma-64da-64da
│ │ │ ├── sles-11-64mda
│ │ │ ├── solaris-10-64a
│ │ │ ├── solaris-11-64a
│ │ │ ├── ubuntu-1004-32ma-32da-32da
│ │ │ ├── ubuntu-1004-32mda
│ │ │ ├── ubuntu-1004-64ma-64da-64da
│ │ │ ├── ubuntu-1004-64mda
│ │ │ ├── ubuntu-1204-32ma-32da-32da
│ │ │ ├── ubuntu-1204-32mda
│ │ │ ├── ubuntu-1204-64ma-64da-64da
│ │ │ └── ubuntu-1204-64mda
│ │ ├── solaris-10-sparc.yaml
│ │ └── solaris-11-sparc.yaml
│ ├── fixtures/
│ │ ├── MockInstaller.cs
│ │ ├── MockService.cs
│ │ ├── MockUninstaller.cs
│ │ ├── debian-repo/
│ │ │ ├── Release
│ │ │ ├── helloworld_1.0-1.deb
│ │ │ ├── helloworld_1.19-1.deb
│ │ │ └── helloworld_2.0-1.deb
│ │ ├── el-repo/
│ │ │ ├── RPMS/
│ │ │ │ ├── kernel-devel-puppet-3.10.0-1062.1.1.noarch.rpm
│ │ │ │ └── kernel-devel-puppet-3.10.0-1062.4.3.noarch.rpm
│ │ │ └── repodata/
│ │ │ ├── 4427b13c52edea24fc19776198a99611464b3c67f7828aeed8c5d20f3d8b1c02-filelists.sqlite.bz2
│ │ │ ├── 653202d291344674c0e6c2547647d09c2b0044ec96986b9c62f74dc49f15a3db-other.sqlite.bz2
│ │ │ ├── 68861daea8ff469f3418abd08697b408df11c8079b0b24178a4e2b4bd8a7102e-primary.sqlite.bz2
│ │ │ └── repomd.xml
│ │ ├── manifest_large_exported_classes_node.pp
│ │ └── sles-repo/
│ │ ├── noarch/
│ │ │ ├── helloworld-1.0-2.noarch.rpm
│ │ │ ├── helloworld-1.19-2.noarch.rpm
│ │ │ └── helloworld-2.0-2.noarch.rpm
│ │ └── repodata/
│ │ └── repomd.xml
│ ├── lib/
│ │ ├── acceptance_spec_helper.rb
│ │ ├── helper.rb
│ │ └── puppet/
│ │ └── acceptance/
│ │ ├── agent_fqdn_utils.rb
│ │ ├── aix_util.rb
│ │ ├── classifier_utils.rb
│ │ ├── classifier_utils_spec.rb
│ │ ├── common_utils.rb
│ │ ├── environment_utils.rb
│ │ ├── environment_utils_spec.rb
│ │ ├── i18n_utils.rb
│ │ ├── i18ndemo_utils.rb
│ │ ├── module_utils.rb
│ │ ├── puppet_type_test_tools.rb
│ │ ├── puppet_type_test_tools_spec.rb
│ │ ├── rpm_util.rb
│ │ ├── service_utils.rb
│ │ ├── solaris_util.rb
│ │ ├── static_catalog_utils.rb
│ │ ├── temp_file_utils.rb
│ │ ├── windows_utils/
│ │ │ ├── package_installer.rb
│ │ │ └── service.rb
│ │ └── windows_utils.rb
│ ├── pending/
│ │ ├── ticket_11860_exec_should_not_override_locale.rb
│ │ ├── ticket_4149_parseonly_should_not_fail.rb
│ │ ├── ticket_4151_defined_function_should_not_return_true_for_unrealized_virtual_resources.rb
│ │ ├── ticket_5027_warn_on_dynamic_scope.rb
│ │ ├── ticket_5224_exec_should_unset_user_env_vars.rb
│ │ └── ticket_6928_puppet_master_parse_fails.rb
│ ├── teardown/
│ │ └── common/
│ │ └── 099_Archive_Logs.rb
│ ├── tests/
│ │ ├── agent/
│ │ │ ├── agent_disable_lockfile.rb
│ │ │ ├── agent_fails_with_unknown_resource.rb
│ │ │ ├── agent_parses_json_catalog.rb
│ │ │ ├── fallback_to_cached_catalog.rb
│ │ │ └── last_run_summary_report.rb
│ │ ├── aix/
│ │ │ ├── aix_package_provider.rb
│ │ │ └── nim_package_provider.rb
│ │ ├── allow_arbitrary_node_name_fact_for_agent.rb
│ │ ├── allow_arbitrary_node_name_for_agent.rb
│ │ ├── apply/
│ │ │ └── classes/
│ │ │ ├── parameterized_classes.rb
│ │ │ ├── should_allow_param_override.rb
│ │ │ ├── should_allow_param_undef_override.rb
│ │ │ ├── should_include_resources_from_class.rb
│ │ │ └── should_not_auto_include_resources_from_class.rb
│ │ ├── catalog_with_binary_data.rb
│ │ ├── direct_puppet/
│ │ │ ├── cached_catalog_remediate_local_drift.rb
│ │ │ ├── catalog_uuid_correlates_catalogs_with_reports.rb
│ │ │ ├── static_catalog_env_control.rb
│ │ │ └── supports_utf8.rb
│ │ ├── environment/
│ │ │ ├── broken_unassigned_environment_handled_gracefully.rb
│ │ │ ├── can_enumerate_environments.rb
│ │ │ ├── custom_type_provider_from_same_environment.rb
│ │ │ ├── directory_environment_production_created_master.rb
│ │ │ ├── enc_nonexistent_directory_environment.rb
│ │ │ ├── environment_scenario-bad.rb
│ │ │ ├── feature_branch_configured_environment.rb
│ │ │ ├── should_find_existing_production_environment.rb
│ │ │ ├── use_agent_environment_when_enc_doesnt_specify.rb
│ │ │ ├── use_agent_environment_when_no_enc.rb
│ │ │ ├── use_enc_environment.rb
│ │ │ ├── use_enc_environment_for_files.rb
│ │ │ ├── use_enc_environment_for_pluginsync.rb
│ │ │ ├── use_environment_from_environmentpath.rb
│ │ │ ├── use_last_server_specified_environment.rb
│ │ │ └── variables_refreshed_each_compilation.rb
│ │ ├── face/
│ │ │ ├── 4654_facts_face.rb
│ │ │ ├── loadable_from_modules.rb
│ │ │ └── parser_validate.rb
│ │ ├── i18n/
│ │ │ ├── enable_option_disable_i18n.rb
│ │ │ ├── modules/
│ │ │ │ ├── puppet_agent.rb
│ │ │ │ ├── puppet_agent_cached_catalog.rb
│ │ │ │ ├── puppet_agent_with_multiple_environments.rb
│ │ │ │ ├── puppet_apply.rb
│ │ │ │ ├── puppet_apply_module_lang.rb
│ │ │ │ ├── puppet_apply_unsupported_lang.rb
│ │ │ │ ├── puppet_describe.rb
│ │ │ │ ├── puppet_face.rb
│ │ │ │ └── puppet_resource.rb
│ │ │ └── translation_fallback.rb
│ │ ├── language/
│ │ │ ├── binary_data_type.rb
│ │ │ ├── exported_resources.rb
│ │ │ ├── functions_in_puppet_language.rb
│ │ │ ├── objects_in_catalog.rb
│ │ │ ├── pcore_generate_env_isolation.rb
│ │ │ ├── pcore_resource_types_should_have_precedence_over_ruby.rb
│ │ │ ├── resource_refs_with_nested_arrays.rb
│ │ │ ├── sensitive_data_type.rb
│ │ │ └── server_set_facts.rb
│ │ ├── loader/
│ │ │ ├── autoload_from_resource_type_decl.rb
│ │ │ ├── func4x_loadable_from_modules.rb
│ │ │ └── resource_triggers_autoload.rb
│ │ ├── lookup/
│ │ │ ├── config3_interpolation.rb
│ │ │ ├── config5_interpolation.rb
│ │ │ ├── hiera3_custom_backend.rb
│ │ │ ├── lookup.rb
│ │ │ ├── lookup_rich_values.rb
│ │ │ ├── merge_strategies.rb
│ │ │ ├── v3_config_and_data.rb
│ │ │ └── v4_hieradata_with_v5_configs.rb
│ │ ├── modulepath.rb
│ │ ├── ordering/
│ │ │ └── master_agent_application.rb
│ │ ├── parser_functions/
│ │ │ ├── calling_all_functions.rb
│ │ │ ├── hiera/
│ │ │ │ └── lookup_data.rb
│ │ │ ├── hiera_array/
│ │ │ │ └── lookup_data.rb
│ │ │ ├── hiera_hash/
│ │ │ │ └── lookup_data.rb
│ │ │ ├── hiera_in_templates.rb
│ │ │ ├── no_exception_in_reduce_with_bignum.rb
│ │ │ └── puppet_lookup_cmd.rb
│ │ ├── pluginsync/
│ │ │ ├── 3935_pluginsync_should_follow_symlinks.rb
│ │ │ ├── 4420_pluginfacts_should_be_resolvable_on_agent.rb
│ │ │ ├── 4847_pluginfacts_should_be_resolvable_from_applications.rb
│ │ │ ├── 7316_apps_should_be_available_via_pluginsync.rb
│ │ │ ├── 7316_faces_with_app_stubs_should_be_available_via_pluginsync.rb
│ │ │ ├── feature/
│ │ │ │ └── pluginsync_should_sync_features.rb
│ │ │ └── files_earlier_in_modulepath_take_precendence.rb
│ │ ├── provider/
│ │ │ └── package/
│ │ │ ├── apt_install_package_with_range.rb
│ │ │ ├── dnfmodule_enable_only.rb
│ │ │ ├── dnfmodule_ensure_versionable.rb
│ │ │ ├── dnfmodule_manages_flavors.rb
│ │ │ ├── dpkg_ensure_latest_virtual_packages.rb
│ │ │ ├── dpkg_hold_true_package_is_latest.rb
│ │ │ ├── dpkg_hold_true_should_preserve_version.rb
│ │ │ ├── gem.rb
│ │ │ ├── pip.rb
│ │ │ ├── puppetserver_gem.rb
│ │ │ ├── rpm_ensure_install_multiversion_package.rb
│ │ │ ├── yum_semantic_versioning.rb
│ │ │ └── zypper_install_package_with_range.rb
│ │ ├── reports/
│ │ │ ├── agent_sends_json_report_for_cached_catalog.rb
│ │ │ ├── cached_catalog_status_in_report.rb
│ │ │ ├── corrective_change_new_resource.rb
│ │ │ ├── corrective_change_outside_puppet.rb
│ │ │ ├── corrective_change_via_puppet.rb
│ │ │ └── submission.rb
│ │ ├── resource/
│ │ │ ├── exec/
│ │ │ │ ├── accept_array_commands.rb
│ │ │ │ ├── accept_multi-line_commands.rb
│ │ │ │ ├── should_accept_large_output.rb
│ │ │ │ ├── should_not_run_command_creates.rb
│ │ │ │ ├── should_run_bad_command.rb
│ │ │ │ ├── should_run_command.rb
│ │ │ │ ├── should_run_command_as_user.rb
│ │ │ │ ├── should_run_command_in_cwd.rb
│ │ │ │ ├── should_set_environment_variables.rb
│ │ │ │ └── should_set_path.rb
│ │ │ ├── file/
│ │ │ │ ├── ascii_diff_output_content_attribute.rb
│ │ │ │ ├── bin_diff_output_content_attribute.rb
│ │ │ │ ├── content_attribute.rb
│ │ │ │ ├── handle_fifo_files.rb
│ │ │ │ ├── handle_fifo_files_when_recursing.rb
│ │ │ │ ├── should_create_directory.rb
│ │ │ │ ├── should_create_empty.rb
│ │ │ │ ├── should_create_symlink.rb
│ │ │ │ ├── should_default_mode.rb
│ │ │ │ ├── should_remove_dir.rb
│ │ │ │ ├── should_remove_file.rb
│ │ │ │ ├── source_attribute.rb
│ │ │ │ ├── symbolic_modes.rb
│ │ │ │ ├── ticket_6448_file_with_utf8_source.rb
│ │ │ │ ├── ticket_7680-follow-symlinks.rb
│ │ │ │ └── ticket_8740_should_not_enumerate_root_directory.rb
│ │ │ ├── group/
│ │ │ │ ├── should_create.rb
│ │ │ │ ├── should_destroy.rb
│ │ │ │ ├── should_manage_attributes_aix.rb
│ │ │ │ ├── should_manage_members.rb
│ │ │ │ ├── should_modify_gid.rb
│ │ │ │ ├── should_not_create_existing.rb
│ │ │ │ ├── should_not_destroy_unexisting.rb
│ │ │ │ ├── should_query.rb
│ │ │ │ └── should_query_all.rb
│ │ │ ├── package/
│ │ │ │ ├── common_package_name_in_different_providers.rb
│ │ │ │ ├── does_not_exist.rb
│ │ │ │ ├── ips/
│ │ │ │ │ ├── basic_tests.rb
│ │ │ │ │ ├── should_be_holdable.rb
│ │ │ │ │ ├── should_be_idempotent.rb
│ │ │ │ │ ├── should_be_updatable.rb
│ │ │ │ │ ├── should_be_updateable_and_unholdable_at_same_time.rb
│ │ │ │ │ ├── should_be_versionable.rb
│ │ │ │ │ ├── should_create.rb
│ │ │ │ │ ├── should_query.rb
│ │ │ │ │ └── should_remove.rb
│ │ │ │ ├── windows.rb
│ │ │ │ └── yum.rb
│ │ │ ├── service/
│ │ │ │ ├── AIX_service_provider.rb
│ │ │ │ ├── init_on_systemd.rb
│ │ │ │ ├── launchd_provider.rb
│ │ │ │ ├── puppet_service_management.rb
│ │ │ │ ├── puppet_service_runs_puppet.rb
│ │ │ │ ├── service_enable_linux.rb
│ │ │ │ ├── should_not_change_the_system.rb
│ │ │ │ ├── should_query_all.rb
│ │ │ │ ├── smf_basic_tests.rb
│ │ │ │ ├── systemd_resource_shows_correct_output.rb
│ │ │ │ ├── ticket_5024_systemd_enabling_masked_service.rb
│ │ │ │ ├── windows.rb
│ │ │ │ └── windows_mixed_utf8.rb
│ │ │ ├── tidy/
│ │ │ │ ├── resources_should_be_non_isomorphic.rb
│ │ │ │ └── should_remove_old_files.rb
│ │ │ └── user/
│ │ │ ├── osx_10.4_should_fail_when_modify_home.rb
│ │ │ ├── osx_10.4_should_fail_when_modify_uid.rb
│ │ │ ├── should_allow_managed_macos_users_to_login.rb
│ │ │ ├── should_create.rb
│ │ │ ├── should_create_modify_with_password.rb
│ │ │ ├── should_create_with_expiry_absent.rb
│ │ │ ├── should_create_with_gid.rb
│ │ │ ├── should_destroy.rb
│ │ │ ├── should_destroy_with_managehome.rb
│ │ │ ├── should_manage_attributes_aix.rb
│ │ │ ├── should_manage_groups.rb
│ │ │ ├── should_manage_purge_ssh_keys.rb
│ │ │ ├── should_manage_roles_on_windows.rb
│ │ │ ├── should_manage_shell.rb
│ │ │ ├── should_modify.rb
│ │ │ ├── should_modify_gid.rb
│ │ │ ├── should_modify_gid_forcelocal.rb
│ │ │ ├── should_modify_when_not_managing_home.rb
│ │ │ ├── should_modify_while_managing_home.rb
│ │ │ ├── should_not_create_existing.rb
│ │ │ ├── should_not_destroy_unexisting.rb
│ │ │ ├── should_not_modify_disabled.rb
│ │ │ ├── should_purge.rb
│ │ │ ├── should_query.rb
│ │ │ ├── should_query_all.rb
│ │ │ └── utf8_user_comments.rb
│ │ ├── security/
│ │ │ ├── cve-2013-1640_facter_string.rb
│ │ │ ├── cve-2013-1652_improper_query_params.rb
│ │ │ ├── cve-2013-1652_poison_other_node_cache.rb
│ │ │ ├── cve-2013-2275_report_acl.rb
│ │ │ └── cve-2013-4761_injection_of_class_names_loading_code.rb
│ │ ├── ssl/
│ │ │ ├── autosign_command.rb
│ │ │ ├── certificate_extensions.rb
│ │ │ └── trusted_external_facts.rb
│ │ ├── ticket_1334_clientbucket_corrupted.rb
│ │ ├── ticket_13948_lib_dir_hook_should_be_called_on_initialization.rb
│ │ ├── ticket_15560_managehome.rb
│ │ ├── ticket_2280_refresh_fail_should_fail_run.rb
│ │ ├── ticket_2455_on_solaris_init_provider_should_start_service_in_own_smf_contract.rb
│ │ ├── ticket_5477_master_not_dectect_sitepp.rb
│ │ ├── ticket_5592_hiera_lookup_when_param_undef.rb
│ │ ├── ticket_6541_invalid_filebucket_files.rb
│ │ ├── ticket_6857_password-disclosure-when-changing-a-users-password.rb
│ │ ├── ticket_6907_use_provider_in_same_run_it_becomes_suitable.rb
│ │ ├── ticket_9862_puppet_runs_without_service_user_or_group_present.rb
│ │ ├── utf8/
│ │ │ ├── utf8-in-catalog.rb
│ │ │ ├── utf8-in-file-resource.rb
│ │ │ ├── utf8-in-function-args.rb
│ │ │ ├── utf8-in-puppet-describe.rb
│ │ │ └── utf8-recursive-copy.rb
│ │ └── windows/
│ │ ├── PA-2191_windows_nocodepage_utf8_fallback.rb
│ │ ├── PUP-9719_windows_system_first_pa_run.rb
│ │ ├── QA-506_windows_exit_codes_test.rb
│ │ ├── QA-760_win_dash_dot_file_test.rb
│ │ ├── enable_password_changes_special_users.rb
│ │ ├── service_manager_integration.rb
│ │ └── winexitcode/
│ │ └── manifests/
│ │ ├── execute.pp
│ │ └── init.pp
│ └── vmpooler.cfg
├── api/
│ ├── docs/
│ │ ├── http_api_index.md
│ │ ├── http_catalog.md
│ │ ├── http_certificate.md
│ │ ├── http_certificate_request.md
│ │ ├── http_certificate_revocation_list.md
│ │ ├── http_certificate_status.md
│ │ ├── http_environments.md
│ │ ├── http_facts.md
│ │ ├── http_file_bucket_file.md
│ │ ├── http_file_content.md
│ │ ├── http_file_metadata.md
│ │ ├── http_node.md
│ │ ├── http_report.md
│ │ └── pson.md
│ └── schemas/
│ ├── catalog.json
│ ├── environments.json
│ ├── error.json
│ ├── facts.json
│ ├── file_metadata.json
│ ├── host.json
│ ├── json-meta-schema.json
│ ├── node.json
│ └── report.json
├── benchmarks/
│ ├── catalog_memory/
│ │ ├── benchmarker.rb
│ │ ├── description
│ │ ├── puppet.conf.erb
│ │ └── site.pp.erb
│ ├── defined_types/
│ │ ├── benchmarker.rb
│ │ ├── description
│ │ ├── module/
│ │ │ └── testing.pp.erb
│ │ ├── puppet.conf.erb
│ │ └── site.pp.erb
│ ├── dependency_loading/
│ │ ├── benchmarker.rb
│ │ ├── description
│ │ ├── module/
│ │ │ ├── function.erb
│ │ │ ├── global_function.erb
│ │ │ ├── init.pp.erb
│ │ │ └── init.pp_no_call.erb
│ │ ├── puppet.conf.erb
│ │ └── site.pp.erb
│ ├── empty_catalog/
│ │ ├── benchmarker.rb
│ │ ├── description
│ │ ├── puppet.conf.erb
│ │ └── site.pp.erb
│ ├── evaluations/
│ │ ├── benchmarker.rb
│ │ ├── benchmarker_task.rb
│ │ ├── description
│ │ ├── manifests/
│ │ │ ├── assert_type.pp
│ │ │ ├── fcall_3x.pp
│ │ │ ├── fcall_4x.pp
│ │ │ ├── fcall_ns4x.pp
│ │ │ ├── interpolation.pp
│ │ │ ├── var_absolute.pp
│ │ │ ├── var_class_absolute.pp
│ │ │ ├── var_class_relative.pp
│ │ │ └── var_relative.pp
│ │ ├── module/
│ │ │ ├── func3.rb.erb
│ │ │ ├── func4.rb.erb
│ │ │ ├── init.pp.erb
│ │ │ └── module1_func4.rb.erb
│ │ ├── puppet.conf.erb
│ │ └── site.pp.erb
│ ├── fq_var_lookup/
│ │ ├── benchmarker.rb
│ │ ├── description
│ │ ├── module/
│ │ │ ├── badclass.pp.erb
│ │ │ └── params.pp.erb
│ │ ├── puppet.conf.erb
│ │ └── site.pp.erb
│ ├── full_catalog/
│ │ ├── Gemfile
│ │ ├── benchmarker.rb
│ │ ├── description
│ │ ├── hiera.yaml.erb
│ │ ├── puppet.conf.erb
│ │ ├── r10k.yaml
│ │ └── site.pp.erb
│ ├── function_loading/
│ │ ├── benchmarker.rb
│ │ ├── description
│ │ ├── env_function.erb
│ │ ├── module/
│ │ │ ├── function.erb
│ │ │ └── init.pp.erb
│ │ ├── puppet.conf.erb
│ │ └── site.pp.erb
│ ├── hiera_conf_interpol/
│ │ ├── benchmarker.rb
│ │ ├── description
│ │ └── puppet.conf.erb
│ ├── hiera_env_lookup/
│ │ ├── benchmarker.rb
│ │ ├── description
│ │ └── puppet.conf.erb
│ ├── hiera_function/
│ │ ├── benchmarker.rb
│ │ ├── description
│ │ └── puppet.conf.erb
│ ├── hiera_global_lookup/
│ │ ├── benchmarker.rb
│ │ ├── description
│ │ └── puppet.conf.erb
│ ├── hiera_include/
│ │ ├── benchmarker.rb
│ │ ├── description
│ │ └── puppet.conf.erb
│ ├── hiera_include_one/
│ │ ├── benchmarker.rb
│ │ ├── description
│ │ └── puppet.conf.erb
│ ├── legacy_hiera_lookup/
│ │ ├── benchmarker.rb
│ │ └── description
│ ├── many_environments/
│ │ ├── benchmarker.rb
│ │ └── description
│ ├── many_modules/
│ │ ├── benchmarker.rb
│ │ ├── description
│ │ ├── module/
│ │ │ ├── init.pp.erb
│ │ │ ├── internal.pp.erb
│ │ │ └── role.pp.erb
│ │ ├── puppet.conf.erb
│ │ └── site.pp.erb
│ ├── missing_type_caching/
│ │ ├── benchmarker.rb
│ │ ├── description
│ │ ├── module/
│ │ │ └── testmodule.pp.erb
│ │ ├── puppet.conf.erb
│ │ └── site.pp.erb
│ ├── serialization/
│ │ ├── benchmarker.rb
│ │ ├── catalog.json
│ │ └── description
│ ├── system_startup/
│ │ ├── benchmarker.rb
│ │ └── description
│ ├── type_inference/
│ │ ├── benchmarker.rb
│ │ ├── description
│ │ ├── puppet.conf.erb
│ │ └── site.pp.erb
│ └── virtual_collection/
│ ├── benchmarker.rb
│ ├── description
│ ├── puppet.conf.erb
│ └── site.pp.erb
├── bin/
│ └── puppet
├── conf/
│ ├── environment.conf
│ ├── fileserver.conf
│ ├── hiera.yaml
│ └── puppet.conf
├── docs/
│ ├── catalogs.md
│ ├── environment_convergence.md
│ ├── http.md
│ ├── index.md
│ ├── indirector.md
│ ├── parser_work.md
│ ├── profiling.md
│ ├── quickstart.md
│ ├── rspec_tutorial.md
│ ├── settings.md
│ ├── unicode.md
│ └── windows.md
├── examples/
│ ├── enc/
│ │ └── regexp_nodes/
│ │ ├── classes/
│ │ │ ├── databases
│ │ │ └── webservers
│ │ ├── environment/
│ │ │ └── development
│ │ ├── parameters/
│ │ │ └── service/
│ │ │ ├── prod
│ │ │ ├── qa
│ │ │ └── sandbox
│ │ └── regexp_nodes.rb
│ ├── hiera/
│ │ ├── README.md
│ │ ├── data/
│ │ │ ├── common.yaml
│ │ │ └── dc1.yaml
│ │ ├── hiera.yaml
│ │ ├── modules/
│ │ │ ├── ntp/
│ │ │ │ ├── data/
│ │ │ │ │ └── common.yaml
│ │ │ │ ├── hiera.yaml
│ │ │ │ ├── manifests/
│ │ │ │ │ └── config.pp
│ │ │ │ └── templates/
│ │ │ │ └── ntp.conf.epp
│ │ │ └── users/
│ │ │ └── manifests/
│ │ │ ├── common.pp
│ │ │ └── dc1.pp
│ │ └── site.pp
│ └── nagios/
│ └── check_puppet.rb
├── ext/
│ ├── README.md
│ ├── build_defaults.yaml
│ ├── debian/
│ │ ├── puppet.default
│ │ └── puppet.init
│ ├── hiera/
│ │ └── hiera.yaml
│ ├── osx/
│ │ └── puppet.plist
│ ├── project_data.yaml
│ ├── redhat/
│ │ ├── client.init
│ │ └── client.sysconfig
│ ├── solaris/
│ │ └── smf/
│ │ ├── puppet
│ │ └── puppet.xml
│ ├── suse/
│ │ └── client.init
│ ├── systemd/
│ │ └── puppet.service
│ └── windows/
│ ├── puppet_interactive.bat
│ ├── puppet_shell.bat
│ ├── run_puppet_interactive.bat
│ └── service/
│ ├── daemon.bat
│ └── daemon.rb
├── install.rb
├── lib/
│ ├── hiera/
│ │ ├── puppet_function.rb
│ │ └── scope.rb
│ ├── hiera_puppet.rb
│ ├── puppet/
│ │ ├── agent/
│ │ │ ├── disabler.rb
│ │ │ └── locker.rb
│ │ ├── agent.rb
│ │ ├── application/
│ │ │ ├── agent.rb
│ │ │ ├── apply.rb
│ │ │ ├── catalog.rb
│ │ │ ├── config.rb
│ │ │ ├── describe.rb
│ │ │ ├── device.rb
│ │ │ ├── doc.rb
│ │ │ ├── epp.rb
│ │ │ ├── face_base.rb
│ │ │ ├── facts.rb
│ │ │ ├── filebucket.rb
│ │ │ ├── generate.rb
│ │ │ ├── help.rb
│ │ │ ├── indirection_base.rb
│ │ │ ├── lookup.rb
│ │ │ ├── module.rb
│ │ │ ├── node.rb
│ │ │ ├── parser.rb
│ │ │ ├── plugin.rb
│ │ │ ├── report.rb
│ │ │ ├── resource.rb
│ │ │ ├── script.rb
│ │ │ └── ssl.rb
│ │ ├── application.rb
│ │ ├── application_support.rb
│ │ ├── coercion.rb
│ │ ├── compilable_resource_type.rb
│ │ ├── concurrent/
│ │ │ ├── lock.rb
│ │ │ ├── synchronized.rb
│ │ │ └── thread_local_singleton.rb
│ │ ├── concurrent.rb
│ │ ├── configurer/
│ │ │ ├── downloader.rb
│ │ │ ├── fact_handler.rb
│ │ │ └── plugin_handler.rb
│ │ ├── configurer.rb
│ │ ├── confine/
│ │ │ ├── any.rb
│ │ │ ├── boolean.rb
│ │ │ ├── exists.rb
│ │ │ ├── false.rb
│ │ │ ├── feature.rb
│ │ │ ├── true.rb
│ │ │ └── variable.rb
│ │ ├── confine.rb
│ │ ├── confine_collection.rb
│ │ ├── confiner.rb
│ │ ├── context/
│ │ │ └── trusted_information.rb
│ │ ├── context.rb
│ │ ├── daemon.rb
│ │ ├── data_binding.rb
│ │ ├── datatypes/
│ │ │ ├── error.rb
│ │ │ └── impl/
│ │ │ └── error.rb
│ │ ├── datatypes.rb
│ │ ├── defaults.rb
│ │ ├── environments.rb
│ │ ├── error.rb
│ │ ├── etc.rb
│ │ ├── external/
│ │ │ └── dot.rb
│ │ ├── face/
│ │ │ ├── catalog/
│ │ │ │ └── select.rb
│ │ │ ├── catalog.rb
│ │ │ ├── config.rb
│ │ │ ├── epp.rb
│ │ │ ├── facts.rb
│ │ │ ├── generate.rb
│ │ │ ├── help/
│ │ │ │ ├── action.erb
│ │ │ │ ├── face.erb
│ │ │ │ ├── global.erb
│ │ │ │ └── man.erb
│ │ │ ├── help.rb
│ │ │ ├── module/
│ │ │ │ ├── changes.rb
│ │ │ │ ├── install.rb
│ │ │ │ ├── list.rb
│ │ │ │ ├── uninstall.rb
│ │ │ │ └── upgrade.rb
│ │ │ ├── module.rb
│ │ │ ├── node/
│ │ │ │ └── clean.rb
│ │ │ ├── node.rb
│ │ │ ├── parser.rb
│ │ │ ├── plugin.rb
│ │ │ ├── report.rb
│ │ │ └── resource.rb
│ │ ├── face.rb
│ │ ├── facter_impl.rb
│ │ ├── feature/
│ │ │ ├── base.rb
│ │ │ ├── bolt.rb
│ │ │ ├── cfpropertylist.rb
│ │ │ ├── eventlog.rb
│ │ │ ├── hiera_eyaml.rb
│ │ │ ├── hocon.rb
│ │ │ ├── libuser.rb
│ │ │ ├── msgpack.rb
│ │ │ ├── pe_license.rb
│ │ │ ├── pson.rb
│ │ │ ├── selinux.rb
│ │ │ ├── ssh.rb
│ │ │ ├── telnet.rb
│ │ │ └── zlib.rb
│ │ ├── ffi/
│ │ │ ├── posix/
│ │ │ │ ├── constants.rb
│ │ │ │ └── functions.rb
│ │ │ ├── posix.rb
│ │ │ ├── windows/
│ │ │ │ ├── api_types.rb
│ │ │ │ ├── constants.rb
│ │ │ │ ├── functions.rb
│ │ │ │ └── structs.rb
│ │ │ └── windows.rb
│ │ ├── file_bucket/
│ │ │ ├── dipper.rb
│ │ │ └── file.rb
│ │ ├── file_bucket.rb
│ │ ├── file_serving/
│ │ │ ├── base.rb
│ │ │ ├── configuration/
│ │ │ │ └── parser.rb
│ │ │ ├── configuration.rb
│ │ │ ├── content.rb
│ │ │ ├── fileset.rb
│ │ │ ├── http_metadata.rb
│ │ │ ├── metadata.rb
│ │ │ ├── mount/
│ │ │ │ ├── file.rb
│ │ │ │ ├── locales.rb
│ │ │ │ ├── modules.rb
│ │ │ │ ├── pluginfacts.rb
│ │ │ │ ├── plugins.rb
│ │ │ │ ├── scripts.rb
│ │ │ │ └── tasks.rb
│ │ │ ├── mount.rb
│ │ │ ├── terminus_helper.rb
│ │ │ └── terminus_selector.rb
│ │ ├── file_serving.rb
│ │ ├── file_system/
│ │ │ ├── file_impl.rb
│ │ │ ├── jruby.rb
│ │ │ ├── memory_file.rb
│ │ │ ├── memory_impl.rb
│ │ │ ├── path_pattern.rb
│ │ │ ├── posix.rb
│ │ │ ├── uniquefile.rb
│ │ │ └── windows.rb
│ │ ├── file_system.rb
│ │ ├── forge/
│ │ │ ├── cache.rb
│ │ │ ├── errors.rb
│ │ │ └── repository.rb
│ │ ├── forge.rb
│ │ ├── functions/
│ │ │ ├── abs.rb
│ │ │ ├── alert.rb
│ │ │ ├── all.rb
│ │ │ ├── annotate.rb
│ │ │ ├── any.rb
│ │ │ ├── assert_type.rb
│ │ │ ├── binary_file.rb
│ │ │ ├── break.rb
│ │ │ ├── call.rb
│ │ │ ├── camelcase.rb
│ │ │ ├── capitalize.rb
│ │ │ ├── ceiling.rb
│ │ │ ├── chomp.rb
│ │ │ ├── chop.rb
│ │ │ ├── compare.rb
│ │ │ ├── contain.rb
│ │ │ ├── convert_to.rb
│ │ │ ├── crit.rb
│ │ │ ├── debug.rb
│ │ │ ├── defined.rb
│ │ │ ├── dig.rb
│ │ │ ├── downcase.rb
│ │ │ ├── each.rb
│ │ │ ├── emerg.rb
│ │ │ ├── empty.rb
│ │ │ ├── epp.rb
│ │ │ ├── err.rb
│ │ │ ├── eyaml_lookup_key.rb
│ │ │ ├── filter.rb
│ │ │ ├── find_file.rb
│ │ │ ├── find_template.rb
│ │ │ ├── flatten.rb
│ │ │ ├── floor.rb
│ │ │ ├── get.rb
│ │ │ ├── getvar.rb
│ │ │ ├── group_by.rb
│ │ │ ├── hiera.rb
│ │ │ ├── hiera_array.rb
│ │ │ ├── hiera_hash.rb
│ │ │ ├── hiera_include.rb
│ │ │ ├── hocon_data.rb
│ │ │ ├── import.rb
│ │ │ ├── include.rb
│ │ │ ├── index.rb
│ │ │ ├── info.rb
│ │ │ ├── inline_epp.rb
│ │ │ ├── join.rb
│ │ │ ├── json_data.rb
│ │ │ ├── keys.rb
│ │ │ ├── length.rb
│ │ │ ├── lest.rb
│ │ │ ├── lookup.rb
│ │ │ ├── lstrip.rb
│ │ │ ├── map.rb
│ │ │ ├── match.rb
│ │ │ ├── max.rb
│ │ │ ├── min.rb
│ │ │ ├── module_directory.rb
│ │ │ ├── new.rb
│ │ │ ├── next.rb
│ │ │ ├── notice.rb
│ │ │ ├── partition.rb
│ │ │ ├── reduce.rb
│ │ │ ├── regsubst.rb
│ │ │ ├── require.rb
│ │ │ ├── return.rb
│ │ │ ├── reverse_each.rb
│ │ │ ├── round.rb
│ │ │ ├── rstrip.rb
│ │ │ ├── scanf.rb
│ │ │ ├── size.rb
│ │ │ ├── slice.rb
│ │ │ ├── sort.rb
│ │ │ ├── split.rb
│ │ │ ├── step.rb
│ │ │ ├── strftime.rb
│ │ │ ├── strip.rb
│ │ │ ├── then.rb
│ │ │ ├── tree_each.rb
│ │ │ ├── type.rb
│ │ │ ├── unique.rb
│ │ │ ├── unwrap.rb
│ │ │ ├── upcase.rb
│ │ │ ├── values.rb
│ │ │ ├── versioncmp.rb
│ │ │ ├── warning.rb
│ │ │ ├── with.rb
│ │ │ └── yaml_data.rb
│ │ ├── functions.rb
│ │ ├── generate/
│ │ │ ├── models/
│ │ │ │ └── type/
│ │ │ │ ├── property.rb
│ │ │ │ └── type.rb
│ │ │ ├── templates/
│ │ │ │ └── type/
│ │ │ │ └── pcore.erb
│ │ │ └── type.rb
│ │ ├── gettext/
│ │ │ ├── config.rb
│ │ │ ├── module_translations.rb
│ │ │ └── stubs.rb
│ │ ├── graph/
│ │ │ ├── key.rb
│ │ │ ├── prioritizer.rb
│ │ │ ├── rb_tree_map.rb
│ │ │ ├── relationship_graph.rb
│ │ │ ├── sequential_prioritizer.rb
│ │ │ └── simple_graph.rb
│ │ ├── graph.rb
│ │ ├── http/
│ │ │ ├── client.rb
│ │ │ ├── dns.rb
│ │ │ ├── errors.rb
│ │ │ ├── external_client.rb
│ │ │ ├── factory.rb
│ │ │ ├── pool.rb
│ │ │ ├── pool_entry.rb
│ │ │ ├── proxy.rb
│ │ │ ├── redirector.rb
│ │ │ ├── resolver/
│ │ │ │ ├── server_list.rb
│ │ │ │ ├── settings.rb
│ │ │ │ └── srv.rb
│ │ │ ├── resolver.rb
│ │ │ ├── response.rb
│ │ │ ├── response_converter.rb
│ │ │ ├── response_net_http.rb
│ │ │ ├── retry_after_handler.rb
│ │ │ ├── service/
│ │ │ │ ├── ca.rb
│ │ │ │ ├── compiler.rb
│ │ │ │ ├── file_server.rb
│ │ │ │ ├── puppetserver.rb
│ │ │ │ └── report.rb
│ │ │ ├── service.rb
│ │ │ ├── session.rb
│ │ │ └── site.rb
│ │ ├── http.rb
│ │ ├── indirector/
│ │ │ ├── catalog/
│ │ │ │ ├── compiler.rb
│ │ │ │ ├── json.rb
│ │ │ │ ├── msgpack.rb
│ │ │ │ ├── rest.rb
│ │ │ │ ├── store_configs.rb
│ │ │ │ └── yaml.rb
│ │ │ ├── code.rb
│ │ │ ├── data_binding/
│ │ │ │ ├── hiera.rb
│ │ │ │ └── none.rb
│ │ │ ├── direct_file_server.rb
│ │ │ ├── envelope.rb
│ │ │ ├── errors.rb
│ │ │ ├── exec.rb
│ │ │ ├── face.rb
│ │ │ ├── fact_search.rb
│ │ │ ├── facts/
│ │ │ │ ├── facter.rb
│ │ │ │ ├── json.rb
│ │ │ │ ├── memory.rb
│ │ │ │ ├── network_device.rb
│ │ │ │ ├── rest.rb
│ │ │ │ ├── store_configs.rb
│ │ │ │ └── yaml.rb
│ │ │ ├── file_bucket_file/
│ │ │ │ ├── file.rb
│ │ │ │ ├── rest.rb
│ │ │ │ └── selector.rb
│ │ │ ├── file_content/
│ │ │ │ ├── file.rb
│ │ │ │ ├── file_server.rb
│ │ │ │ ├── rest.rb
│ │ │ │ └── selector.rb
│ │ │ ├── file_content.rb
│ │ │ ├── file_metadata/
│ │ │ │ ├── file.rb
│ │ │ │ ├── file_server.rb
│ │ │ │ ├── http.rb
│ │ │ │ ├── rest.rb
│ │ │ │ └── selector.rb
│ │ │ ├── file_metadata.rb
│ │ │ ├── file_server.rb
│ │ │ ├── generic_http.rb
│ │ │ ├── hiera.rb
│ │ │ ├── indirection.rb
│ │ │ ├── json.rb
│ │ │ ├── memory.rb
│ │ │ ├── msgpack.rb
│ │ │ ├── node/
│ │ │ │ ├── exec.rb
│ │ │ │ ├── json.rb
│ │ │ │ ├── memory.rb
│ │ │ │ ├── msgpack.rb
│ │ │ │ ├── plain.rb
│ │ │ │ ├── rest.rb
│ │ │ │ ├── store_configs.rb
│ │ │ │ └── yaml.rb
│ │ │ ├── none.rb
│ │ │ ├── plain.rb
│ │ │ ├── report/
│ │ │ │ ├── json.rb
│ │ │ │ ├── msgpack.rb
│ │ │ │ ├── processor.rb
│ │ │ │ ├── rest.rb
│ │ │ │ └── yaml.rb
│ │ │ ├── request.rb
│ │ │ ├── resource/
│ │ │ │ ├── ral.rb
│ │ │ │ ├── store_configs.rb
│ │ │ │ └── validator.rb
│ │ │ ├── rest.rb
│ │ │ ├── store_configs.rb
│ │ │ ├── terminus.rb
│ │ │ └── yaml.rb
│ │ ├── indirector.rb
│ │ ├── info_service/
│ │ │ ├── class_information_service.rb
│ │ │ ├── plan_information_service.rb
│ │ │ └── task_information_service.rb
│ │ ├── info_service.rb
│ │ ├── interface/
│ │ │ ├── action.rb
│ │ │ ├── action_builder.rb
│ │ │ ├── action_manager.rb
│ │ │ ├── documentation.rb
│ │ │ ├── face_collection.rb
│ │ │ ├── option.rb
│ │ │ ├── option_builder.rb
│ │ │ └── option_manager.rb
│ │ ├── interface.rb
│ │ ├── loaders.rb
│ │ ├── metatype/
│ │ │ └── manager.rb
│ │ ├── module/
│ │ │ ├── plan.rb
│ │ │ └── task.rb
│ │ ├── module.rb
│ │ ├── module_tool/
│ │ │ ├── applications/
│ │ │ │ ├── application.rb
│ │ │ │ ├── checksummer.rb
│ │ │ │ ├── installer.rb
│ │ │ │ ├── uninstaller.rb
│ │ │ │ ├── unpacker.rb
│ │ │ │ └── upgrader.rb
│ │ │ ├── applications.rb
│ │ │ ├── checksums.rb
│ │ │ ├── contents_description.rb
│ │ │ ├── dependency.rb
│ │ │ ├── errors/
│ │ │ │ ├── base.rb
│ │ │ │ ├── installer.rb
│ │ │ │ ├── shared.rb
│ │ │ │ ├── uninstaller.rb
│ │ │ │ └── upgrader.rb
│ │ │ ├── errors.rb
│ │ │ ├── install_directory.rb
│ │ │ ├── installed_modules.rb
│ │ │ ├── local_tarball.rb
│ │ │ ├── metadata.rb
│ │ │ ├── shared_behaviors.rb
│ │ │ ├── tar/
│ │ │ │ ├── gnu.rb
│ │ │ │ └── mini.rb
│ │ │ └── tar.rb
│ │ ├── module_tool.rb
│ │ ├── network/
│ │ │ ├── authconfig.rb
│ │ │ ├── authorization.rb
│ │ │ ├── client_request.rb
│ │ │ ├── format.rb
│ │ │ ├── format_handler.rb
│ │ │ ├── format_support.rb
│ │ │ ├── formats.rb
│ │ │ ├── http/
│ │ │ │ ├── api/
│ │ │ │ │ ├── indirected_routes.rb
│ │ │ │ │ ├── indirection_type.rb
│ │ │ │ │ ├── master/
│ │ │ │ │ │ ├── v3/
│ │ │ │ │ │ │ └── environments.rb
│ │ │ │ │ │ └── v3.rb
│ │ │ │ │ ├── master.rb
│ │ │ │ │ ├── server/
│ │ │ │ │ │ ├── v3/
│ │ │ │ │ │ │ └── environments.rb
│ │ │ │ │ │ └── v3.rb
│ │ │ │ │ └── server.rb
│ │ │ │ ├── api.rb
│ │ │ │ ├── connection.rb
│ │ │ │ ├── error.rb
│ │ │ │ ├── handler.rb
│ │ │ │ ├── issues.rb
│ │ │ │ ├── memory_response.rb
│ │ │ │ ├── request.rb
│ │ │ │ ├── response.rb
│ │ │ │ └── route.rb
│ │ │ ├── http.rb
│ │ │ ├── http_pool.rb
│ │ │ └── uri.rb
│ │ ├── network.rb
│ │ ├── node/
│ │ │ ├── environment.rb
│ │ │ ├── facts.rb
│ │ │ └── server_facts.rb
│ │ ├── node.rb
│ │ ├── pal/
│ │ │ ├── catalog_compiler.rb
│ │ │ ├── compiler.rb
│ │ │ ├── function_signature.rb
│ │ │ ├── json_catalog_encoder.rb
│ │ │ ├── pal_api.rb
│ │ │ ├── pal_impl.rb
│ │ │ ├── plan_signature.rb
│ │ │ ├── script_compiler.rb
│ │ │ └── task_signature.rb
│ │ ├── parameter/
│ │ │ ├── boolean.rb
│ │ │ ├── package_options.rb
│ │ │ ├── path.rb
│ │ │ ├── value.rb
│ │ │ └── value_collection.rb
│ │ ├── parameter.rb
│ │ ├── parser/
│ │ │ ├── abstract_compiler.rb
│ │ │ ├── ast/
│ │ │ │ ├── block_expression.rb
│ │ │ │ ├── branch.rb
│ │ │ │ ├── hostclass.rb
│ │ │ │ ├── leaf.rb
│ │ │ │ ├── node.rb
│ │ │ │ ├── pops_bridge.rb
│ │ │ │ ├── resource.rb
│ │ │ │ ├── resource_instance.rb
│ │ │ │ ├── resourceparam.rb
│ │ │ │ └── top_level_construct.rb
│ │ │ ├── ast.rb
│ │ │ ├── catalog_compiler.rb
│ │ │ ├── compiler/
│ │ │ │ ├── catalog_validator/
│ │ │ │ │ └── relationship_validator.rb
│ │ │ │ └── catalog_validator.rb
│ │ │ ├── compiler.rb
│ │ │ ├── e4_parser_adapter.rb
│ │ │ ├── files.rb
│ │ │ ├── functions/
│ │ │ │ ├── assert_type.rb
│ │ │ │ ├── binary_file.rb
│ │ │ │ ├── break.rb
│ │ │ │ ├── contain.rb
│ │ │ │ ├── create_resources.rb
│ │ │ │ ├── defined.rb
│ │ │ │ ├── dig.rb
│ │ │ │ ├── digest.rb
│ │ │ │ ├── each.rb
│ │ │ │ ├── epp.rb
│ │ │ │ ├── fail.rb
│ │ │ │ ├── file.rb
│ │ │ │ ├── filter.rb
│ │ │ │ ├── find_file.rb
│ │ │ │ ├── fqdn_rand.rb
│ │ │ │ ├── generate.rb
│ │ │ │ ├── hiera.rb
│ │ │ │ ├── hiera_array.rb
│ │ │ │ ├── hiera_hash.rb
│ │ │ │ ├── hiera_include.rb
│ │ │ │ ├── include.rb
│ │ │ │ ├── inline_epp.rb
│ │ │ │ ├── inline_template.rb
│ │ │ │ ├── lest.rb
│ │ │ │ ├── lookup.rb
│ │ │ │ ├── map.rb
│ │ │ │ ├── match.rb
│ │ │ │ ├── md5.rb
│ │ │ │ ├── new.rb
│ │ │ │ ├── next.rb
│ │ │ │ ├── realize.rb
│ │ │ │ ├── reduce.rb
│ │ │ │ ├── regsubst.rb
│ │ │ │ ├── require.rb
│ │ │ │ ├── return.rb
│ │ │ │ ├── reverse_each.rb
│ │ │ │ ├── scanf.rb
│ │ │ │ ├── sha1.rb
│ │ │ │ ├── sha256.rb
│ │ │ │ ├── shellquote.rb
│ │ │ │ ├── slice.rb
│ │ │ │ ├── split.rb
│ │ │ │ ├── sprintf.rb
│ │ │ │ ├── step.rb
│ │ │ │ ├── strftime.rb
│ │ │ │ ├── tag.rb
│ │ │ │ ├── tagged.rb
│ │ │ │ ├── template.rb
│ │ │ │ ├── then.rb
│ │ │ │ ├── type.rb
│ │ │ │ ├── versioncmp.rb
│ │ │ │ └── with.rb
│ │ │ ├── functions.rb
│ │ │ ├── parser_factory.rb
│ │ │ ├── relationship.rb
│ │ │ ├── resource/
│ │ │ │ └── param.rb
│ │ │ ├── resource.rb
│ │ │ ├── scope.rb
│ │ │ ├── script_compiler.rb
│ │ │ ├── templatewrapper.rb
│ │ │ └── type_loader.rb
│ │ ├── parser.rb
│ │ ├── plugins/
│ │ │ ├── configuration.rb
│ │ │ └── syntax_checkers.rb
│ │ ├── plugins.rb
│ │ ├── pops/
│ │ │ ├── adaptable.rb
│ │ │ ├── adapters.rb
│ │ │ ├── evaluator/
│ │ │ │ ├── access_operator.rb
│ │ │ │ ├── callable_signature.rb
│ │ │ │ ├── closure.rb
│ │ │ │ ├── collector_transformer.rb
│ │ │ │ ├── collectors/
│ │ │ │ │ ├── abstract_collector.rb
│ │ │ │ │ ├── catalog_collector.rb
│ │ │ │ │ ├── exported_collector.rb
│ │ │ │ │ └── fixed_set_collector.rb
│ │ │ │ ├── compare_operator.rb
│ │ │ │ ├── deferred_resolver.rb
│ │ │ │ ├── epp_evaluator.rb
│ │ │ │ ├── evaluator_impl.rb
│ │ │ │ ├── external_syntax_support.rb
│ │ │ │ ├── json_strict_literal_evaluator.rb
│ │ │ │ ├── literal_evaluator.rb
│ │ │ │ ├── puppet_proc.rb
│ │ │ │ ├── relationship_operator.rb
│ │ │ │ ├── runtime3_converter.rb
│ │ │ │ ├── runtime3_resource_support.rb
│ │ │ │ └── runtime3_support.rb
│ │ │ ├── functions/
│ │ │ │ ├── dispatch.rb
│ │ │ │ ├── dispatcher.rb
│ │ │ │ └── function.rb
│ │ │ ├── issue_reporter.rb
│ │ │ ├── issues.rb
│ │ │ ├── label_provider.rb
│ │ │ ├── loader/
│ │ │ │ ├── base_loader.rb
│ │ │ │ ├── dependency_loader.rb
│ │ │ │ ├── gem_support.rb
│ │ │ │ ├── generic_plan_instantiator.rb
│ │ │ │ ├── loader.rb
│ │ │ │ ├── loader_paths.rb
│ │ │ │ ├── module_loaders.rb
│ │ │ │ ├── predefined_loader.rb
│ │ │ │ ├── puppet_function_instantiator.rb
│ │ │ │ ├── puppet_plan_instantiator.rb
│ │ │ │ ├── puppet_resource_type_impl_instantiator.rb
│ │ │ │ ├── ruby_data_type_instantiator.rb
│ │ │ │ ├── ruby_function_instantiator.rb
│ │ │ │ ├── ruby_legacy_function_instantiator.rb
│ │ │ │ ├── runtime3_type_loader.rb
│ │ │ │ ├── simple_environment_loader.rb
│ │ │ │ ├── static_loader.rb
│ │ │ │ ├── task_instantiator.rb
│ │ │ │ ├── type_definition_instantiator.rb
│ │ │ │ ├── typed_name.rb
│ │ │ │ └── uri_helper.rb
│ │ │ ├── loaders.rb
│ │ │ ├── lookup/
│ │ │ │ ├── configured_data_provider.rb
│ │ │ │ ├── context.rb
│ │ │ │ ├── data_adapter.rb
│ │ │ │ ├── data_dig_function_provider.rb
│ │ │ │ ├── data_hash_function_provider.rb
│ │ │ │ ├── data_provider.rb
│ │ │ │ ├── environment_data_provider.rb
│ │ │ │ ├── explainer.rb
│ │ │ │ ├── function_provider.rb
│ │ │ │ ├── global_data_provider.rb
│ │ │ │ ├── hiera_config.rb
│ │ │ │ ├── interpolation.rb
│ │ │ │ ├── invocation.rb
│ │ │ │ ├── key_recorder.rb
│ │ │ │ ├── location_resolver.rb
│ │ │ │ ├── lookup_adapter.rb
│ │ │ │ ├── lookup_key.rb
│ │ │ │ ├── lookup_key_function_provider.rb
│ │ │ │ ├── module_data_provider.rb
│ │ │ │ └── sub_lookup.rb
│ │ │ ├── lookup.rb
│ │ │ ├── merge_strategy.rb
│ │ │ ├── migration/
│ │ │ │ └── migration_checker.rb
│ │ │ ├── model/
│ │ │ │ ├── ast.pp
│ │ │ │ ├── ast.rb
│ │ │ │ ├── ast_transformer.rb
│ │ │ │ ├── factory.rb
│ │ │ │ ├── model_label_provider.rb
│ │ │ │ ├── model_tree_dumper.rb
│ │ │ │ ├── pn_transformer.rb
│ │ │ │ └── tree_dumper.rb
│ │ │ ├── parser/
│ │ │ │ ├── code_merger.rb
│ │ │ │ ├── egrammar.ra
│ │ │ │ ├── eparser.rb
│ │ │ │ ├── epp_parser.rb
│ │ │ │ ├── epp_support.rb
│ │ │ │ ├── evaluating_parser.rb
│ │ │ │ ├── heredoc_support.rb
│ │ │ │ ├── interpolation_support.rb
│ │ │ │ ├── lexer2.rb
│ │ │ │ ├── lexer_support.rb
│ │ │ │ ├── locatable.rb
│ │ │ │ ├── locator.rb
│ │ │ │ ├── parser_support.rb
│ │ │ │ ├── pn_parser.rb
│ │ │ │ └── slurp_support.rb
│ │ │ ├── patterns.rb
│ │ │ ├── pcore.rb
│ │ │ ├── pn.rb
│ │ │ ├── puppet_stack.rb
│ │ │ ├── resource/
│ │ │ │ ├── param.rb
│ │ │ │ ├── resource_type_impl.rb
│ │ │ │ └── resource_type_set.pcore
│ │ │ ├── semantic_error.rb
│ │ │ ├── serialization/
│ │ │ │ ├── abstract_reader.rb
│ │ │ │ ├── abstract_writer.rb
│ │ │ │ ├── deserializer.rb
│ │ │ │ ├── extension.rb
│ │ │ │ ├── from_data_converter.rb
│ │ │ │ ├── instance_reader.rb
│ │ │ │ ├── instance_writer.rb
│ │ │ │ ├── json.rb
│ │ │ │ ├── json_path.rb
│ │ │ │ ├── object.rb
│ │ │ │ ├── serializer.rb
│ │ │ │ ├── time_factory.rb
│ │ │ │ ├── to_data_converter.rb
│ │ │ │ └── to_stringified_converter.rb
│ │ │ ├── serialization.rb
│ │ │ ├── time/
│ │ │ │ ├── timespan.rb
│ │ │ │ └── timestamp.rb
│ │ │ ├── types/
│ │ │ │ ├── annotatable.rb
│ │ │ │ ├── annotation.rb
│ │ │ │ ├── class_loader.rb
│ │ │ │ ├── implementation_registry.rb
│ │ │ │ ├── iterable.rb
│ │ │ │ ├── p_binary_type.rb
│ │ │ │ ├── p_init_type.rb
│ │ │ │ ├── p_meta_type.rb
│ │ │ │ ├── p_object_type.rb
│ │ │ │ ├── p_object_type_extension.rb
│ │ │ │ ├── p_runtime_type.rb
│ │ │ │ ├── p_sem_ver_range_type.rb
│ │ │ │ ├── p_sem_ver_type.rb
│ │ │ │ ├── p_sensitive_type.rb
│ │ │ │ ├── p_timespan_type.rb
│ │ │ │ ├── p_timestamp_type.rb
│ │ │ │ ├── p_type_set_type.rb
│ │ │ │ ├── p_uri_type.rb
│ │ │ │ ├── puppet_object.rb
│ │ │ │ ├── recursion_guard.rb
│ │ │ │ ├── ruby_generator.rb
│ │ │ │ ├── ruby_method.rb
│ │ │ │ ├── string_converter.rb
│ │ │ │ ├── tree_iterators.rb
│ │ │ │ ├── type_acceptor.rb
│ │ │ │ ├── type_asserter.rb
│ │ │ │ ├── type_assertion_error.rb
│ │ │ │ ├── type_calculator.rb
│ │ │ │ ├── type_conversion_error.rb
│ │ │ │ ├── type_factory.rb
│ │ │ │ ├── type_formatter.rb
│ │ │ │ ├── type_mismatch_describer.rb
│ │ │ │ ├── type_parser.rb
│ │ │ │ ├── type_set_reference.rb
│ │ │ │ ├── type_with_members.rb
│ │ │ │ └── types.rb
│ │ │ ├── utils.rb
│ │ │ ├── validation/
│ │ │ │ ├── checker4_0.rb
│ │ │ │ ├── tasks_checker.rb
│ │ │ │ └── validator_factory_4_0.rb
│ │ │ ├── validation.rb
│ │ │ ├── visitable.rb
│ │ │ └── visitor.rb
│ │ ├── pops.rb
│ │ ├── property/
│ │ │ ├── boolean.rb
│ │ │ ├── ensure.rb
│ │ │ ├── keyvalue.rb
│ │ │ ├── list.rb
│ │ │ └── ordered_list.rb
│ │ ├── property.rb
│ │ ├── provider/
│ │ │ ├── aix_object.rb
│ │ │ ├── command.rb
│ │ │ ├── confine.rb
│ │ │ ├── exec/
│ │ │ │ ├── posix.rb
│ │ │ │ ├── shell.rb
│ │ │ │ └── windows.rb
│ │ │ ├── exec.rb
│ │ │ ├── file/
│ │ │ │ ├── posix.rb
│ │ │ │ └── windows.rb
│ │ │ ├── group/
│ │ │ │ ├── aix.rb
│ │ │ │ ├── directoryservice.rb
│ │ │ │ ├── groupadd.rb
│ │ │ │ ├── ldap.rb
│ │ │ │ ├── pw.rb
│ │ │ │ └── windows_adsi.rb
│ │ │ ├── ldap.rb
│ │ │ ├── nameservice/
│ │ │ │ ├── directoryservice.rb
│ │ │ │ ├── objectadd.rb
│ │ │ │ └── pw.rb
│ │ │ ├── nameservice.rb
│ │ │ ├── network_device.rb
│ │ │ ├── package/
│ │ │ │ ├── aix.rb
│ │ │ │ ├── appdmg.rb
│ │ │ │ ├── apple.rb
│ │ │ │ ├── apt.rb
│ │ │ │ ├── aptitude.rb
│ │ │ │ ├── aptrpm.rb
│ │ │ │ ├── blastwave.rb
│ │ │ │ ├── dnf.rb
│ │ │ │ ├── dnfmodule.rb
│ │ │ │ ├── dpkg.rb
│ │ │ │ ├── fink.rb
│ │ │ │ ├── freebsd.rb
│ │ │ │ ├── gem.rb
│ │ │ │ ├── hpux.rb
│ │ │ │ ├── macports.rb
│ │ │ │ ├── nim.rb
│ │ │ │ ├── openbsd.rb
│ │ │ │ ├── opkg.rb
│ │ │ │ ├── pacman.rb
│ │ │ │ ├── pip.rb
│ │ │ │ ├── pip2.rb
│ │ │ │ ├── pip3.rb
│ │ │ │ ├── pkg.rb
│ │ │ │ ├── pkgdmg.rb
│ │ │ │ ├── pkgin.rb
│ │ │ │ ├── pkgng.rb
│ │ │ │ ├── pkgutil.rb
│ │ │ │ ├── portage.rb
│ │ │ │ ├── ports.rb
│ │ │ │ ├── portupgrade.rb
│ │ │ │ ├── puppet_gem.rb
│ │ │ │ ├── puppetserver_gem.rb
│ │ │ │ ├── rpm.rb
│ │ │ │ ├── rug.rb
│ │ │ │ ├── sun.rb
│ │ │ │ ├── sunfreeware.rb
│ │ │ │ ├── tdnf.rb
│ │ │ │ ├── up2date.rb
│ │ │ │ ├── urpmi.rb
│ │ │ │ ├── windows/
│ │ │ │ │ ├── exe_package.rb
│ │ │ │ │ ├── msi_package.rb
│ │ │ │ │ └── package.rb
│ │ │ │ ├── windows.rb
│ │ │ │ ├── xbps.rb
│ │ │ │ ├── yum.rb
│ │ │ │ └── zypper.rb
│ │ │ ├── package.rb
│ │ │ ├── package_targetable.rb
│ │ │ ├── parsedfile.rb
│ │ │ ├── service/
│ │ │ │ ├── base.rb
│ │ │ │ ├── bsd.rb
│ │ │ │ ├── daemontools.rb
│ │ │ │ ├── debian.rb
│ │ │ │ ├── freebsd.rb
│ │ │ │ ├── gentoo.rb
│ │ │ │ ├── init.rb
│ │ │ │ ├── launchd.rb
│ │ │ │ ├── openbsd.rb
│ │ │ │ ├── openrc.rb
│ │ │ │ ├── openwrt.rb
│ │ │ │ ├── rcng.rb
│ │ │ │ ├── redhat.rb
│ │ │ │ ├── runit.rb
│ │ │ │ ├── service.rb
│ │ │ │ ├── smf.rb
│ │ │ │ ├── src.rb
│ │ │ │ ├── systemd.rb
│ │ │ │ ├── upstart.rb
│ │ │ │ └── windows.rb
│ │ │ └── user/
│ │ │ ├── aix.rb
│ │ │ ├── directoryservice.rb
│ │ │ ├── hpux.rb
│ │ │ ├── ldap.rb
│ │ │ ├── openbsd.rb
│ │ │ ├── pw.rb
│ │ │ ├── user_role_add.rb
│ │ │ ├── useradd.rb
│ │ │ └── windows_adsi.rb
│ │ ├── provider.rb
│ │ ├── reference/
│ │ │ ├── configuration.rb
│ │ │ ├── function.rb
│ │ │ ├── indirection.rb
│ │ │ ├── metaparameter.rb
│ │ │ ├── providers.rb
│ │ │ ├── report.rb
│ │ │ └── type.rb
│ │ ├── relationship.rb
│ │ ├── reports/
│ │ │ ├── http.rb
│ │ │ ├── log.rb
│ │ │ └── store.rb
│ │ ├── reports.rb
│ │ ├── resource/
│ │ │ ├── catalog.rb
│ │ │ ├── status.rb
│ │ │ ├── type.rb
│ │ │ └── type_collection.rb
│ │ ├── resource.rb
│ │ ├── runtime.rb
│ │ ├── scheduler/
│ │ │ ├── job.rb
│ │ │ ├── scheduler.rb
│ │ │ ├── splay_job.rb
│ │ │ └── timer.rb
│ │ ├── scheduler.rb
│ │ ├── settings/
│ │ │ ├── alias_setting.rb
│ │ │ ├── array_setting.rb
│ │ │ ├── autosign_setting.rb
│ │ │ ├── base_setting.rb
│ │ │ ├── boolean_setting.rb
│ │ │ ├── certificate_revocation_setting.rb
│ │ │ ├── config_file.rb
│ │ │ ├── directory_setting.rb
│ │ │ ├── duration_setting.rb
│ │ │ ├── enum_setting.rb
│ │ │ ├── environment_conf.rb
│ │ │ ├── errors.rb
│ │ │ ├── file_or_directory_setting.rb
│ │ │ ├── file_setting.rb
│ │ │ ├── http_extra_headers_setting.rb
│ │ │ ├── ini_file.rb
│ │ │ ├── integer_setting.rb
│ │ │ ├── path_setting.rb
│ │ │ ├── port_setting.rb
│ │ │ ├── priority_setting.rb
│ │ │ ├── server_list_setting.rb
│ │ │ ├── string_setting.rb
│ │ │ ├── symbolic_enum_setting.rb
│ │ │ ├── terminus_setting.rb
│ │ │ ├── ttl_setting.rb
│ │ │ └── value_translator.rb
│ │ ├── settings.rb
│ │ ├── ssl/
│ │ │ ├── base.rb
│ │ │ ├── certificate.rb
│ │ │ ├── certificate_request.rb
│ │ │ ├── certificate_request_attributes.rb
│ │ │ ├── certificate_signer.rb
│ │ │ ├── digest.rb
│ │ │ ├── error.rb
│ │ │ ├── oids.rb
│ │ │ ├── openssl_loader.rb
│ │ │ ├── ssl_context.rb
│ │ │ ├── ssl_provider.rb
│ │ │ ├── state_machine.rb
│ │ │ └── verifier.rb
│ │ ├── ssl.rb
│ │ ├── syntax_checkers/
│ │ │ ├── base64.rb
│ │ │ ├── epp.rb
│ │ │ ├── json.rb
│ │ │ └── pp.rb
│ │ ├── syntax_checkers.rb
│ │ ├── test/
│ │ │ └── test_helper.rb
│ │ ├── thread_local.rb
│ │ ├── transaction/
│ │ │ ├── additional_resource_generator.rb
│ │ │ ├── event.rb
│ │ │ ├── event_manager.rb
│ │ │ ├── persistence.rb
│ │ │ ├── report.rb
│ │ │ └── resource_harness.rb
│ │ ├── transaction.rb
│ │ ├── trusted_external.rb
│ │ ├── type/
│ │ │ ├── component.rb
│ │ │ ├── exec.rb
│ │ │ ├── file/
│ │ │ │ ├── checksum.rb
│ │ │ │ ├── checksum_value.rb
│ │ │ │ ├── content.rb
│ │ │ │ ├── ctime.rb
│ │ │ │ ├── data_sync.rb
│ │ │ │ ├── ensure.rb
│ │ │ │ ├── group.rb
│ │ │ │ ├── mode.rb
│ │ │ │ ├── mtime.rb
│ │ │ │ ├── owner.rb
│ │ │ │ ├── selcontext.rb
│ │ │ │ ├── source.rb
│ │ │ │ ├── target.rb
│ │ │ │ └── type.rb
│ │ │ ├── file.rb
│ │ │ ├── filebucket.rb
│ │ │ ├── group.rb
│ │ │ ├── notify.rb
│ │ │ ├── package.rb
│ │ │ ├── resources.rb
│ │ │ ├── schedule.rb
│ │ │ ├── service.rb
│ │ │ ├── stage.rb
│ │ │ ├── tidy.rb
│ │ │ ├── user.rb
│ │ │ └── whit.rb
│ │ ├── type.rb
│ │ ├── util/
│ │ │ ├── at_fork/
│ │ │ │ ├── noop.rb
│ │ │ │ └── solaris.rb
│ │ │ ├── at_fork.rb
│ │ │ ├── autoload.rb
│ │ │ ├── backups.rb
│ │ │ ├── character_encoding.rb
│ │ │ ├── checksums.rb
│ │ │ ├── classgen.rb
│ │ │ ├── colors.rb
│ │ │ ├── command_line/
│ │ │ │ ├── puppet_option_parser.rb
│ │ │ │ └── trollop.rb
│ │ │ ├── command_line.rb
│ │ │ ├── constant_inflector.rb
│ │ │ ├── diff.rb
│ │ │ ├── docs.rb
│ │ │ ├── errors.rb
│ │ │ ├── execution.rb
│ │ │ ├── execution_stub.rb
│ │ │ ├── feature.rb
│ │ │ ├── file_watcher.rb
│ │ │ ├── fileparsing.rb
│ │ │ ├── filetype.rb
│ │ │ ├── http_proxy.rb
│ │ │ ├── inifile.rb
│ │ │ ├── instance_loader.rb
│ │ │ ├── json.rb
│ │ │ ├── json_lockfile.rb
│ │ │ ├── ldap/
│ │ │ │ ├── connection.rb
│ │ │ │ ├── generator.rb
│ │ │ │ └── manager.rb
│ │ │ ├── ldap.rb
│ │ │ ├── libuser.conf
│ │ │ ├── libuser.rb
│ │ │ ├── limits.rb
│ │ │ ├── lockfile.rb
│ │ │ ├── log/
│ │ │ │ ├── destination.rb
│ │ │ │ └── destinations.rb
│ │ │ ├── log.rb
│ │ │ ├── logging.rb
│ │ │ ├── metaid.rb
│ │ │ ├── metric.rb
│ │ │ ├── monkey_patches.rb
│ │ │ ├── multi_match.rb
│ │ │ ├── network_device/
│ │ │ │ ├── base.rb
│ │ │ │ ├── config.rb
│ │ │ │ ├── transport/
│ │ │ │ │ └── base.rb
│ │ │ │ └── transport.rb
│ │ │ ├── network_device.rb
│ │ │ ├── package/
│ │ │ │ └── version/
│ │ │ │ ├── debian.rb
│ │ │ │ ├── gem.rb
│ │ │ │ ├── pip.rb
│ │ │ │ ├── range/
│ │ │ │ │ ├── eq.rb
│ │ │ │ │ ├── gt.rb
│ │ │ │ │ ├── gt_eq.rb
│ │ │ │ │ ├── lt.rb
│ │ │ │ │ ├── lt_eq.rb
│ │ │ │ │ ├── min_max.rb
│ │ │ │ │ └── simple.rb
│ │ │ │ ├── range.rb
│ │ │ │ └── rpm.rb
│ │ │ ├── package.rb
│ │ │ ├── pidlock.rb
│ │ │ ├── platform.rb
│ │ │ ├── plist.rb
│ │ │ ├── posix.rb
│ │ │ ├── profiler/
│ │ │ │ ├── aggregate.rb
│ │ │ │ ├── around_profiler.rb
│ │ │ │ ├── logging.rb
│ │ │ │ ├── object_counts.rb
│ │ │ │ └── wall_clock.rb
│ │ │ ├── profiler.rb
│ │ │ ├── provider_features.rb
│ │ │ ├── psych_support.rb
│ │ │ ├── rdoc/
│ │ │ │ ├── code_objects.rb
│ │ │ │ ├── generators/
│ │ │ │ │ ├── puppet_generator.rb
│ │ │ │ │ └── template/
│ │ │ │ │ └── puppet/
│ │ │ │ │ └── puppet.rb
│ │ │ │ ├── parser/
│ │ │ │ │ ├── puppet_parser_core.rb
│ │ │ │ │ └── puppet_parser_rdoc2.rb
│ │ │ │ └── parser.rb
│ │ │ ├── rdoc.rb
│ │ │ ├── reference.rb
│ │ │ ├── resource_template.rb
│ │ │ ├── retry_action.rb
│ │ │ ├── rpm_compare.rb
│ │ │ ├── rubygems.rb
│ │ │ ├── run_mode.rb
│ │ │ ├── selinux.rb
│ │ │ ├── skip_tags.rb
│ │ │ ├── splayer.rb
│ │ │ ├── storage.rb
│ │ │ ├── suidmanager.rb
│ │ │ ├── symbolic_file_mode.rb
│ │ │ ├── tag_set.rb
│ │ │ ├── tagging.rb
│ │ │ ├── terminal.rb
│ │ │ ├── user_attr.rb
│ │ │ ├── warnings.rb
│ │ │ ├── watched_file.rb
│ │ │ ├── watcher/
│ │ │ │ ├── change_watcher.rb
│ │ │ │ ├── periodic_watcher.rb
│ │ │ │ └── timer.rb
│ │ │ ├── watcher.rb
│ │ │ ├── windows/
│ │ │ │ ├── access_control_entry.rb
│ │ │ │ ├── access_control_list.rb
│ │ │ │ ├── adsi.rb
│ │ │ │ ├── com.rb
│ │ │ │ ├── daemon.rb
│ │ │ │ ├── error.rb
│ │ │ │ ├── eventlog.rb
│ │ │ │ ├── file.rb
│ │ │ │ ├── monkey_patches/
│ │ │ │ │ └── process.rb
│ │ │ │ ├── principal.rb
│ │ │ │ ├── process.rb
│ │ │ │ ├── registry.rb
│ │ │ │ ├── root_certs.rb
│ │ │ │ ├── security.rb
│ │ │ │ ├── security_descriptor.rb
│ │ │ │ ├── service.rb
│ │ │ │ ├── sid.rb
│ │ │ │ ├── string.rb
│ │ │ │ └── user.rb
│ │ │ ├── windows.rb
│ │ │ └── yaml.rb
│ │ ├── util.rb
│ │ ├── vendor/
│ │ │ └── require_vendored.rb
│ │ ├── vendor.rb
│ │ ├── version.rb
│ │ ├── x509/
│ │ │ ├── cert_provider.rb
│ │ │ └── pem_store.rb
│ │ └── x509.rb
│ ├── puppet.rb
│ ├── puppet_pal.rb
│ └── puppet_x.rb
├── locales/
│ ├── config.yaml
│ ├── en/
│ │ └── puppet.po
│ └── puppet.pot
├── man/
│ ├── man5/
│ │ └── puppet.conf.5
│ └── man8/
│ ├── puppet-agent.8
│ ├── puppet-apply.8
│ ├── puppet-catalog.8
│ ├── puppet-config.8
│ ├── puppet-describe.8
│ ├── puppet-device.8
│ ├── puppet-doc.8
│ ├── puppet-epp.8
│ ├── puppet-facts.8
│ ├── puppet-filebucket.8
│ ├── puppet-generate.8
│ ├── puppet-help.8
│ ├── puppet-lookup.8
│ ├── puppet-module.8
│ ├── puppet-node.8
│ ├── puppet-parser.8
│ ├── puppet-plugin.8
│ ├── puppet-report.8
│ ├── puppet-resource.8
│ ├── puppet-script.8
│ ├── puppet-ssl.8
│ └── puppet.8
├── puppet.gemspec
├── rakelib/
│ ├── benchmark.rake
│ ├── ci.rake
│ ├── generate_ast_model.rake
│ ├── generate_cert_fixtures.rake
│ ├── generate_references.rake
│ ├── man/
│ │ └── puppet.erb
│ ├── manpages.rake
│ ├── memwalk.rake
│ ├── parallel.rake
│ ├── parser.rake
│ ├── references/
│ │ ├── configuration.erb
│ │ ├── function.erb
│ │ ├── functions_template.erb
│ │ ├── get_typedocs.rb
│ │ ├── man/
│ │ │ └── overview.erb
│ │ ├── man.erb
│ │ ├── metaparameter.erb
│ │ ├── report.erb
│ │ ├── types/
│ │ │ ├── overview.erb
│ │ │ ├── single_type.erb
│ │ │ └── type.erb
│ │ └── unified_type.erb
│ └── yard.rake
├── references/
│ ├── configuration.md
│ ├── function.md
│ ├── man/
│ │ ├── agent.md
│ │ ├── apply.md
│ │ ├── catalog.md
│ │ ├── config.md
│ │ ├── describe.md
│ │ ├── device.md
│ │ ├── doc.md
│ │ ├── epp.md
│ │ ├── facts.md
│ │ ├── filebucket.md
│ │ ├── generate.md
│ │ ├── help.md
│ │ ├── lookup.md
│ │ ├── module.md
│ │ ├── node.md
│ │ ├── overview.md
│ │ ├── parser.md
│ │ ├── plugin.md
│ │ ├── report.md
│ │ ├── resource.md
│ │ ├── script.md
│ │ └── ssl.md
│ ├── metaparameter.md
│ ├── report.md
│ ├── type.md
│ └── types/
│ ├── exec.md
│ ├── file.md
│ ├── filebucket.md
│ ├── group.md
│ ├── notify.md
│ ├── overview.md
│ ├── package.md
│ ├── resources.md
│ ├── schedule.md
│ ├── service.md
│ ├── stage.md
│ ├── tidy.md
│ └── user.md
├── spec/
│ ├── fixtures/
│ │ ├── faulty_face/
│ │ │ └── puppet/
│ │ │ └── face/
│ │ │ └── syntax.rb
│ │ ├── hiera.yaml
│ │ ├── integration/
│ │ │ ├── application/
│ │ │ │ ├── agent/
│ │ │ │ │ ├── cached_deferred_catalog.json
│ │ │ │ │ └── lib/
│ │ │ │ │ └── facter/
│ │ │ │ │ └── agent_spec_role.rb
│ │ │ │ ├── apply/
│ │ │ │ │ └── environments/
│ │ │ │ │ └── spec/
│ │ │ │ │ ├── .resource_types/
│ │ │ │ │ │ └── applytest.pp
│ │ │ │ │ └── modules/
│ │ │ │ │ └── amod/
│ │ │ │ │ └── lib/
│ │ │ │ │ └── puppet/
│ │ │ │ │ ├── provider/
│ │ │ │ │ │ └── applytest/
│ │ │ │ │ │ └── applytest.rb
│ │ │ │ │ └── type/
│ │ │ │ │ └── applytest.rb
│ │ │ │ └── module/
│ │ │ │ └── environments/
│ │ │ │ └── direnv/
│ │ │ │ └── modules/
│ │ │ │ └── nginx/
│ │ │ │ ├── README
│ │ │ │ ├── manifests/
│ │ │ │ │ └── init.pp
│ │ │ │ └── metadata.json
│ │ │ ├── l10n/
│ │ │ │ └── envs/
│ │ │ │ └── prod/
│ │ │ │ └── modules/
│ │ │ │ └── demo/
│ │ │ │ ├── Gemfile
│ │ │ │ ├── Rakefile
│ │ │ │ ├── lib/
│ │ │ │ │ └── puppet/
│ │ │ │ │ └── functions/
│ │ │ │ │ └── l10n.rb
│ │ │ │ ├── locales/
│ │ │ │ │ ├── config.yaml
│ │ │ │ │ ├── ja/
│ │ │ │ │ │ └── puppet-l10n.po
│ │ │ │ │ └── puppet-l10n.pot
│ │ │ │ └── metadata.json
│ │ │ └── node/
│ │ │ └── environment/
│ │ │ ├── sitedir/
│ │ │ │ ├── 00_a.pp
│ │ │ │ ├── 01_b.pp
│ │ │ │ ├── 03_empty.pp
│ │ │ │ └── 04_include.pp
│ │ │ └── sitedir2/
│ │ │ ├── 00_a.pp
│ │ │ ├── 02_folder/
│ │ │ │ └── 01_b.pp
│ │ │ ├── 03_c.pp
│ │ │ └── 04_include.pp
│ │ ├── java.tgz
│ │ ├── manifests/
│ │ │ └── site.pp
│ │ ├── releases/
│ │ │ └── jamtur01-apache/
│ │ │ ├── Modulefile
│ │ │ ├── files/
│ │ │ │ ├── httpd
│ │ │ │ └── test.vhost
│ │ │ ├── lib/
│ │ │ │ └── puppet/
│ │ │ │ ├── provider/
│ │ │ │ │ └── a2mod/
│ │ │ │ │ └── debian.rb
│ │ │ │ └── type/
│ │ │ │ └── a2mod.rb
│ │ │ ├── manifests/
│ │ │ │ ├── dev.pp
│ │ │ │ ├── init.pp
│ │ │ │ ├── params.pp
│ │ │ │ ├── php.pp
│ │ │ │ ├── ssl.pp
│ │ │ │ └── vhost.pp
│ │ │ ├── metadata.json
│ │ │ ├── templates/
│ │ │ │ └── vhost-default.conf.erb
│ │ │ └── tests/
│ │ │ ├── apache.pp
│ │ │ ├── dev.pp
│ │ │ ├── init.pp
│ │ │ ├── php.pp
│ │ │ ├── ssl.pp
│ │ │ └── vhost.pp
│ │ ├── ssl/
│ │ │ ├── 127.0.0.1-key.pem
│ │ │ ├── 127.0.0.1.pem
│ │ │ ├── bad-basic-constraints.pem
│ │ │ ├── bad-int-basic-constraints.pem
│ │ │ ├── ca.pem
│ │ │ ├── crl.pem
│ │ │ ├── ec-key-openssl.pem
│ │ │ ├── ec-key-pk8.pem
│ │ │ ├── ec-key.pem
│ │ │ ├── ec.pem
│ │ │ ├── encrypted-ec-key.pem
│ │ │ ├── encrypted-key.pem
│ │ │ ├── intermediate-agent-crl.pem
│ │ │ ├── intermediate-agent.pem
│ │ │ ├── intermediate-crl.pem
│ │ │ ├── intermediate-key.pem
│ │ │ ├── intermediate.pem
│ │ │ ├── netlock-arany-utf8.pem
│ │ │ ├── oid-key.pem
│ │ │ ├── oid.pem
│ │ │ ├── pluto-key.pem
│ │ │ ├── pluto.pem
│ │ │ ├── renewed.pem
│ │ │ ├── request-key.pem
│ │ │ ├── request.pem
│ │ │ ├── revoked-key.pem
│ │ │ ├── revoked.pem
│ │ │ ├── signed-key.pem
│ │ │ ├── signed.pem
│ │ │ ├── tampered-cert.pem
│ │ │ ├── tampered-csr.pem
│ │ │ ├── trusted_oid_mapping.yaml
│ │ │ ├── unknown-127.0.0.1-key.pem
│ │ │ ├── unknown-127.0.0.1.pem
│ │ │ ├── unknown-ca-key.pem
│ │ │ └── unknown-ca.pem
│ │ ├── stdlib.tgz
│ │ ├── unit/
│ │ │ ├── application/
│ │ │ │ └── environments/
│ │ │ │ ├── production/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ └── common.yaml
│ │ │ │ │ ├── environment.conf
│ │ │ │ │ └── manifests/
│ │ │ │ │ └── site.pp
│ │ │ │ └── puppet_func_provider/
│ │ │ │ ├── environment.conf
│ │ │ │ ├── functions/
│ │ │ │ │ └── environment/
│ │ │ │ │ └── data.pp
│ │ │ │ └── manifests/
│ │ │ │ └── site.pp
│ │ │ ├── data_providers/
│ │ │ │ └── environments/
│ │ │ │ ├── hiera_bad_syntax_json/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ └── bad.json
│ │ │ │ │ ├── environment.conf
│ │ │ │ │ ├── hiera.yaml
│ │ │ │ │ └── manifests/
│ │ │ │ │ └── site.pp
│ │ │ │ ├── hiera_bad_syntax_yaml/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ └── bad.yaml
│ │ │ │ │ ├── environment.conf
│ │ │ │ │ ├── hiera.yaml
│ │ │ │ │ └── manifests/
│ │ │ │ │ └── site.pp
│ │ │ │ ├── hiera_defaults/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ └── common.yaml
│ │ │ │ │ ├── environment.conf
│ │ │ │ │ ├── manifests/
│ │ │ │ │ │ └── site.pp
│ │ │ │ │ └── modules/
│ │ │ │ │ └── one/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ └── common.yaml
│ │ │ │ │ ├── manifests/
│ │ │ │ │ │ └── init.pp
│ │ │ │ │ └── metadata.json
│ │ │ │ ├── hiera_env_config/
│ │ │ │ │ ├── data1/
│ │ │ │ │ │ ├── first.json
│ │ │ │ │ │ ├── name.yaml
│ │ │ │ │ │ ├── second.json
│ │ │ │ │ │ ├── single.yaml
│ │ │ │ │ │ ├── third_utf8.json
│ │ │ │ │ │ └── utf8.yaml
│ │ │ │ │ ├── data2/
│ │ │ │ │ │ └── single.yaml
│ │ │ │ │ ├── environment.conf
│ │ │ │ │ ├── hiera.yaml
│ │ │ │ │ └── manifests/
│ │ │ │ │ └── site.pp
│ │ │ │ ├── hiera_misc/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ └── common.yaml
│ │ │ │ │ ├── environment.conf
│ │ │ │ │ ├── manifests/
│ │ │ │ │ │ └── site.pp
│ │ │ │ │ └── modules/
│ │ │ │ │ └── one/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ └── common.yaml
│ │ │ │ │ ├── manifests/
│ │ │ │ │ │ └── init.pp
│ │ │ │ │ └── metadata.json
│ │ │ │ ├── hiera_module_config/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ ├── common.yaml
│ │ │ │ │ │ └── specific.yaml
│ │ │ │ │ ├── environment.conf
│ │ │ │ │ ├── hiera.yaml
│ │ │ │ │ ├── manifests/
│ │ │ │ │ │ └── site.pp
│ │ │ │ │ └── modules/
│ │ │ │ │ └── one/
│ │ │ │ │ ├── data1/
│ │ │ │ │ │ ├── first.json
│ │ │ │ │ │ ├── name.yaml
│ │ │ │ │ │ ├── second.json
│ │ │ │ │ │ ├── server1.yaml
│ │ │ │ │ │ ├── server2.yaml
│ │ │ │ │ │ └── single.yaml
│ │ │ │ │ ├── data2/
│ │ │ │ │ │ └── single.yaml
│ │ │ │ │ ├── hiera.yaml
│ │ │ │ │ ├── manifests/
│ │ │ │ │ │ └── init.pp
│ │ │ │ │ └── metadata.json
│ │ │ │ ├── hiera_modules/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ ├── common.yaml
│ │ │ │ │ │ └── specific.yaml
│ │ │ │ │ ├── environment.conf
│ │ │ │ │ ├── hiera.yaml
│ │ │ │ │ ├── manifests/
│ │ │ │ │ │ └── site.pp
│ │ │ │ │ └── modules/
│ │ │ │ │ ├── one/
│ │ │ │ │ │ ├── data/
│ │ │ │ │ │ │ └── common.yaml
│ │ │ │ │ │ ├── hiera.yaml
│ │ │ │ │ │ ├── manifests/
│ │ │ │ │ │ │ └── init.pp
│ │ │ │ │ │ └── metadata.json
│ │ │ │ │ └── two/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ └── common.yaml
│ │ │ │ │ ├── hiera.yaml
│ │ │ │ │ ├── manifests/
│ │ │ │ │ │ └── init.pp
│ │ │ │ │ └── metadata.json
│ │ │ │ └── production/
│ │ │ │ ├── environment.conf
│ │ │ │ ├── lib/
│ │ │ │ │ └── puppet/
│ │ │ │ │ └── functions/
│ │ │ │ │ └── environment/
│ │ │ │ │ └── data.rb
│ │ │ │ └── modules/
│ │ │ │ ├── abc/
│ │ │ │ │ ├── lib/
│ │ │ │ │ │ └── puppet/
│ │ │ │ │ │ └── functions/
│ │ │ │ │ │ └── abc/
│ │ │ │ │ │ └── data.rb
│ │ │ │ │ ├── manifests/
│ │ │ │ │ │ └── init.pp
│ │ │ │ │ └── metadata.json
│ │ │ │ └── xyz/
│ │ │ │ ├── functions/
│ │ │ │ │ └── data.pp
│ │ │ │ ├── manifests/
│ │ │ │ │ └── init.pp
│ │ │ │ └── metadata.json
│ │ │ ├── forge/
│ │ │ │ ├── bacula-releases.json
│ │ │ │ └── bacula.json
│ │ │ ├── functions/
│ │ │ │ ├── hiera/
│ │ │ │ │ └── hiera/
│ │ │ │ │ └── backend/
│ │ │ │ │ └── hieraspec_backend.rb
│ │ │ │ ├── lookup/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ └── common.yaml
│ │ │ │ │ └── hiera/
│ │ │ │ │ └── backend/
│ │ │ │ │ ├── custom_backend.rb
│ │ │ │ │ └── other_backend.rb
│ │ │ │ └── lookup_fixture/
│ │ │ │ ├── data/
│ │ │ │ │ └── common.yaml
│ │ │ │ └── environments/
│ │ │ │ └── production/
│ │ │ │ ├── environment.conf
│ │ │ │ ├── lib/
│ │ │ │ │ └── puppet/
│ │ │ │ │ └── functions/
│ │ │ │ │ └── environment/
│ │ │ │ │ └── data.rb
│ │ │ │ └── modules/
│ │ │ │ ├── abc/
│ │ │ │ │ ├── lib/
│ │ │ │ │ │ └── puppet/
│ │ │ │ │ │ └── functions/
│ │ │ │ │ │ └── abc/
│ │ │ │ │ │ └── data.rb
│ │ │ │ │ ├── manifests/
│ │ │ │ │ │ └── init.pp
│ │ │ │ │ └── metadata.json
│ │ │ │ ├── bad_data/
│ │ │ │ │ ├── lib/
│ │ │ │ │ │ └── puppet/
│ │ │ │ │ │ └── functions/
│ │ │ │ │ │ └── bad_data/
│ │ │ │ │ │ └── data.rb
│ │ │ │ │ ├── manifests/
│ │ │ │ │ │ └── init.pp
│ │ │ │ │ └── metadata.json
│ │ │ │ ├── bca/
│ │ │ │ │ ├── lib/
│ │ │ │ │ │ └── puppet/
│ │ │ │ │ │ └── functions/
│ │ │ │ │ │ └── bca/
│ │ │ │ │ │ └── data.rb
│ │ │ │ │ ├── manifests/
│ │ │ │ │ │ └── init.pp
│ │ │ │ │ └── metadata.json
│ │ │ │ ├── empty_json/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ └── empty.json
│ │ │ │ │ ├── hiera.yaml
│ │ │ │ │ ├── manifests/
│ │ │ │ │ │ └── init.pp
│ │ │ │ │ └── metadata.json
│ │ │ │ ├── empty_key_json/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ └── empty_key.json
│ │ │ │ │ ├── hiera.yaml
│ │ │ │ │ ├── manifests/
│ │ │ │ │ │ └── init.pp
│ │ │ │ │ └── metadata.json
│ │ │ │ ├── empty_key_yaml/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ └── empty_key.yaml
│ │ │ │ │ ├── hiera.yaml
│ │ │ │ │ ├── manifests/
│ │ │ │ │ │ └── init.pp
│ │ │ │ │ └── metadata.json
│ │ │ │ ├── empty_yaml/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ └── empty.yaml
│ │ │ │ │ ├── hiera.yaml
│ │ │ │ │ ├── manifests/
│ │ │ │ │ │ └── init.pp
│ │ │ │ │ └── metadata.json
│ │ │ │ ├── hieraprovider/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ └── first.json
│ │ │ │ │ ├── hiera.yaml
│ │ │ │ │ ├── manifests/
│ │ │ │ │ │ └── init.pp
│ │ │ │ │ └── metadata.json
│ │ │ │ ├── meta/
│ │ │ │ │ ├── lib/
│ │ │ │ │ │ └── puppet/
│ │ │ │ │ │ └── functions/
│ │ │ │ │ │ └── meta/
│ │ │ │ │ │ └── data.rb
│ │ │ │ │ ├── manifests/
│ │ │ │ │ │ └── init.pp
│ │ │ │ │ └── metadata.json
│ │ │ │ └── no_provider/
│ │ │ │ └── manifests/
│ │ │ │ └── init.pp
│ │ │ ├── indirector/
│ │ │ │ ├── data_binding/
│ │ │ │ │ └── hiera/
│ │ │ │ │ ├── global.yaml
│ │ │ │ │ └── invalid.yaml
│ │ │ │ └── hiera/
│ │ │ │ ├── global.yaml
│ │ │ │ └── invalid.yaml
│ │ │ ├── module/
│ │ │ │ └── trailing-comma.json
│ │ │ ├── parser/
│ │ │ │ ├── functions/
│ │ │ │ │ └── create_resources/
│ │ │ │ │ └── foo/
│ │ │ │ │ └── manifests/
│ │ │ │ │ ├── init.pp
│ │ │ │ │ └── wrongdefine.pp
│ │ │ │ └── lexer/
│ │ │ │ ├── aliastest.pp
│ │ │ │ ├── append.pp
│ │ │ │ ├── argumentdefaults.pp
│ │ │ │ ├── arithmetic_expression.pp
│ │ │ │ ├── arraytrailingcomma.pp
│ │ │ │ ├── casestatement.pp
│ │ │ │ ├── classheirarchy.pp
│ │ │ │ ├── classincludes.pp
│ │ │ │ ├── classpathtest.pp
│ │ │ │ ├── collection.pp
│ │ │ │ ├── collection_override.pp
│ │ │ │ ├── collection_within_virtual_definitions.pp
│ │ │ │ ├── componentmetaparams.pp
│ │ │ │ ├── componentrequire.pp
│ │ │ │ ├── deepclassheirarchy.pp
│ │ │ │ ├── defineoverrides.pp
│ │ │ │ ├── emptyclass.pp
│ │ │ │ ├── emptyexec.pp
│ │ │ │ ├── emptyifelse.pp
│ │ │ │ ├── falsevalues.pp
│ │ │ │ ├── filecreate.pp
│ │ │ │ ├── fqdefinition.pp
│ │ │ │ ├── fqparents.pp
│ │ │ │ ├── funccomma.pp
│ │ │ │ ├── hash.pp
│ │ │ │ ├── ifexpression.pp
│ │ │ │ ├── implicititeration.pp
│ │ │ │ ├── multilinecomments.pp
│ │ │ │ ├── multipleclass.pp
│ │ │ │ ├── multipleinstances.pp
│ │ │ │ ├── multisubs.pp
│ │ │ │ ├── namevartest.pp
│ │ │ │ ├── scopetest.pp
│ │ │ │ ├── selectorvalues.pp
│ │ │ │ ├── simpledefaults.pp
│ │ │ │ ├── simpleselector.pp
│ │ │ │ ├── singleary.pp
│ │ │ │ ├── singlequote.pp
│ │ │ │ ├── singleselector.pp
│ │ │ │ ├── subclass_name_duplication.pp
│ │ │ │ ├── tag.pp
│ │ │ │ ├── tagged.pp
│ │ │ │ └── virtualresources.pp
│ │ │ ├── pops/
│ │ │ │ ├── binder/
│ │ │ │ │ ├── bindings_composer/
│ │ │ │ │ │ └── ok/
│ │ │ │ │ │ ├── binder_config.yaml
│ │ │ │ │ │ ├── lib/
│ │ │ │ │ │ │ └── puppet/
│ │ │ │ │ │ │ └── bindings/
│ │ │ │ │ │ │ └── confdirtest.rb
│ │ │ │ │ │ └── modules/
│ │ │ │ │ │ ├── awesome2/
│ │ │ │ │ │ │ └── lib/
│ │ │ │ │ │ │ ├── puppet/
│ │ │ │ │ │ │ │ └── bindings/
│ │ │ │ │ │ │ │ └── awesome2/
│ │ │ │ │ │ │ │ └── default.rb
│ │ │ │ │ │ │ └── puppet_x/
│ │ │ │ │ │ │ └── awesome2/
│ │ │ │ │ │ │ └── echo_scheme_handler.rb
│ │ │ │ │ │ ├── bad/
│ │ │ │ │ │ │ └── lib/
│ │ │ │ │ │ │ └── puppet/
│ │ │ │ │ │ │ └── bindings/
│ │ │ │ │ │ │ └── bad/
│ │ │ │ │ │ │ └── default.rb
│ │ │ │ │ │ └── good/
│ │ │ │ │ │ └── lib/
│ │ │ │ │ │ └── puppet/
│ │ │ │ │ │ └── bindings/
│ │ │ │ │ │ └── good/
│ │ │ │ │ │ └── default.rb
│ │ │ │ │ └── config/
│ │ │ │ │ └── binder_config/
│ │ │ │ │ ├── nolayer/
│ │ │ │ │ │ └── binder_config.yaml
│ │ │ │ │ └── ok/
│ │ │ │ │ └── binder_config.yaml
│ │ │ │ ├── loaders/
│ │ │ │ │ └── loaders/
│ │ │ │ │ ├── dependent_modules_with_metadata/
│ │ │ │ │ │ └── modules/
│ │ │ │ │ │ ├── usee/
│ │ │ │ │ │ │ ├── functions/
│ │ │ │ │ │ │ │ └── usee_puppet.pp
│ │ │ │ │ │ │ ├── lib/
│ │ │ │ │ │ │ │ └── puppet/
│ │ │ │ │ │ │ │ ├── functions/
│ │ │ │ │ │ │ │ │ └── usee/
│ │ │ │ │ │ │ │ │ ├── callee.rb
│ │ │ │ │ │ │ │ │ └── usee_ruby.rb
│ │ │ │ │ │ │ │ └── type/
│ │ │ │ │ │ │ │ └── usee_type.rb
│ │ │ │ │ │ │ ├── manifests/
│ │ │ │ │ │ │ │ └── init.pp
│ │ │ │ │ │ │ └── types/
│ │ │ │ │ │ │ └── zero.pp
│ │ │ │ │ │ ├── usee2/
│ │ │ │ │ │ │ └── lib/
│ │ │ │ │ │ │ └── puppet/
│ │ │ │ │ │ │ └── functions/
│ │ │ │ │ │ │ └── usee2/
│ │ │ │ │ │ │ └── callee.rb
│ │ │ │ │ │ └── user/
│ │ │ │ │ │ ├── functions/
│ │ │ │ │ │ │ ├── puppet_calling_puppet.pp
│ │ │ │ │ │ │ ├── puppet_calling_puppet_init.pp
│ │ │ │ │ │ │ └── puppet_calling_ruby.pp
│ │ │ │ │ │ ├── lib/
│ │ │ │ │ │ │ └── puppet/
│ │ │ │ │ │ │ └── functions/
│ │ │ │ │ │ │ └── user/
│ │ │ │ │ │ │ ├── caller.rb
│ │ │ │ │ │ │ ├── caller2.rb
│ │ │ │ │ │ │ ├── ruby_calling_puppet.rb
│ │ │ │ │ │ │ ├── ruby_calling_puppet_init.rb
│ │ │ │ │ │ │ └── ruby_calling_ruby.rb
│ │ │ │ │ │ ├── manifests/
│ │ │ │ │ │ │ └── init.pp
│ │ │ │ │ │ ├── metadata.json
│ │ │ │ │ │ └── types/
│ │ │ │ │ │ ├── withuseeone.pp
│ │ │ │ │ │ └── withuseezero.pp
│ │ │ │ │ ├── mix_4x_and_3x_functions/
│ │ │ │ │ │ ├── usee/
│ │ │ │ │ │ │ ├── lib/
│ │ │ │ │ │ │ │ └── puppet/
│ │ │ │ │ │ │ │ └── parser/
│ │ │ │ │ │ │ │ └── functions/
│ │ │ │ │ │ │ │ ├── bad_func_load.rb
│ │ │ │ │ │ │ │ ├── bad_func_load2.rb
│ │ │ │ │ │ │ │ ├── bad_func_load3.rb
│ │ │ │ │ │ │ │ ├── bad_func_load4.rb
│ │ │ │ │ │ │ │ ├── bad_func_load5.rb
│ │ │ │ │ │ │ │ ├── callee.rb
│ │ │ │ │ │ │ │ ├── callee_ws.rb
│ │ │ │ │ │ │ │ ├── func_with_syntax_error.rb
│ │ │ │ │ │ │ │ └── good_func_load.rb
│ │ │ │ │ │ │ └── metadata.json
│ │ │ │ │ │ └── user/
│ │ │ │ │ │ ├── functions/
│ │ │ │ │ │ │ ├── puppetcalled.pp
│ │ │ │ │ │ │ ├── puppetcaller.pp
│ │ │ │ │ │ │ └── puppetcaller4.pp
│ │ │ │ │ │ ├── lib/
│ │ │ │ │ │ │ └── puppet/
│ │ │ │ │ │ │ └── functions/
│ │ │ │ │ │ │ └── user/
│ │ │ │ │ │ │ ├── caller.rb
│ │ │ │ │ │ │ ├── caller_ws.rb
│ │ │ │ │ │ │ └── callingpuppet.rb
│ │ │ │ │ │ └── metadata.json
│ │ │ │ │ ├── module_no_lib/
│ │ │ │ │ │ └── modules/
│ │ │ │ │ │ └── modulea/
│ │ │ │ │ │ ├── functions/
│ │ │ │ │ │ │ └── hello.pp
│ │ │ │ │ │ ├── manifests/
│ │ │ │ │ │ │ └── init.pp
│ │ │ │ │ │ └── metadata.json
│ │ │ │ │ ├── no_modules/
│ │ │ │ │ │ └── manifests/
│ │ │ │ │ │ └── site.pp
│ │ │ │ │ ├── pp_resources/
│ │ │ │ │ │ └── .resource_types/
│ │ │ │ │ │ ├── addlogic.pp
│ │ │ │ │ │ ├── badcall.pp
│ │ │ │ │ │ ├── empty.pp
│ │ │ │ │ │ ├── myresource.pp
│ │ │ │ │ │ └── wrongname.pp
│ │ │ │ │ ├── single_module/
│ │ │ │ │ │ └── modules/
│ │ │ │ │ │ └── modulea/
│ │ │ │ │ │ ├── functions/
│ │ │ │ │ │ │ ├── hello.pp
│ │ │ │ │ │ │ └── subspace/
│ │ │ │ │ │ │ └── hello.pp
│ │ │ │ │ │ ├── lib/
│ │ │ │ │ │ │ └── puppet/
│ │ │ │ │ │ │ └── functions/
│ │ │ │ │ │ │ ├── modulea/
│ │ │ │ │ │ │ │ └── rb_func_a.rb
│ │ │ │ │ │ │ └── rb_func_a.rb
│ │ │ │ │ │ ├── manifests/
│ │ │ │ │ │ │ └── init.pp
│ │ │ │ │ │ └── metadata.json
│ │ │ │ │ └── wo_metadata_module/
│ │ │ │ │ └── modules/
│ │ │ │ │ └── moduleb/
│ │ │ │ │ ├── lib/
│ │ │ │ │ │ └── puppet/
│ │ │ │ │ │ └── functions/
│ │ │ │ │ │ └── moduleb/
│ │ │ │ │ │ └── rb_func_b.rb
│ │ │ │ │ └── manifests/
│ │ │ │ │ └── init.pp
│ │ │ │ └── parser/
│ │ │ │ └── lexer/
│ │ │ │ ├── aliastest.pp
│ │ │ │ ├── append.pp
│ │ │ │ ├── argumentdefaults.pp
│ │ │ │ ├── arithmetic_expression.pp
│ │ │ │ ├── arraytrailingcomma.pp
│ │ │ │ ├── casestatement.pp
│ │ │ │ ├── classheirarchy.pp
│ │ │ │ ├── classincludes.pp
│ │ │ │ ├── classpathtest.pp
│ │ │ │ ├── collection.pp
│ │ │ │ ├── collection_override.pp
│ │ │ │ ├── collection_within_virtual_definitions.pp
│ │ │ │ ├── componentmetaparams.pp
│ │ │ │ ├── componentrequire.pp
│ │ │ │ ├── deepclassheirarchy.pp
│ │ │ │ ├── defineoverrides.pp
│ │ │ │ ├── emptyclass.pp
│ │ │ │ ├── emptyexec.pp
│ │ │ │ ├── emptyifelse.pp
│ │ │ │ ├── falsevalues.pp
│ │ │ │ ├── filecreate.pp
│ │ │ │ ├── fqdefinition.pp
│ │ │ │ ├── fqparents.pp
│ │ │ │ ├── funccomma.pp
│ │ │ │ ├── hash.pp
│ │ │ │ ├── ifexpression.pp
│ │ │ │ ├── implicititeration.pp
│ │ │ │ ├── multilinecomments.pp
│ │ │ │ ├── multipleclass.pp
│ │ │ │ ├── multipleinstances.pp
│ │ │ │ ├── multisubs.pp
│ │ │ │ ├── namevartest.pp
│ │ │ │ ├── scopetest.pp
│ │ │ │ ├── selectorvalues.pp
│ │ │ │ ├── simpledefaults.pp
│ │ │ │ ├── simpleselector.pp
│ │ │ │ ├── singleary.pp
│ │ │ │ ├── singlequote.pp
│ │ │ │ ├── singleselector.pp
│ │ │ │ ├── subclass_name_duplication.pp
│ │ │ │ ├── tag.pp
│ │ │ │ ├── tagged.pp
│ │ │ │ └── virtualresources.pp
│ │ │ ├── provider/
│ │ │ │ ├── aix_object/
│ │ │ │ │ ├── aix_colon_list_real_world_input.out
│ │ │ │ │ └── aix_colon_list_real_world_output.out
│ │ │ │ ├── cron/
│ │ │ │ │ ├── crontab/
│ │ │ │ │ │ ├── single_line.yaml
│ │ │ │ │ │ └── vixie_header.txt
│ │ │ │ │ └── parsed/
│ │ │ │ │ ├── managed
│ │ │ │ │ └── simple
│ │ │ │ ├── package/
│ │ │ │ │ ├── dnfmodule/
│ │ │ │ │ │ └── dnf-module-list.txt
│ │ │ │ │ ├── gem/
│ │ │ │ │ │ ├── gem-list-single-package
│ │ │ │ │ │ └── line-with-1.8.5-warning
│ │ │ │ │ ├── openbsd/
│ │ │ │ │ │ ├── pkginfo.detail
│ │ │ │ │ │ ├── pkginfo.list
│ │ │ │ │ │ ├── pkginfo.query
│ │ │ │ │ │ └── pkginfo_flavors.list
│ │ │ │ │ ├── pkg/
│ │ │ │ │ │ ├── dummy_implicit_version
│ │ │ │ │ │ ├── dummy_solaris10
│ │ │ │ │ │ ├── dummy_solaris11.certificate_warning
│ │ │ │ │ │ ├── dummy_solaris11.ifo.installed
│ │ │ │ │ │ ├── dummy_solaris11.ifo.known
│ │ │ │ │ │ ├── dummy_solaris11.installed
│ │ │ │ │ │ ├── dummy_solaris11.known
│ │ │ │ │ │ ├── incomplete
│ │ │ │ │ │ ├── solaris11
│ │ │ │ │ │ └── unknown_status
│ │ │ │ │ ├── pkgng/
│ │ │ │ │ │ ├── pkg.query
│ │ │ │ │ │ ├── pkg.query.zsh
│ │ │ │ │ │ └── pkg.version
│ │ │ │ │ ├── puppetserver_gem/
│ │ │ │ │ │ └── gem-list-local-packages
│ │ │ │ │ ├── sun/
│ │ │ │ │ │ ├── dummy.server
│ │ │ │ │ │ └── simple
│ │ │ │ │ ├── yum/
│ │ │ │ │ │ ├── yum-check-update-broken-notices.txt
│ │ │ │ │ │ ├── yum-check-update-multiline.txt
│ │ │ │ │ │ ├── yum-check-update-obsoletes.txt
│ │ │ │ │ │ ├── yum-check-update-plugin-output.txt
│ │ │ │ │ │ ├── yum-check-update-security.txt
│ │ │ │ │ │ ├── yum-check-update-simple.txt
│ │ │ │ │ │ └── yum-check-update-subscription-manager.txt
│ │ │ │ │ └── zypper/
│ │ │ │ │ ├── zypper-list-updates-SLES11sp1.out
│ │ │ │ │ ├── zypper-list-updates-empty.out
│ │ │ │ │ └── zypper-search-uninstalled.out
│ │ │ │ ├── parsedfile/
│ │ │ │ │ ├── aliases.txt
│ │ │ │ │ └── simple.txt
│ │ │ │ ├── service/
│ │ │ │ │ ├── base/
│ │ │ │ │ │ └── ps_ef.mixed_encoding
│ │ │ │ │ ├── gentoo/
│ │ │ │ │ │ └── rc_update_show
│ │ │ │ │ ├── openbsd/
│ │ │ │ │ │ └── rcctl_getall
│ │ │ │ │ ├── openrc/
│ │ │ │ │ │ ├── rcservice_list
│ │ │ │ │ │ └── rcstatus
│ │ │ │ │ ├── smf/
│ │ │ │ │ │ ├── svcs_fmri.out
│ │ │ │ │ │ ├── svcs_instances.out
│ │ │ │ │ │ └── svcs_multiple_fmris.out
│ │ │ │ │ └── systemd/
│ │ │ │ │ ├── list_unit_files_services
│ │ │ │ │ └── list_unit_files_services_vendor_preset
│ │ │ │ └── user/
│ │ │ │ └── aix/
│ │ │ │ └── aix_passwd_file.out
│ │ │ ├── reports/
│ │ │ │ └── tagmail/
│ │ │ │ ├── tagmail_email.conf
│ │ │ │ ├── tagmail_failers.conf
│ │ │ │ └── tagmail_passers.conf
│ │ │ ├── ssl/
│ │ │ │ ├── certificate/
│ │ │ │ │ └── old-style-cert-exts.pem
│ │ │ │ └── certificate_request/
│ │ │ │ └── old-style-cert-request.pem
│ │ │ ├── type/
│ │ │ │ └── user/
│ │ │ │ └── authorized_keys
│ │ │ └── util/
│ │ │ ├── filetype/
│ │ │ │ ├── aixtab_output
│ │ │ │ └── suntab_output
│ │ │ ├── monkey_patches/
│ │ │ │ └── x509.pem
│ │ │ └── rdoc/
│ │ │ └── basic.pp
│ │ ├── vcr/
│ │ │ └── cassettes/
│ │ │ └── Puppet_Type_File/
│ │ │ └── when_sourcing/
│ │ │ └── from_http/
│ │ │ ├── using_md5/
│ │ │ │ ├── should_fetch_if_not_on_the_local_disk.yml
│ │ │ │ ├── should_not_update_if_content_on_disk_is_up-to-date.yml
│ │ │ │ └── should_update_if_content_differs_on_disk.yml
│ │ │ └── using_mtime/
│ │ │ ├── should_fetch_if_mtime_is_older_on_disk.yml
│ │ │ ├── should_fetch_if_no_header_specified.yml
│ │ │ ├── should_fetch_if_not_on_the_local_disk.yml
│ │ │ └── should_not_update_if_mtime_is_newer_on_disk.yml
│ │ └── yaml/
│ │ ├── report2.6.x.yaml
│ │ └── test.local.yaml
│ ├── integration/
│ │ ├── agent/
│ │ │ └── logging_spec.rb
│ │ ├── application/
│ │ │ ├── agent_spec.rb
│ │ │ ├── apply_spec.rb
│ │ │ ├── doc_spec.rb
│ │ │ ├── filebucket_spec.rb
│ │ │ ├── help_spec.rb
│ │ │ ├── lookup_spec.rb
│ │ │ ├── module_spec.rb
│ │ │ ├── plugin_spec.rb
│ │ │ ├── resource_spec.rb
│ │ │ └── ssl_spec.rb
│ │ ├── configurer_spec.rb
│ │ ├── data_binding_spec.rb
│ │ ├── defaults_spec.rb
│ │ ├── directory_environments_spec.rb
│ │ ├── environments/
│ │ │ ├── default_manifest_spec.rb
│ │ │ ├── setting_hooks_spec.rb
│ │ │ ├── settings_interpolation_spec.rb
│ │ │ └── settings_spec.rb
│ │ ├── http/
│ │ │ └── client_spec.rb
│ │ ├── indirector/
│ │ │ ├── catalog/
│ │ │ │ └── compiler_spec.rb
│ │ │ ├── direct_file_server_spec.rb
│ │ │ ├── facts/
│ │ │ │ └── facter_spec.rb
│ │ │ ├── file_content/
│ │ │ │ └── file_server_spec.rb
│ │ │ └── file_metadata/
│ │ │ └── file_server_spec.rb
│ │ ├── l10n/
│ │ │ └── compiler_spec.rb
│ │ ├── network/
│ │ │ ├── formats_spec.rb
│ │ │ ├── http/
│ │ │ │ └── api/
│ │ │ │ └── indirected_routes_spec.rb
│ │ │ └── http_pool_spec.rb
│ │ ├── node/
│ │ │ ├── environment_spec.rb
│ │ │ └── facts_spec.rb
│ │ ├── node_spec.rb
│ │ ├── parser/
│ │ │ ├── catalog_spec.rb
│ │ │ ├── class_spec.rb
│ │ │ ├── collection_spec.rb
│ │ │ ├── compiler_spec.rb
│ │ │ ├── conditionals_spec.rb
│ │ │ ├── dynamic_scoping_spec.rb
│ │ │ ├── environment_spec.rb
│ │ │ ├── node_spec.rb
│ │ │ ├── parameter_defaults_spec.rb
│ │ │ ├── pcore_resource_spec.rb
│ │ │ ├── resource_expressions_spec.rb
│ │ │ ├── scope_spec.rb
│ │ │ ├── script_compiler_spec.rb
│ │ │ └── undef_param_spec.rb
│ │ ├── provider/
│ │ │ └── file/
│ │ │ └── windows_spec.rb
│ │ ├── resource/
│ │ │ ├── catalog_spec.rb
│ │ │ └── type_collection_spec.rb
│ │ ├── transaction/
│ │ │ └── report_spec.rb
│ │ ├── transaction_spec.rb
│ │ ├── type/
│ │ │ ├── exec_spec.rb
│ │ │ ├── file_spec.rb
│ │ │ ├── notify_spec.rb
│ │ │ ├── package_spec.rb
│ │ │ └── tidy_spec.rb
│ │ ├── type_spec.rb
│ │ ├── util/
│ │ │ ├── autoload_spec.rb
│ │ │ ├── execution_spec.rb
│ │ │ ├── rdoc/
│ │ │ │ └── parser_spec.rb
│ │ │ ├── settings_spec.rb
│ │ │ └── windows/
│ │ │ ├── adsi_spec.rb
│ │ │ ├── monkey_patches/
│ │ │ │ └── process_spec.rb
│ │ │ ├── principal_spec.rb
│ │ │ ├── process_spec.rb
│ │ │ ├── registry_spec.rb
│ │ │ ├── security_spec.rb
│ │ │ └── user_spec.rb
│ │ └── util_spec.rb
│ ├── lib/
│ │ ├── matchers/
│ │ │ ├── containment_matchers.rb
│ │ │ ├── include_in_order.rb
│ │ │ ├── include_in_order_spec.rb
│ │ │ ├── json.rb
│ │ │ ├── match_tokens2.rb
│ │ │ ├── relationship_graph_matchers.rb
│ │ │ └── resource.rb
│ │ ├── puppet/
│ │ │ ├── certificate_factory.rb
│ │ │ ├── face/
│ │ │ │ ├── 1.0.0/
│ │ │ │ │ └── huzzah.rb
│ │ │ │ ├── basetest.rb
│ │ │ │ ├── huzzah/
│ │ │ │ │ └── obsolete.rb
│ │ │ │ ├── huzzah.rb
│ │ │ │ └── version_matching.rb
│ │ │ ├── indirector/
│ │ │ │ └── indirector_testing/
│ │ │ │ ├── json.rb
│ │ │ │ ├── memory.rb
│ │ │ │ └── msgpack.rb
│ │ │ ├── indirector_proxy.rb
│ │ │ ├── indirector_testing.rb
│ │ │ └── test_ca.rb
│ │ └── puppet_spec/
│ │ ├── character_encoding.rb
│ │ ├── compiler.rb
│ │ ├── files.rb
│ │ ├── fixtures.rb
│ │ ├── handler.rb
│ │ ├── https.rb
│ │ ├── language.rb
│ │ ├── matchers.rb
│ │ ├── module_tool/
│ │ │ ├── shared_functions.rb
│ │ │ └── stub_source.rb
│ │ ├── modules.rb
│ │ ├── network.rb
│ │ ├── pops.rb
│ │ ├── puppetserver.rb
│ │ ├── scope.rb
│ │ ├── settings.rb
│ │ ├── ssl.rb
│ │ ├── unindent.rb
│ │ └── verbose.rb
│ ├── shared_behaviours/
│ │ ├── all_parsedfile_providers.rb
│ │ ├── an_indirector_face.rb
│ │ ├── documentation_on_faces.rb
│ │ ├── file_server_terminus.rb
│ │ ├── file_serving.rb
│ │ ├── hiera_indirections.rb
│ │ ├── iterative_functions.rb
│ │ ├── memory_terminus.rb
│ │ ├── path_parameters.rb
│ │ ├── store_configs_terminus.rb
│ │ └── things_that_declare_options.rb
│ ├── shared_contexts/
│ │ ├── checksum.rb
│ │ ├── digests.rb
│ │ ├── https.rb
│ │ ├── l10n.rb
│ │ ├── provider.rb
│ │ └── types_setup.rb
│ ├── shared_examples/
│ │ └── rhel_package_provider.rb
│ ├── spec_helper.rb
│ └── unit/
│ ├── agent/
│ │ ├── disabler_spec.rb
│ │ └── locker_spec.rb
│ ├── agent_spec.rb
│ ├── application/
│ │ ├── agent_spec.rb
│ │ ├── apply_spec.rb
│ │ ├── config_spec.rb
│ │ ├── describe_spec.rb
│ │ ├── device_spec.rb
│ │ ├── doc_spec.rb
│ │ ├── face_base_spec.rb
│ │ ├── facts_spec.rb
│ │ ├── filebucket_spec.rb
│ │ ├── indirection_base_spec.rb
│ │ ├── lookup_spec.rb
│ │ ├── resource_spec.rb
│ │ └── ssl_spec.rb
│ ├── application_spec.rb
│ ├── certificate_factory_spec.rb
│ ├── concurrent/
│ │ ├── lock_spec.rb
│ │ └── thread_local_singleton_spec.rb
│ ├── configurer/
│ │ ├── downloader_spec.rb
│ │ ├── fact_handler_spec.rb
│ │ └── plugin_handler_spec.rb
│ ├── configurer_spec.rb
│ ├── confine/
│ │ ├── exists_spec.rb
│ │ ├── false_spec.rb
│ │ ├── feature_spec.rb
│ │ ├── true_spec.rb
│ │ └── variable_spec.rb
│ ├── confine_collection_spec.rb
│ ├── confine_spec.rb
│ ├── confiner_spec.rb
│ ├── context/
│ │ └── trusted_information_spec.rb
│ ├── context_spec.rb
│ ├── daemon_spec.rb
│ ├── data_binding_spec.rb
│ ├── data_providers/
│ │ ├── function_data_provider_spec.rb
│ │ └── hiera_data_provider_spec.rb
│ ├── datatypes_spec.rb
│ ├── defaults_spec.rb
│ ├── environments_spec.rb
│ ├── etc_spec.rb
│ ├── external/
│ │ └── pson_spec.rb
│ ├── face/
│ │ ├── catalog_spec.rb
│ │ ├── config_spec.rb
│ │ ├── epp_face_spec.rb
│ │ ├── facts_spec.rb
│ │ ├── generate_spec.rb
│ │ ├── help_spec.rb
│ │ ├── module/
│ │ │ ├── install_spec.rb
│ │ │ ├── list_spec.rb
│ │ │ ├── uninstall_spec.rb
│ │ │ └── upgrade_spec.rb
│ │ ├── node_spec.rb
│ │ ├── parser_spec.rb
│ │ └── plugin_spec.rb
│ ├── face_spec.rb
│ ├── facter_impl_spec.rb
│ ├── file_bucket/
│ │ ├── dipper_spec.rb
│ │ └── file_spec.rb
│ ├── file_serving/
│ │ ├── base_spec.rb
│ │ ├── configuration/
│ │ │ └── parser_spec.rb
│ │ ├── configuration_spec.rb
│ │ ├── content_spec.rb
│ │ ├── fileset_spec.rb
│ │ ├── http_metadata_spec.rb
│ │ ├── metadata_spec.rb
│ │ ├── mount/
│ │ │ ├── file_spec.rb
│ │ │ ├── locales_spec.rb
│ │ │ ├── modules_spec.rb
│ │ │ ├── pluginfacts_spec.rb
│ │ │ ├── plugins_spec.rb
│ │ │ ├── scripts_spec.rb
│ │ │ └── tasks_spec.rb
│ │ ├── mount_spec.rb
│ │ ├── terminus_helper_spec.rb
│ │ └── terminus_selector_spec.rb
│ ├── file_system/
│ │ ├── path_pattern_spec.rb
│ │ └── uniquefile_spec.rb
│ ├── file_system_spec.rb
│ ├── forge/
│ │ ├── errors_spec.rb
│ │ ├── forge_spec.rb
│ │ ├── module_release_spec.rb
│ │ └── repository_spec.rb
│ ├── forge_spec.rb
│ ├── functions/
│ │ ├── abs_spec.rb
│ │ ├── all_spec.rb
│ │ ├── annotate_spec.rb
│ │ ├── any_spec.rb
│ │ ├── assert_type_spec.rb
│ │ ├── binary_file_spec.rb
│ │ ├── break_spec.rb
│ │ ├── call_spec.rb
│ │ ├── camelcase_spec.rb
│ │ ├── capitalize_spec.rb
│ │ ├── ceiling_spec.rb
│ │ ├── chomp_spec.rb
│ │ ├── chop_spec.rb
│ │ ├── compare_spec.rb
│ │ ├── contain_spec.rb
│ │ ├── convert_to_spec.rb
│ │ ├── defined_spec.rb
│ │ ├── dig_spec.rb
│ │ ├── downcase_spec.rb
│ │ ├── each_spec.rb
│ │ ├── empty_spec.rb
│ │ ├── epp_spec.rb
│ │ ├── filter_spec.rb
│ │ ├── find_file_spec.rb
│ │ ├── find_template_spec.rb
│ │ ├── flatten_spec.rb
│ │ ├── floor_spec.rb
│ │ ├── get_spec.rb
│ │ ├── getvar_spec.rb
│ │ ├── group_by_spec.rb
│ │ ├── hiera_spec.rb
│ │ ├── include_spec.rb
│ │ ├── index_spec.rb
│ │ ├── inline_epp_spec.rb
│ │ ├── join_spec.rb
│ │ ├── keys_spec.rb
│ │ ├── length_spec.rb
│ │ ├── lest_spec.rb
│ │ ├── logging_spec.rb
│ │ ├── lookup_fixture_spec.rb
│ │ ├── lookup_spec.rb
│ │ ├── lstrip_spec.rb
│ │ ├── map_spec.rb
│ │ ├── match_spec.rb
│ │ ├── max_spec.rb
│ │ ├── min_spec.rb
│ │ ├── module_directory_spec.rb
│ │ ├── new_spec.rb
│ │ ├── next_spec.rb
│ │ ├── partition_spec.rb
│ │ ├── reduce_spec.rb
│ │ ├── regsubst_spec.rb
│ │ ├── require_spec.rb
│ │ ├── return_spec.rb
│ │ ├── reverse_each_spec.rb
│ │ ├── round_spec.rb
│ │ ├── rstrip_spec.rb
│ │ ├── scanf_spec.rb
│ │ ├── shared.rb
│ │ ├── size_spec.rb
│ │ ├── slice_spec.rb
│ │ ├── sort_spec.rb
│ │ ├── split_spec.rb
│ │ ├── step_spec.rb
│ │ ├── strftime_spec.rb
│ │ ├── strip_spec.rb
│ │ ├── then_spec.rb
│ │ ├── tree_each_spec.rb
│ │ ├── type_spec.rb
│ │ ├── unique_spec.rb
│ │ ├── unwrap_spec.rb
│ │ ├── upcase_spec.rb
│ │ ├── values_spec.rb
│ │ ├── versioncmp_spec.rb
│ │ └── with_spec.rb
│ ├── functions4_spec.rb
│ ├── gettext/
│ │ ├── config_spec.rb
│ │ └── module_loading_spec.rb
│ ├── graph/
│ │ ├── key_spec.rb
│ │ ├── rb_tree_map_spec.rb
│ │ ├── relationship_graph_spec.rb
│ │ ├── sequential_prioritizer_spec.rb
│ │ └── simple_graph_spec.rb
│ ├── hiera/
│ │ └── scope_spec.rb
│ ├── hiera_puppet_spec.rb
│ ├── http/
│ │ ├── client_spec.rb
│ │ ├── dns_spec.rb
│ │ ├── external_client_spec.rb
│ │ ├── factory_spec.rb
│ │ ├── pool_entry_spec.rb
│ │ ├── pool_spec.rb
│ │ ├── proxy_spec.rb
│ │ ├── resolver_spec.rb
│ │ ├── response_spec.rb
│ │ ├── service/
│ │ │ ├── ca_spec.rb
│ │ │ ├── compiler_spec.rb
│ │ │ ├── file_server_spec.rb
│ │ │ ├── puppetserver_spec.rb
│ │ │ └── report_spec.rb
│ │ ├── service_spec.rb
│ │ ├── session_spec.rb
│ │ └── site_spec.rb
│ ├── indirector/
│ │ ├── catalog/
│ │ │ ├── compiler_spec.rb
│ │ │ ├── json_spec.rb
│ │ │ ├── msgpack_spec.rb
│ │ │ ├── rest_spec.rb
│ │ │ ├── store_configs_spec.rb
│ │ │ └── yaml_spec.rb
│ │ ├── data_binding/
│ │ │ ├── hiera_spec.rb
│ │ │ └── none_spec.rb
│ │ ├── direct_file_server_spec.rb
│ │ ├── envelope_spec.rb
│ │ ├── exec_spec.rb
│ │ ├── face_spec.rb
│ │ ├── facts/
│ │ │ ├── facter_spec.rb
│ │ │ ├── json_spec.rb
│ │ │ ├── network_device_spec.rb
│ │ │ ├── rest_spec.rb
│ │ │ ├── store_configs_spec.rb
│ │ │ └── yaml_spec.rb
│ │ ├── file_bucket_file/
│ │ │ ├── file_spec.rb
│ │ │ ├── rest_spec.rb
│ │ │ └── selector_spec.rb
│ │ ├── file_content/
│ │ │ ├── file_server_spec.rb
│ │ │ ├── file_spec.rb
│ │ │ ├── rest_spec.rb
│ │ │ └── selector_spec.rb
│ │ ├── file_metadata/
│ │ │ ├── file_server_spec.rb
│ │ │ ├── file_spec.rb
│ │ │ ├── http_spec.rb
│ │ │ ├── rest_spec.rb
│ │ │ └── selector_spec.rb
│ │ ├── file_server_spec.rb
│ │ ├── hiera_spec.rb
│ │ ├── indirection_spec.rb
│ │ ├── json_spec.rb
│ │ ├── memory_spec.rb
│ │ ├── msgpack_spec.rb
│ │ ├── node/
│ │ │ ├── exec_spec.rb
│ │ │ ├── json_spec.rb
│ │ │ ├── memory_spec.rb
│ │ │ ├── msgpack_spec.rb
│ │ │ ├── plain_spec.rb
│ │ │ ├── rest_spec.rb
│ │ │ ├── store_configs_spec.rb
│ │ │ └── yaml_spec.rb
│ │ ├── none_spec.rb
│ │ ├── plain_spec.rb
│ │ ├── report/
│ │ │ ├── json_spec.rb
│ │ │ ├── msgpack_spec.rb
│ │ │ ├── processor_spec.rb
│ │ │ ├── rest_spec.rb
│ │ │ └── yaml_spec.rb
│ │ ├── request_spec.rb
│ │ ├── resource/
│ │ │ ├── ral_spec.rb
│ │ │ └── store_configs_spec.rb
│ │ ├── rest_spec.rb
│ │ ├── terminus_spec.rb
│ │ └── yaml_spec.rb
│ ├── indirector_spec.rb
│ ├── info_service_spec.rb
│ ├── interface/
│ │ ├── action_builder_spec.rb
│ │ ├── action_manager_spec.rb
│ │ ├── action_spec.rb
│ │ ├── documentation_spec.rb
│ │ ├── face_collection_spec.rb
│ │ ├── option_builder_spec.rb
│ │ └── option_spec.rb
│ ├── interface_spec.rb
│ ├── module_spec.rb
│ ├── module_tool/
│ │ ├── application_spec.rb
│ │ ├── applications/
│ │ │ ├── checksummer_spec.rb
│ │ │ ├── installer_spec.rb
│ │ │ ├── uninstaller_spec.rb
│ │ │ ├── unpacker_spec.rb
│ │ │ └── upgrader_spec.rb
│ │ ├── install_directory_spec.rb
│ │ ├── installed_modules_spec.rb
│ │ ├── metadata_spec.rb
│ │ ├── tar/
│ │ │ ├── gnu_spec.rb
│ │ │ └── mini_spec.rb
│ │ └── tar_spec.rb
│ ├── module_tool_spec.rb
│ ├── network/
│ │ ├── authconfig_spec.rb
│ │ ├── authorization_spec.rb
│ │ ├── format_handler_spec.rb
│ │ ├── format_spec.rb
│ │ ├── format_support_spec.rb
│ │ ├── formats_spec.rb
│ │ ├── http/
│ │ │ ├── api/
│ │ │ │ ├── indirected_routes_spec.rb
│ │ │ │ ├── master_spec.rb
│ │ │ │ └── server/
│ │ │ │ ├── v3/
│ │ │ │ │ └── environments_spec.rb
│ │ │ │ └── v3_spec.rb
│ │ │ ├── api_spec.rb
│ │ │ ├── connection_spec.rb
│ │ │ ├── error_spec.rb
│ │ │ ├── handler_spec.rb
│ │ │ ├── request_spec.rb
│ │ │ ├── response_spec.rb
│ │ │ └── route_spec.rb
│ │ ├── http_pool_spec.rb
│ │ └── uri_spec.rb
│ ├── node/
│ │ ├── environment_spec.rb
│ │ └── facts_spec.rb
│ ├── node_spec.rb
│ ├── other/
│ │ └── selinux_spec.rb
│ ├── parameter/
│ │ ├── boolean_spec.rb
│ │ ├── package_options_spec.rb
│ │ ├── path_spec.rb
│ │ ├── value_collection_spec.rb
│ │ └── value_spec.rb
│ ├── parameter_spec.rb
│ ├── parser/
│ │ ├── ast/
│ │ │ ├── block_expression_spec.rb
│ │ │ └── leaf_spec.rb
│ │ ├── compiler_spec.rb
│ │ ├── files_spec.rb
│ │ ├── functions/
│ │ │ ├── create_resources_spec.rb
│ │ │ ├── digest_spec.rb
│ │ │ ├── fail_spec.rb
│ │ │ ├── file_spec.rb
│ │ │ ├── fqdn_rand_spec.rb
│ │ │ ├── generate_spec.rb
│ │ │ ├── hiera_array_spec.rb
│ │ │ ├── hiera_hash_spec.rb
│ │ │ ├── hiera_include_spec.rb
│ │ │ ├── hiera_spec.rb
│ │ │ ├── inline_template_spec.rb
│ │ │ ├── lookup_spec.rb
│ │ │ ├── realize_spec.rb
│ │ │ ├── regsubst_spec.rb
│ │ │ ├── scanf_spec.rb
│ │ │ ├── shellquote_spec.rb
│ │ │ ├── split_spec.rb
│ │ │ ├── sprintf_spec.rb
│ │ │ ├── tag_spec.rb
│ │ │ ├── tagged_spec.rb
│ │ │ ├── template_spec.rb
│ │ │ └── versioncmp_spec.rb
│ │ ├── functions_spec.rb
│ │ ├── relationship_spec.rb
│ │ ├── resource/
│ │ │ └── param_spec.rb
│ │ ├── resource_spec.rb
│ │ ├── scope_spec.rb
│ │ ├── templatewrapper_spec.rb
│ │ └── type_loader_spec.rb
│ ├── plan_spec.rb
│ ├── pops/
│ │ ├── adaptable_spec.rb
│ │ ├── benchmark_spec.rb
│ │ ├── containment_spec.rb
│ │ ├── evaluator/
│ │ │ ├── access_ops_spec.rb
│ │ │ ├── arithmetic_ops_spec.rb
│ │ │ ├── basic_expressions_spec.rb
│ │ │ ├── collections_ops_spec.rb
│ │ │ ├── comparison_ops_spec.rb
│ │ │ ├── conditionals_spec.rb
│ │ │ ├── deferred_resolver_spec.rb
│ │ │ ├── evaluating_parser_spec.rb
│ │ │ ├── evaluator_rspec_helper.rb
│ │ │ ├── json_strict_literal_evaluator_spec.rb
│ │ │ ├── literal_evaluator_spec.rb
│ │ │ ├── logical_ops_spec.rb
│ │ │ ├── runtime3_converter_spec.rb
│ │ │ ├── string_interpolation_spec.rb
│ │ │ └── variables_spec.rb
│ │ ├── factory_rspec_helper.rb
│ │ ├── factory_spec.rb
│ │ ├── issues_spec.rb
│ │ ├── label_provider_spec.rb
│ │ ├── loaders/
│ │ │ ├── dependency_loader_spec.rb
│ │ │ ├── environment_loader_spec.rb
│ │ │ ├── loader_paths_spec.rb
│ │ │ ├── loader_spec.rb
│ │ │ ├── loaders_spec.rb
│ │ │ ├── module_loaders_spec.rb
│ │ │ └── static_loader_spec.rb
│ │ ├── lookup/
│ │ │ ├── context_spec.rb
│ │ │ ├── interpolation_spec.rb
│ │ │ └── lookup_spec.rb
│ │ ├── merge_strategy_spec.rb
│ │ ├── migration_spec.rb
│ │ ├── model/
│ │ │ ├── model_spec.rb
│ │ │ └── pn_transformer_spec.rb
│ │ ├── parser/
│ │ │ ├── epp_parser_spec.rb
│ │ │ ├── evaluating_parser_spec.rb
│ │ │ ├── lexer2_spec.rb
│ │ │ ├── locator_spec.rb
│ │ │ ├── parse_basic_expressions_spec.rb
│ │ │ ├── parse_calls_spec.rb
│ │ │ ├── parse_conditionals_spec.rb
│ │ │ ├── parse_containers_spec.rb
│ │ │ ├── parse_functions_spec.rb
│ │ │ ├── parse_heredoc_spec.rb
│ │ │ ├── parse_lambda_spec.rb
│ │ │ ├── parse_plan_spec.rb
│ │ │ ├── parse_resource_spec.rb
│ │ │ ├── parser_rspec_helper.rb
│ │ │ ├── parser_spec.rb
│ │ │ ├── parsing_typed_parameters_spec.rb
│ │ │ └── pn_parser_spec.rb
│ │ ├── pn_spec.rb
│ │ ├── puppet_stack_spec.rb
│ │ ├── resource/
│ │ │ └── resource_type_impl_spec.rb
│ │ ├── serialization/
│ │ │ ├── packer_spec.rb
│ │ │ ├── serialization_spec.rb
│ │ │ ├── to_from_hr_spec.rb
│ │ │ └── to_stringified_spec.rb
│ │ ├── time/
│ │ │ ├── timespan_spec.rb
│ │ │ └── timestamp_spec.rb
│ │ ├── types/
│ │ │ ├── class_loader_spec.rb
│ │ │ ├── deferred_spec.rb
│ │ │ ├── error_spec.rb
│ │ │ ├── iterable_spec.rb
│ │ │ ├── p_binary_type_spec.rb
│ │ │ ├── p_init_type_spec.rb
│ │ │ ├── p_object_type_spec.rb
│ │ │ ├── p_sem_ver_type_spec.rb
│ │ │ ├── p_sensitive_type_spec.rb
│ │ │ ├── p_timespan_type_spec.rb
│ │ │ ├── p_timestamp_type_spec.rb
│ │ │ ├── p_type_set_type_spec.rb
│ │ │ ├── p_uri_type_spec.rb
│ │ │ ├── recursion_guard_spec.rb
│ │ │ ├── ruby_generator_spec.rb
│ │ │ ├── string_converter_spec.rb
│ │ │ ├── task_spec.rb
│ │ │ ├── type_acceptor_spec.rb
│ │ │ ├── type_asserter_spec.rb
│ │ │ ├── type_calculator_spec.rb
│ │ │ ├── type_factory_spec.rb
│ │ │ ├── type_formatter_spec.rb
│ │ │ ├── type_mismatch_describer_spec.rb
│ │ │ ├── type_parser_spec.rb
│ │ │ └── types_spec.rb
│ │ ├── utils_spec.rb
│ │ ├── validation_spec.rb
│ │ ├── validator/
│ │ │ └── validator_spec.rb
│ │ └── visitor_spec.rb
│ ├── property/
│ │ ├── boolean_spec.rb
│ │ ├── ensure_spec.rb
│ │ ├── keyvalue_spec.rb
│ │ ├── list_spec.rb
│ │ └── ordered_list_spec.rb
│ ├── property_spec.rb
│ ├── provider/
│ │ ├── README.markdown
│ │ ├── aix_object_spec.rb
│ │ ├── command_spec.rb
│ │ ├── exec/
│ │ │ ├── posix_spec.rb
│ │ │ ├── shell_spec.rb
│ │ │ └── windows_spec.rb
│ │ ├── exec_spec.rb
│ │ ├── file/
│ │ │ ├── posix_spec.rb
│ │ │ └── windows_spec.rb
│ │ ├── group/
│ │ │ ├── aix_spec.rb
│ │ │ ├── directoryservice_spec.rb
│ │ │ ├── groupadd_spec.rb
│ │ │ ├── ldap_spec.rb
│ │ │ ├── pw_spec.rb
│ │ │ └── windows_adsi_spec.rb
│ │ ├── ldap_spec.rb
│ │ ├── nameservice/
│ │ │ └── directoryservice_spec.rb
│ │ ├── nameservice_spec.rb
│ │ ├── package/
│ │ │ ├── aix_spec.rb
│ │ │ ├── appdmg_spec.rb
│ │ │ ├── apt_spec.rb
│ │ │ ├── aptitude_spec.rb
│ │ │ ├── aptrpm_spec.rb
│ │ │ ├── base_spec.rb
│ │ │ ├── dnf_spec.rb
│ │ │ ├── dnfmodule_spec.rb
│ │ │ ├── dpkg_spec.rb
│ │ │ ├── freebsd_spec.rb
│ │ │ ├── gem_spec.rb
│ │ │ ├── hpux_spec.rb
│ │ │ ├── macports_spec.rb
│ │ │ ├── nim_spec.rb
│ │ │ ├── openbsd_spec.rb
│ │ │ ├── opkg_spec.rb
│ │ │ ├── pacman_spec.rb
│ │ │ ├── pip2_spec.rb
│ │ │ ├── pip3_spec.rb
│ │ │ ├── pip_spec.rb
│ │ │ ├── pkg_spec.rb
│ │ │ ├── pkgdmg_spec.rb
│ │ │ ├── pkgin_spec.rb
│ │ │ ├── pkgng_spec.rb
│ │ │ ├── pkgutil_spec.rb
│ │ │ ├── portage_spec.rb
│ │ │ ├── puppet_gem_spec.rb
│ │ │ ├── puppetserver_gem_spec.rb
│ │ │ ├── rpm_spec.rb
│ │ │ ├── sun_spec.rb
│ │ │ ├── tdnf_spec.rb
│ │ │ ├── up2date_spec.rb
│ │ │ ├── urpmi_spec.rb
│ │ │ ├── windows/
│ │ │ │ ├── exe_package_spec.rb
│ │ │ │ ├── msi_package_spec.rb
│ │ │ │ └── package_spec.rb
│ │ │ ├── windows_spec.rb
│ │ │ ├── xbps_spec.rb
│ │ │ ├── yum_spec.rb
│ │ │ └── zypper_spec.rb
│ │ ├── package_targetable_spec.rb
│ │ ├── parsedfile_spec.rb
│ │ ├── service/
│ │ │ ├── base_spec.rb
│ │ │ ├── bsd_spec.rb
│ │ │ ├── daemontools_spec.rb
│ │ │ ├── debian_spec.rb
│ │ │ ├── freebsd_spec.rb
│ │ │ ├── gentoo_spec.rb
│ │ │ ├── init_spec.rb
│ │ │ ├── launchd_spec.rb
│ │ │ ├── openbsd_spec.rb
│ │ │ ├── openrc_spec.rb
│ │ │ ├── openwrt_spec.rb
│ │ │ ├── rcng_spec.rb
│ │ │ ├── redhat_spec.rb
│ │ │ ├── runit_spec.rb
│ │ │ ├── smf_spec.rb
│ │ │ ├── src_spec.rb
│ │ │ ├── systemd_spec.rb
│ │ │ ├── upstart_spec.rb
│ │ │ └── windows_spec.rb
│ │ └── user/
│ │ ├── aix_spec.rb
│ │ ├── directoryservice_spec.rb
│ │ ├── hpux_spec.rb
│ │ ├── ldap_spec.rb
│ │ ├── openbsd_spec.rb
│ │ ├── pw_spec.rb
│ │ ├── user_role_add_spec.rb
│ │ ├── useradd_spec.rb
│ │ └── windows_adsi_spec.rb
│ ├── provider_spec.rb
│ ├── puppet_pal_2pec.rb
│ ├── puppet_pal_catalog_spec.rb
│ ├── puppet_pal_spec.rb
│ ├── puppet_spec.rb
│ ├── relationship_spec.rb
│ ├── reports/
│ │ ├── http_spec.rb
│ │ └── store_spec.rb
│ ├── reports_spec.rb
│ ├── resource/
│ │ ├── catalog_spec.rb
│ │ ├── status_spec.rb
│ │ ├── type_collection_spec.rb
│ │ └── type_spec.rb
│ ├── resource_spec.rb
│ ├── scheduler/
│ │ ├── job_spec.rb
│ │ ├── scheduler_spec.rb
│ │ └── splay_job_spec.rb
│ ├── settings/
│ │ ├── array_setting_spec.rb
│ │ ├── autosign_setting_spec.rb
│ │ ├── certificate_revocation_setting_spec.rb
│ │ ├── config_file_spec.rb
│ │ ├── directory_setting_spec.rb
│ │ ├── duration_setting_spec.rb
│ │ ├── enum_setting_spec.rb
│ │ ├── environment_conf_spec.rb
│ │ ├── file_setting_spec.rb
│ │ ├── http_extra_headers_spec.rb
│ │ ├── ini_file_spec.rb
│ │ ├── integer_setting_spec.rb
│ │ ├── path_setting_spec.rb
│ │ ├── port_setting_spec.rb
│ │ ├── priority_setting_spec.rb
│ │ ├── server_list_setting_spec.rb
│ │ ├── string_setting_spec.rb
│ │ ├── terminus_setting_spec.rb
│ │ └── value_translator_spec.rb
│ ├── settings_spec.rb
│ ├── ssl/
│ │ ├── base_spec.rb
│ │ ├── certificate_request_attributes_spec.rb
│ │ ├── certificate_request_spec.rb
│ │ ├── certificate_signer_spec.rb
│ │ ├── certificate_spec.rb
│ │ ├── digest_spec.rb
│ │ ├── oids_spec.rb
│ │ ├── ssl_provider_spec.rb
│ │ ├── state_machine_spec.rb
│ │ └── verifier_spec.rb
│ ├── task_spec.rb
│ ├── test/
│ │ └── test_helper_spec.rb
│ ├── transaction/
│ │ ├── additional_resource_generator_spec.rb
│ │ ├── event_manager_spec.rb
│ │ ├── event_spec.rb
│ │ ├── persistence_spec.rb
│ │ ├── report_spec.rb
│ │ └── resource_harness_spec.rb
│ ├── transaction_spec.rb
│ ├── type/
│ │ ├── README.markdown
│ │ ├── component_spec.rb
│ │ ├── exec_spec.rb
│ │ ├── file/
│ │ │ ├── checksum_spec.rb
│ │ │ ├── checksum_value_spec.rb
│ │ │ ├── content_spec.rb
│ │ │ ├── ctime_spec.rb
│ │ │ ├── ensure_spec.rb
│ │ │ ├── group_spec.rb
│ │ │ ├── mode_spec.rb
│ │ │ ├── mtime_spec.rb
│ │ │ ├── owner_spec.rb
│ │ │ ├── selinux_spec.rb
│ │ │ ├── source_spec.rb
│ │ │ └── type_spec.rb
│ │ ├── file_spec.rb
│ │ ├── filebucket_spec.rb
│ │ ├── group_spec.rb
│ │ ├── noop_metaparam_spec.rb
│ │ ├── package/
│ │ │ └── package_settings_spec.rb
│ │ ├── package_spec.rb
│ │ ├── resources_spec.rb
│ │ ├── schedule_spec.rb
│ │ ├── service_spec.rb
│ │ ├── stage_spec.rb
│ │ ├── tidy_spec.rb
│ │ ├── user_spec.rb
│ │ └── whit_spec.rb
│ ├── type_spec.rb
│ ├── util/
│ │ ├── at_fork_spec.rb
│ │ ├── autoload_spec.rb
│ │ ├── backups_spec.rb
│ │ ├── character_encoding_spec.rb
│ │ ├── checksums_spec.rb
│ │ ├── colors_spec.rb
│ │ ├── command_line_spec.rb
│ │ ├── command_line_utils/
│ │ │ └── puppet_option_parser_spec.rb
│ │ ├── constant_inflector_spec.rb
│ │ ├── diff_spec.rb
│ │ ├── docs_spec.rb
│ │ ├── errors_spec.rb
│ │ ├── execution_spec.rb
│ │ ├── execution_stub_spec.rb
│ │ ├── feature_spec.rb
│ │ ├── filetype_spec.rb
│ │ ├── inifile_spec.rb
│ │ ├── json_lockfile_spec.rb
│ │ ├── json_spec.rb
│ │ ├── ldap/
│ │ │ ├── connection_spec.rb
│ │ │ ├── generator_spec.rb
│ │ │ └── manager_spec.rb
│ │ ├── lockfile_spec.rb
│ │ ├── log/
│ │ │ └── destinations_spec.rb
│ │ ├── log_spec.rb
│ │ ├── logging_spec.rb
│ │ ├── metric_spec.rb
│ │ ├── monkey_patches_spec.rb
│ │ ├── multi_match_spec.rb
│ │ ├── network_device/
│ │ │ ├── config_spec.rb
│ │ │ └── transport/
│ │ │ └── base_spec.rb
│ │ ├── network_device_spec.rb
│ │ ├── package/
│ │ │ └── version/
│ │ │ ├── debian_spec.rb
│ │ │ ├── pip_spec.rb
│ │ │ ├── range_spec.rb
│ │ │ └── rpm_spec.rb
│ │ ├── package_spec.rb
│ │ ├── pidlock_spec.rb
│ │ ├── plist_spec.rb
│ │ ├── posix_spec.rb
│ │ ├── profiler/
│ │ │ ├── aggregate_spec.rb
│ │ │ ├── around_profiler_spec.rb
│ │ │ ├── logging_spec.rb
│ │ │ ├── object_counts_spec.rb
│ │ │ └── wall_clock_spec.rb
│ │ ├── profiler_spec.rb
│ │ ├── rdoc_spec.rb
│ │ ├── reference_spec.rb
│ │ ├── resource_template_spec.rb
│ │ ├── retry_action_spec.rb
│ │ ├── rpm_compare_spec.rb
│ │ ├── rubygems_spec.rb
│ │ ├── run_mode_spec.rb
│ │ ├── selinux_spec.rb
│ │ ├── skip_tags_spec.rb
│ │ ├── splayer_spec.rb
│ │ ├── storage_spec.rb
│ │ ├── suidmanager_spec.rb
│ │ ├── symbolic_file_mode_spec.rb
│ │ ├── tag_set_spec.rb
│ │ ├── tagging_spec.rb
│ │ ├── terminal_spec.rb
│ │ ├── user_attr_spec.rb
│ │ ├── warnings_spec.rb
│ │ ├── watched_file_spec.rb
│ │ ├── watcher/
│ │ │ └── periodic_watcher_spec.rb
│ │ ├── watcher_spec.rb
│ │ ├── windows/
│ │ │ ├── access_control_entry_spec.rb
│ │ │ ├── access_control_list_spec.rb
│ │ │ ├── adsi_spec.rb
│ │ │ ├── api_types_spec.rb
│ │ │ ├── eventlog_spec.rb
│ │ │ ├── file_spec.rb
│ │ │ ├── root_certs_spec.rb
│ │ │ ├── security_descriptor_spec.rb
│ │ │ ├── service_spec.rb
│ │ │ ├── sid_spec.rb
│ │ │ └── string_spec.rb
│ │ ├── windows_spec.rb
│ │ └── yaml_spec.rb
│ ├── util_spec.rb
│ ├── version_spec.rb
│ └── x509/
│ ├── cert_provider_spec.rb
│ └── pem_store_spec.rb
├── util/
│ ├── README_UTIL.md
│ ├── binary_search_specs.rb
│ ├── rspec_grouper
│ └── rspec_runner
└── yardoc/
└── templates/
└── default/
├── method_details/
│ └── html/
│ ├── method_signature.erb
│ └── setup.rb
└── module/
└── html/
└── item_summary.erb
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitattributes
================================================
# Disable NL -> CRNL translation on Windows. This is necessary because the files on disk must
# match the checksums in metadata.json.
spec/fixtures/integration/application/module/environments/direnv/modules/nginx/README -text
spec/fixtures/integration/application/module/environments/direnv/modules/nginx/metadata.json -text
spec/fixtures/integration/application/module/environments/direnv/modules/nginx/Modulefile -text
spec/fixtures/integration/application/module/environments/direnv/modules/nginx/manifests/init.pp -text
================================================
FILE: .github/release.yml
================================================
changelog:
categories:
- title: Features & Enhancements
labels:
- enhancement
- title: Bug Fixes
labels:
- bug
================================================
FILE: .github/workflows/backport.yml
================================================
name: Backport merged pull request
on:
pull_request_target:
types: [labeled]
permissions:
contents: write # so it can comment
pull-requests: write # so it can create pull requests
jobs:
backport:
name: Backport merged pull request
runs-on: ubuntu-latest
# For security reasons, we don't want to checkout and run arbitrary code when
# using the pull_request_target trigger. So restrict this to cases where the
# backport label is applied to an already merged PR.
if: github.event.pull_request.merged && contains(github.event.label.name, 'backport')
steps:
- uses: actions/checkout@v4
- name: Create backport pull requests
uses: korthout/backport-action@v1
================================================
FILE: .github/workflows/checks.yaml
================================================
---
name: Checks
on:
push:
branches: [main]
pull_request:
branches: [main]
permissions:
contents: read
jobs:
checks:
name: ${{ matrix.cfg.check }}
strategy:
matrix:
cfg:
- {check: rubocop, os: ubuntu-latest, ruby: '3.1'}
- {check: warnings, os: ubuntu-latest, ruby: '3.1'}
runs-on: ${{ matrix.cfg.os }}
steps:
- name: Checkout current PR
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install ruby version ${{ matrix.cfg.ruby }}
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.cfg.ruby }}
- name: Update rubygems and install gems
run: |
gem update --system --silent --no-document
bundle config set without packaging documentation
bundle install --jobs 4 --retry 3
- name: Run ${{ matrix.cfg.check }} check
run: bundle exec rake ${{ matrix.cfg.check }}
================================================
FILE: .github/workflows/jira.yml
================================================
---
name: Export issue to Jira
on:
issues:
types: [labeled]
permissions:
issues: write
jobs:
export:
uses: "puppetlabs/phoenix-github-actions/.github/workflows/jira.yml@main"
with:
jira-project: PUP
jira-base-url: ${{ vars.jira_base_url }}
jira-user-email: ${{ vars.jira_user_email }}
secrets:
jira-api-token: ${{ secrets.JIRA_ISSUES_ACTION }}
================================================
FILE: .github/workflows/mend.yaml
================================================
---
name: Mend Monitor
on:
push:
branches:
- main
jobs:
mend_monitor:
if: ${{ github.repository_owner == 'puppetlabs' }}
runs-on: ubuntu-latest
name: Mend Monitor
steps:
- name: Checkout current PR
uses: actions/checkout@v4
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.1
- name: Create lock
run: bundle lock
- uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'
- name: Download Mend
run: curl -o wss-unified-agent.jar https://unified-agent.s3.amazonaws.com/wss-unified-agent.jar
- name: Run Mend
run: java -jar wss-unified-agent.jar
env:
WS_APIKEY: ${{ secrets.MEND_API_KEY }}
WS_WSS_URL: https://saas-eu.whitesourcesoftware.com/agent
WS_USERKEY: ${{ secrets.MEND_TOKEN }}
WS_PRODUCTNAME: Puppet Agent
WS_PROJECTNAME: ${{ github.event.repository.name }}
================================================
FILE: .github/workflows/rspec_tests.yaml
================================================
---
name: RSpec tests
on:
push:
branches: [main]
pull_request:
branches: [main]
permissions:
contents: read
jobs:
rspec_tests:
name: ${{ matrix.cfg.os }}(ruby ${{ matrix.cfg.ruby }})
strategy:
matrix:
cfg:
- {os: ubuntu-latest, ruby: '3.1'}
- {os: ubuntu-20.04, ruby: '3.2'} # openssl 1.1.1
- {os: ubuntu-22.04, ruby: '3.2'} # openssl 3
- {os: ubuntu-22.04, ruby: '3.3'} # openssl 3 / latest Ruby
- {os: ubuntu-latest, ruby: 'jruby-9.4.3.0'}
- {os: windows-2019, ruby: '3.1'}
- {os: windows-2019, ruby: '3.2.5'} # openssl 3 & temporarily pinned to ruby 3.2.5, see PA-7108
- {os: windows-2019, ruby: '3.3'} # openssl 3 / latest Ruby
runs-on: ${{ matrix.cfg.os }}
env:
BUNDLE_SET: "without packaging documentation"
steps:
- name: Checkout current PR
uses: actions/checkout@v4
- name: Install ruby version ${{ matrix.cfg.ruby }}
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.cfg.ruby }}
bundler-cache: true
- name: Run tests on Windows
if: runner.os == 'Windows'
run: |
# https://github.com/ruby/ruby/pull/2791/files#diff-ff5ff976e81bebd977f0834e60416abbR97-R100
# Actions uses UTF8, causes test failures, similar to normal OS setup
$PSDefaultParameterValues['*:Encoding'] = 'utf8'
[Console]::OutputEncoding = [System.Text.Encoding]::GetEncoding("IBM437")
[Console]::InputEncoding = [System.Text.Encoding]::GetEncoding("IBM437")
$Env:LOG_SPEC_ORDER = 'true'
# debug information
chcp
Get-WinSystemLocale
Get-ChildItem Env: | % { Write-Output "$($_.Key): $($_.Value)" }
# list current OpenSSL install
gem list openssl
ruby -ropenssl -e 'puts "OpenSSL Version - #{OpenSSL::OPENSSL_VERSION}"; puts "OpenSSL Library Version - #{OpenSSL::OPENSSL_LIBRARY_VERSION}"'
Get-Content Gemfile.lock
ruby -v
gem --version
bundle --version
# Run tests
bundle exec rake parallel:spec[2]
- name: Run tests on Linux
if: runner.os == 'Linux'
run: |
# debug information
gem list openssl
ruby -ropenssl -e 'puts "OpenSSL Version - #{OpenSSL::OPENSSL_VERSION}"; puts "OpenSSL Library Version - #{OpenSSL::OPENSSL_LIBRARY_VERSION}"'
cat Gemfile.lock
ruby -v
gem --version
bundle --version
if [[ ${{ matrix.cfg.ruby }} =~ "jruby" ]]; then
export _JAVA_OPTIONS='-Xmx1024m -Xms512m'
# workaround for PUP-10683
sudo apt remove rpm
fi
bundle exec rake parallel:spec[2]
================================================
FILE: .gitignore
================================================
.rspec
results
tags
.*.sw[op]
test.pp
# YARD generated documentation
.yardoc
/doc
# Now that there is a gemfile, RVM ignores rvmrc in parent directories, so a local one is required
# to work around that. Which we don't want committed, so we can ignore it here.
/.rvmrc
.bundle/
.byebug_history
/ext/packaging/
/pkg/
Gemfile.lock
Gemfile.local
Guardfile
puppet-acceptance/
/.project
.ruby-version
.ruby-gemset
/acceptance/junit
/acceptance/log
/acceptance/.beaker
# emacs backup files
*~
/*.samples
coverage/
# Files and directory added by RubyMine IDE
*.iml
.rakeTasks
.idea/
spec_order.txt
================================================
FILE: .gitmodules
================================================
[submodule "benchmarks/full_catalog/puppetlabs-puppetserver_perf_control"]
path = benchmarks/full_catalog/puppetlabs-puppetserver_perf_control
url = https://github.com/puppetlabs/puppetlabs-puppetserver_perf_control
================================================
FILE: .mailmap
================================================
Adrien Thebo <adrien@puppetlabs.com> Adrien Thebo <adrien.thebo@gmail.com>
Adrien Thebo <adrien@puppetlabs.com> adrienthebo <adrien@puppetlabs.com>
Allen Ballman <aballman@gmail.com> ballman <ballman@980ebf18-57e1-0310-9a29-db15c13687c0>
Andrew Shafer <andrew@puppetlabs.com> Andrew Shafer <andrew@luke-kaniess-macbook-pro-15.local>
Andrew Shafer <andrew@puppetlabs.com> Andrew Shafer <andrew@reductivelabs.com>
Andrew Shafer <andrew@puppetlabs.com> shafer <shafer@980ebf18-57e1-0310-9a29-db15c13687c0>
Anselm Strauss <amsibamsi@gmail.com> Anselm Strauss <anselm@beastie.ttyv0.net>
Anselm Strauss <amsibamsi@gmail.com> Anselm Strauss <anselm@silversurfer.l.ttyv0.net>
Ben Hengst <notbenh@cpan.org> ben hengst <notbenh@cpan.org>
Ben Hughes <ben@puppetlabs.com> Ben H <git@mumble.org.uk>
Ben Hughes <ben@puppetlabs.com> Ben Hughes <git@mumble.org.uk>
Blake Barnett <blake@soulmachine.net> shadoi <shadoi@980ebf18-57e1-0310-9a29-db15c13687c0>
Brice Figureau <brice-puppet@daysofwonder.com> Brice Figureau <brice@daysofwonder.com>
Bryan Kearney <bkearney@redhat.com> Bryan Kearney <bkearney@localhost.localdomain>
Cameron Thomas <cameron@puppetlabs.com> Cameron Thomas <cs.thomas.dev@gmail.com>
Carl Caum <carl@puppetlabs.com> Carl Caum <carl@carlcaum.com>
Chris Price <chris@puppetlabs.com> Chris Price <cprice@explosivo.(none)>
Chris Price <chris@puppetlabs.com> cprice
Christian Hofstaedtler <hofstaedtler@inqnet.at> Christian Hofstaedtler <ch+git@zeha.at>
Dan Bode <dan@puppetlabs.com> Dan Bode <bodepd@gmail.com>
Dan Bode <dan@puppetlabs.com> Dan Bode <dan@bodepd.com>
Dan Bode <dan@puppetlabs.com> Dan Bode <dan@reductivelabs.com>
Daniel Pittman <daniel@puppetlabs.com> Daniel Pittman <daniel@rimspace.net>
David Lutterkort <lutter@redhat.com> David Lutterkort <dlutter@redhat.com>
David Lutterkort <lutter@redhat.com> lutter <lutter@1f5c1d6a-bddf-0310-8f58-fc49e503516a>
David Lutterkort <lutter@redhat.com> lutter <lutter@980ebf18-57e1-0310-9a29-db15c13687c0>
David Schmitt <david@dasz.at> David Schmitt <david@schmitt.edv-bus.at>
Deepak Giridharagopal <deepak@puppetlabs.com> Deepak Giridharagopal <deepak@brownman.org>
Dominic Maraglia <dominic@puppetlabs.com> <dmaraglia@gmail.com>
Donavan Miller <donavan@desinc.net> donavan <donavan@desinc.net>
Eric Sorenson <eric.sorenson@puppetlabs.com> Eric Sorenson <ahpook@gmail.com>
Eric Sorenson <eric.sorenson@puppetlabs.com> Eric Sorenson <eric@explosive.net>
Eric Sorenson <eric.sorenson@puppetlabs.com> Eric Sorenson <eric@leterel.apple.com>
Francois Deppierraz <francois@ctrlaltdel.ch> Francois Deppierraz <francois@slayer.ctrlaltdel.ch>
Garrett Honeycutt <garrett@puppetlabs.com> Garrett Honeycutt <puppet-dev@garretthoneycutt.com>
Gary Larizza <gary@puppetlabs.com> Gary Larizza <ccshots@gmail.com>
Greg Sutcliffe <greg.sutcliffe@gmail.com> Greg Sutcliffe <gsutcliffe@gmail.com>
James Turnbull <james@puppetlabs.com> James Turnbull <james@lovedthanlost.net>
James Turnbull <james@puppetlabs.com> James Turnbull <james@rhizome-lovedthanlost-net.local>
James Turnbull <james@puppetlabs.com> James Turnbull <james@ubuntu904.lovedthanlost.net>
James Turnbull <james@puppetlabs.com> root <root@absinthe.lovedthanlost.net>
Jeff McCune <jeff@puppetlabs.com> <jeff.mccune@northstarlabs.net>
Jeff McCune <jeff@puppetlabs.com> Jeffrey J McCune <jeff@northstarlabs.net>
Jeff McCune <jeff@puppetlabs.com> Jeffrey McCune <mccune.jeff@gmail.com>
Jeff McCune <jeff@puppetlabs.com> mccune <mccune@1f5c1d6a-bddf-0310-8f58-fc49e503516a>
Jeff McCune <jeff@puppetlabs.com> mccune <mccune@980ebf18-57e1-0310-9a29-db15c13687c0>
Jeff Weiss <jeff.weiss@puppetlabs.com> Jeff Weiss <jeff.a.weiss@gmail.com>
Jesse Wolfe <jesse@puppetlabs.com> Jesse Wolfe <jes5199@gmail.com>
Jos Boumans <jos@dwim.org> josb <josb@980ebf18-57e1-0310-9a29-db15c13687c0>
Josh Cooper <josh@puppetlabs.com> Josh Cooper <josh+github@puppetlabs.com>
Josh Cooper <josh@puppetlabs.com> joshcooper <josh+github@puppetlabs.com>
Joshua Harlan Lifton <lifton@puppetlabs.com> lifton <lifton@puppetlabs.com>
Justin Stoller <justin@puppetlabs.com> Justin Stoller <justin.stoller@gmail.com>
Kelsey Hightower <kelsey@puppetlabs.com> Kelsey Hightower <kelsey.hightower@gmail.com>
Kelsey Hightower <kelsey@puppetlabs.com> Kelsey Hightower <kelsey.hightower@puppetlabs.com>
Ken Barber <ken@puppetlabs.com> Ken Barber <ken@bob.sh>
Luke Kanies <luke@puppetlabs.com> <luke@980ebf18-57e1-0310-9a29-db15c13687c0>
Luke Kanies <luke@puppetlabs.com> Luke Kaines <luke@puppetlabs.com>
Luke Kanies <luke@puppetlabs.com> Luke Kanies <luke@madstop.com>
Luke Kanies <luke@puppetlabs.com> Luke Kanies <luke@reductivelabs.com>
Luke Kanies <luke@puppetlabs.com> luke <luke@1f5c1d6a-bddf-0310-8f58-fc49e503516a>
Markus Roberts <markus@puppetlabs.com> Markus Roberts <Markus@reality.com>
Markus Roberts <markus@puppetlabs.com> Markus Roberts <markus@phage.local>
Markus Roberts <markus@puppetlabs.com> markus <markus@AVA-351181.(none)>
Martin Englund <martin@englund.nu> Martin Englund <martin.englund@sun.com>
Matt Palmer <mpalmer@hezmatt.org> mpalmer <mpalmer@980ebf18-57e1-0310-9a29-db15c13687c0>
Matt Robinson <matt@puppetlabs.com> Matt Robinson <mattr@mattrobinson.net>
Matthaus Owens <matthaus@puppetlabs.com> Matthaus Litteken <matthaus@puppetlabs.com>
Matthaus Owens <matthaus@puppetlabs.com> Matthaus Litteken <mlitteken@gmail.com>
Matthaus Owens <matthaus@puppetlabs.com> Matthaus Owens <mlitteken@gmail.com>
Michael Stahnke <stahnma@puppetlabs.com> stahnma <stahnma@websages.com>
Moses Mendoza <moses@puppetlabs.com> MosesMendoza <mendoza.moses@gmail.com>
Nan Liu <nan@puppetlabs.com> Nan Liu <nan.liu@gmail.com>
Nick Fagerlund <nick.fagerlund@puppetlabs.com> nfagerlund <nick.fagerlund@gmail.com>
Nick Fagerlund <nick.fagerlund@puppetlabs.com> nfagerlund <nick.fagerlund@puppetlabs.com>
Nigel Kersten <nigel@puppetlabs.com> Nigel Kersten <nigel@explanatorygap.net>
Nigel Kersten <nigel@puppetlabs.com> Nigel Kersten <nigelk@google.com>
Ohad Levy <ohadlevy@gmail.com> Ohad Levy <ohad.levy@infineon.com>
Patrick Carlisle <patrick@puppetlabs.com> Patrick <patrick@puppetlabs.com>
Patrick Carlisle <patrick@puppetlabs.com> pcarlisle <patrick@puppetlabs.com>
Paul Lathrop <plathrop@digg.com> Paul Lathrop <paul@tertiusfamily.net>
Paul Lathrop <plathrop@digg.com> Paul Lathrop <plathrop@debian.tertiusfamily.net>
Peter Meier <peter.meier@immerda.ch> duritong <peter.meier@immerda.ch>
Peter Meier <peter.meier@immerda.ch> mh <duritong@cronopios.org>
Peter Mørch <peter@morch.com> peter <peter@morch.com>
Pieter van de Bruggen <pieter@puppetlabs.com> Pieter van de Bruggen <pvande@gmail.com>
Rahul Gopinath <rahul@puppetlabs.com> rahul <rahul@pe-solaris11-vm.(none)>
Rahul Gopinath <rahul@puppetlabs.com> rahul <rahul@puppetlabs.com>
Rahul Gopinath <rahul@puppetlabs.com> rahul <rahul@solaris11-master.(none)>
Rahul Gopinath <rahul@puppetlabs.com> vrthra <9@vrtra.net>
Rein Henrichs <rein@puppetlabs.com> Rein Henrichs <reinh@reinh.com>
Rudy Gevaert <rudy@webworm.org> rgevaert <rudy+github@webworm.org>
Rudy Gevaert <rudy@webworm.org> rgevaert <rudy.gevaert+github@ugent.be>
Russ Allbery <rra@stanford.edu> Russ Allbery <rra@debian.org>
Sean E. Millichamp <sean@bruenor.org> Sean Millichamp <sean.millichamp@secure-24.com>
Sean E. Millichamp <sean@bruenor.org> Sean Millichamp <sean@bruenor.org>
Steve McIintosh <stevemac@endpoint.com> steve mcintosh <stevemac@endpoint.com>
Thom May <thom@joost.com> Thom May <thom@clearairturbulence.org>
Thom May <thom@joost.com> Thom May <thom@virelais.nyc.joostas.com>
================================================
FILE: .noexec.yaml
================================================
---
exclude:
- gem
- rake
- rspec
================================================
FILE: .rubocop.yml
================================================
inherit_from: .rubocop_todo.yml
require:
- rubocop-i18n
- rubocop-performance
- rubocop-rake
- rubocop-rspec
AllCops:
TargetRubyVersion: 3.1
Include:
- 'lib/**/*.rb'
- 'ext/**/*.rb'
Exclude:
- '**/*.erb'
- 'acceptance/**/*'
- 'spec/**/*'
- 'tasks/**/*'
- 'ext/suse/puppet.spec'
- 'lib/puppet/vendor/**/*'
- 'lib/puppet/pops/model/ast.rb'
- 'lib/puppet/pops/parser/eparser.rb'
# The formatting of defaults is unusual, so let's skip layout cops.
Layout:
Exclude:
- 'lib/puppet/defaults.rb'
# We don't mind when module and class keywords are aligned.
Layout/IndentationWidth:
AllowedPatterns: ['^\s*module']
Layout/LineEndStringConcatenationIndentation:
Enabled: true
# Enabling this cop will remove raising RuntimeErrors and cause spec test
# failures
Style/RedundantException:
Exclude:
- 'lib/puppet/file_bucket/dipper.rb'
- 'lib/puppet/forge.rb'
- 'lib/puppet/module_tool/applications/unpacker.rb'
- 'lib/puppet/module_tool/local_tarball.rb'
- 'lib/puppet/module_tool/tar.rb'
- 'lib/puppet/pops/types/class_loader.rb'
# Enabling this cop causes a plethora of failed rspec tests, mostly
# Errno::ENAMETOOLONG and Puppet::Context::UndefinedBindingError: Unable to
# lookup 'environments' errors
Style/RedundantSelfAssignment:
Exclude:
- 'lib/puppet/context.rb'
# Enabling this cop causes failures in rb_tree_map_spec relating to important
# function slike being unable to delete nodes and returning nil when the key
# cannot be found
Style/PreferredHashMethods:
Enabled: false
# Explicitly enables this cop new in 1.7
Layout/SpaceBeforeBrackets:
Enabled: true
# puppet uses symbol booleans in types and providers to work around long standing
# bugs when trying to manage falsey pararameters and properties
Lint/BooleanSymbol:
Enabled: true
Exclude:
- 'lib/puppet/type.rb'
- 'lib/puppet/type/**/*.rb'
- 'lib/puppet/provider/**/*.rb'
- 'lib/puppet/reference/providers.rb'
- 'lib/puppet/parameter/value.rb'
Metrics/AbcSize:
Enabled: false
Metrics/BlockLength:
Enabled: false
Metrics/BlockNesting:
Enabled: false
Metrics/ClassLength:
Enabled: false
Metrics/CyclomaticComplexity:
Enabled: false
Metrics/MethodLength:
Enabled: false
Metrics/ModuleLength:
Enabled: false
Metrics/ParameterLists:
Enabled: false
Metrics/PerceivedComplexity:
Enabled: false
Naming/AccessorMethodName:
Enabled: false
Naming/BinaryOperatorParameterName:
Enabled: false
Naming/BlockParameterName:
Exclude:
- 'lib/puppet/util/windows/daemon.rb'
- 'lib/puppet/util/windows/user.rb'
Naming/ClassAndModuleCamelCase:
Exclude:
- 'lib/puppet/ffi/windows/structs.rb'
- 'lib/puppet/pops/validation/checker4_0.rb'
- 'lib/puppet/pops/validation/validator_factory_4_0.rb'
- 'lib/puppet/util/windows/root_certs.rb'
- 'lib/puppet/util/windows/security.rb'
- 'lib/puppet/util/windows/user.rb'
Naming/ConstantName:
Exclude:
- 'lib/puppet/graph/relationship_graph.rb'
- 'lib/puppet/indirector/hiera.rb'
- 'lib/puppet/provider/package/sun.rb'
- 'lib/puppet/resource/type.rb'
- 'lib/puppet/type/schedule.rb'
- 'lib/puppet/type/tidy.rb'
- 'lib/puppet/util.rb'
- 'lib/puppet/util/colors.rb'
- 'lib/puppet/util/execution.rb'
- 'lib/puppet/util/symbolic_file_mode.rb'
- 'lib/puppet/util/tagging.rb'
- 'lib/puppet/util/windows/adsi.rb'
- 'lib/puppet/util/windows/sid.rb'
- 'lib/puppet/util/yaml.rb'
Naming/HeredocDelimiterNaming:
Enabled: false
# Exclude existing violations to avoid breaking changes
Naming/MemoizedInstanceVariableName:
Exclude:
- 'lib/puppet/module_tool/applications/installer.rb'
- 'lib/puppet/pops/types/type_factory.rb'
- 'lib/puppet/provider/package/portage.rb'
- 'lib/puppet/resource.rb'
Naming/MethodName:
Exclude:
- 'lib/puppet/functions/**/*'
- 'lib/puppet/parser/ast/pops_bridge.rb'
- 'lib/puppet/pops/**/*'
- 'lib/puppet/util/windows/**/*'
Naming/MethodParameterName:
Enabled: false
Naming/PredicateName:
ForbiddenPrefixes: []
Naming/RescuedExceptionsVariableName:
Enabled: false
Naming/VariableName:
Exclude:
- 'ext/windows/service/daemon.rb'
- 'lib/puppet/agent.rb'
- 'lib/puppet/application/describe.rb'
- 'lib/puppet/pops/lookup/hiera_config.rb'
- 'lib/puppet/pops/validation/checker4_0.rb'
- 'lib/puppet/provider/package/pip.rb'
- 'lib/puppet/provider/package/windows/exe_package.rb'
- 'lib/puppet/provider/package/windows/msi_package.rb'
- 'lib/puppet/ssl/ssl_provider.rb'
- 'lib/puppet/util/windows/adsi.rb'
- 'lib/puppet/util/windows/daemon.rb'
- 'lib/puppet/util/windows/error.rb'
- 'lib/puppet/util/windows/user.rb'
Naming/VariableNumber:
Enabled: false
Performance/AncestorsInclude: # new in 1.7
Enabled: true
Performance/BigDecimalWithNumericArgument: # new in 1.7
Enabled: true
Performance/ConcurrentMonotonicTime: # new in 1.12
Enabled: true
Performance/MapCompact: # new in 1.11
Enabled: true
Performance/RedundantSortBlock: # new in 1.7
Enabled: true
Performance/ReverseFirst: # new in 1.7
Enabled: true
RSpec/BeEq: # new in 2.9.0
Enabled: true
RSpec/BeNil: # new in 2.9.0
Enabled: true
RSpec/ExcessiveDocstringSpacing: # new in 2.5
Enabled: true
RSpec/IdenticalEqualityAssertion: # new in 2.4
Enabled: true
RSpec/SubjectDeclaration: # new in 2.5
Enabled: true
RSpec/VerifiedDoubleReference: # new in 2.10.0
Enabled: true
RSpec/FactoryBot/SyntaxMethods: # new in 2.7
Enabled: true
RSpec/Rails/AvoidSetupHook: # new in 2.4
Enabled: true
Style/AutoResourceCleanup:
Enabled: true
Style/CaseEquality:
Enabled: true
Style/CaseLikeIf:
Enabled: true
Style/ClassCheck:
Enabled: true
Style/ClassEqualityComparison:
Enabled: true
Style/ClassMethods:
Enabled: true
Style/CollectionCompact:
Enabled: true
Style/ColonMethodCall:
Enabled: true
Style/CombinableLoops:
Enabled: true
Exclude:
- 'lib/puppet/graph/relationship_graph.rb'
- 'lib/puppet/pops/types/ruby_generator.rb'
- 'lib/puppet/provider/service/init.rb'
- 'lib/puppet/util/rdoc/generators/puppet_generator.rb'
Style/ColonMethodDefinition:
Enabled: true
Style/DefWithParentheses:
Enabled: true
Style/Dir:
Enabled: true
Style/DocumentDynamicEvalDefinition:
Enabled: true
Style/DoubleCopDisableDirective:
Enabled: true
Style/EachForSimpleLoop:
Enabled: true
Style/EachWithObject:
Enabled: true
Style/EmptyBlockParameter:
Enabled: true
Style/EmptyCaseCondition:
Enabled: true
Style/EmptyLambdaParameter:
Enabled: true
Style/EmptyLiteral:
Enabled: true
Style/EvalWithLocation:
Enabled: true
Style/EvenOdd:
Enabled: true
Style/ExpandPathArguments:
Enabled: true
Style/FetchEnvVar:
Enabled: true
Style/FileRead:
Enabled: true
Style/FileWrite:
Enabled: true
Style/FloatDivision:
Enabled: true
Style/For:
Enabled: true
Style/FrozenStringLiteralComment:
Enabled: true
Style/GlobalStdStream:
Enabled: true
Style/GlobalVars:
Enabled: true
Style/HashAsLastArrayItem:
Enabled: true
Style/HashConversion:
Enabled: true
# HashEachMethods does not guarantee the receiver is a Hash, so
# this will not work since numerous puppet classes define #value
# not #each_value
Style/HashEachMethods:
Enabled: false
Style/HashLikeCase:
Enabled: true
Exclude:
- 'lib/puppet/util/command_line/trollop.rb'
Style/HashTransformKeys:
Enabled: true
Style/HashTransformValues:
Enabled: true
Style/IdenticalConditionalBranches:
Enabled: true
Style/IfInsideElse:
Enabled: true
Style/IfUnlessModifierOfIfUnless:
Enabled: true
Style/IfWithBooleanLiteralBranches:
Enabled: true
Style/IfWithSemicolon:
Enabled: true
Style/InfiniteLoop:
Enabled: true
Style/InverseMethods:
Enabled: true
Style/KeywordParametersOrder:
Enabled: true
Style/Lambda:
Enabled: true
Style/LambdaCall:
Enabled: true
Style/LineEndConcatenation:
Enabled: true
Style/MapCompactWithConditionalBlock:
Enabled: true
Style/MapToHash:
Enabled: true
Style/MapToSet:
Enabled: true
================================================
FILE: .rubocop_todo.yml
================================================
# This configuration was generated by
# `rubocop --auto-gen-config --no-offense-counts --no-auto-gen-timestamp`
# using RuboCop version 1.28.0.
# The point is for the user to remove these configuration records
# one by one as the offenses are removed from the code base.
# Note that changes in the inspected code, or installation of new
# versions of RuboCop, may require this file to be generated again.
# This cop supports safe auto-correction (--auto-correct).
I18n/GetText/DecorateFunctionMessage:
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
I18n/GetText/DecorateString:
Enabled: false
I18n/GetText/DecorateStringFormattingUsingPercent:
Exclude:
- 'lib/puppet/provider/user/windows_adsi.rb'
- 'lib/puppet/transaction/resource_harness.rb'
I18n/RailsI18n/DecorateString:
Enabled: false
Lint/AmbiguousAssignment: # new in 1.7
Enabled: false
Lint/AmbiguousOperatorPrecedence: # new in 1.21
Enabled: false
Lint/AmbiguousRange: # new in 1.19
Enabled: false
# Configuration parameters: AllowedMethods.
# AllowedMethods: enums
Lint/ConstantDefinitionInBlock:
Exclude:
- 'lib/puppet/face/config.rb'
- 'lib/puppet/face/help.rb'
- 'lib/puppet/face/node/clean.rb'
- 'lib/puppet/provider/package/aix.rb'
- 'lib/puppet/provider/package/apt.rb'
- 'lib/puppet/provider/package/gem.rb'
- 'lib/puppet/provider/package/pip.rb'
- 'lib/puppet/provider/package/yum.rb'
- 'lib/puppet/provider/service/upstart.rb'
- 'lib/puppet/provider/user/directoryservice.rb'
- 'lib/puppet/type/file.rb'
- 'lib/puppet/type/file/source.rb'
- 'lib/puppet/type/resources.rb'
- 'lib/puppet/type/schedule.rb'
- 'lib/puppet/type/tidy.rb'
Lint/ConstantOverwrittenInRescue: # new in 1.31
Enabled: false
Lint/DeprecatedConstants: # new in 1.8
Enabled: false
Lint/DuplicateBranch: # new in 1.3
Enabled: false
Lint/DuplicateMagicComment: # new in 1.37
Enabled: false
Lint/DuplicateMatchPattern: # new in 1.50
Enabled: false
Lint/DuplicateRegexpCharacterClassElement: # new in 1.1
Enabled: false
Lint/EmptyBlock: # new in 1.1
Enabled: false
Lint/EmptyClass: # new in 1.3
Enabled: false
Lint/EmptyInPattern: # new in 1.16
Enabled: false
Lint/IncompatibleIoSelectWithFiberScheduler: # new in 1.21
Enabled: false
Lint/ItWithoutArgumentsInBlock: # new in 1.59
Enabled: false
Lint/LambdaWithoutLiteralBlock: # new in 1.8
Enabled: false
Lint/LiteralAssignmentInCondition: # new in 1.58
Enabled: false
Lint/MissingSuper:
Enabled: false
Lint/MixedCaseRange: # new in 1.53
Enabled: false
Lint/NestedMethodDefinition:
Exclude:
- 'lib/puppet/pops/types/p_binary_type.rb'
- 'lib/puppet/pops/types/p_init_type.rb'
- 'lib/puppet/pops/types/p_object_type.rb'
- 'lib/puppet/pops/types/p_sem_ver_range_type.rb'
- 'lib/puppet/pops/types/p_sem_ver_type.rb'
- 'lib/puppet/pops/types/p_sensitive_type.rb'
- 'lib/puppet/pops/types/p_timespan_type.rb'
- 'lib/puppet/pops/types/p_timestamp_type.rb'
- 'lib/puppet/pops/types/p_uri_type.rb'
- 'lib/puppet/pops/types/types.rb'
- 'lib/puppet/type.rb'
Lint/NonAtomicFileOperation: # new in 1.31
Enabled: false
Lint/NoReturnInBeginEndBlocks: # new in 1.2
Enabled: false
Lint/NumberedParameterAssignment: # new in 1.9
Enabled: false
Lint/OrAssignmentToConstant: # new in 1.9
Enabled: false
Lint/RedundantDirGlobSort: # new in 1.8
Enabled: false
Lint/RedundantRegexpQuantifiers: # new in 1.53
Enabled: false
# Unsure how the changes in portage.rb from Lint/RedundantSplatExpansion impact
# the code
Lint/RedundantSplatExpansion:
Exclude:
- 'lib/puppet/provider/package/portage.rb'
Lint/RefinementImportMethods: # new in 1.27
Enabled: false
Lint/RequireRangeParentheses: # new in 1.32
Enabled: false
Lint/RequireRelativeSelfPath: # new in 1.22
Enabled: false
Lint/RescueException:
Exclude:
- 'ext/windows/service/daemon.rb'
- 'lib/puppet/configurer/fact_handler.rb'
- 'lib/puppet/generate/type.rb'
- 'lib/puppet/settings.rb'
- 'lib/puppet/transaction/resource_harness.rb'
- 'lib/puppet/util.rb'
- 'lib/puppet/util/autoload.rb'
- 'lib/puppet/util/command_line/trollop.rb'
- 'util/rspec_grouper'
# Configuration parameters: AllowComments, AllowNil.
Lint/SuppressedException:
Exclude:
- 'lib/puppet/application/face_base.rb'
- 'lib/puppet/ffi/windows/functions.rb'
- 'lib/puppet/forge/errors.rb'
- 'lib/puppet/functions/each.rb'
- 'lib/puppet/functions/filter.rb'
- 'lib/puppet/functions/map.rb'
- 'lib/puppet/functions/slice.rb'
- 'lib/puppet/pops/time/timespan.rb'
- 'lib/puppet/pops/types/iterable.rb'
- 'lib/puppet/pops/types/p_runtime_type.rb'
- 'lib/puppet/util/command_line.rb'
- 'lib/puppet/util/execution.rb'
- 'util/rspec_grouper'
Lint/SymbolConversion: # new in 1.9
Enabled: false
Lint/ToEnumArguments: # new in 1.1
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
Lint/ToJSON:
Exclude:
- 'lib/puppet/module_tool/metadata.rb'
- 'lib/puppet/network/http/error.rb'
- 'lib/puppet/pops/serialization/json.rb'
Lint/TripleQuotes: # new in 1.9
Enabled: false
Lint/UnexpectedBlockArity: # new in 1.5
Enabled: false
Lint/UnmodifiedReduceAccumulator: # new in 1.1
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods, IgnoreNotImplementedMethods.
Lint/UnusedMethodArgument:
Enabled: false
Lint/UselessRescue: # new in 1.43
Enabled: false
Lint/UselessRuby2Keywords: # new in 1.23
Enabled: false
Performance/BlockGivenWithExplicitBlock: # new in 1.9
Enabled: false
Performance/CollectionLiteralInLoop: # new in 1.8
Enabled: false
Performance/ConstantRegexp: # new in 1.9
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
Performance/Count:
Exclude:
- 'lib/puppet/confine/any.rb'
- 'lib/puppet/confine/false.rb'
- 'lib/puppet/confine/true.rb'
- 'lib/puppet/graph/relationship_graph.rb'
- 'lib/puppet/provider.rb'
# This cop supports unsafe auto-correction (--auto-correct-all).
Performance/InefficientHashSearch:
Exclude:
- 'lib/puppet/face/node/clean.rb'
- 'lib/puppet/provider/nameservice/directoryservice.rb'
- 'lib/puppet/provider/user/directoryservice.rb'
- 'lib/puppet/resource.rb'
- 'lib/puppet/util/windows/adsi.rb'
Performance/MethodObjectAsBlock: # new in 1.9
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
Performance/RedundantBlockCall:
Exclude:
- 'lib/puppet/application.rb'
- 'lib/puppet/context.rb'
- 'lib/puppet/file_bucket/file.rb'
- 'lib/puppet/functions/max.rb'
- 'lib/puppet/functions/min.rb'
- 'lib/puppet/gettext/stubs.rb'
- 'lib/puppet/network/http/api/server/v3.rb'
- 'lib/puppet/pal/pal_impl.rb'
- 'lib/puppet/pops/adaptable.rb'
- 'lib/puppet/pops/lookup/invocation.rb'
- 'lib/puppet/pops/model/factory.rb'
- 'lib/puppet/util.rb'
Performance/RedundantEqualityComparisonBlock: # new in 1.10
Enabled: false
# This cop supports unsafe auto-correction (--auto-correct-all).
# Configuration parameters: MaxKeyValuePairs.
Performance/RedundantMerge:
Exclude:
- 'lib/puppet/x509/cert_provider.rb'
Performance/RedundantSplitRegexpArgument: # new in 1.10
Enabled: false
Performance/RedundantStringChars: # new in 1.7
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
Performance/RegexpMatch:
Enabled: false
Performance/SortReverse: # new in 1.7
Enabled: false
Performance/Squeeze: # new in 1.7
Enabled: false
Performance/StringIdentifierArgument: # new in 1.13
Enabled: false
Performance/StringInclude: # new in 1.7
Enabled: false
Performance/Sum: # new in 1.8
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
Performance/UnfreezeString:
Enabled: false
# Configuration parameters: EnforcedStyle, AllowModifiersOnSymbols.
# SupportedStyles: inline, group
Style/AccessModifierDeclarations:
Exclude:
- 'lib/puppet/util/suidmanager.rb'
- 'lib/puppet/util/command_line/trollop.rb'
- 'lib/puppet/util/windows/monkey_patches/process.rb'
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: separated, grouped
Style/AccessorGrouping:
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: prefer_alias, prefer_alias_method
Style/Alias:
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: always, conditionals
Style/AndOr:
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: percent_q, bare_percent
Style/BarePercentLiterals:
Exclude:
- 'lib/puppet/module_tool/metadata.rb'
- 'lib/puppet/node/environment.rb'
- 'lib/puppet/parameter/package_options.rb'
- 'lib/puppet/provider/package/dpkg.rb'
- 'lib/puppet/provider/package/gem.rb'
- 'lib/puppet/provider/package/rpm.rb'
- 'lib/puppet/provider/package/windows/package.rb'
- 'lib/puppet/settings.rb'
- 'lib/puppet/settings/base_setting.rb'
- 'lib/puppet/transaction/event.rb'
- 'lib/puppet/util/execution.rb'
# This cop supports safe auto-correction (--auto-correct).
Style/BisectedAttrAccessor:
Exclude:
- 'lib/puppet/module.rb'
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle, ProceduralMethods, FunctionalMethods, IgnoredMethods, AllowBracesOnProceduralOneLiners, BracesRequiredMethods.
# SupportedStyles: line_count_based, semantic, braces_for_chaining, always_braces
# ProceduralMethods: benchmark, bm, bmbm, create, each_with_object, measure, new, realtime, tap, with_object
# FunctionalMethods: let, let!, subject, watch
# IgnoredMethods: lambda, proc, it
Style/BlockDelimiters:
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: AllowOnConstant.
Style/CaseEquality:
Exclude:
- 'lib/puppet/indirector/terminus.rb'
- 'lib/puppet/interface/face_collection.rb'
- 'lib/puppet/module_tool/installed_modules.rb'
- 'lib/puppet/module_tool/shared_behaviors.rb'
- 'lib/puppet/util/command_line/puppet_option_parser.rb'
- 'lib/puppet/util/log/destination.rb'
- 'lib/puppet/util/multi_match.rb'
- 'lib/puppet/util/rdoc/generators/puppet_generator.rb'
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: nested, compact
Style/ClassAndModuleChildren:
Enabled: false
Style/ClassVars:
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
Style/ColonMethodCall:
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle, AllowInnerBackticks.
# SupportedStyles: backticks, percent_x, mixed
Style/CommandLiteral:
Exclude:
- 'ext/windows/service/daemon.rb'
- 'lib/puppet/provider/nameservice/directoryservice.rb'
- 'lib/puppet/util/reference.rb'
- 'lib/puppet/util/terminal.rb'
- 'lib/puppet/util/windows/process.rb'
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: Keywords, RequireColon.
# Keywords: TODO, FIXME, OPTIMIZE, HACK, REVIEW, NOTE
Style/CommentAnnotation:
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
Style/CommentedKeyword:
Exclude:
- 'lib/puppet/util/command_line/trollop.rb'
- 'lib/puppet/util/rdoc/generators/puppet_generator.rb'
- 'lib/puppet/util/rdoc/generators/template/puppet/puppet.rb'
- 'lib/puppet/util/rpm_compare.rb'
- 'lib/puppet/util/windows/service.rb'
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle, SingleLineConditionsOnly, IncludeTernaryExpressions.
# SupportedStyles: assign_to_condition, assign_inside_condition
Style/ConditionalAssignment:
Enabled: false
# Enabling this would require reworking Puppet's use of DateTime's #rfc2822, #httptime, and _strptime
Style/DateTime:
Enabled: false
# Configuration parameters: AllowedConstants.
Style/Documentation:
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: allowed_in_returns, forbidden
Style/DoubleNegation:
Exclude:
- 'lib/puppet/application/lookup.rb'
- 'lib/puppet/confine/boolean.rb'
- 'lib/puppet/http/service/compiler.rb'
- 'lib/puppet/parser/functions/fqdn_rand.rb'
- 'lib/puppet/pops/evaluator/evaluator_impl.rb'
- 'lib/puppet/pops/issue_reporter.rb'
- 'lib/puppet/pops/types/p_runtime_type.rb'
- 'lib/puppet/provider/package/apt.rb'
- 'lib/puppet/resource/status.rb'
- 'lib/puppet/type.rb'
- 'lib/puppet/util/feature.rb'
- 'lib/puppet/util/windows/adsi.rb'
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: empty, nil, both
Style/EmptyElse:
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
Style/EmptyLiteral:
Exclude:
- 'lib/puppet/parser/scope.rb'
- 'lib/puppet/pops/puppet_stack.rb'
- 'lib/puppet/pops/visitor.rb'
- 'lib/puppet/provider/package/portupgrade.rb'
- 'lib/puppet/provider/service/launchd.rb'
- 'lib/puppet/provider/user/directoryservice.rb'
- 'lib/puppet/type.rb'
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: compact, expanded
Style/EmptyMethod:
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
Style/Encoding:
Exclude:
- 'lib/puppet/face/module/install.rb'
- 'lib/puppet/face/module/list.rb'
- 'lib/puppet/face/module/upgrade.rb'
- 'lib/puppet/ffi/windows/structs.rb'
- 'lib/puppet/interface/action.rb'
- 'lib/puppet/module_tool.rb'
- 'lib/puppet/type.rb'
- 'lib/puppet/type/file.rb'
- 'lib/puppet/type/package.rb'
- 'lib/puppet/util/windows/service.rb'
# This cop supports safe auto-correction (--auto-correct).
Style/ExplicitBlockArgument:
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: format, sprintf, percent
Style/FormatString:
Enabled: false
# Configuration parameters: EnforcedStyle, MaxUnannotatedPlaceholdersAllowed, IgnoredMethods.
# SupportedStyles: annotated, template, unannotated
Style/FormatStringToken:
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
# Applying the safe auto-correct results in util_spec failures.
Style/GlobalStdStream:
Exclude:
- 'lib/puppet/application/apply.rb'
- 'lib/puppet/application/script.rb'
- 'lib/puppet/face/epp.rb'
- 'lib/puppet/face/parser.rb'
- 'lib/puppet/util.rb'
- 'lib/puppet/util/command_line.rb'
- 'lib/puppet/util/windows/daemon.rb'
# Configuration parameters: AllowedVariables.
Style/GlobalVars:
Exclude:
- 'lib/puppet/external/dot.rb'
- 'lib/puppet/test/test_helper.rb'
- 'lib/puppet/util/logging.rb'
# Configuration parameters: MinBodyLength, AllowConsecutiveConditionals.
Style/GuardClause:
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle, EnforcedShorthandSyntax, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols.
# SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys
# SupportedShorthandSyntax: always, never, either
Style/HashSyntax:
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
Style/IfUnlessModifier:
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
# The auto-correct function introduces testing errors in the evaluating_parser_spec
Style/IfWithSemicolon:
Exclude:
- 'lib/puppet/pops/parser/evaluating_parser.rb'
# This cop requires significant changes to testing, will require its own effort
Style/ImplicitRuntimeError:
Enabled: false
# This cop supports unsafe auto-correction (--auto-correct-all).
# Configuration parameters: InverseMethods, InverseBlocks.
Style/InverseMethods:
Exclude:
- 'lib/puppet/face/catalog/select.rb'
- 'lib/puppet/graph/relationship_graph.rb'
- 'lib/puppet/parser/compiler.rb'
- 'lib/puppet/pops/loader/loader_paths.rb'
- 'lib/puppet/pops/types/ruby_generator.rb'
- 'lib/puppet/pops/validation.rb'
- 'lib/puppet/pops/validation/checker4_0.rb'
- 'lib/puppet/provider/package/pkg.rb'
- 'lib/puppet/provider/user/user_role_add.rb'
- 'lib/puppet/reference/providers.rb'
- 'lib/puppet/type/file.rb'
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: IgnoredMethods.
Style/MethodCallWithoutArgsParentheses:
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: require_parentheses, require_no_parentheses, require_no_parentheses_except_multiline
Style/MethodDefParentheses:
Exclude:
- 'lib/puppet/pops/evaluator/evaluator_impl.rb'
- 'lib/puppet/pops/evaluator/relationship_operator.rb'
- 'lib/puppet/pops/issues.rb'
- 'lib/puppet/pops/label_provider.rb'
- 'lib/puppet/pops/model/factory.rb'
- 'lib/puppet/pops/model/model_label_provider.rb'
- 'lib/puppet/pops/model/model_tree_dumper.rb'
- 'lib/puppet/pops/model/tree_dumper.rb'
- 'lib/puppet/pops/parser/interpolation_support.rb'
- 'lib/puppet/pops/parser/parser_support.rb'
- 'lib/puppet/pops/utils.rb'
- 'lib/puppet/pops/validation.rb'
- 'lib/puppet/pops/validation/validator_factory_4_0.rb'
- 'lib/puppet/util/command_line/trollop.rb'
Style/MissingRespondToMissing:
Exclude:
- 'lib/puppet/module_tool/metadata.rb'
- 'lib/puppet/parser/scope.rb'
- 'lib/puppet/settings/alias_setting.rb'
- 'lib/puppet/util/command_line/trollop.rb'
- 'lib/puppet/util/feature.rb'
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: separated, grouped
Style/MixinGrouping:
Exclude:
- 'lib/puppet/util/rdoc/generators/puppet_generator.rb'
Style/MultilineBlockChain:
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
Style/MultilineIfModifier:
Exclude:
- 'lib/puppet/face/config.rb'
- 'lib/puppet/module_tool/applications/installer.rb'
- 'lib/puppet/module_tool/shared_behaviors.rb'
- 'lib/puppet/network/http/api/indirected_routes.rb'
- 'lib/puppet/pops/evaluator/access_operator.rb'
- 'lib/puppet/pops/loader/task_instantiator.rb'
- 'lib/puppet/pops/model/model_tree_dumper.rb'
- 'lib/puppet/provider/package/windows.rb'
- 'lib/puppet/provider/service/upstart.rb'
- 'lib/puppet/resource/catalog.rb'
- 'lib/puppet/type/file/content.rb'
- 'lib/puppet/type/user.rb'
- 'lib/puppet/util/execution.rb'
- 'lib/puppet/util/windows/com.rb'
# This cop supports safe auto-correction (--auto-correct).
Style/MultilineIfThen:
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: keyword, braces
Style/MultilineMemoization:
Exclude:
- 'lib/puppet/application.rb'
- 'lib/puppet/pops/types/types.rb'
- 'lib/puppet/type.rb'
# This cop supports safe auto-correction (--auto-correct).
Style/MultilineTernaryOperator:
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
Style/MultilineWhenThen:
Exclude:
- 'lib/puppet/graph/simple_graph.rb'
- 'lib/puppet/interface/documentation.rb'
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: AllowMethodComparison.
Style/MultipleComparison:
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: literals, strict
Style/MutableConstant:
Enabled: false
# This cop supports unsafe auto-correction (--auto-correct-all).
# Configuration parameters: EnforcedStyle, IgnoredMethods.
# SupportedStyles: predicate, comparison
Style/NumericPredicate:
Enabled: false
# Configuration parameters: AllowedMethods.
# AllowedMethods: respond_to_missing?
Style/OptionalBooleanParameter:
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: implicit, explicit
Style/RescueStandardError:
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods, MaxChainLength.
# AllowedMethods: present?, blank?, presence, try, try!
Style/SafeNavigation:
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: AllowAsExpressionSeparator.
Style/Semicolon:
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: only_raise, only_fail, semantic
Style/SignalException:
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: AllowIfMethodIsEmpty.
Style/SingleLineMethods:
Exclude:
- 'lib/puppet/ffi/windows/api_types.rb'
- 'lib/puppet/file_system/memory_file.rb'
- 'lib/puppet/graph/simple_graph.rb'
- 'lib/puppet/interface/action.rb'
- 'lib/puppet/parser/resource.rb'
- 'lib/puppet/pops/model/factory.rb'
- 'lib/puppet/pops/model/model_label_provider.rb'
- 'lib/puppet/pops/types/type_formatter.rb'
- 'lib/puppet/provider/nameservice/directoryservice.rb'
- 'lib/puppet/provider/service/freebsd.rb'
- 'lib/puppet/type.rb'
- 'lib/puppet/util/command_line/trollop.rb'
- 'lib/puppet/util/metaid.rb'
- 'lib/puppet/util/windows/com.rb'
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: AllowModifier.
Style/SoleNestedConditional:
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
Style/StderrPuts:
Exclude:
- 'bin/puppet'
- 'lib/puppet/application/agent.rb'
- 'lib/puppet/application/apply.rb'
- 'lib/puppet/application/describe.rb'
- 'lib/puppet/application/device.rb'
- 'lib/puppet/application/face_base.rb'
- 'lib/puppet/application/filebucket.rb'
- 'lib/puppet/application/script.rb'
- 'lib/puppet/face/config.rb'
- 'lib/puppet/reference/type.rb'
- 'lib/puppet/util.rb'
- 'lib/puppet/util/command_line/trollop.rb'
- 'lib/puppet/util/rdoc/generators/puppet_generator.rb'
- 'lib/puppet/util/reference.rb'
# This cop supports unsafe auto-correction (--auto-correct-all).
# Configuration parameters: Mode.
Style/StringConcatenation:
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
# SupportedStyles: single_quotes, double_quotes
Style/StringLiterals:
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle, MinSize.
# SupportedStyles: percent, brackets
Style/SymbolArray:
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyle, AllowSafeAssignment.
# SupportedStyles: require_parentheses, require_no_parentheses, require_parentheses_when_complex
Style/TernaryParentheses:
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: EnforcedStyleForMultiline.
# SupportedStylesForMultiline: comma, consistent_comma, no_comma
Style/TrailingCommaInHashLiteral:
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: AllowNamedUnderscoreVariables.
Style/TrailingUnderscoreVariable:
Exclude:
- 'lib/puppet/indirector/file_server.rb'
- 'lib/puppet/module/plan.rb'
- 'lib/puppet/pops/evaluator/closure.rb'
- 'lib/puppet/pops/parser/parser_support.rb'
- 'lib/puppet/provider/group/windows_adsi.rb'
- 'lib/puppet/provider/package/zypper.rb'
- 'lib/puppet/provider/service/launchd.rb'
- 'lib/puppet/provider/user/pw.rb'
- 'lib/puppet/provider/user/windows_adsi.rb'
- 'lib/puppet/resource/type.rb'
- 'lib/puppet/util/windows/registry.rb'
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: ExactNameMatch, AllowPredicates, AllowDSLWriters, IgnoreClassMethods, AllowedMethods.
# AllowedMethods: to_ary, to_a, to_c, to_enum, to_h, to_hash, to_i, to_int, to_io, to_open, to_path, to_proc, to_r, to_regexp, to_str, to_s, to_sym
Style/TrivialAccessors:
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
Style/WhenThen:
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
Style/WhileUntilModifier:
Exclude:
- 'lib/puppet/parser/scope.rb'
- 'lib/puppet/pops/parser/interpolation_support.rb'
- 'lib/puppet/pops/parser/locator.rb'
- 'lib/puppet/pops/parser/pn_parser.rb'
- 'lib/puppet/pops/types/p_object_type.rb'
- 'lib/puppet/util/windows/process.rb'
# This cop supports unsafe auto-correction (--auto-correct-all).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: forbid_for_all_comparison_operators, forbid_for_equality_operators_only, require_for_all_comparison_operators, require_for_equality_operators_only
Style/YodaCondition:
Enabled: false
# This cop supports unsafe auto-correction (--auto-correct-all).
Style/ZeroLengthPredicate:
Enabled: false
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns, IgnoredPatterns.
# URISchemes: http, https
Layout/LineLength:
Max: 582
================================================
FILE: .yardopts
================================================
--protected
--private
--verbose
--markup markdown
--readme README.md
--tag status
--transitive-tag status
--tag comment
--hide-tag comment
--tag dsl:"DSL"
--no-transitive-tag api
--template-path yardoc/templates
--files CO*.md,api/**/*.md
--api public
--api private
--hide-void-return
--exclude lib/puppet/vendor/
lib/**/*.rb
================================================
FILE: CODEOWNERS
================================================
# defaults
* @puppetlabs/phoenix
# PAL
/lib/puppet/pal @puppetlabs/bolt
# puppet module
/lib/puppet/application/module.rb @puppetlabs/modules
/lib/puppet/face/module @puppetlabs/modules
/lib/puppet/forge @puppetlabs/modules
/lib/puppet/module_tool @puppetlabs/modules
================================================
FILE: CODE_OF_CONDUCT.md
================================================
# Community Guidelines and Code of Conduct
We want to keep the Puppet communities awesome, and we need your help to keep it
that way. While we have specific guidelines for various tools (see links below),
in general, you should:
* **Be nice**: Be courteous, respectful and polite to fellow community members. No
offensive comments related to gender, gender identity or expression, sexual
orientation, disability, physical appearance, body size, race, religion; no
sexual images in public spaces, real or implied violence, intimidation,
oppression, stalking, following, harassing photography or recording, sustained
disruption of talks or other events, inappropriate physical contact, doxxing, or
unwelcome sexual attention will be tolerated. We like nice people way better
than mean ones!
* **Encourage diversity and participation**: Make everyone in our community feel
welcome, regardless of their background, and do everything possible to encourage
participation in our community.
* **Focus on constructive criticisms**: When offering suggestions, whether in online
discussions or as comments on a pull request, you should always use welcoming
and inclusive language. Be respectful of differing viewpoints and the fact that
others may not have the same experiences you do. Offer suggestions for
improvement, rather than focusing on mistakes. When others critique your work or
ideas, gracefully accept the criticisms and default to assuming good intentions.
* **Keep it legal**: Basically, don't get us in trouble. Share only content that you
own, do not share private or sensitive information, and don't break the law.
* **Stay on topic**: Keep conversation in a thread on topic, whether that's a pull
request or a Slack conversation or anything else. Make sure that you are posting
to the correct channel and remember that nobody likes spam.
## Guideline violations --- 3 strikes method
The point of this section is not to find opportunities to punish people, but we
do need a fair way to deal with people who do harm to our community. Extreme
violations of a threatening, abusive, destructive, or illegal nature will be
addressed immediately and are not subject to 3 strikes.
* First occurrence: We'll give you a friendly, but public, reminder that the
behavior is inappropriate according to our guidelines.
* Second occurrence: We'll send you a private message with a warning that any
additional violations will result in removal from the community.
* Third occurrence: Depending on the violation, we might need to delete or ban
your account.
Notes:
* Obvious spammers are banned on first occurrence. If we don’t do this, we’ll
have spam all over the place.
* Violations are forgiven after 6 months of good behavior, and we won’t hold a grudge.
* People who are committing minor formatting / style infractions will get some
education, rather than hammering them in the 3 strikes process.
Contact conduct@puppet.com to report abuse or appeal violations. This email list
goes to Kara Sowles (kara at puppet.com) and Katie Abbott (katie dot abbott at
puppet.com). In the case of appeals, we know that mistakes happen, and we’ll
work with you to come up with a fair solution if there has been a
misunderstanding.
## Full text
See our [full community guidelines](https://puppet.com/community/community-guidelines),
covering Slack, IRC, events and other forms of community participation.
## Credits
Credit to [01.org](https://01.org/community/participation-guidelines) and
[meego.com](http://wiki.meego.com/Community_guidelines), since they formed the
starting point for many of these guidelines.
The Event Code of Conduct is based on the [example policy from the Geek Feminism wiki](http://geekfeminism.wikia.com/wiki/Conference_anti-harassment),
created by the Ada Initiative and other volunteers. The [PyCon Code of Conduct](https://github.com/python/pycon-code-of-conduct) also served as inspiration.
================================================
FILE: Gemfile
================================================
source ENV['GEM_SOURCE'] || "https://rubygems.org"
gemspec
def location_for(place, fake_version = nil)
if place.is_a?(String) && place =~ /^((?:git[:@]|https:)[^#]*)#(.*)/
[fake_version, { git: $1, branch: $2, require: false }].compact
elsif place.is_a?(String) && place =~ /^file:\/\/(.*)/
['>= 0', { path: File.expand_path($1), require: false }]
else
[place, { require: false }]
end
end
# Make sure these gem requirements are in sync with the gempspec. Specifically,
# the runtime_dependencies in puppet.gemspec match the runtime dependencies here
# (like facter, semantic_puppet, and puppet-resource_api)
gem "facter", *location_for(ENV['FACTER_LOCATION'] || ["~> 4.3"])
gem "semantic_puppet", *location_for(ENV['SEMANTIC_PUPPET_LOCATION'] || ["~> 1.0"])
gem "puppet-resource_api", *location_for(ENV['RESOURCE_API_LOCATION'] || ["~> 1.5"])
group(:features) do
gem 'diff-lcs', '~> 1.3', require: false
gem "hiera", *location_for(ENV['HIERA_LOCATION']) if ENV.has_key?('HIERA_LOCATION')
gem 'hiera-eyaml', *location_for(ENV['HIERA_EYAML_LOCATION'])
gem 'hocon', '~> 1.0', require: false
# requires native libshadow headers/libs
#gem 'ruby-shadow', '~> 2.5', require: false, platforms: [:ruby]
gem 'minitar', '~> 0.9', require: false
gem 'msgpack', '~> 1.2', require: false
gem 'rdoc', ['~> 6.0', '< 6.4.0'], require: false, platforms: [:ruby]
# requires native augeas headers/libs
# gem 'ruby-augeas', require: false, platforms: [:ruby]
# requires native ldap headers/libs
# gem 'ruby-ldap', '~> 0.9', require: false, platforms: [:ruby]
gem 'puppetserver-ca', '~> 2.0', require: false
gem 'syslog', '~> 0.1.1', require: false, platforms: [:ruby]
gem 'CFPropertyList', ['>= 3.0.6', '< 4'], require: false
end
group(:test) do
# 1.16.0 - 1.16.2 are broken on Windows
gem 'ffi', '>= 1.15.5', '< 1.17.0', '!= 1.16.0', '!= 1.16.1', '!= 1.16.2', require: false
gem "json-schema", "~> 2.0", require: false
gem "racc", "1.5.2", require: false
gem "rake", *location_for(ENV['RAKE_LOCATION'] || '~> 13.0')
gem "rspec", "~> 3.1", require: false
gem "rspec-expectations", ["~> 3.9", "!= 3.9.3"]
gem "rspec-its", "~> 1.1", require: false
gem 'vcr', '~> 6.1', require: false
gem 'webmock', '~> 3.0', require: false
gem 'webrick', '~> 1.7', require: false
gem 'yard', require: false
gem 'rubocop', '~> 1.0', require: false, platforms: [:ruby]
gem 'rubocop-i18n', '~> 3.0', require: false, platforms: [:ruby]
gem 'rubocop-performance', '~> 1.0', require: false, platforms: [:ruby]
gem 'rubocop-rake', '~> 0.6', require: false, platforms: [:ruby]
gem 'rubocop-rspec', '~> 2.0', require: false, platforms: [:ruby]
end
group(:development, optional: true) do
gem 'memory_profiler', require: false, platforms: [:mri]
gem 'pry', require: false, platforms: [:ruby]
if RUBY_PLATFORM != 'java'
gem 'ruby-prof', '>= 0.16.0', require: false
end
end
group(:packaging) do
gem 'packaging', *location_for(ENV['PACKAGING_LOCATION'] || '~> 0.99')
end
group(:documentation, optional: true) do
gem 'gettext-setup', '~> 1.0', require: false, platforms: [:ruby]
gem 'ronn', '~> 0.7.3', require: false, platforms: [:ruby]
gem 'puppet-strings', require: false, platforms: [:ruby]
gem 'pandoc-ruby', require: false, platforms: [:ruby]
end
if File.exist? "#{__FILE__}.local"
eval(File.read("#{__FILE__}.local"), binding)
end
# vim:filetype=ruby
================================================
FILE: Guardfile.example
================================================
# More info at https://github.com/guard/guard#readme
# You'll need to make sure Guard, and any of its plugins are in your Gemfile.local
#
# Example:
# # Automatically run tests on file changes
# gem 'guard', require: false
# gem 'guard-rspec', require: false
# gem 'guard-bundler', require: false
# gem 'terminal-notifier-guard', require: false
#
# After running `bundle install`, you can run Guard via `bundle exec guard`
# from the top of the repository checkout.
notification(:terminal_notifier, app_name: "Puppet ::", group: `pwd`.chomp) if `uname` =~ /Darwin/
## Uncomment and set this to only include directories you want to watch
# directories %w(app lib config test spec features) \
# .select{|d| Dir.exist?(d) ? d : UI.warning("Directory #{d} does not exist")}
## Note: if you are using the `directories` clause above and you are not
## watching the project directory ('.'), then you will want to move
## the Guardfile to a watched dir and symlink it back, e.g.
#
# $ mkdir config
# $ mv Guardfile config/
# $ ln -s config/Guardfile .
#
# and, you'll have to watch "config/Guardfile" instead of "Guardfile"
guard :bundler do
require 'guard/bundler'
require 'guard/bundler/verify'
helper = Guard::Bundler::Verify.new
files = ['Gemfile', 'Gemfile.local']
files += Dir['*.gemspec'] if files.any? { |f| helper.uses_gemspec?(f) }
# Assume files are symlinked from somewhere
files.each { |file| watch(helper.real_path(file)) }
end
def file2specs(match)
file = match[0]
puts "Lib file changed: #{file.inspect}"
%w{spec/unit spec/integration}.collect { |d|
file.sub('lib/puppet', d).sub(".rb", "_spec.rb")
}.find_all { |f|
File.exist?(f)
}
end
rspec_options = {
cmd: "bundle exec rspec",
run_all: {
cmd: "bundle exec parallel_rspec -o '--format progress ",
cmd_additional_args: "'"
},
all_after_pass: false
}
guard :rspec, rspec_options do
require "guard/rspec/dsl"
dsl = Guard::RSpec::Dsl.new(self)
# Feel free to open issues for suggestions and improvements
# RSpec files
rspec = dsl.rspec
watch(rspec.spec_helper) { rspec.spec_dir }
watch(rspec.spec_support) { rspec.spec_dir }
watch(rspec.spec_files)
# Ruby files
ruby = dsl.ruby
watch(ruby.lib_files) { |f| file2specs(f) }
end
================================================
FILE: LICENSE
================================================
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "{}"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright {yyyy} {name of copyright owner}
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
================================================
FILE: README.md
================================================
# Puppet

[](https://badge.fury.io/rb/puppet)
[](https://inch-ci.org/github/puppetlabs/puppet)
Puppet, an automated administrative engine for your Linux, Unix, and Windows systems, performs
administrative tasks (such as adding users, installing packages, and updating server
configurations) based on a centralized specification.
## Documentation
Documentation for Puppet and related projects can be found online at the
[Puppet Docs site](https://puppet.com/docs).
### HTTP API
[HTTP API Index](https://puppet.com/docs/puppet/latest/http_api/http_api_index.html)
## Installation
The best way to run Puppet is with [Puppet Enterprise (PE)](https://puppet.com/products/puppet-enterprise/),
which also includes orchestration features, a web console, and professional support.
The PE documentation is [available here.](https://puppet.com/docs/pe/latest)
To install an open source release of Puppet,
[see the installation guide on the docs site.](https://puppet.com/docs/puppet/latest/installing_and_upgrading.html)
If you need to run Puppet from source as a tester or developer,
see the [Quick Start to Developing on Puppet](docs/quickstart.md) guide.
## Developing and Contributing
We'd love to get contributions from you! For a quick guide to getting your
system setup for developing, take a look at our [Quickstart
Guide](https://github.com/puppetlabs/puppet/blob/main/docs/quickstart.md). Once you are up and running, take a look at the
[Contribution Documents](https://github.com/puppetlabs/.github/blob/main/CONTRIBUTING.md) to see how to get your changes merged
in.
For more complete docs on developing with Puppet, take a look at the
rest of the [developer documents](https://github.com/puppetlabs/puppet/blob/main/docs/index.md).
## Licensing
See [LICENSE](https://github.com/puppetlabs/puppet/blob/main/LICENSE) file. Puppet is licensed by Puppet, Inc. under the Apache license. Puppet, Inc. can be contacted at: info@puppet.com
## Support
Please log issues in this project's [GitHub Issues](https://github.com/puppetlabs/puppet/issues). A [mailing
list](https://groups.google.com/forum/?fromgroups#!forum/puppet-users) is
available for asking questions and getting help from others, or if you prefer chat, we also have a [Puppet Community slack.](https://puppetcommunity.slack.com/)
We use semantic version numbers for our releases and recommend that users stay
as up-to-date as possible by upgrading to patch releases and minor releases as
they become available.
Bug fixes and ongoing development will occur in minor releases for the current
major version. Security fixes will be backported to a previous major version on
a best-effort basis, until the previous major version is no longer maintained.
For example: If a security vulnerability is discovered in Puppet 8.1.1, we
would fix it in the 8 series, most likely as 8.1.2. Maintainers would then make
a best effort to backport that fix onto the latest Puppet 7 release.
Long-term support, including security patches and bug fixes, is available for
commercial customers. Please see the following page for more details:
[Puppet Enterprise Support Lifecycle](https://puppet.com/docs/puppet-enterprise/product-support-lifecycle/)
================================================
FILE: Rakefile
================================================
# frozen_string_literal: true
require 'open3'
require 'rake'
require 'rubygems'
require 'rubygems/package_task'
if Rake.application.top_level_tasks.grep(/^(pl:|package:)/).any?
begin
require 'packaging'
Pkg::Util::RakeUtils.load_packaging_tasks
rescue LoadError => e
puts "Error loading packaging rake tasks: #{e}"
end
end
namespace :package do
task :bootstrap do
puts 'Bootstrap is no longer needed, using packaging-as-a-gem'
end
task :implode do
puts 'Implode is no longer needed, using packaging-as-a-gem'
end
end
task :default do
sh %{rake -T}
end
namespace :pl_ci do
desc 'Build puppet gems'
task :gem_build, [:gemspec] do |t, args|
args.with_defaults(gemspec: 'puppet.gemspec')
stdout, stderr, status = Open3.capture3(<<~END)
gem build #{args.gemspec} --platform x86-mingw32 && \
gem build #{args.gemspec} --platform x64-mingw32 && \
gem build #{args.gemspec} --platform universal-darwin && \
gem build #{args.gemspec}
END
if !status.exitstatus.zero?
puts "Error building #{args.gemspec}\n#{stdout} \n#{stderr}"
exit(1)
else
puts stdout
end
end
desc 'build the nightly puppet gems'
task :nightly_gem_build do
# this is taken from `rake package:nightly_gem`
extended_dot_version = %x{git describe --tags --dirty --abbrev=7}.chomp.tr('-', '.')
# we must create tempfile in the same directory as puppetg.gemspec, since
# it uses __dir__ to determine which files to include
require 'tempfile'
Tempfile.create('gemspec', __dir__) do |dst|
File.open('puppet.gemspec', 'r') do |src|
src.readlines.each do |line|
if line.match?(/version\s*=\s*['"][0-9.]+['"]/)
line = "spec.version = '#{extended_dot_version}'"
end
dst.puts line
end
end
dst.flush
Rake::Task['pl_ci:gem_build'].invoke(dst.path)
end
end
end
task :spec do
ENV["LOG_SPEC_ORDER"] = "true"
sh %{rspec #{ENV['TEST'] || ENV['TESTS'] || 'spec'}}
end
desc 'run static analysis with rubocop'
task(:rubocop) do
require 'rubocop'
cli = RuboCop::CLI.new
exit_code = cli.run(%w(--display-cop-names --format simple))
raise "RuboCop detected offenses" if exit_code != 0
end
desc "verify that changed files are clean of Ruby warnings"
task(:warnings) do
# This rake task looks at all files modified in this branch.
commit_range = 'HEAD^..HEAD'
ruby_files_ok = true
puts "Checking modified files #{commit_range}"
%x{git diff --diff-filter=ACM --name-only #{commit_range}}.each_line do |modified_file|
modified_file.chomp!
# Skip racc generated file as it can have many warnings that cannot be manually fixed
next if modified_file.end_with?("pops/parser/eparser.rb")
next if modified_file.start_with?('spec/fixtures/', 'acceptance/fixtures/') || File.extname(modified_file) != '.rb'
puts modified_file
stdout, stderr, _ = Open3.capture3("ruby -wc \"#{modified_file}\"")
unless stderr.empty?
ruby_files_ok = false
puts stderr
end
puts stdout
end
raise "One or more ruby files contain warnings." unless ruby_files_ok
end
if Rake.application.top_level_tasks.grep(/^gettext:/).any?
begin
spec = Gem::Specification.find_by_name 'gettext-setup'
load "#{spec.gem_dir}/lib/tasks/gettext.rake"
GettextSetup.initialize(File.absolute_path('locales', File.dirname(__FILE__)))
rescue LoadError
abort("Run `bundle install --with documentation` to install the `gettext-setup` gem.")
end
end
================================================
FILE: acceptance/.beaker.yml
================================================
---
ssh:
keys:
- id_rsa_acceptance
- ~/.ssh/id_rsa-acceptance
xml: true
timesync: false
repo_proxy: true
add_el_extras: false
'master-start-curl-retries': 30
log_level: debug
preserve_hosts: onfail
helper: ./lib/helper.rb
options_file: ./config/aio/options.rb
================================================
FILE: acceptance/.gitignore
================================================
.vagrant
local_options.rb
pl-puppet-build.repo
pl-puppet-repos.rpm
repos.tar
repo-configs
log
id_rsa-acceptance
id_rsa-acceptance.pub
preserved_config.yaml
merged_options.rb
tmp
================================================
FILE: acceptance/Gemfile
================================================
# Specifies a gem mirror; duplicated in acceptance setup
# to ensure a similar environment on acceptance hosts.
source ENV['GEM_SOURCE'] || 'https://rubygems.org'
def location_for(place, fake_version = nil)
if place.is_a?(String) && place =~ /^((?:git[:@]|https:)[^#]*)#(.*)/
[fake_version, { :git => $1, :branch => $2, :require => false }].compact
elsif place.is_a?(String) && place =~ /^file:\/\/(.*)/
['>= 0', { :path => File.expand_path($1), :require => false }]
else
[place, { :require => false }]
end
end
gem "beaker", *location_for(ENV['BEAKER_VERSION'] || '~> 6.0')
gem "beaker-puppet", *location_for(ENV['BEAKER_PUPPET_VERSION' || "~> 4.0"])
gem "beaker-hostgenerator", *location_for(ENV['BEAKER_HOSTGENERATOR_VERSION'] || "~> 2")
gem "beaker-abs", *location_for(ENV['BEAKER_ABS_VERSION'] || "~> 1.0")
gem "beaker-vagrant", *location_for(ENV['BEAKER_VAGRANT_VERSION'] || "~> 0")
gem "beaker-vmpooler", *location_for(ENV['BEAKER_VMPOOLER_VERSION'] || "~> 1.3")
gem "beaker-vcloud", *location_for(ENV['BEAKER_VCLOUD_VERSION'] || "~> 1.0")
gem "beaker-docker", *location_for(ENV['BEAKER_DOCKER_VERSION'] || "~> 0.5")
gem "beaker-gke", *location_for(ENV['BEAKER_GKE_VERSION'] || "~> 0.0.3")
gem "rake", ">= 12.3.3"
gem "httparty", :require => false
gem 'uuidtools', :require => false
group(:test) do
gem "rspec", "~> 2.14.0", :require => false
gem "mocha", "~> 0.10.5", :require => false
end
if File.exist? "#{__FILE__}.local"
eval(File.read("#{__FILE__}.local"), binding)
end
================================================
FILE: acceptance/README.md
================================================
# Running Puppet Acceptance Tests
## Table of Contents
* [Setup](#setup)
* [Quick Start](#quick-start)
* [Configuration](#configuration)
* [Running Tests](#running-tests)
* [Writing Tests](#writing-tests)
* [Getting Help](#getting-help)
-------------
An important aside: Currently running acceptance tests that contain a specific
change is challenging unless you have access to infrastructure internal to the
Puppet, Inc. network. This is a known issue, and we are working to make this a
better experience for our community.
-------------
## Setup
### Prerequisites
* git
* ruby
* [bundler][]
* a local clone of the puppet repo
All command examples in this readme assume you are working in the same directory
this README is in, `puppet/acceptance`.
### Installation
All of the dependencies you need to run and develop tests are defined in
`Gemfile`. To install them, run `bundle install --path .bundle/gems`. This
command, as well all the command examples in this README, assume you are working
in the acceptance directory. If you ever have issues with your runtime
dependencies, you can update them with `bundle update` or start over fresh with
`rm -rf .bundle/gems; bundle install --path .bundle/gems`.
To ensure installation was successful, you can run `bundle exec rake -T`. This
should return something along these lines:
```
$ bundle exec rake -T
rake ci:help # Print usage information
rake ci:test:aio # Run the acceptance tests using puppet-agent (AI...
rake ci:test:gem # Run the acceptance tests against puppet gem on ...
rake ci:test:git # Run the acceptance tests against a git checkout
rake ci:test:quick # Run a limited but representative subset of acce...
rake clean # Remove any temporary products
rake clobber # Remove any generated files
```
To get a detailed description of all of these tasks, run `bundle exec rake -D`.
-------------
## Quick Start
### For community members
Currently, there isn't a good way for community members to run acceptance tests.
This is a known problem. We currently have multiple avenues we are exploring to
make running puppet acceptance tests easier for our community. In the meantime,
we apologize for the inconvenience.
### For Puppet, Inc. employees
If you have access to infrastructure internal to the Puppet, Inc. network, then
the quickest way to get acceptance tests running is with vmpooler.
To test changes that are available on a branch on github.com:
```
bundle exec rake ci:test:git OPTIONS='--preserve-hosts=always' SHA=ticket/6.0.x/ticketed-work-description RUNTIME_BRANCH=6.0.x FORK=melissa TESTS='tests/path/to/test.rb,tests/other/test.rb'
```
Where `SHA` is the branch name, `RUNTIME_BRANCH` is the agent version stream,
and `FORK` is the github fork where the branch lives.
To test changes that are available in a puppet-agent package on builds.delivery.puppetlabs.net:
```
bundle exec rake ci:test:aio OPTIONS='--preserve-hosts=always' SHA=9124b4e81ec0ac6394d3edc67d4ab71866869fd7 TESTS='tests/path/to/test.rb,tests/other/test.rb'
```
`SHA` is a sha or tag that exists on builds.delivery.puppetlabs.net/puppet-agent
To rerun a test on the hosts that have already been provisioned, use beaker subcommands:
```
bundle exec beaker exec tests/path/to/test.rb,tests/other/test.rb
```
Always clean up after yourself when you are done:
```
bundle exec beaker destroy
```
This will remove any provisioned hosts. Only run this once you are done with the
hosts that have been checked out and provisioned for a given run.
-------------
## Configuration
### Environment Variables
A detailed description of the available environment variables can be found by
running `bundle exec rake ci:help`. This will print a list of both required and
optional environment variables with short descriptions on how they are used.
Please review all of these options as they will impact how your test servers
are provisioned. This rake task is the most up to date source for this
information. Please read through the available variables, their defaults, and
what they do. They may impact your acceptance run in ways you do not expect.
### Customizing Test Targets
If you are using the vmpooler hypervisor internal to Puppet, Inc. infrastructure,
you can customize the platforms to test on using the `HOSTS` environment variable.
You'll set the `HOSTS` environment variable to the host string you want to test,
such as `HOSTS=redhat7-64ma-windows2012r2-64a`.
For a list of available `HOSTS` platforms and their exact naming structures,
check the keys listed in [beaker hostgenerator](https://github.com/puppetlabs/beaker-hostgenerator/blob/master/lib/beaker-hostgenerator/data.rb). Generally, this string will be in the format
`{platform}{version}-{architecture}{role/s}`. You will most often use either the
agent (a) or master (m) role, but you can find a list of available roles in
[beaker hostgenerator](https://github.com/puppetlabs/beaker-hostgenerator/blob/master/lib/beaker-hostgenerator/roles.rb).
Multiple hosts in the string are separated with a dash(`-`). You must have at
least one agent and at least one master.
Be careful not to confuse the different host string formats. We have different
tools that expect the host string to be in different forms. For example,
`packaging_platform` is specific to how [Vanagon](https://github.com/puppetlabs/vanagon)
parses that string.
### The Hosts File
The rake tasks that run acceptance will by default create a hosts file and
populate it using [beaker-hostgenerator][] using either the `HOSTS` environment
variable or the default host string (currently `redhat7-64ma-windows2012r2-64a`).
The automation assumes you are using the vmpooler hypervisor and a vmpooler
instance that is only available to Puppet, Inc. employees. If you want to
customize the hypervisor or the vmpooler instance, you'll need to generate your own
hosts file. You must pass in a valid host string to the `beaker-hostgenerator`
command. See [Customizing Test Targets](#customizing-test-targets) for more
information on how to construct a valid host string.
To customize the hypervisor, pass in `--hypervisor {hypervisor name}`. To set
the vmpooler instance, use `--global-config pooling_api={vmpooler uri}`. Only the
vmpooler hypervisor uses the pooling_api key.
The host string that is passed in is the same that you would use with the
`HOSTS` environment variable. See [Customizing Test Targets](#customizing-test-targets)
on how to format this string.
To have the automation recognize and use your custom hosts file, you'll need to
set the `HOSTS` environment variable to the hosts file. In the above example, we
called this file `hosts.yaml`, so we will set `HOSTS` to `hosts.yaml` when running
all future beaker commands or rake tasks to run acceptance tests.
For example, if you were to run this command:
```
bundle exec beaker-hostgenerator redhat7-64ma-windows2012r2-64a --disable-default-role --osinfo-version 1 --hypervisor vmpooler --global-config pooling_api=http://customvmpooler/ > hosts.yaml
```
You would generate a file called `hosts.yaml` that contains something like this:
```
---
HOSTS:
redhat7-64-1:
platform: el-7-x86_64
packaging_platform: el-7-x86_64
template: redhat-7-x86_64
hypervisor: vmpooler
roles:
- master
- agent
windows2012r2-64-1:
platform: windows-2012r2-64
packaging_platform: windows-2012-x64
ruby_arch: x64
template: win-2012r2-x86_64
hypervisor: vmpooler
roles:
- agent
CONFIG:
nfs_server: none
consoleport: 443
pooling_api: http://customvmpooler/
```
We can then run the acceptance tests with:
`bundle exec rake ci:test:aio HOSTS=hosts.yaml SHA={sha}`
### Hypervisor Options
The hypervisor dictates where you will be running the acceptance tests. The beaker
hypervisors take care of basic host setup so that you will have a consistent
host environment across every test run. You can find more details on the different
hypervisor options in [the beaker repo](https://github.com/puppetlabs/beaker/blob/master/docs/how_to/hypervisors/README.md).
Here, we will focus on vmpooler and docker, as those are the two we use most
often internally. If you use a hypervisor other than abs, vagrant, vmpooler, or
docker, you'll have to add the gem to that hypervisor to `Gemfile.local` and run
`bundle update` to install the new gems. You also have the ability to run tests
on a static host.
#### VMPooler
[VMPooler](https://github.com/puppetlabs/vmpooler) is the default hypervisor we
use. This is only available to Puppet, Inc. employees as it uses internal
infrastructure. If you have access to a similar setup, then you are welcome to
use this option with a few values changed. If you are using the Puppet internal
vmpooler, then you can simply run the acceptance rake tasks. See
[Customizing Test Targets](#customizing-test-targets) about how to use the
`HOSTS` environment variable to customize the platforms you are running tests on.
To use a different vmpooler instance, use
`--global-config pooling_api=http://customvmpooler/` when you use
`beaker-hostgenerator` to generate `hosts.yaml`. Make sure you set `HOSTS` to
the hosts file you just generated so the automation can find that file. See
[The Hosts File](#the-hosts-file) for more detail on the hosts file.
#### Docker
To test with [the docker hypervisor](https://github.com/puppetlabs/beaker-docker),
you will want to generate a custom hosts file. You will also mostly likely need
to manually edit the file. See [The Hosts File](#the-hosts-file) for more
detail on the hosts file.
To create a hosts file with a centos 7 master and a centos 7 agent, we can use
the following beaker-hostgenerator command
`bundle exec beaker-hostgenerator centos7-64m-centos7-64a --disable-default-role --osinfo-version 1 --hypervisor docker > hosts.yaml`
Which will produce a file called `hosts.yaml` that contains the following:
```
---
HOSTS:
centos7-64-1:
docker_cmd:
- "/sbin/init"
image: centos:7
platform: centos-7-x86_64
packaging_platform: el-7-x86_64
docker_image_commands:
- cp /bin/true /sbin/agetty
- yum install -y crontabs initscripts iproute openssl sysvinit-tools tar wget
which ss
hypervisor: docker
roles:
- master
centos7-64-2:
docker_cmd:
- "/sbin/init"
image: centos:7
platform: centos-7-x86_64
packaging_platform: el-7-x86_64
docker_image_commands:
- cp /bin/true /sbin/agetty
- yum install -y crontabs initscripts iproute openssl sysvinit-tools tar wget
which ss
hypervisor: docker
roles:
- agent
CONFIG:
nfs_server: none
consoleport: 443
```
Run acceptance tests against pre-built puppet-agent packages with
`bundle exec rake ci:test:aio SHA={sha|tag} TESTS=path/to/test.rb HOSTS=hosts.yaml`
Note that if you are not running tests against the master branch and you are
installing the latest puppetserver package, you will likely need to set `RELEASE_STREAM`
to pick up the correct server version. Please see the section on [environment variables](#environment-variables)
for more information.
When you generate your [hosts file](#the-hosts-file), [beaker-hostgenerator][] does
its best to populate the values as logically as possible. You will likely want
to update or modify them to suite your needs.
With `image`, [beaker-hostgenerator][] does its best to guess the most logical
image string based on the platform you are building. For the most part, this
should work without interference, but if you are using a custom docker image or
do not want the default, then you will have to manually update this string. Not
every string beaker-hostgenerator uses to populate this variable will be valid.
`docker_image_commands` is automatically populated when generating the hosts
file with [beaker-hostgenerator][]. This has already been set for a handful of
host types, but may not be set for all.
* TODO I only tried this once using a docker image that already had puppetserver
installed as the master host. The image I used took forever to provision,
so I gave up. If we want to continue down this route, we need to make sure
the setup steps can check if puppetserver has already been installed so that
we don't try to install it agian.
* TODO There's something odd with `docker_mage_entrypoint` versus `docker_cmd`.
We should clarify the difference between these two values. I don't quite
understand what the difference is between them.
* TODO These docker containers have to run in privileged mode (or systemd,
among possibly other things, won't function as we need them to). This is
not ideal if you're testing code that affects your OS (ie running docker on
linux without a docker machine in between the container and your laptop).
BE CAREFUL
#### Static Hosts
This is not recommended unless you are familiar with how beaker and
beaker-puppet provision hosts.
To test on a server that's already been spun up or doesn't require a hypervisor,
you should set the name of the host to the FQDN of the server you want to use,
then remove the hypervisor and template settings. This is not recommended, and
you may run into issues with failures or overwritten configuration due to either
beaker provision steps or test provisioning steps.
```
---
HOSTS:
azeqdqmk14mvu3g.delivery.puppetlabs.net:
platform: el-7-x86_64
packaging_platform: el-7-x86_64
roles:
- master
```
-------------
## Running Tests
### Testing with pre-built packages
```
bundle exec rake ci:test: SHA={sha|tag}
```
This is the primary method that we use to run puppet acceptance tests. It
requires puppet-agent packages that have been built with the version of the
puppet code that you want to test. As building packages usually takes quite a
bit of time, this method requires some patience. You are required to set `SHA`
when running acceptance tests against pre-built packages.
#### Testing a specific version
If you are testing a specific version, `SHA` must be set to a value that exists
on the path `#{ENV['DEV_BUILDS_URL']}/puppet-agent/#{ENV['SHA']}`. Note that
this value corresponds to the puppet-agent package, not to puppet.
`DEV_BUILDS_URL` defaults to the internal build server that is only accessible
to Puppet, Inc. employees. The method called here depends on information written
to a yaml file in that directory. Though you can override DEV_BUILDS_URL, the
automation here is very specific and likely will not work as you are expecting
it to.
```
bundle exec rake ci:test:aio SHA=3cfbac6857c10efc5b1e02262cfd7b849bb9c4b2
```
```
bundle exec rake ci:test:aio SHA=6.0.5
```
#### Testing Nightlies
If you do not have access to internal infrastructure, you can test against
packages that have been made available on nightlies.puppet.com. Currently, you
cannot specify a specific version. Instead, you have to use the latest shipped
package for the release stream you are interested in. To do this, `SHA` must be
set to `latest`. If you want to modify the release stream you are testing,
`RELEASE_STREAM` can be modified. It defaults to `puppet` which should
correspond to the latest stream available. If you want to modify
`RELEASE_STREAM`, set it to an available repo, such as `puppet5`.
```
bundle exec rake ci:test:aio SHA=latest RELEASE_STREAM=puppet5
```
### Testing with Git
```
bundle exec rake ci:test:git SHA={sha|tag|branch}
```
#### From a repo on a git server
Though we primarily run acceptance tests against a built package, it is possible
to run these tests with a git checkout. This is most useful when testing locally
to speed up the feedback cycle.
When testing from a github repo we need to unpack the appropriate
[runtime archive](https://github.com/puppetlabs/puppet-runtime)
for the platform we are testing on. These pre-built archives are stored on an
internal server, and are currently only available to Puppet, Inc. employees.
With these archives, we get all of the runtime dependencies that are usually
provided as a part of the puppet agent package. This allows us to replicate
the runtime environment produced via a package install for the purpose of
running acceptance tests.
When testing with git, `SHA` can be set to any git artifact: a long sha, a short
sha, a tag, a branch name, etc. What happens is that we write a gemfile with the
details of the puppet repo, pointing to the artifact referenced with `SHA`. Then
when we run `bundle install` on the testing host, bundler grabs puppet from
wherever the gemfile points. If the git artifact referenced is not from the
puppetlabs repo, you can use `FORK` to point to a different github namespace.
Likewise, if the artifact you want to access is not available on `github.com`
but a custom git server, you can set `SERVER` to customize the git uri bundler
pulls from. For more details on these environment variables, run
`bundle exec rake ci:help`.
As an example, if I have a development branch
(`developent/master/major-feature`) that I'm working on and it only exists in my
fork of puppet (`github.com/joeschmoe/puppet`), then I will run
```
bundle exec rake ci:test:git SHA=developent/master/major-feature FORK=joeschmoe
```
Please note that any changes you want to test must be pushed up to your github
server. This is how we access the code to be tested.
#### From a local repo
If you are testing with git and using the docker hypervisor, you can run tests
against the puppet checkout on your local system. You need to update your hosts
file to add `mount_folders` to the docker host where you want the checkout of
puppet to be available. Here, `host_path` is the path to puppet on your local
machine. The `container_path` is where puppet will end up on the docker image,
so you can leave it as `/build/puppet`. Note that although `SHA` is required, it
is never used in this workflow. For consistency, I would recommend setting `SHA`
to your working branch name.
We still need access to our runtime dependencies when testing against a local
git checkout. When we are testing with the docker hypervisor, we assume that the
docker image you are using will have this. As of this writing (Jan. 2019), the
docker image you'll want to use for these tests is not public. The image is
called `agent-runtime-{branch}`, where `{branch}` is the branch of puppet you
are testing. This image includes everything we build as a part of [the runtime
archive](https://github.com/puppetlabs/puppet-runtime). These components are
normally provided as a part of the puppet agent package.
```
---
HOSTS:
debian8-64-1:
hypervisor: docker
docker_image_entrypoint: "/sbin/init"
image: pcr-internal.puppet.net/pe-and-platform/agent-runtime-master:201810110.17.gb5afc66
platform: debian-8-amd64
packaging_platform: debian-8-amd64
docker_image_commands:
- rm -f /usr/sbin/policy-rc.d
- systemctl mask getty@tty1.service getty-static.service
- apt-get update && apt-get install -y cron locales-all net-tools wget
mount_folders:
puppet:
host_path: ~/puppet
container_path: /build/puppet
roles:
- agent
```
For more details on testing with docker, see [the docker section](#docker).
Remember that `HOSTS` must be set to your hosts file for the automation to honor
it.
### Testing with Gems
Currently, running acceptance tests with gems is not working.
```
bundle exec rake ci:test:gem
```
### Rerunning Failed Tests
The rake tasks we use here take advantage of a newer feature in beaker that gives us quite a bit of flexibility. We take advantage of beaker subcommands. Subcommands are individual beaker invocations that are used to run the different stages of running tests: provisioning, pre-suite setup, tests, etc. We do this by writing state to the file `.beaker/subcommand_options.yaml`. With each new invocation of a subcommand, beaker will check for this file and load the contents if the file exists. The important thing about this feature is that you can rerun tests without going through the entire provisioning process every time.
To ensure your hosts aren't cleaned up after a run, set `OPTIONS='--preserve-hosts=always'`. With this set, we can rerun a failed test using the infrastructure beaker has already provisioned.
```
bundle exec rake ci:test:aio OPTIONS='--preserve-hosts=always' SHA=6.0.5
```
If this run fails because a small handful of tests fail, you can rerun only those tests that failed. For example, assume that `tests/resource/package/yum.rb` and `tests/node/check_woy_cache_works.rb` both had failing tests. you can run
```
bundle exec beaker exec tests/resource/package/yum.rb,tests/node/check_woy_cache_works.rb
```
This should work regardless of which hypervisor or testing method you are using.
-------------
## Writing Tests
Read more about writing beaker tests in beaker. Check out the [tutorials section](https://github.com/puppetlabs/beaker/tree/master/docs/tutorials)
and [how to write a quick test](https://github.com/puppetlabs/beaker/blob/master/docs/tutorials/lets_write_a_test.md)
-------------
## Getting Help
### On the web
* [Puppet help messageboard](http://puppet.com/community/get-help)
* [General GitHub documentation](http://help.github.com/)
### On chat
* Slack (slack.puppet.com) #testing, #puppet-dev, #windows
[bundler]: https://rubygems.org/gems/bundler
[rspec-puppet]: http://rspec-puppet.com/
[rspec-puppet_docs]: http://rspec-puppet.com/documentation/
[beaker]: https://github.com/puppetlabs/beaker
[beaker-puppet]: https://github.com/puppetlabs/beaker-puppet
[beaker-hostgenerator]: https://github.com/puppetlabs/beaker-hostgenerator
================================================
FILE: acceptance/Rakefile
================================================
require 'beaker-puppet'
Beaker::DSL::Helpers::RakeHelpers.load_tasks
namespace :ci do
namespace :test do
desc <<-EOS
Run a limited but representative subset of acceptance tests against puppet-agent
(AIO) packages. This task is intended to reduce testing time on a per-commit
basis.
$ SHA=<full sha> bundle exec rake ci:test:quick
SHA should be the full SHA for the puppet-agent package.
EOS
task :quick => ['ci:check_env', 'ci:gen_hosts'] do
ENV['TESTS'] = get_test_sample.join(",")
Rake::Task["ci:test:aio"].invoke
end
desc <<-EOS
Run tests on docker quickly and easily. The docker container is set up to mount
your puppet directory in the container. This means you can edit code or test
files and rerun tests without reconfiguring your test environment.
Defaults to running all tests unless TESTS is set. TESTS is a comma seperated
list of test files to run.
$ bundle exec rake ci:test:docker TESTS='path/to/test.rb,path/to/another/test.rb'
By default, tests are run on a centos 7 host. To change the host, set HOSTS to
a valid host string according to beaker-hostgenerator requirements.
All tests marked with a server tag will be skipped.
This task skips all cleanup. Please be sure to run `bundle exec beaker destroy`
to clean up docker containers used for testing.
EOS
task :docker do
begin
ENV['HOSTS'] ||= 'centos7-64a'
ENV['SHA'] ||= `git rev-parse HEAD`.chomp
ENV['OPTIONS'] ||= '--preserve-hosts=always'
ENV['OPTIONS'] += ' --test-tag-exclude=server'
Rake::Task["ci:gen_hosts"].invoke('docker')
hosts_file_content = YAML.load_file ENV['HOSTS']
hosts_file_content['HOSTS'].each do |host|
host[1]['mount_folders'] = {
'puppet' => {
'host_path' => "#{File.dirname(__dir__)}" ,
'container_path' => '/build/puppet'
}
}
host[1]['tag'] = 'acceptance_test_host'
end
File.open(ENV['HOSTS'], "w") { |f| f.write(YAML.dump(hosts_file_content)) }
Rake::Task["ci:test:git"].invoke
ensure
puts <<-EOF
************************
You can modify puppet code or tests and rerun tests without modifying your test
environment.
To rerun a test or set of tests, pass a comma seperated list of tests to:
$ bundle exec beaker exec path/to/test.rb
or
$ bundle exec beaker exec path/to/test.rb,path/to/another/test.rb
************************
This task skips all clean up so you can rerun tests. Don't forget to clean up
after yourself!
To clean up the docker containers used to run tests, run:
$ bundle exec beaker destroy
************************
EOF
end
end
end
namespace :sync do
task :windows do
raise 'WIN_MACHINE environment variable is required' unless ENV['WIN_MACHINE']
win_machine = ENV['WIN_MACHINE'] + '.delivery.puppetlabs.net'
path = ENV['LIB_DIR'] || 'type' # 'lib/puppet' prefix is implicit.
dest_path = path.split('/')[0...-1].join
system("scp -r #{File.dirname(__FILE__)}/../lib/puppet/#{path} Administrator@#{win_machine}:'C:/Program\\ Files/Puppet\\ Labs/Puppet/puppet/lib/ruby/vendor_ruby/puppet/#{dest_path}'")
end
end
end
def get_test_sample
# This set represents a reasonable sample of puppet acceptance tests,
# covering a wide range of features and code susceptible to regressions.
tests = [ 'tests/direct_puppet/cached_catalog_remediate_local_drift.rb',
'tests/resource/file/content_attribute.rb',
'tests/face/loadable_from_modules.rb',
'tests/language/functions_in_puppet_language.rb',
'tests/parser_functions/calling_all_functions.rb',
'tests/ticket_4622_filebucket_diff_test.rb',
'tests/pluginsync/4420_pluginfacts_should_be_resolvable_on_agent.rb',
'tests/ssl/puppet_cert_generate_and_autosign.rb',
'tests/resource/package/yum.rb',
'tests/resource/service/ticket_5024_systemd_enabling_masked_service.rb',
'tests/resource/service/puppet_service_management.rb'
]
# Add any tests modified within the last two weeks to the list, excluding
# deleted ones. We can't rely on --diff-filter, because an acceptance
# test may be modified and then deleted in the same time range.
modified = `git log --name-only --pretty="format:" --since 2.weeks ./tests`
tests += modified.split("\n").reject do |s|
s.empty?
end.collect do |s|
s.sub('acceptance/', '')
end.select do |s|
s =~ /\.rb$/
end.find_all do |s|
File.exist?(s)
end
tests.uniq.sort
end
================================================
FILE: acceptance/config/aio/options.rb
================================================
{
:type => 'aio',
'is_puppetserver' => true,
'use-service' => true, # use service scripts to start/stop stuff
'puppetservice' => 'puppetserver',
'puppetserver-confdir' => '/etc/puppetlabs/puppetserver/conf.d',
'puppetserver-config' => '/etc/puppetlabs/puppetserver/conf.d/puppetserver.conf',
:post_suite => [
'teardown/common/099_Archive_Logs.rb',
],
}
================================================
FILE: acceptance/config/gem/options.rb
================================================
{
# Use `git` so that we have a sane ruby environment
:type => 'git',
}
================================================
FILE: acceptance/config/git/options.rb
================================================
{
:type => 'git',
:install => [
'puppet',
],
'is_puppetserver' => false,
'use-service' => true, # use service scripts to start/stop stuff
'puppetservice' => 'puppetserver',
'puppetserver-confdir' => '/etc/puppetlabs/puppetserver/conf.d',
'puppetserver-config' => '/etc/puppetlabs/puppetserver/conf.d/puppetserver.conf'
}
================================================
FILE: acceptance/config/nodes/aix-53-power.yaml
================================================
---
HOSTS:
master:
roles:
- master
platform: el-7-x86_64
hypervisor: vmpooler
template: redhat-7-x86_64
pe-aix-53-acceptance:
roles:
- agent
platform: aix-5.3-power
hypervisor: none
vmhostname: pe-aix-53-acceptance.delivery.puppetlabs.net
CONFIG:
pooling_api: http://vmpooler.delivery.puppetlabs.net/
================================================
FILE: acceptance/config/nodes/aix-61-power.yaml
================================================
---
HOSTS:
master:
roles:
- master
platform: el-7-x86_64
hypervisor: vmpooler
template: redhat-7-x86_64
pe-aix-61-acceptance:
roles:
- agent
platform: aix-6.1-power
hypervisor: none
vmhostname: pe-aix-61-acceptance.delivery.puppetlabs.net
CONFIG:
pooling_api: http://vmpooler.delivery.puppetlabs.net/
================================================
FILE: acceptance/config/nodes/aix-71-power.yaml
================================================
---
HOSTS:
master:
roles:
- master
platform: el-7-x86_64
hypervisor: vmpooler
template: redhat-7-x86_64
pe-aix-71-acceptance:
roles:
- agent
platform: aix-7.1-power
hypervisor: none
vmhostname: pe-aix-71-acceptance.delivery.puppetlabs.net
CONFIG:
pooling_api: http://vmpooler.delivery.puppetlabs.net/
================================================
FILE: acceptance/config/nodes/gem.yaml
================================================
---
HOSTS:
win-2012r2-rubyx86:
roles:
- agent
platform: windows-2012r2-64
ruby_arch: x86
hypervisor: vmpooler
template: win-2012r2-x86_64
win-2012r2-rubyx64:
roles:
- agent
platform: windows-2012r2-64
ruby_arch: x64
hypervisor: vmpooler
template: win-2012r2-x86_64
osx-1010:
roles:
- agent
platform: osx-10.10-x86_64
hypervisor: vmpooler
template: osx-1010-x86_64
redhat-7:
roles:
- agent
platform: el-7-x86_64
hypervisor: vmpooler
template: redhat-7-x86_64
CONFIG:
pooling_api: http://vmpooler.delivery.puppetlabs.net/
================================================
FILE: acceptance/config/nodes/huaweios-6-powerpc.yaml
================================================
---
HOSTS:
master:
roles:
- master
platform: el-7-x86_64
hypervisor: vmpooler
template: redhat-7-x86_64
huawei-ce6850-2-debian-vm-eth0.ops.puppetlabs.net:
roles:
- agent
platform: huaweios-6-powerpc
hypervisor: none
CONFIG:
pooling_api: http://vmpooler.delivery.puppetlabs.net/
================================================
FILE: acceptance/config/nodes/pe/centos-5-32ma-32da-32da
================================================
HOSTS:
centos-5-i386-master:
roles:
- master
- agent
platform: el-5-i386
template: centos-5-i386
hypervisor: vcloud
centos-5-i386-dashboard:
roles:
- dashboard
- agent
platform: el-5-i386
template: centos-5-i386
hypervisor: vcloud
centos-5-i386-database:
roles:
- database
- agent
platform: el-5-i386
template: centos-5-i386
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/centos-5-32mda
================================================
HOSTS:
centos-5-i386:
roles:
- master
- dashboard
- database
- agent
platform: el-5-i386
template: centos-5-i386
hypervisor: vcloud
centos-5-i386-agent:
roles:
- agent
platform: el-5-i386
template: centos-5-i386
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/centos-5-64ma-64da-64da
================================================
HOSTS:
centos-5-x86_64-master:
roles:
- master
- agent
platform: el-5-x86_64
template: centos-5-x86_64
hypervisor: vcloud
centos-5-x86_64-dashboard:
roles:
- dashboard
- agent
platform: el-5-x86_64
template: centos-5-x86_64
hypervisor: vcloud
centos-5-x86_64-database:
roles:
- database
- agent
platform: el-5-x86_64
template: centos-5-x86_64
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/centos-5-64mda
================================================
HOSTS:
centos-5-x86_64:
roles:
- master
- dashboard
- database
- agent
platform: el-5-x86_64
template: centos-5-x86_64
hypervisor: vcloud
centos-5-x86_64-agent:
roles:
- agent
platform: el-5-x86_64
template: centos-5-x86_64
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/centos-6-32ma-32da-32da
================================================
HOSTS:
centos-6-i386-master:
roles:
- master
- agent
platform: el-6-i386
template: centos-6-i386
hypervisor: vcloud
centos-6-i386-dashboard:
roles:
- dashboard
- agent
platform: el-6-i386
template: centos-6-i386
hypervisor: vcloud
centos-6-i386-database:
roles:
- database
- agent
platform: el-6-i386
template: centos-6-i386
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/centos-6-32mda
================================================
HOSTS:
centos-6-i386:
roles:
- master
- dashboard
- database
- agent
platform: el-6-i386
template: centos-6-i386
hypervisor: vcloud
centos-6-i386-agent:
roles:
- agent
platform: el-6-i386
template: centos-6-i386
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/centos-6-64ma-64da-64da
================================================
HOSTS:
centos-6-x86_64-master:
roles:
- master
- agent
platform: el-6-x86_64
template: centos-6-x86_64
hypervisor: vcloud
centos-6-x86_64-dashboard:
roles:
- dashboard
- agent
platform: el-6-x86_64
template: centos-6-x86_64
hypervisor: vcloud
centos-6-x86_64-database:
roles:
- database
- agent
platform: el-6-x86_64
template: centos-6-x86_64
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/centos-6-64mda
================================================
HOSTS:
centos-6-x86_64:
roles:
- master
- dashboard
- database
- agent
platform: el-6-x86_64
template: centos-6-x86_64
hypervisor: vcloud
centos-6-x86_64-agent:
roles:
- agent
platform: el-6-x86_64
template: centos-6-x86_64
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/centos-6-64mda-sol-10-64a
================================================
HOSTS:
centos-6-x86_64:
roles:
- master
- dashboard
- database
- agent
platform: el-6-x86_64
template: centos-6-x86_64
hypervisor: vcloud
solaris-10-x86_64-agent:
roles:
- agent
platform: solaris-10-i386
template: solaris-10-x86_64
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/debian-6-32ma-32da-32da
================================================
HOSTS:
debian-6-i386-master:
roles:
- master
- agent
platform: debian-6-i386
template: debian-6-i386
hypervisor: vcloud
debian-6-i386-dashboard:
roles:
- dashboard
- agent
platform: debian-6-i386
template: debian-6-i386
hypervisor: vcloud
debian-6-i386-database:
roles:
- database
- agent
platform: debian-6-i386
template: debian-6-i386
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/debian-6-32mda
================================================
HOSTS:
debian-6-i386:
roles:
- master
- dashboard
- database
- agent
platform: debian-6-i386
template: debian-6-i386
hypervisor: vcloud
debian-6-i386-agent:
roles:
- agent
platform: debian-6-i386
template: debian-6-i386
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/debian-6-64ma-64da-64da
================================================
HOSTS:
debian-6-amd64-master:
roles:
- master
- agent
platform: debian-6-amd64
template: debian-6-x86_64
hypervisor: vcloud
debian-6-amd64-dashboard:
roles:
- dashboard
- agent
platform: debian-6-amd64
template: debian-6-x86_64
hypervisor: vcloud
debian-6-amd64-database:
roles:
- database
- agent
platform: debian-6-amd64
template: debian-6-x86_64
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/debian-6-64mda
================================================
HOSTS:
debian-6-amd64:
roles:
- master
- dashboard
- database
- agent
platform: debian-6-amd64
template: debian-6-x86_64
hypervisor: vcloud
debian-6-amd64-agent:
roles:
- agent
platform: debian-6-amd64
template: debian-6-x86_64
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/debian-7-32ma-32da-32da
================================================
HOSTS:
debian-7-i386-master:
roles:
- master
- agent
platform: debian-7-i386
template: debian-7-i386
hypervisor: vcloud
debian-7-i386-dashboard:
roles:
- dashboard
- agent
platform: debian-7-i386
template: debian-7-i386
hypervisor: vcloud
debian-7-i386-database:
roles:
- database
- agent
platform: debian-7-i386
template: debian-7-i386
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/debian-7-32mda
================================================
HOSTS:
debian-7-i386:
roles:
- master
- dashboard
- database
- agent
platform: debian-7-i386
template: debian-7-i386
hypervisor: vcloud
debian-7-i386-agent:
roles:
- agent
platform: debian-7-i386
template: debian-7-i386
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/debian-7-64ma-64da-64da
================================================
HOSTS:
debian-7-amd64-master:
roles:
- master
- agent
platform: debian-7-amd64
template: debian-7-x86_64
hypervisor: vcloud
debian-7-amd64-dashboard:
roles:
- dashboard
- agent
platform: debian-7-amd64
template: debian-7-x86_64
hypervisor: vcloud
debian-7-amd64-database:
roles:
- database
- agent
platform: debian-7-amd64
template: debian-7-x86_64
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/debian-7-64mda
================================================
HOSTS:
debian-7-amd64:
roles:
- master
- dashboard
- database
- agent
platform: debian-7-amd64
template: debian-7-x86_64
hypervisor: vcloud
debian-7-amd64-agent:
roles:
- agent
platform: debian-7-amd64
template: debian-7-x86_64
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/debian-7-i386
================================================
HOSTS:
debian-7-i386:
roles:
- master
- dashboard
- database
- agent
platform: debian-7-i386
template: debian-7-i386
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/oracle-5-32ma-32da-32da
================================================
HOSTS:
oracle-5-i386-master:
roles:
- master
- agent
platform: el-5-i386
template: oracle-5-i386
hypervisor: vcloud
oracle-5-i386-dashboard:
roles:
- dashboard
- agent
platform: el-5-i386
template: oracle-5-i386
hypervisor: vcloud
oracle-5-i386-database:
roles:
- database
- agent
platform: el-5-i386
template: oracle-5-i386
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/oracle-5-32mda
================================================
HOSTS:
oracle-5-i386:
roles:
- master
- dashboard
- database
- agent
platform: el-5-i386
template: oracle-5-i386
hypervisor: vcloud
oracle-5-i386-agent:
roles:
- agent
platform: el-5-i386
template: oracle-5-i386
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/oracle-5-64ma-64da-64da
================================================
HOSTS:
oracle-5-x86_64-master:
roles:
- master
- agent
platform: el-5-x86_64
template: oracle-5-x86_64
hypervisor: vcloud
oracle-5-x86_64-dashboard:
roles:
- dashboard
- agent
platform: el-5-x86_64
template: oracle-5-x86_64
hypervisor: vcloud
oracle-5-x86_64-database:
roles:
- database
- agent
platform: el-5-x86_64
template: oracle-5-x86_64
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/oracle-5-64mda
================================================
HOSTS:
oracle-5-x86_64:
roles:
- master
- dashboard
- database
- agent
platform: el-5-x86_64
template: oracle-5-x86_64
hypervisor: vcloud
oracle-5-x86_64-agent:
roles:
- agent
platform: el-5-x86_64
template: oracle-5-x86_64
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/oracle-6-32ma-32da-32da
================================================
HOSTS:
oracle-6-i386-master:
roles:
- master
- agent
platform: el-6-i386
template: oracle-6-i386
hypervisor: vcloud
oracle-6-i386-dashboard:
roles:
- dashboard
- agent
platform: el-6-i386
template: oracle-6-i386
hypervisor: vcloud
oracle-6-i386-database:
roles:
- database
- agent
platform: el-6-i386
template: oracle-6-i386
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/oracle-6-32mda
================================================
HOSTS:
oracle-6-i386:
roles:
- master
- dashboard
- database
- agent
platform: el-6-i386
template: oracle-6-i386
hypervisor: vcloud
oracle-6-i386-agent:
roles:
- agent
platform: el-6-i386
template: oracle-6-i386
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/oracle-6-64ma-64da-64da
================================================
HOSTS:
oracle-6-x86_64-master:
roles:
- master
- agent
platform: el-6-x86_64
template: oracle-6-x86_64
hypervisor: vcloud
oracle-6-x86_64-dashboard:
roles:
- dashboard
- agent
platform: el-6-x86_64
template: oracle-6-x86_64
hypervisor: vcloud
oracle-6-x86_64-database:
roles:
- database
- agent
platform: el-6-x86_64
template: oracle-6-x86_64
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/oracle-6-64mda
================================================
HOSTS:
oracle-6-x86_64:
roles:
- master
- dashboard
- database
- agent
platform: el-6-x86_64
template: oracle-6-x86_64
hypervisor: vcloud
oracle-6-x86_64-agent:
roles:
- agent
platform: el-6-x86_64
template: oracle-6-x86_64
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/redhat-5-32ma-32da-32da
================================================
HOSTS:
redhat-5-i386-master:
roles:
- master
- agent
platform: el-5-i386
template: redhat-5-i386
hypervisor: vcloud
redhat-5-i386-dashboard:
roles:
- dashboard
- agent
platform: el-5-i386
template: redhat-5-i386
hypervisor: vcloud
redhat-5-i386-database:
roles:
- database
- agent
platform: el-5-i386
template: redhat-5-i386
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/redhat-5-32mda
================================================
HOSTS:
redhat-5-i386:
roles:
- master
- dashboard
- database
- agent
platform: el-5-i386
template: redhat-5-i386
hypervisor: vcloud
redhat-5-i386-agent:
roles:
- agent
platform: el-5-i386
template: redhat-5-i386
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/redhat-5-64ma-64da-64da
================================================
HOSTS:
redhat-5-x86_64-master:
roles:
- master
- agent
platform: el-5-x86_64
template: redhat-5-x86_64
hypervisor: vcloud
redhat-5-x86_64-dashboard:
roles:
- dashboard
- agent
platform: el-5-x86_64
template: redhat-5-x86_64
hypervisor: vcloud
redhat-5-x86_64-database:
roles:
- database
- agent
platform: el-5-x86_64
template: redhat-5-x86_64
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/redhat-5-64mda
================================================
HOSTS:
redhat-5-x86_64:
roles:
- master
- dashboard
- database
- agent
platform: el-5-x86_64
template: redhat-5-x86_64
hypervisor: vcloud
redhat-5-x86_64-agent:
roles:
- agent
platform: el-5-x86_64
template: redhat-5-x86_64
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/redhat-6-32ma-32da-32da
================================================
HOSTS:
redhat-6-i386-master:
roles:
- master
- agent
platform: el-6-i386
template: redhat-6-i386
hypervisor: vcloud
redhat-6-i386-dashboard:
roles:
- dashboard
- agent
platform: el-6-i386
template: redhat-6-i386
hypervisor: vcloud
redhat-6-i386-database:
roles:
- database
- agent
platform: el-6-i386
template: redhat-6-i386
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/redhat-6-32mda
================================================
HOSTS:
redhat-6-i386:
roles:
- master
- dashboard
- database
- agent
platform: el-6-i386
template: redhat-6-i386
hypervisor: vcloud
redhat-6-i386-agent:
roles:
- agent
platform: el-6-i386
template: redhat-6-i386
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/redhat-6-64ma-64da-64da
================================================
HOSTS:
redhat-6-x86_64-master:
roles:
- master
- agent
platform: el-6-x86_64
template: redhat-6-x86_64
hypervisor: vcloud
redhat-6-x86_64-dashboard:
roles:
- dashboard
- agent
platform: el-6-x86_64
template: redhat-6-x86_64
hypervisor: vcloud
redhat-6-x86_64-database:
roles:
- database
- agent
platform: el-6-x86_64
template: redhat-6-x86_64
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/redhat-6-64mda
================================================
HOSTS:
redhat-6-x86_64:
roles:
- master
- dashboard
- database
- agent
platform: el-6-x86_64
template: redhat-6-x86_64
hypervisor: vcloud
redhat-6-x86_64-agent:
roles:
- agent
platform: el-6-x86_64
template: redhat-6-x86_64
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/scientific-5-32ma-32da-32da
================================================
HOSTS:
scientific-5-i386-master:
roles:
- master
- agent
platform: el-5-i386
template: scientific-5-i386
hypervisor: vcloud
scientific-5-i386-dashboard:
roles:
- dashboard
- agent
platform: el-5-i386
template: scientific-5-i386
hypervisor: vcloud
scientific-5-i386-database:
roles:
- database
- agent
platform: el-5-i386
template: scientific-5-i386
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/scientific-5-32mda
================================================
HOSTS:
scientific-5-i386:
roles:
- master
- dashboard
- database
- agent
platform: el-5-i386
template: scientific-5-i386
hypervisor: vcloud
scientific-5-i386-agent:
roles:
- agent
platform: el-5-i386
template: scientific-5-i386
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/scientific-5-64ma-64da-64da
================================================
HOSTS:
scientific-5-x86_64-master:
roles:
- master
- agent
platform: el-5-x86_64
template: scientific-5-x86_64
hypervisor: vcloud
scientific-5-x86_64-dashboard:
roles:
- dashboard
- agent
platform: el-5-x86_64
template: scientific-5-x86_64
hypervisor: vcloud
scientific-5-x86_64-database:
roles:
- database
- agent
platform: el-5-x86_64
template: scientific-5-x86_64
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/scientific-5-64mda
================================================
HOSTS:
scientific-5-x86_64:
roles:
- master
- dashboard
- database
- agent
platform: el-5-x86_64
template: scientific-5-x86_64
hypervisor: vcloud
scientific-5-x86_64-agent:
roles:
- agent
platform: el-5-x86_64
template: scientific-5-x86_64
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/scientific-6-32ma-32da-32da
================================================
HOSTS:
scientific-6-i386-master:
roles:
- master
- agent
platform: el-6-i386
template: scientific-6-i386
hypervisor: vcloud
scientific-6-i386-dashboard:
roles:
- dashboard
- agent
platform: el-6-i386
template: scientific-6-i386
hypervisor: vcloud
scientific-6-i386-database:
roles:
- database
- agent
platform: el-6-i386
template: scientific-6-i386
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/scientific-6-32mda
================================================
HOSTS:
scientific-6-i386:
roles:
- master
- dashboard
- database
- agent
platform: el-6-i386
template: scientific-6-i386
hypervisor: vcloud
scientific-6-i386-agent:
roles:
- agent
platform: el-6-i386
template: scientific-6-i386
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/scientific-6-64ma-64da-64da
================================================
HOSTS:
scientific-6-x86_64-master:
roles:
- master
- agent
platform: el-6-x86_64
template: scientific-6-x86_64
hypervisor: vcloud
scientific-6-x86_64-dashboard:
roles:
- dashboard
- agent
platform: el-6-x86_64
template: scientific-6-x86_64
hypervisor: vcloud
scientific-6-x86_64-database:
roles:
- database
- agent
platform: el-6-x86_64
template: scientific-6-x86_64
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/scientific-6-64mda
================================================
HOSTS:
scientific-6-x86_64:
roles:
- master
- dashboard
- database
- agent
platform: el-6-x86_64
template: scientific-6-x86_64
hypervisor: vcloud
scientific-6-x86_64-agent:
roles:
- agent
platform: el-6-x86_64
template: scientific-6-x86_64
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/sles-11-32ma-32da-32da
================================================
HOSTS:
sles-11-i386-master:
roles:
- master
- agent
platform: sles-11-i386
template: sles-11-i386
hypervisor: vcloud
sles-11-i386-dashboard:
roles:
- dashboard
- agent
platform: sles-11-i386
template: sles-11-i386
hypervisor: vcloud
sles-11-i386-database:
roles:
- database
- agent
platform: sles-11-i386
template: sles-11-i386
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/sles-11-32mda
================================================
HOSTS:
sles-11-i386:
roles:
- master
- dashboard
- database
- agent
platform: sles-11-i386
template: sles-11-i386
hypervisor: vcloud
sles-11-i386-agent:
roles:
- agent
platform: sles-11-i386
template: sles-11-i386
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/sles-11-64ma-64da-64da
================================================
HOSTS:
sles-11-x86_64-master:
roles:
- master
- agent
platform: sles-11-x86_64
template: sles-11-x86_64
hypervisor: vcloud
sles-11-x86_64-dashboard:
roles:
- dashboard
- agent
platform: sles-11-x86_64
template: sles-11-x86_64
hypervisor: vcloud
sles-11-x86_64-database:
roles:
- database
- agent
platform: sles-11-x86_64
template: sles-11-x86_64
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/sles-11-64mda
================================================
HOSTS:
sles-11-x86_64:
roles:
- master
- dashboard
- database
- agent
platform: sles-11-x86_64
template: sles-11-x86_64
hypervisor: vcloud
sles-11-x86_64-agent:
roles:
- agent
platform: sles-11-x86_64
template: sles-11-x86_64
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/solaris-10-64a
================================================
HOSTS:
master:
roles:
- master
platform: el-7-x86_64
hypervisor: vcloud
template: redhat-7-x86_64
agent:
roles:
- agent
platform: solaris-10-x86_64
hypervisor: vcloud
template: solaris-10-x86_64
CONFIG:
datastore: instance0
resourcepool: delivery/Quality Assurance/FOSS/Dynamic
folder: Delivery/Quality Assurance/FOSS/Dynamic
pooling_api: http://vmpooler.delivery.puppetlabs.net/
================================================
FILE: acceptance/config/nodes/pe/solaris-11-64a
================================================
HOSTS:
master:
roles:
- master
platform: el-7-x86_64
hypervisor: vcloud
template: redhat-7-x86_64
agent:
roles:
- agent
platform: solaris-11-x86_64
hypervisor: vcloud
template: solaris-11-x86_64
CONFIG:
datastore: instance0
resourcepool: delivery/Quality Assurance/FOSS/Dynamic
folder: Delivery/Quality Assurance/FOSS/Dynamic
pooling_api: http://vmpooler.delivery.puppetlabs.net/
================================================
FILE: acceptance/config/nodes/pe/ubuntu-1004-32ma-32da-32da
================================================
HOSTS:
ubuntu-1004-i386-master:
roles:
- master
- agent
platform: ubuntu-10.04-i386
template: ubuntu-1004-i386
hypervisor: vcloud
ubuntu-1004-i386-dashboard:
roles:
- dashboard
- agent
platform: ubuntu-10.04-i386
template: ubuntu-1004-i386
hypervisor: vcloud
ubuntu-1004-i386-database:
roles:
- database
- agent
platform: ubuntu-10.04-i386
template: ubuntu-1004-i386
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/ubuntu-1004-32mda
================================================
HOSTS:
ubuntu-1004-i386:
roles:
- master
- dashboard
- database
- agent
platform: ubuntu-10.04-i386
template: ubuntu-1004-i386
hypervisor: vcloud
ubuntu-1004-agent:
roles:
- agent
platform: ubuntu-10.04-i386
template: ubuntu-1004-i386
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/ubuntu-1004-64ma-64da-64da
================================================
HOSTS:
ubuntu-1004-amd64-master:
roles:
- master
- agent
platform: ubuntu-10.04-amd64
template: ubuntu-1004-x86_64
hypervisor: vcloud
ubuntu-1004-amd64-dashboard:
roles:
- dashboard
- agent
platform: ubuntu-10.04-amd64
template: ubuntu-1004-x86_64
hypervisor: vcloud
ubuntu-1004-amd64-database:
roles:
- database
- agent
platform: ubuntu-10.04-amd64
template: ubuntu-1004-x86_64
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/ubuntu-1004-64mda
================================================
HOSTS:
ubuntu-1004-amd64:
roles:
- master
- dashboard
- database
- agent
platform: ubuntu-10.04-amd64
template: ubuntu-1004-x86_64
hypervisor: vcloud
ubuntu-1004-agent:
roles:
- agent
platform: ubuntu-10.04-amd64
template: ubuntu-1004-x86_64
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/ubuntu-1204-32ma-32da-32da
================================================
HOSTS:
ubuntu-1204-i386-master:
roles:
- master
- agent
platform: ubuntu-12.04-i386
template: ubuntu-1204-i386
hypervisor: vcloud
ubuntu-1204-i386-dashboard:
roles:
- dashboard
- agent
platform: ubuntu-12.04-i386
template: ubuntu-1204-i386
hypervisor: vcloud
ubuntu-1204-i386-database:
roles:
- database
- agent
platform: ubuntu-12.04-i386
template: ubuntu-1204-i386
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/ubuntu-1204-32mda
================================================
HOSTS:
ubuntu-1204-i386:
roles:
- master
- dashboard
- database
- agent
platform: ubuntu-12.04-i386
template: ubuntu-1204-i386
hypervisor: vcloud
ubuntu-1204-agent:
roles:
- agent
platform: ubuntu-12.04-i386
template: ubuntu-1204-i386
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/ubuntu-1204-64ma-64da-64da
================================================
HOSTS:
ubuntu-1204-amd64-master:
roles:
- master
- agent
platform: ubuntu-12.04-amd64
template: ubuntu-1204-x86_64
hypervisor: vcloud
ubuntu-1204-amd64-dashboard:
roles:
- dashboard
- agent
platform: ubuntu-12.04-amd64
template: ubuntu-1204-x86_64
hypervisor: vcloud
ubuntu-1204-amd64-database:
roles:
- database
- agent
platform: ubuntu-12.04-amd64
template: ubuntu-1204-x86_64
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/pe/ubuntu-1204-64mda
================================================
HOSTS:
ubuntu-1204-amd64:
roles:
- master
- dashboard
- database
- agent
platform: ubuntu-12.04-amd64
template: ubuntu-1204-x86_64
hypervisor: vcloud
ubuntu-1204-agent:
roles:
- agent
platform: ubuntu-12.04-amd64
template: ubuntu-1204-x86_64
hypervisor: vcloud
CONFIG:
nfs_server: none
consoleport: 443
datastore: instance0
folder: Delivery/Quality Assurance/Enterprise/Dynamic
resourcepool: delivery/Quality Assurance/Enterprise/Dynamic
================================================
FILE: acceptance/config/nodes/solaris-10-sparc.yaml
================================================
---
HOSTS:
master:
roles:
- master
platform: el-7-x86_64
hypervisor: vmpooler
template: redhat-7-x86_64
solaris-10-sparc:
roles:
- agent
platform: solaris-10-sparc
hypervisor: none
ip: 10.32.121.124
vmhostname: sol10-1.delivery.puppetlabs.net
CONFIG:
pooling_api: http://vmpooler.delivery.puppetlabs.net/
================================================
FILE: acceptance/config/nodes/solaris-11-sparc.yaml
================================================
---
HOSTS:
master:
roles:
- master
platform: el-7-x86_64
hypervisor: vmpooler
template: redhat-7-x86_64
solaris-11-sparc:
roles:
- agent
platform: solaris-11-sparc
hypervisor: none
ip: 10.32.114.245
vmhostname: sol11-1.delivery.puppetlabs.net
CONFIG:
pooling_api: http://vmpooler.delivery.puppetlabs.net/
================================================
FILE: acceptance/fixtures/MockInstaller.cs
================================================
/*
The MockInstaller is a C# class representing a stubbed exe installer. We will
compile this class into an installable .exe file.
A MockInstaller _MUST_ come alongside a MockUninstaller, so we can uninstall the
fake package from the system
*/
using System;
public class MockInstaller
{ public static void Main()
{
try
{
%{install_commands}
}
catch {
Environment.Exit(1003);
}
string keyName = "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall";
Microsoft.Win32.RegistryKey key;
key = Microsoft.Win32.Registry.LocalMachine.CreateSubKey(keyName + "\\%{package_display_name}");
/*
Puppet deems an exe package 'installable' by identifying whether or not the following registry
values exist in the Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\PackageName key:
* DisplayName
* DisplayVersion
* UninstallString
So we must set those values in the registry for this to be an 'installable package' manageable by
puppet.
*/
key.SetValue("DisplayName", "%{package_display_name}");
key.SetValue("DisplayVersion", "1.0.0");
key.SetValue("UninstallString", @"%{uninstaller_location}");
key.Close();
Console.WriteLine("Installing...");
}
}
================================================
FILE: acceptance/fixtures/MockService.cs
================================================
/*
The MockService is a C# class representing a stubbed service. We will
compile this class into the service's .exe file.
Here, we implement four methods:
* OnStart -- called when SCM starts the service
* OnPause -- called when SCM pauses the service
* OnContinue -- called when SCM resumes a paused service
* OnStop -- called when SCM stops a service
Before calling one of these 'On' methods, the ServiceBase class sets
the service state to the corresponding PENDING state. The service state
is in this PENDING state until the 'On' method is finished, whereby it is
then transitioned into the corresponding final state. Thus if we sleep for a
few seconds in the 'On' method, then note that SCM will report our service
state as being in the PENDING state while we're asleep. For example, if the
'On' method is 'OnStart', the service state is set to START_PENDING before
calling 'OnStart', is START_PENDING while executing 'OnStart', and then is set
to RUNNING after exiting 'OnStart'.
When testing the Windows service provider, we really want to test to ensure
that it handles the state transitions correctly. For example, we want to
check that:
* It waits for the appropriate PENDING state to finish
* It sets the service state to the appropriate final state
The reason we want to do this is because our service provider is communicating
with SCM directly, which does not care how the service implements these
transitions so long as it implements them. C#'s ServiceBase class implements
these state transitions for us. Thus by going to sleep in all of our 'On' methods,
we simulate transitioning to the corresponding PENDING state. When we wake-up
and exit the 'On' method, we will transition to the appropriate final state.
NOTE: Normally, you're supposed to have the service thread in a separate process.
The 'On' methods in this class would send signals to the service thread and then wait
for those signals to be processed. Sending and waiting for these signals is quite
hard and unnecessary for our use-case, which is why our MockService does not have
the service thread.
*/
using System;
using System.ServiceProcess;
public class MockService : ServiceBase {
public static void Main() {
System.ServiceProcess.ServiceBase.Run(new MockService());
}
public MockService() {
ServiceName = "%{service_name}";
CanStop = true;
CanPauseAndContinue = true;
}
private void StubPendingTransition(int seconds) {
RequestAdditionalTime(2000);
System.Threading.Thread.Sleep(seconds * 1000);
}
protected override void OnStart(string [] args) {
StubPendingTransition(%{start_sleep});
}
protected override void OnPause() {
StubPendingTransition(%{pause_sleep});
}
protected override void OnContinue() {
StubPendingTransition(%{continue_sleep});
}
protected override void OnStop() {
StubPendingTransition(%{stop_sleep});
}
}
================================================
FILE: acceptance/fixtures/MockUninstaller.cs
================================================
/*
The MockUninstaller is a C# class representing a stubbed exe uninstaller. We will
compile this class into an usable .exe file.
A MockInstaller _MUST_ come alongside a MockUninstaller, so we can uninstall the
fake package from the system
*/
using System;
public class MockInstaller
{ public static void Main()
{
try
{
%{uninstall_commands}
}
catch {
Environment.Exit(1003);
}
string keyName = "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall";
Console.WriteLine("Uninstalling...");
/*
Remove the entire registry key created by the installer exe
*/
using (Microsoft.Win32.RegistryKey _key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(keyName, true))
{
_key.DeleteSubKeyTree("%{package_display_name}");
}
}
}
================================================
FILE: acceptance/fixtures/debian-repo/Release
================================================
Archive: stable
Component: contrib
Origin: Puppet
Label: Puppet
Architecture: i386
================================================
FILE: acceptance/fixtures/el-repo/repodata/repomd.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<repomd xmlns="http://linux.duke.edu/metadata/repo" xmlns:rpm="http://linux.duke.edu/metadata/rpm">
<revision>1631716408</revision>
<data type="primary">
<checksum type="sha256">0427a2b1b650922e9e7359c09be8820caa3b1ae72efef4998fd7a50fbd3a858c</checksum>
<open-checksum type="sha256">c838f308b3673ee45b64f5b4f594b1428ec76c7a09045ddbcafd37cddf6c9806</open-checksum>
<location href="repodata/0427a2b1b650922e9e7359c09be8820caa3b1ae72efef4998fd7a50fbd3a858c-primary.xml.gz"/>
<timestamp>1631716408</timestamp>
<size>853</size>
<open-size>2885</open-size>
</data>
<data type="filelists">
<checksum type="sha256">12382dd1ca2ce49561d698430501e038a8694b64a5d69bdb7133bff1be5bd4ab</checksum>
<open-checksum type="sha256">ee99cce50b52fdbe9986c16a1896b3f621fd678fa3e5731f153458a9b2770aa0</open-checksum>
<location href="repodata/12382dd1ca2ce49561d698430501e038a8694b64a5d69bdb7133bff1be5bd4ab-filelists.xml.gz"/>
<timestamp>1631716408</timestamp>
<size>362</size>
<open-size>799</open-size>
</data>
<data type="other">
<checksum type="sha256">c274906bddc4277eb4a9f54ad0bfb833ae2c34209d2c8059ee187aa409886ead</checksum>
<open-checksum type="sha256">537bf4c94bce5d5bf7a7ecca3e612028ba87b7bf9c2cf7c952ec902d6e3259ee</open-checksum>
<location href="repodata/c274906bddc4277eb4a9f54ad0bfb833ae2c34209d2c8059ee187aa409886ead-other.xml.gz"/>
<timestamp>1631716408</timestamp>
<size>297</size>
<open-size>493</open-size>
</data>
<data type="primary_db">
<checksum type="sha256">68861daea8ff469f3418abd08697b408df11c8079b0b24178a4e2b4bd8a7102e</checksum>
<open-checksum type="sha256">f50da72da990487e2a53e9414b4b5fe0b47357e7ddebb8ded8450ea268d1a1f2</open-checksum>
<location href="repodata/68861daea8ff469f3418abd08697b408df11c8079b0b24178a4e2b4bd8a7102e-primary.sqlite.bz2"/>
<timestamp>1631716408</timestamp>
<size>2176</size>
<open-size>106496</open-size>
<database_version>10</database_version>
</data>
<data type="filelists_db">
<checksum type="sha256">4427b13c52edea24fc19776198a99611464b3c67f7828aeed8c5d20f3d8b1c02</checksum>
<open-checksum type="sha256">6aa60e9b3cb91ce9240c648f2f72eeec9a9f29fa809e4fdb4d05de334e9d2f0d</open-checksum>
<location href="repodata/4427b13c52edea24fc19776198a99611464b3c67f7828aeed8c5d20f3d8b1c02-filelists.sqlite.bz2"/>
<timestamp>1631716408</timestamp>
<size>973</size>
<open-size>28672</open-size>
<database_version>10</database_version>
</data>
<data type="other_db">
<checksum type="sha256">653202d291344674c0e6c2547647d09c2b0044ec96986b9c62f74dc49f15a3db</checksum>
<open-checksum type="sha256">44c6e7b3d018f1c291708a368223ada428e13d5dd2ecc08c56321e074006a655</open-checksum>
<location href="repodata/653202d291344674c0e6c2547647d09c2b0044ec96986b9c62f74dc49f15a3db-other.sqlite.bz2"/>
<timestamp>1631716408</timestamp>
<size>746</size>
<open-size>24576</open-size>
<database_version>10</database_version>
</data>
</repomd>
================================================
FILE: acceptance/fixtures/manifest_large_exported_classes_node.pp
================================================
class foo ($bar) {
@@notify { 'foo': }
}
@@file { "somedir/${name}_${munin_port_real}":
ensure => present,
content => template("munin/defaultclient.erb"),
}
# Collect all exported files
File <<||>>
# Compile the munin.conf with a local header
concatenated_file { "/etc/munin/munin.conf":
dir => somedir,
header => "/etc/munin/munin.conf.header",
}
hosting_vserver_configuration {
"erics":
domain => "orange.co",
type => "friend",
context => 13,
ip => "255.255.255.254", prefix => 27,
admin_user => "erict", admin_user_name => "hello, its me",
admin_user_email => "erict@orange.co",
customer => "hello? is it me?",
admin_password => file("/etc/puppet/secrets/hosting/erict_passwd"),
}
class davids_black_co_at {
## Create users for my parents and my grandmother
hosting::user {
rztt: realname => "some other rztt",
uid => 2001, admin => true;
same: realname => "could be same",
uid => 2002;
imapersontoodamnit: realname => "some one else",
uid => 2003;
}
# Install git.black.co.at
include git::daemon
include git::web
git::web::export { [manifests, "puppet-trunk"]: }
# Provision an additional mysql database on the database server
hosting::database { "fogbugz": type => mysql }
# Create another VirtualHost
apache2::site { "local-fogbugz":
source => "puppet://$servername/files/hosting/erict/sites/local-fogbugz"
}
}
node backuppc {
# only use the smarthost
$mta = ssmtp
# this is a vserver on this host, so register correctly in nagios
$nagios_parent = "orange.co"
# I'm sharing an IP here, so those things have to have their own ports
$apache2_port = 8080
$munin_port = 5008
$munin_stats_port = 8667
# default configuration
include dbp
# configure the backuppc server
include backuppc::server
}
================================================
FILE: acceptance/fixtures/sles-repo/repodata/repomd.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<repomd xmlns="http://linux.duke.edu/metadata/repo" xmlns:rpm="http://linux.duke.edu/metadata/rpm">
<revision>1586872174</revision>
<data type="filelists">
<checksum type="sha">57a44da7ea9c26d4f438d6ca5da3c561acfaabe1</checksum>
<open-checksum type="sha">4de6823d4c547a4d0126368662a25086ebba0b48</open-checksum>
<location href="repodata/filelists.xml.gz"/>
<timestamp>1586872175</timestamp>
<size>346</size>
<open-size>1143</open-size>
</data>
<data type="other">
<checksum type="sha">e8a80b739fad3deba689620da7947ea0e4bb8ec6</checksum>
<open-checksum type="sha">438d8c0a6507319e488dabcb95a37e6e3a984086</open-checksum>
<location href="repodata/other.xml.gz"/>
<timestamp>1586872175</timestamp>
<size>289</size>
<open-size>563</open-size>
</data>
<data type="primary">
<checksum type="sha">76eab89dc047884727aa27a4523e21728f356eb1</checksum>
<open-checksum type="sha">803b916a92d58ee369063232de96c62125e1e483</open-checksum>
<location href="repodata/primary.xml.gz"/>
<timestamp>1586872175</timestamp>
<size>817</size>
<open-size>3654</open-size>
</data>
</repomd>
================================================
FILE: acceptance/lib/acceptance_spec_helper.rb
================================================
require 'fileutils'
dir = File.expand_path(File.dirname(__FILE__))
$LOAD_PATH.unshift dir
RSpec.configure do |config|
config.mock_with :mocha
end
================================================
FILE: acceptance/lib/helper.rb
================================================
$LOAD_PATH << File.expand_path(File.dirname(__FILE__))
require 'beaker-puppet'
================================================
FILE: acceptance/lib/puppet/acceptance/agent_fqdn_utils.rb
================================================
module Puppet
module Acceptance
module AgentFqdnUtils
@@hostname_to_fqdn = {}
# convert from an Beaker::Host (agent) to the systems fqdn as returned by facter
def agent_to_fqdn(agent)
unless @@hostname_to_fqdn.has_key?(agent.hostname)
@@hostname_to_fqdn[agent.hostname] = on(agent, facter('networking.fqdn')).stdout.chomp
end
@@hostname_to_fqdn[agent.hostname]
end
end
end
end
================================================
FILE: acceptance/lib/puppet/acceptance/aix_util.rb
================================================
module Puppet
module Acceptance
module AixUtil
def to_kv_array(attributes)
attributes.map { |attribute, value| "#{attribute}=#{value}" }
end
def assert_object_attributes_on(host, object_get, object, expected_attributes)
host.send(object_get, object) do |result|
actual_attrs_kv_pairs = result.stdout.chomp.split(' ')[(1..-1)]
actual_attrs = actual_attrs_kv_pairs.map do |kv_pair|
attribute, value = kv_pair.split('=')
next nil unless value
[attribute, value]
end.compact.to_h
expected_attributes.each do |attribute, value|
attribute_str = "attributes[#{object}][#{attribute}]"
actual_value = actual_attrs[attribute]
assert_match(
/\A#{value}\z/,
actual_value,
"EXPECTED: #{attribute_str} = \"#{value}\", ACTUAL: #{attribute_str} = \"#{actual_value}\""
)
end
end
end
def assert_puppet_changed_object_attributes(result, object_resource, object, changed_attributes)
stdout = result.stdout.chomp
changed_attributes.each do |attribute, value|
prefix = /#{object_resource}\[#{object}\].*attributes changed.*/
attribute_str = "attributes[#{object}][#{attribute}]"
assert_match(
/#{prefix}#{attribute}=#{value}/,
stdout,
"Puppet did not indicate that #{attribute_str} changed to #{value}"
)
end
end
def object_resource_manifest(object_resource, object, params)
params_str = params.map do |param, value|
value_str = value.to_s
value_str = "\"#{value_str}\"" if value.is_a?(String)
" #{param} => #{value_str}"
end.join(",\n")
<<-MANIFEST
#{object_resource} { '#{object}':
#{params_str}
}
MANIFEST
end
def run_attribute_management_tests(object_resource, id_property, initial_attributes, changed_attributes)
object_get = "#{object_resource}_get".to_sym
object_absent = "#{object_resource}_absent".to_sym
name = "obj"
teardown do
agents.each { |agent| agent.send(object_absent, name) }
end
current_attributes = initial_attributes.dup
agents.each do |agent|
agent.send(object_absent, name)
# We extract the code for this step as a lambda because we will be checking
# for this case (1) Before the object has been created and (2) After the
# object has been created (towards the end). We do this because in (1), Puppet
# does not trigger the property setters after creating the object, while in (2)
# it does. These are two different scenarios that we want to check.
step_run_errors_when_property_is_passed_as_attribute = lambda do
manifest = object_resource_manifest(
object_resource,
name,
attributes: current_attributes.merge({ 'id' => '15' })
)
apply_manifest_on(agent, manifest) do |result|
assert_match(/Error:.*'#{id_property}'.*'id'/, result.stderr, "specifying a Puppet property as part of an AIX attribute should have errored, but received #{result.stderr}")
end
end
step "Ensure that Puppet errors if a Puppet property is passed in as an AIX attribute when creating the #{object_resource}" do
step_run_errors_when_property_is_passed_as_attribute.call
end
step "Ensure that the #{object_resource} can be created with the specified attributes" do
manifest = object_resource_manifest(
object_resource,
name,
ensure: :present,
attributes: to_kv_array(current_attributes)
)
apply_manifest_on(agent, manifest)
assert_object_attributes_on(agent, object_get, name, current_attributes)
end
step "Ensure that Puppet noops when the specified attributes are already set" do
manifest = object_resource_manifest(
object_resource,
name,
attributes: to_kv_array(current_attributes)
)
apply_manifest_on(agent, manifest, catch_changes: true)
end
# Remember the changed attribute's old values
old_attributes = current_attributes.select { |k, _| changed_attributes.keys.include?(k) }
step "Ensure that Puppet updates only the specified attributes and nothing else" do
current_attributes = current_attributes.merge(changed_attributes)
manifest = object_resource_manifest(
object_resource,
name,
attributes: to_kv_array(current_attributes)
)
apply_manifest_on(agent, manifest) do |result|
assert_puppet_changed_object_attributes(
result,
object_resource.capitalize,
name,
changed_attributes
)
end
assert_object_attributes_on(agent, object_get, name, current_attributes)
end
step "Ensure that Puppet accepts a hash for the attributes property" do
# We want to see if Puppet will do something with the attributes property
# when we pass it in as a hash so that it does not just pass validation
# and end up noop-ing. Let's set one of our attributes back to its old
# value in order to simulate an actual change.
attribute = old_attributes.keys.first
old_value = old_attributes.delete(attribute)
current_attributes[attribute] = old_value
manifest = object_resource_manifest(
object_resource,
name,
attributes: current_attributes
)
apply_manifest_on(agent, manifest)
assert_object_attributes_on(agent, object_get, name, current_attributes)
end
step "Ensure that `puppet resource #{object_resource}` outputs valid Puppet code" do
on(agent, puppet("resource #{object_resource} #{name}")) do |result|
manifest = result.stdout.chomp
apply_manifest_on(agent, manifest)
end
end
step "Ensure that Puppet errors if a Puppet property is passed in as an AIX attribute after #{object_resource} has been created" do
step_run_errors_when_property_is_passed_as_attribute.call
end
end
end
end
end
end
================================================
FILE: acceptance/lib/puppet/acceptance/classifier_utils.rb
================================================
require 'httparty'
require 'tempfile'
require 'stringio'
require 'uuidtools'
require 'json'
require 'pp'
module Puppet
module Acceptance
module ClassifierUtils
DEFAULT_GROUP_ID = "00000000-0000-4000-8000-000000000000"
SSL_PORT = 4433
PREFIX = "/classifier-api"
# Keep track of our local tmpdirs for cleanup
def self.tmpdirs
@classifier_utils_tmpdirs ||= []
end
# PE creates a "Production environment" group during installation which
# all nodes are a member of by default. This method just looks up this
# group and returns its uuid so that other methods may reference it.
def get_production_environment_group_uuid
step "Get classifier groups so we can locate the 'Production environment' group"
response = classifier_handle.get("/v1/groups")
assert_equal(200, response.code, "Unable to get classifer groups: #{response.body}")
groups_json = response.body
groups = JSON.parse(groups_json)
if production_environment = groups.find { |g| g['name'] == 'Production environment' }
production_environment['id']
else
nil
end
end
# Create a Classifier Group which by default will apply to all of the passed
# nodes. The Group will merge in the passed group_hash which will be converted
# into the json body for a Classifier PUT /v1/groups/:id request.
#
# A teardown body is registered to delete the created group at the end of the test.
#
# @returns String the created uuid for the group.
def create_group_for_nodes(nodes, group_hash)
group_uuid = UUIDTools::UUID.random_create()
response = nil
teardown do
step "Deleting group #{group_uuid}" do
response = classifier_handle.delete("/v1/groups/#{group_uuid}")
assert_equal(204, response.code, "Failed to delete group #{group_uuid}, #{response.code}:#{response.body}")
end if response && response.code == 201
end
teardown do
step "Cleaning up classifier certs on test host" do
cleanup_local_classifier_certs
end
end
hostnames = nodes.map { |n| n.hostname }
step "Add group #{group_uuid} for #{hostnames.join(", ")}"
rule = hostnames.inject(["or"]) do |r,name|
r << ["~", "name", name]
r
end
# In order to override the environment for test nodes, we need the
# groups we create to be a child of this "Production environment" group,
# otherwise we get a classification error from the conflicting groups.
parent = get_production_environment_group_uuid || Puppet::Acceptance::ClassifierUtils::DEFAULT_GROUP_ID
body = {
"description" => "A classification group for the following acceptance test nodes: (#{hostnames.join(", ")})",
"parent" => parent,
"rule" => rule,
"classes" => {}
}.merge group_hash
response = classifier_handle.put("/v1/groups/#{group_uuid}", :body => body.to_json)
assert_equal(201, response.code, "Unexpected response code: #{response.code}, #{response.body}")
return group_uuid
end
# Creates a group which allows the given nodes to specify their own environments.
# Will be torn down at the end of the test.
def classify_nodes_as_agent_specified(nodes)
create_group_for_nodes(nodes, {
"name" => "Agent Specified Test Nodes",
"environment" => "agent-specified",
"environment_trumps" => true,
"description" => "The following acceptance suite nodes (#{nodes.map { |n| n.hostname }.join(", ")}) expect to be able to specify their environment for tesing purposes.",
})
end
def classify_nodes_as_agent_specified_if_classifer_present
classifier_node = false
begin
classifier_node = find_only_one(:classifier)
rescue Beaker::DSL::Outcomes::FailTest
end
if classifier_node || master.is_pe?
classify_nodes_as_agent_specified(agents)
end
end
def classifier_host
find_only_one(:classifier)
rescue Beaker::DSL::Outcomes::FailTest
# fallback to master since currently the sqautils genconfig does not recognize
# a classifier role.
master
end
def master_cert
@master_cert ||= on(master, "cat `puppet config print hostcert`", :silent => true).stdout
end
def master_key
@master_key ||= on(master, "cat `puppet config print hostprivkey`", :silent => true).stdout
end
def master_ca_cert_file
unless @ca_cert_file
ca_cert = on(master, "cat `puppet config print localcacert`", :silent => true).stdout
cert_dir = Dir.mktmpdir("pe_classifier_certs")
Puppet::Acceptance::ClassifierUtils.tmpdirs << cert_dir
@ca_cert_file = File.join(cert_dir, "cacert.pem")
# RFC 1421 states PEM is 7-bit ASCII https://tools.ietf.org/html/rfc1421
File.open(@ca_cert_file, "w:ASCII") do |f|
f.write(ca_cert)
end
end
@ca_cert_file
end
def cleanup_local_classifier_certs
Puppet::Acceptance::ClassifierUtils.tmpdirs.each do |d|
FileUtils.rm_rf(d)
end
end
def clear_classifier_utils_cache
@master_cert = nil
@master_key = nil
@ca_cert_file = nil
@classifier_handle = nil
end
def classifier_handle(options = {})
unless @classifier_handle
server = options[:server] || classifier_host.reachable_name
port = options[:port] || SSL_PORT
prefix = options[:prefix] || PREFIX
cert = options[:cert] || master_cert
key = options[:key] || master_key
ca_cert_file = options[:ca_cert_file] || master_ca_cert_file
logger = options[:logger] || self.logger
# HTTParty performs a lot of configuration at the class level.
# This is inconvenient for our needs because we don't have the
# server/cert info available at the time the class is loaded. I'm
# sidestepping this by generating an anonymous class on the fly when
# the test code actually requests a handle to the classifier.
@classifier_handle = Class.new do
include HTTParty
extend Classifier
@debugout = StringIO.new
@logger = logger
base_uri("https://#{server}:#{port}#{prefix}")
debug_output(@debugout)
headers({'Content-Type' => 'application/json'})
pem(cert + key)
ssl_ca_file(ca_cert_file)
end
end
@classifier_handle
end
# Handle logging
module Classifier
[:head, :get, :post, :put, :delete].each do |method|
define_method(method) do |*args, &block|
log_output do
super(*args, &block)
end
end
end
private
# Ensure that the captured debugging output is logged to Beaker.
def log_output
yield
ensure
@debugout.rewind
@debugout.each_line { |l| @logger.info(l) }
@debugout.truncate(0)
end
end
end
end
end
================================================
FILE: acceptance/lib/puppet/acceptance/classifier_utils_spec.rb
================================================
require File.join(File.dirname(__FILE__),'../../acceptance_spec_helper.rb')
require 'puppet/acceptance/classifier_utils'
require 'stringio'
require 'beaker'
module ClassifierUtilsSpec
describe 'ClassifierUtils' do
class ATestCase < Beaker::TestCase
include Puppet::Acceptance::ClassifierUtils
attr_accessor :logger, :hosts
def initialize
@logger = Logger.new
@hosts = []
end
def logger
@logger
end
def teardown
end
class Logger
attr_reader :destination
def initialize
@destination = StringIO.new
end
def info(log)
@destination << (log)
end
end
end
let(:testcase) { ATestCase.new }
let(:handle) { testcase.classifier_handle(
:server => 'foo',
:cert => 'cert',
:key => 'key',
:ca_cert_file => 'file'
)
}
it "provides a handle to the classifier service" do
handle.expects(:perform_request).with(Net::HTTP::Get, '/hi', {})
handle.get('/hi')
end
it "logs output from the http connection attempt" do
TCPSocket.expects(:open).raises('no-connection')
OpenSSL::X509::Certificate.expects(:new).with('certkey').returns(stub('cert'))
OpenSSL::PKey::RSA.expects(:new).with('certkey', nil).returns(stub('key'))
expect { handle.get('/hi') }.to raise_error('no-connection')
expect(testcase.logger.destination.string).to match(/opening connection to foo/)
end
it "creates an agent-specified environment group for a passed set of nodes" do
nodes = [
stub_everything('master', :hostname => 'abcmaster', :[] => ['master'] ),
stub_everything('agent', :hostname => 'defagent', :[] => ['agent'] ),
]
testcase.hosts = nodes
uuid = nil
handle.expects(:perform_request).with do |method,url,body_hash|
expect(method).to eq(Net::HTTP::Put)
test_regex = %r{/v1/groups/(\w+-\w+-\w+-\w+-\w+)}
md = test_regex.match(url)
expect(uuid = md[1]).to_not be_nil
expect(body_hash[:body]).to match(/environment[^:]*:[^:]*agent-specified/)
end.returns(
stub_everything('response', :code => 201))
expect(testcase.classify_nodes_as_agent_specified(nodes).to_s).to eq(uuid)
end
end
end
================================================
FILE: acceptance/lib/puppet/acceptance/common_utils.rb
================================================
module Puppet
module Acceptance
module BeakerUtils
# TODO: This should be added to Beaker
def assert_matching_arrays(expected, actual, message = "")
assert_equal(expected.sort, actual.sort, message)
end
end
module PackageUtils
def package_present(host, package, version = nil)
host.install_package(package, '', version)
end
def package_absent(host, package, cmdline_args = '', opts = {})
host.uninstall_package(package, cmdline_args, opts)
end
end
module CommandUtils
def ruby_command(host)
"env PATH=\"#{host['privatebindir']}:${PATH}\" ruby"
end
module_function :ruby_command
def gem_command(host, type='aio')
if type == 'aio'
if host['platform'] =~ /windows/
"env PATH=\"#{host['privatebindir']}:${PATH}\" cmd /c gem"
else
"env PATH=\"#{host['privatebindir']}:${PATH}\" gem"
end
else
on(host, 'which gem').stdout.chomp
end
end
module_function :gem_command
end
module ManifestUtils
def resource_manifest(resource, title, params = {})
params_str = params.map do |param, value|
# This is not quite correct for all parameter values,
# but it is good enough for most purposes.
value_str = value.to_s
value_str = "\"#{value_str}\"" if value.is_a?(String)
" #{param} => #{value_str}"
end.join(",\n")
<<-MANIFEST
#{resource} { '#{title}':
#{params_str}
}
MANIFEST
end
def file_manifest(path, params = {})
resource_manifest('file', path, params)
end
def user_manifest(username, params = {})
resource_manifest('user', username, params)
end
end
end
end
================================================
FILE: acceptance/lib/puppet/acceptance/environment_utils.rb
================================================
require 'puppet/acceptance/module_utils'
module Puppet
module Acceptance
module EnvironmentUtils
include Puppet::Acceptance::ModuleUtils
# Generate puppet manifest for the creation of an environment with
# the given modulepath and manifest and env_name. The created environment
# will have on testing_mod module, and manifest site.pp which includes it.
#
# @param options [Hash<Sym,String>]
# @option options [String] :modulepath Modules directory
# @option options [String] :manifest Manifest directory
# @option options [String] :env_name Environment name
# @return [String] Puppet manifest to create the environment files
def generate_environment(options)
modulepath = options[:modulepath]
manifestpath = options[:manifestpath]
env_name = options[:env_name]
<<-MANIFEST_SNIPPET
file {
###################################################
# #{env_name}
#{generate_module("testing_mod", env_name, modulepath)}
"#{manifestpath}":;
"#{manifestpath}/site.pp":
ensure => file,
mode => "0640",
content => '
notify { "in #{env_name} site.pp": }
include testing_mod
'
;
}
MANIFEST_SNIPPET
end
# Generate one module's manifest code.
def generate_module(module_name, env_name, modulepath)
<<-MANIFEST_SNIPPET
"#{modulepath}":;
"#{modulepath}/#{module_name}":;
"#{modulepath}/#{module_name}/manifests":;
"#{modulepath}/#{module_name}/manifests/init.pp":
ensure => file,
mode => "0640",
content => 'class #{module_name} {
notify { "include #{env_name} #{module_name}": }
}'
;
MANIFEST_SNIPPET
end
# Default, legacy, dynamic and directory environments
# using generate_manifest(), all rooted in testdir.
#
# @param [String] testdir path to the temp directory which will be the confdir all
# the environments live in
# @return [String] Puppet manifest to generate all of the environment files.
def environment_manifest(testdir)
<<-MANIFEST
File {
ensure => directory,
owner => #{master.puppet['user']},
group => #{master.puppet['group']},
mode => "0750",
}
file { "#{testdir}": }
#{generate_environment(
:modulepath => "#{testdir}/modules",
:manifestpath => "#{testdir}/manifests",
:env_name => "default environment")}
#{generate_environment(
:modulepath => "#{testdir}/testing-modules",
:manifestpath => "#{testdir}/testing-manifests",
:env_name => "legacy testing environment")}
file {
"#{testdir}/dynamic":;
"#{testdir}/dynamic/testing":;
}
#{generate_environment(
:modulepath => "#{testdir}/dynamic/testing/modules",
:manifestpath => "#{testdir}/dynamic/testing/manifests",
:env_name => "dynamic testing environment")}
file {
"#{testdir}/environments":;
"#{testdir}/environments/testing":;
}
#{generate_environment(
:modulepath => "#{testdir}/environments/testing/modules",
:manifestpath => "#{testdir}/environments/testing/manifests",
:env_name => "directory testing environment")}
file {
"#{testdir}/environments/testing_environment_conf":;
}
#{generate_environment(
:modulepath => "#{testdir}/environments/testing_environment_conf/nonstandard-modules",
:manifestpath => "#{testdir}/environments/testing_environment_conf/nonstandard-manifests",
:env_name => "directory testing with environment.conf")}
file { "#{testdir}/environments/testing_environment_conf/environment.conf":
ensure => file,
mode => "0640",
content => '
modulepath = nonstandard-modules:$basemodulepath
manifest = nonstandard-manifests
config_version = local-version.sh
'
}
file {
"#{testdir}/environments/testing_environment_conf/local-version.sh":
ensure => file,
mode => "0640",
content => '#! /usr/bin/env bash
echo "local testing_environment_conf"'
;
}
###################
# Services
file {
"#{testdir}/services":;
"#{testdir}/services/testing":;
#{generate_module('service_mod',
"service testing environment",
"#{testdir}/services/testing/modules")}
}
#######################
# Config version script
file {
"#{testdir}/static-version.sh":
ensure => file,
mode => "0640",
content => '#! /usr/bin/env bash
echo "static"'
;
}
MANIFEST
end
def get_directory_hash_from(host, path)
dir_hash = {}
on(host, "ls #{path}") do |result|
result.stdout.split.inject(dir_hash) do |hash,f|
hash[f] = "#{path}/#{f}"
hash
end
end
dir_hash
end
def safely_shadow_directory_contents_and_yield(host, original_path, new_path, &block)
original_files = get_directory_hash_from(host, original_path)
new_files = get_directory_hash_from(host, new_path)
conflicts = original_files.keys & new_files.keys
step "backup original files" do
conflicts.each do |c|
on(host, "mv #{original_files[c]} #{original_files[c]}.bak")
end
end
step "shadow original files with temporary files" do
new_files.each do |name,full_path_name|
on(host, "cp -R #{full_path_name} #{original_path}/#{name}")
end
end
new_file_list = new_files.keys.map { |name| "#{original_path}/#{name}" }.join(' ')
step "open permissions to 755 on all temporary files copied into working dir and set ownership" do
on(host, "chown -R #{host.puppet['user']}:#{host.puppet['group']} #{new_file_list}")
on(host, "chmod -R 755 #{new_file_list}")
end
if host.check_for_command("selinuxenabled")
result = on(host, "selinuxenabled", :acceptable_exit_codes => [0,1])
if result.exit_code == 0
step "mirror selinux contexts" do
context = on(host, "matchpathcon #{original_path}").stdout.chomp.split(' ')[1]
on(host, "chcon -R #{context} #{new_file_list}")
end
end
end
yield
ensure
step "clear out the temporary files" do
files_to_delete = new_files.keys.map { |name| "#{original_path}/#{name}" }
on(host, "rm -rf #{files_to_delete.join(' ')}")
end
step "move the shadowed files back to their original places" do
conflicts.each do |c|
on(host, "mv #{original_files[c]}.bak #{original_files[c]}")
end
end
end
# Stand up a puppet master on the master node with the given master_opts
# using the passed envdir as the source of the puppet environment files,
# and passed confdir as the directory to use for the temporary
# puppet.conf. It then runs through a series of environment tests for the
# passed environment and returns a hashed structure of the results.
#
# @return [Hash<Beaker::Host,Hash<Sym,Beaker::Result>>] Hash of
# Beaker::Hosts for each agent run keyed to a hash of Beaker::Result
# objects keyed by each subtest that was performed.
def use_an_environment(environment, description, master_opts, envdir, confdir, options = {})
master_puppet_conf = master_opts.dup # shallow clone
results = {}
safely_shadow_directory_contents_and_yield(master, puppet_config(master, 'codedir', section: 'master'), envdir) do
config_print = options[:config_print]
directory_environments = options[:directory_environments]
with_puppet_running_on(master, master_puppet_conf, confdir) do
agents.each do |agent|
agent_results = results[agent] = {}
step "puppet agent using #{description} environment"
args = "-t", "--server", master
args << ["--environment", environment] if environment
# Test agents configured to use directory environments (affects environment
# loading on the agent, especially with regards to requests/node environment)
args << "--environmentpath='$confdir/environments'" if directory_environments && agent != master
on(agent, puppet("agent", *args), :acceptable_exit_codes => (0..255)) do |result|
agent_results[:puppet_agent] = result
end
args = ["--trace"]
args << ["--environment", environment] if environment
step "print puppet config for #{description} environment"
on(master, puppet(*(["config", "print", "basemodulepath", "modulepath", "manifest", "config_version", config_print] + args)), :acceptable_exit_codes => (0..255)) do |result|
agent_results[:puppet_config] = result
end
step "puppet apply using #{description} environment"
on(master, puppet(*(["apply", '-e', '"include testing_mod"'] + args)), :acceptable_exit_codes => (0..255)) do |result|
agent_results[:puppet_apply] = result
end
end
end
end
return results
end
# For each Beaker::Host in the results Hash, generates a chart, comparing
# the expected exit code and regexp matches from expectations to the
# Beaker::Result.output for a particular command that was executed in the
# environment. Outputs either 'ok' or text highlighting the errors, and
# returns false if any errors were found.
#
# @param [Hash<Beaker::Host,Hash<Sym,Beaker::Result>>] results
# @param [Hash<Sym,Hash{Sym => Integer,Array<Regexp>}>] expectations
# @return [Array] Returns an empty array of there were no failures, or an
# Array of failed cases.
def review_results(results, expectations)
failed = []
results.each do |agent, agent_results|
divider = "-" * 79
logger.info divider
logger.info "For: (#{agent.name}) #{agent}"
logger.info divider
agent_results.each do |testname, execution_results|
expected_exit_code = expectations[testname][:exit_code]
match_tests = expectations[testname][:matches] || []
not_match_tests = expectations[testname][:does_not_match] || []
expect_failure = expectations[testname][:expect_failure]
notes = expectations[testname][:notes]
errors = []
if execution_results.exit_code != expected_exit_code
errors << "To exit with an exit code of '#{expected_exit_code}', instead of '#{execution_results.exit_code}'"
end
match_tests.each do |regexp|
if execution_results.output !~ regexp
errors << "#{errors.empty? ? "To" : "And"} match: #{regexp}"
end
end
not_match_tests.each do |regexp|
if execution_results.output =~ regexp
errors << "#{errors.empty? ? "Not to" : "And not"} match: #{regexp}"
end
end
error_msg = "Expected the output:\n#{execution_results.output}\n#{errors.join("\n")}" unless errors.empty?
case_failed = case
when errors.empty? && expect_failure then 'ok - failed as expected'
when errors.empty? && !expect_failure then 'ok'
else '*UNEXPECTED FAILURE*'
end
logger.info "#{testname}: #{case_failed}"
if case_failed == 'ok - failed as expected'
logger.info divider
logger.info "Case is known to fail as follows:\n#{execution_results.output}\n"
elsif case_failed == '*UNEXPECTED FAILURE*'
failed << "Unexpected failure for #{testname}"
logger.info divider
logger.info "#{error_msg}"
end
logger.info("------\nNotes: #{notes}") if notes
logger.info divider
end
end
return failed
end
def asser
gitextract_xkxzuvnq/
├── .gitattributes
├── .github/
│ ├── release.yml
│ └── workflows/
│ ├── backport.yml
│ ├── checks.yaml
│ ├── jira.yml
│ ├── mend.yaml
│ └── rspec_tests.yaml
├── .gitignore
├── .gitmodules
├── .mailmap
├── .noexec.yaml
├── .rubocop.yml
├── .rubocop_todo.yml
├── .yardopts
├── CODEOWNERS
├── CODE_OF_CONDUCT.md
├── Gemfile
├── Guardfile.example
├── LICENSE
├── README.md
├── Rakefile
├── acceptance/
│ ├── .beaker.yml
│ ├── .gitignore
│ ├── Gemfile
│ ├── README.md
│ ├── Rakefile
│ ├── config/
│ │ ├── aio/
│ │ │ └── options.rb
│ │ ├── gem/
│ │ │ └── options.rb
│ │ ├── git/
│ │ │ └── options.rb
│ │ └── nodes/
│ │ ├── aix-53-power.yaml
│ │ ├── aix-61-power.yaml
│ │ ├── aix-71-power.yaml
│ │ ├── gem.yaml
│ │ ├── huaweios-6-powerpc.yaml
│ │ ├── pe/
│ │ │ ├── centos-5-32ma-32da-32da
│ │ │ ├── centos-5-32mda
│ │ │ ├── centos-5-64ma-64da-64da
│ │ │ ├── centos-5-64mda
│ │ │ ├── centos-6-32ma-32da-32da
│ │ │ ├── centos-6-32mda
│ │ │ ├── centos-6-64ma-64da-64da
│ │ │ ├── centos-6-64mda
│ │ │ ├── centos-6-64mda-sol-10-64a
│ │ │ ├── debian-6-32ma-32da-32da
│ │ │ ├── debian-6-32mda
│ │ │ ├── debian-6-64ma-64da-64da
│ │ │ ├── debian-6-64mda
│ │ │ ├── debian-7-32ma-32da-32da
│ │ │ ├── debian-7-32mda
│ │ │ ├── debian-7-64ma-64da-64da
│ │ │ ├── debian-7-64mda
│ │ │ ├── debian-7-i386
│ │ │ ├── oracle-5-32ma-32da-32da
│ │ │ ├── oracle-5-32mda
│ │ │ ├── oracle-5-64ma-64da-64da
│ │ │ ├── oracle-5-64mda
│ │ │ ├── oracle-6-32ma-32da-32da
│ │ │ ├── oracle-6-32mda
│ │ │ ├── oracle-6-64ma-64da-64da
│ │ │ ├── oracle-6-64mda
│ │ │ ├── redhat-5-32ma-32da-32da
│ │ │ ├── redhat-5-32mda
│ │ │ ├── redhat-5-64ma-64da-64da
│ │ │ ├── redhat-5-64mda
│ │ │ ├── redhat-6-32ma-32da-32da
│ │ │ ├── redhat-6-32mda
│ │ │ ├── redhat-6-64ma-64da-64da
│ │ │ ├── redhat-6-64mda
│ │ │ ├── scientific-5-32ma-32da-32da
│ │ │ ├── scientific-5-32mda
│ │ │ ├── scientific-5-64ma-64da-64da
│ │ │ ├── scientific-5-64mda
│ │ │ ├── scientific-6-32ma-32da-32da
│ │ │ ├── scientific-6-32mda
│ │ │ ├── scientific-6-64ma-64da-64da
│ │ │ ├── scientific-6-64mda
│ │ │ ├── sles-11-32ma-32da-32da
│ │ │ ├── sles-11-32mda
│ │ │ ├── sles-11-64ma-64da-64da
│ │ │ ├── sles-11-64mda
│ │ │ ├── solaris-10-64a
│ │ │ ├── solaris-11-64a
│ │ │ ├── ubuntu-1004-32ma-32da-32da
│ │ │ ├── ubuntu-1004-32mda
│ │ │ ├── ubuntu-1004-64ma-64da-64da
│ │ │ ├── ubuntu-1004-64mda
│ │ │ ├── ubuntu-1204-32ma-32da-32da
│ │ │ ├── ubuntu-1204-32mda
│ │ │ ├── ubuntu-1204-64ma-64da-64da
│ │ │ └── ubuntu-1204-64mda
│ │ ├── solaris-10-sparc.yaml
│ │ └── solaris-11-sparc.yaml
│ ├── fixtures/
│ │ ├── MockInstaller.cs
│ │ ├── MockService.cs
│ │ ├── MockUninstaller.cs
│ │ ├── debian-repo/
│ │ │ ├── Release
│ │ │ ├── helloworld_1.0-1.deb
│ │ │ ├── helloworld_1.19-1.deb
│ │ │ └── helloworld_2.0-1.deb
│ │ ├── el-repo/
│ │ │ ├── RPMS/
│ │ │ │ ├── kernel-devel-puppet-3.10.0-1062.1.1.noarch.rpm
│ │ │ │ └── kernel-devel-puppet-3.10.0-1062.4.3.noarch.rpm
│ │ │ └── repodata/
│ │ │ ├── 4427b13c52edea24fc19776198a99611464b3c67f7828aeed8c5d20f3d8b1c02-filelists.sqlite.bz2
│ │ │ ├── 653202d291344674c0e6c2547647d09c2b0044ec96986b9c62f74dc49f15a3db-other.sqlite.bz2
│ │ │ ├── 68861daea8ff469f3418abd08697b408df11c8079b0b24178a4e2b4bd8a7102e-primary.sqlite.bz2
│ │ │ └── repomd.xml
│ │ ├── manifest_large_exported_classes_node.pp
│ │ └── sles-repo/
│ │ ├── noarch/
│ │ │ ├── helloworld-1.0-2.noarch.rpm
│ │ │ ├── helloworld-1.19-2.noarch.rpm
│ │ │ └── helloworld-2.0-2.noarch.rpm
│ │ └── repodata/
│ │ └── repomd.xml
│ ├── lib/
│ │ ├── acceptance_spec_helper.rb
│ │ ├── helper.rb
│ │ └── puppet/
│ │ └── acceptance/
│ │ ├── agent_fqdn_utils.rb
│ │ ├── aix_util.rb
│ │ ├── classifier_utils.rb
│ │ ├── classifier_utils_spec.rb
│ │ ├── common_utils.rb
│ │ ├── environment_utils.rb
│ │ ├── environment_utils_spec.rb
│ │ ├── i18n_utils.rb
│ │ ├── i18ndemo_utils.rb
│ │ ├── module_utils.rb
│ │ ├── puppet_type_test_tools.rb
│ │ ├── puppet_type_test_tools_spec.rb
│ │ ├── rpm_util.rb
│ │ ├── service_utils.rb
│ │ ├── solaris_util.rb
│ │ ├── static_catalog_utils.rb
│ │ ├── temp_file_utils.rb
│ │ ├── windows_utils/
│ │ │ ├── package_installer.rb
│ │ │ └── service.rb
│ │ └── windows_utils.rb
│ ├── pending/
│ │ ├── ticket_11860_exec_should_not_override_locale.rb
│ │ ├── ticket_4149_parseonly_should_not_fail.rb
│ │ ├── ticket_4151_defined_function_should_not_return_true_for_unrealized_virtual_resources.rb
│ │ ├── ticket_5027_warn_on_dynamic_scope.rb
│ │ ├── ticket_5224_exec_should_unset_user_env_vars.rb
│ │ └── ticket_6928_puppet_master_parse_fails.rb
│ ├── teardown/
│ │ └── common/
│ │ └── 099_Archive_Logs.rb
│ ├── tests/
│ │ ├── agent/
│ │ │ ├── agent_disable_lockfile.rb
│ │ │ ├── agent_fails_with_unknown_resource.rb
│ │ │ ├── agent_parses_json_catalog.rb
│ │ │ ├── fallback_to_cached_catalog.rb
│ │ │ └── last_run_summary_report.rb
│ │ ├── aix/
│ │ │ ├── aix_package_provider.rb
│ │ │ └── nim_package_provider.rb
│ │ ├── allow_arbitrary_node_name_fact_for_agent.rb
│ │ ├── allow_arbitrary_node_name_for_agent.rb
│ │ ├── apply/
│ │ │ └── classes/
│ │ │ ├── parameterized_classes.rb
│ │ │ ├── should_allow_param_override.rb
│ │ │ ├── should_allow_param_undef_override.rb
│ │ │ ├── should_include_resources_from_class.rb
│ │ │ └── should_not_auto_include_resources_from_class.rb
│ │ ├── catalog_with_binary_data.rb
│ │ ├── direct_puppet/
│ │ │ ├── cached_catalog_remediate_local_drift.rb
│ │ │ ├── catalog_uuid_correlates_catalogs_with_reports.rb
│ │ │ ├── static_catalog_env_control.rb
│ │ │ └── supports_utf8.rb
│ │ ├── environment/
│ │ │ ├── broken_unassigned_environment_handled_gracefully.rb
│ │ │ ├── can_enumerate_environments.rb
│ │ │ ├── custom_type_provider_from_same_environment.rb
│ │ │ ├── directory_environment_production_created_master.rb
│ │ │ ├── enc_nonexistent_directory_environment.rb
│ │ │ ├── environment_scenario-bad.rb
│ │ │ ├── feature_branch_configured_environment.rb
│ │ │ ├── should_find_existing_production_environment.rb
│ │ │ ├── use_agent_environment_when_enc_doesnt_specify.rb
│ │ │ ├── use_agent_environment_when_no_enc.rb
│ │ │ ├── use_enc_environment.rb
│ │ │ ├── use_enc_environment_for_files.rb
│ │ │ ├── use_enc_environment_for_pluginsync.rb
│ │ │ ├── use_environment_from_environmentpath.rb
│ │ │ ├── use_last_server_specified_environment.rb
│ │ │ └── variables_refreshed_each_compilation.rb
│ │ ├── face/
│ │ │ ├── 4654_facts_face.rb
│ │ │ ├── loadable_from_modules.rb
│ │ │ └── parser_validate.rb
│ │ ├── i18n/
│ │ │ ├── enable_option_disable_i18n.rb
│ │ │ ├── modules/
│ │ │ │ ├── puppet_agent.rb
│ │ │ │ ├── puppet_agent_cached_catalog.rb
│ │ │ │ ├── puppet_agent_with_multiple_environments.rb
│ │ │ │ ├── puppet_apply.rb
│ │ │ │ ├── puppet_apply_module_lang.rb
│ │ │ │ ├── puppet_apply_unsupported_lang.rb
│ │ │ │ ├── puppet_describe.rb
│ │ │ │ ├── puppet_face.rb
│ │ │ │ └── puppet_resource.rb
│ │ │ └── translation_fallback.rb
│ │ ├── language/
│ │ │ ├── binary_data_type.rb
│ │ │ ├── exported_resources.rb
│ │ │ ├── functions_in_puppet_language.rb
│ │ │ ├── objects_in_catalog.rb
│ │ │ ├── pcore_generate_env_isolation.rb
│ │ │ ├── pcore_resource_types_should_have_precedence_over_ruby.rb
│ │ │ ├── resource_refs_with_nested_arrays.rb
│ │ │ ├── sensitive_data_type.rb
│ │ │ └── server_set_facts.rb
│ │ ├── loader/
│ │ │ ├── autoload_from_resource_type_decl.rb
│ │ │ ├── func4x_loadable_from_modules.rb
│ │ │ └── resource_triggers_autoload.rb
│ │ ├── lookup/
│ │ │ ├── config3_interpolation.rb
│ │ │ ├── config5_interpolation.rb
│ │ │ ├── hiera3_custom_backend.rb
│ │ │ ├── lookup.rb
│ │ │ ├── lookup_rich_values.rb
│ │ │ ├── merge_strategies.rb
│ │ │ ├── v3_config_and_data.rb
│ │ │ └── v4_hieradata_with_v5_configs.rb
│ │ ├── modulepath.rb
│ │ ├── ordering/
│ │ │ └── master_agent_application.rb
│ │ ├── parser_functions/
│ │ │ ├── calling_all_functions.rb
│ │ │ ├── hiera/
│ │ │ │ └── lookup_data.rb
│ │ │ ├── hiera_array/
│ │ │ │ └── lookup_data.rb
│ │ │ ├── hiera_hash/
│ │ │ │ └── lookup_data.rb
│ │ │ ├── hiera_in_templates.rb
│ │ │ ├── no_exception_in_reduce_with_bignum.rb
│ │ │ └── puppet_lookup_cmd.rb
│ │ ├── pluginsync/
│ │ │ ├── 3935_pluginsync_should_follow_symlinks.rb
│ │ │ ├── 4420_pluginfacts_should_be_resolvable_on_agent.rb
│ │ │ ├── 4847_pluginfacts_should_be_resolvable_from_applications.rb
│ │ │ ├── 7316_apps_should_be_available_via_pluginsync.rb
│ │ │ ├── 7316_faces_with_app_stubs_should_be_available_via_pluginsync.rb
│ │ │ ├── feature/
│ │ │ │ └── pluginsync_should_sync_features.rb
│ │ │ └── files_earlier_in_modulepath_take_precendence.rb
│ │ ├── provider/
│ │ │ └── package/
│ │ │ ├── apt_install_package_with_range.rb
│ │ │ ├── dnfmodule_enable_only.rb
│ │ │ ├── dnfmodule_ensure_versionable.rb
│ │ │ ├── dnfmodule_manages_flavors.rb
│ │ │ ├── dpkg_ensure_latest_virtual_packages.rb
│ │ │ ├── dpkg_hold_true_package_is_latest.rb
│ │ │ ├── dpkg_hold_true_should_preserve_version.rb
│ │ │ ├── gem.rb
│ │ │ ├── pip.rb
│ │ │ ├── puppetserver_gem.rb
│ │ │ ├── rpm_ensure_install_multiversion_package.rb
│ │ │ ├── yum_semantic_versioning.rb
│ │ │ └── zypper_install_package_with_range.rb
│ │ ├── reports/
│ │ │ ├── agent_sends_json_report_for_cached_catalog.rb
│ │ │ ├── cached_catalog_status_in_report.rb
│ │ │ ├── corrective_change_new_resource.rb
│ │ │ ├── corrective_change_outside_puppet.rb
│ │ │ ├── corrective_change_via_puppet.rb
│ │ │ └── submission.rb
│ │ ├── resource/
│ │ │ ├── exec/
│ │ │ │ ├── accept_array_commands.rb
│ │ │ │ ├── accept_multi-line_commands.rb
│ │ │ │ ├── should_accept_large_output.rb
│ │ │ │ ├── should_not_run_command_creates.rb
│ │ │ │ ├── should_run_bad_command.rb
│ │ │ │ ├── should_run_command.rb
│ │ │ │ ├── should_run_command_as_user.rb
│ │ │ │ ├── should_run_command_in_cwd.rb
│ │ │ │ ├── should_set_environment_variables.rb
│ │ │ │ └── should_set_path.rb
│ │ │ ├── file/
│ │ │ │ ├── ascii_diff_output_content_attribute.rb
│ │ │ │ ├── bin_diff_output_content_attribute.rb
│ │ │ │ ├── content_attribute.rb
│ │ │ │ ├── handle_fifo_files.rb
│ │ │ │ ├── handle_fifo_files_when_recursing.rb
│ │ │ │ ├── should_create_directory.rb
│ │ │ │ ├── should_create_empty.rb
│ │ │ │ ├── should_create_symlink.rb
│ │ │ │ ├── should_default_mode.rb
│ │ │ │ ├── should_remove_dir.rb
│ │ │ │ ├── should_remove_file.rb
│ │ │ │ ├── source_attribute.rb
│ │ │ │ ├── symbolic_modes.rb
│ │ │ │ ├── ticket_6448_file_with_utf8_source.rb
│ │ │ │ ├── ticket_7680-follow-symlinks.rb
│ │ │ │ └── ticket_8740_should_not_enumerate_root_directory.rb
│ │ │ ├── group/
│ │ │ │ ├── should_create.rb
│ │ │ │ ├── should_destroy.rb
│ │ │ │ ├── should_manage_attributes_aix.rb
│ │ │ │ ├── should_manage_members.rb
│ │ │ │ ├── should_modify_gid.rb
│ │ │ │ ├── should_not_create_existing.rb
│ │ │ │ ├── should_not_destroy_unexisting.rb
│ │ │ │ ├── should_query.rb
│ │ │ │ └── should_query_all.rb
│ │ │ ├── package/
│ │ │ │ ├── common_package_name_in_different_providers.rb
│ │ │ │ ├── does_not_exist.rb
│ │ │ │ ├── ips/
│ │ │ │ │ ├── basic_tests.rb
│ │ │ │ │ ├── should_be_holdable.rb
│ │ │ │ │ ├── should_be_idempotent.rb
│ │ │ │ │ ├── should_be_updatable.rb
│ │ │ │ │ ├── should_be_updateable_and_unholdable_at_same_time.rb
│ │ │ │ │ ├── should_be_versionable.rb
│ │ │ │ │ ├── should_create.rb
│ │ │ │ │ ├── should_query.rb
│ │ │ │ │ └── should_remove.rb
│ │ │ │ ├── windows.rb
│ │ │ │ └── yum.rb
│ │ │ ├── service/
│ │ │ │ ├── AIX_service_provider.rb
│ │ │ │ ├── init_on_systemd.rb
│ │ │ │ ├── launchd_provider.rb
│ │ │ │ ├── puppet_service_management.rb
│ │ │ │ ├── puppet_service_runs_puppet.rb
│ │ │ │ ├── service_enable_linux.rb
│ │ │ │ ├── should_not_change_the_system.rb
│ │ │ │ ├── should_query_all.rb
│ │ │ │ ├── smf_basic_tests.rb
│ │ │ │ ├── systemd_resource_shows_correct_output.rb
│ │ │ │ ├── ticket_5024_systemd_enabling_masked_service.rb
│ │ │ │ ├── windows.rb
│ │ │ │ └── windows_mixed_utf8.rb
│ │ │ ├── tidy/
│ │ │ │ ├── resources_should_be_non_isomorphic.rb
│ │ │ │ └── should_remove_old_files.rb
│ │ │ └── user/
│ │ │ ├── osx_10.4_should_fail_when_modify_home.rb
│ │ │ ├── osx_10.4_should_fail_when_modify_uid.rb
│ │ │ ├── should_allow_managed_macos_users_to_login.rb
│ │ │ ├── should_create.rb
│ │ │ ├── should_create_modify_with_password.rb
│ │ │ ├── should_create_with_expiry_absent.rb
│ │ │ ├── should_create_with_gid.rb
│ │ │ ├── should_destroy.rb
│ │ │ ├── should_destroy_with_managehome.rb
│ │ │ ├── should_manage_attributes_aix.rb
│ │ │ ├── should_manage_groups.rb
│ │ │ ├── should_manage_purge_ssh_keys.rb
│ │ │ ├── should_manage_roles_on_windows.rb
│ │ │ ├── should_manage_shell.rb
│ │ │ ├── should_modify.rb
│ │ │ ├── should_modify_gid.rb
│ │ │ ├── should_modify_gid_forcelocal.rb
│ │ │ ├── should_modify_when_not_managing_home.rb
│ │ │ ├── should_modify_while_managing_home.rb
│ │ │ ├── should_not_create_existing.rb
│ │ │ ├── should_not_destroy_unexisting.rb
│ │ │ ├── should_not_modify_disabled.rb
│ │ │ ├── should_purge.rb
│ │ │ ├── should_query.rb
│ │ │ ├── should_query_all.rb
│ │ │ └── utf8_user_comments.rb
│ │ ├── security/
│ │ │ ├── cve-2013-1640_facter_string.rb
│ │ │ ├── cve-2013-1652_improper_query_params.rb
│ │ │ ├── cve-2013-1652_poison_other_node_cache.rb
│ │ │ ├── cve-2013-2275_report_acl.rb
│ │ │ └── cve-2013-4761_injection_of_class_names_loading_code.rb
│ │ ├── ssl/
│ │ │ ├── autosign_command.rb
│ │ │ ├── certificate_extensions.rb
│ │ │ └── trusted_external_facts.rb
│ │ ├── ticket_1334_clientbucket_corrupted.rb
│ │ ├── ticket_13948_lib_dir_hook_should_be_called_on_initialization.rb
│ │ ├── ticket_15560_managehome.rb
│ │ ├── ticket_2280_refresh_fail_should_fail_run.rb
│ │ ├── ticket_2455_on_solaris_init_provider_should_start_service_in_own_smf_contract.rb
│ │ ├── ticket_5477_master_not_dectect_sitepp.rb
│ │ ├── ticket_5592_hiera_lookup_when_param_undef.rb
│ │ ├── ticket_6541_invalid_filebucket_files.rb
│ │ ├── ticket_6857_password-disclosure-when-changing-a-users-password.rb
│ │ ├── ticket_6907_use_provider_in_same_run_it_becomes_suitable.rb
│ │ ├── ticket_9862_puppet_runs_without_service_user_or_group_present.rb
│ │ ├── utf8/
│ │ │ ├── utf8-in-catalog.rb
│ │ │ ├── utf8-in-file-resource.rb
│ │ │ ├── utf8-in-function-args.rb
│ │ │ ├── utf8-in-puppet-describe.rb
│ │ │ └── utf8-recursive-copy.rb
│ │ └── windows/
│ │ ├── PA-2191_windows_nocodepage_utf8_fallback.rb
│ │ ├── PUP-9719_windows_system_first_pa_run.rb
│ │ ├── QA-506_windows_exit_codes_test.rb
│ │ ├── QA-760_win_dash_dot_file_test.rb
│ │ ├── enable_password_changes_special_users.rb
│ │ ├── service_manager_integration.rb
│ │ └── winexitcode/
│ │ └── manifests/
│ │ ├── execute.pp
│ │ └── init.pp
│ └── vmpooler.cfg
├── api/
│ ├── docs/
│ │ ├── http_api_index.md
│ │ ├── http_catalog.md
│ │ ├── http_certificate.md
│ │ ├── http_certificate_request.md
│ │ ├── http_certificate_revocation_list.md
│ │ ├── http_certificate_status.md
│ │ ├── http_environments.md
│ │ ├── http_facts.md
│ │ ├── http_file_bucket_file.md
│ │ ├── http_file_content.md
│ │ ├── http_file_metadata.md
│ │ ├── http_node.md
│ │ ├── http_report.md
│ │ └── pson.md
│ └── schemas/
│ ├── catalog.json
│ ├── environments.json
│ ├── error.json
│ ├── facts.json
│ ├── file_metadata.json
│ ├── host.json
│ ├── json-meta-schema.json
│ ├── node.json
│ └── report.json
├── benchmarks/
│ ├── catalog_memory/
│ │ ├── benchmarker.rb
│ │ ├── description
│ │ ├── puppet.conf.erb
│ │ └── site.pp.erb
│ ├── defined_types/
│ │ ├── benchmarker.rb
│ │ ├── description
│ │ ├── module/
│ │ │ └── testing.pp.erb
│ │ ├── puppet.conf.erb
│ │ └── site.pp.erb
│ ├── dependency_loading/
│ │ ├── benchmarker.rb
│ │ ├── description
│ │ ├── module/
│ │ │ ├── function.erb
│ │ │ ├── global_function.erb
│ │ │ ├── init.pp.erb
│ │ │ └── init.pp_no_call.erb
│ │ ├── puppet.conf.erb
│ │ └── site.pp.erb
│ ├── empty_catalog/
│ │ ├── benchmarker.rb
│ │ ├── description
│ │ ├── puppet.conf.erb
│ │ └── site.pp.erb
│ ├── evaluations/
│ │ ├── benchmarker.rb
│ │ ├── benchmarker_task.rb
│ │ ├── description
│ │ ├── manifests/
│ │ │ ├── assert_type.pp
│ │ │ ├── fcall_3x.pp
│ │ │ ├── fcall_4x.pp
│ │ │ ├── fcall_ns4x.pp
│ │ │ ├── interpolation.pp
│ │ │ ├── var_absolute.pp
│ │ │ ├── var_class_absolute.pp
│ │ │ ├── var_class_relative.pp
│ │ │ └── var_relative.pp
│ │ ├── module/
│ │ │ ├── func3.rb.erb
│ │ │ ├── func4.rb.erb
│ │ │ ├── init.pp.erb
│ │ │ └── module1_func4.rb.erb
│ │ ├── puppet.conf.erb
│ │ └── site.pp.erb
│ ├── fq_var_lookup/
│ │ ├── benchmarker.rb
│ │ ├── description
│ │ ├── module/
│ │ │ ├── badclass.pp.erb
│ │ │ └── params.pp.erb
│ │ ├── puppet.conf.erb
│ │ └── site.pp.erb
│ ├── full_catalog/
│ │ ├── Gemfile
│ │ ├── benchmarker.rb
│ │ ├── description
│ │ ├── hiera.yaml.erb
│ │ ├── puppet.conf.erb
│ │ ├── r10k.yaml
│ │ └── site.pp.erb
│ ├── function_loading/
│ │ ├── benchmarker.rb
│ │ ├── description
│ │ ├── env_function.erb
│ │ ├── module/
│ │ │ ├── function.erb
│ │ │ └── init.pp.erb
│ │ ├── puppet.conf.erb
│ │ └── site.pp.erb
│ ├── hiera_conf_interpol/
│ │ ├── benchmarker.rb
│ │ ├── description
│ │ └── puppet.conf.erb
│ ├── hiera_env_lookup/
│ │ ├── benchmarker.rb
│ │ ├── description
│ │ └── puppet.conf.erb
│ ├── hiera_function/
│ │ ├── benchmarker.rb
│ │ ├── description
│ │ └── puppet.conf.erb
│ ├── hiera_global_lookup/
│ │ ├── benchmarker.rb
│ │ ├── description
│ │ └── puppet.conf.erb
│ ├── hiera_include/
│ │ ├── benchmarker.rb
│ │ ├── description
│ │ └── puppet.conf.erb
│ ├── hiera_include_one/
│ │ ├── benchmarker.rb
│ │ ├── description
│ │ └── puppet.conf.erb
│ ├── legacy_hiera_lookup/
│ │ ├── benchmarker.rb
│ │ └── description
│ ├── many_environments/
│ │ ├── benchmarker.rb
│ │ └── description
│ ├── many_modules/
│ │ ├── benchmarker.rb
│ │ ├── description
│ │ ├── module/
│ │ │ ├── init.pp.erb
│ │ │ ├── internal.pp.erb
│ │ │ └── role.pp.erb
│ │ ├── puppet.conf.erb
│ │ └── site.pp.erb
│ ├── missing_type_caching/
│ │ ├── benchmarker.rb
│ │ ├── description
│ │ ├── module/
│ │ │ └── testmodule.pp.erb
│ │ ├── puppet.conf.erb
│ │ └── site.pp.erb
│ ├── serialization/
│ │ ├── benchmarker.rb
│ │ ├── catalog.json
│ │ └── description
│ ├── system_startup/
│ │ ├── benchmarker.rb
│ │ └── description
│ ├── type_inference/
│ │ ├── benchmarker.rb
│ │ ├── description
│ │ ├── puppet.conf.erb
│ │ └── site.pp.erb
│ └── virtual_collection/
│ ├── benchmarker.rb
│ ├── description
│ ├── puppet.conf.erb
│ └── site.pp.erb
├── bin/
│ └── puppet
├── conf/
│ ├── environment.conf
│ ├── fileserver.conf
│ ├── hiera.yaml
│ └── puppet.conf
├── docs/
│ ├── catalogs.md
│ ├── environment_convergence.md
│ ├── http.md
│ ├── index.md
│ ├── indirector.md
│ ├── parser_work.md
│ ├── profiling.md
│ ├── quickstart.md
│ ├── rspec_tutorial.md
│ ├── settings.md
│ ├── unicode.md
│ └── windows.md
├── examples/
│ ├── enc/
│ │ └── regexp_nodes/
│ │ ├── classes/
│ │ │ ├── databases
│ │ │ └── webservers
│ │ ├── environment/
│ │ │ └── development
│ │ ├── parameters/
│ │ │ └── service/
│ │ │ ├── prod
│ │ │ ├── qa
│ │ │ └── sandbox
│ │ └── regexp_nodes.rb
│ ├── hiera/
│ │ ├── README.md
│ │ ├── data/
│ │ │ ├── common.yaml
│ │ │ └── dc1.yaml
│ │ ├── hiera.yaml
│ │ ├── modules/
│ │ │ ├── ntp/
│ │ │ │ ├── data/
│ │ │ │ │ └── common.yaml
│ │ │ │ ├── hiera.yaml
│ │ │ │ ├── manifests/
│ │ │ │ │ └── config.pp
│ │ │ │ └── templates/
│ │ │ │ └── ntp.conf.epp
│ │ │ └── users/
│ │ │ └── manifests/
│ │ │ ├── common.pp
│ │ │ └── dc1.pp
│ │ └── site.pp
│ └── nagios/
│ └── check_puppet.rb
├── ext/
│ ├── README.md
│ ├── build_defaults.yaml
│ ├── debian/
│ │ ├── puppet.default
│ │ └── puppet.init
│ ├── hiera/
│ │ └── hiera.yaml
│ ├── osx/
│ │ └── puppet.plist
│ ├── project_data.yaml
│ ├── redhat/
│ │ ├── client.init
│ │ └── client.sysconfig
│ ├── solaris/
│ │ └── smf/
│ │ ├── puppet
│ │ └── puppet.xml
│ ├── suse/
│ │ └── client.init
│ ├── systemd/
│ │ └── puppet.service
│ └── windows/
│ ├── puppet_interactive.bat
│ ├── puppet_shell.bat
│ ├── run_puppet_interactive.bat
│ └── service/
│ ├── daemon.bat
│ └── daemon.rb
├── install.rb
├── lib/
│ ├── hiera/
│ │ ├── puppet_function.rb
│ │ └── scope.rb
│ ├── hiera_puppet.rb
│ ├── puppet/
│ │ ├── agent/
│ │ │ ├── disabler.rb
│ │ │ └── locker.rb
│ │ ├── agent.rb
│ │ ├── application/
│ │ │ ├── agent.rb
│ │ │ ├── apply.rb
│ │ │ ├── catalog.rb
│ │ │ ├── config.rb
│ │ │ ├── describe.rb
│ │ │ ├── device.rb
│ │ │ ├── doc.rb
│ │ │ ├── epp.rb
│ │ │ ├── face_base.rb
│ │ │ ├── facts.rb
│ │ │ ├── filebucket.rb
│ │ │ ├── generate.rb
│ │ │ ├── help.rb
│ │ │ ├── indirection_base.rb
│ │ │ ├── lookup.rb
│ │ │ ├── module.rb
│ │ │ ├── node.rb
│ │ │ ├── parser.rb
│ │ │ ├── plugin.rb
│ │ │ ├── report.rb
│ │ │ ├── resource.rb
│ │ │ ├── script.rb
│ │ │ └── ssl.rb
│ │ ├── application.rb
│ │ ├── application_support.rb
│ │ ├── coercion.rb
│ │ ├── compilable_resource_type.rb
│ │ ├── concurrent/
│ │ │ ├── lock.rb
│ │ │ ├── synchronized.rb
│ │ │ └── thread_local_singleton.rb
│ │ ├── concurrent.rb
│ │ ├── configurer/
│ │ │ ├── downloader.rb
│ │ │ ├── fact_handler.rb
│ │ │ └── plugin_handler.rb
│ │ ├── configurer.rb
│ │ ├── confine/
│ │ │ ├── any.rb
│ │ │ ├── boolean.rb
│ │ │ ├── exists.rb
│ │ │ ├── false.rb
│ │ │ ├── feature.rb
│ │ │ ├── true.rb
│ │ │ └── variable.rb
│ │ ├── confine.rb
│ │ ├── confine_collection.rb
│ │ ├── confiner.rb
│ │ ├── context/
│ │ │ └── trusted_information.rb
│ │ ├── context.rb
│ │ ├── daemon.rb
│ │ ├── data_binding.rb
│ │ ├── datatypes/
│ │ │ ├── error.rb
│ │ │ └── impl/
│ │ │ └── error.rb
│ │ ├── datatypes.rb
│ │ ├── defaults.rb
│ │ ├── environments.rb
│ │ ├── error.rb
│ │ ├── etc.rb
│ │ ├── external/
│ │ │ └── dot.rb
│ │ ├── face/
│ │ │ ├── catalog/
│ │ │ │ └── select.rb
│ │ │ ├── catalog.rb
│ │ │ ├── config.rb
│ │ │ ├── epp.rb
│ │ │ ├── facts.rb
│ │ │ ├── generate.rb
│ │ │ ├── help/
│ │ │ │ ├── action.erb
│ │ │ │ ├── face.erb
│ │ │ │ ├── global.erb
│ │ │ │ └── man.erb
│ │ │ ├── help.rb
│ │ │ ├── module/
│ │ │ │ ├── changes.rb
│ │ │ │ ├── install.rb
│ │ │ │ ├── list.rb
│ │ │ │ ├── uninstall.rb
│ │ │ │ └── upgrade.rb
│ │ │ ├── module.rb
│ │ │ ├── node/
│ │ │ │ └── clean.rb
│ │ │ ├── node.rb
│ │ │ ├── parser.rb
│ │ │ ├── plugin.rb
│ │ │ ├── report.rb
│ │ │ └── resource.rb
│ │ ├── face.rb
│ │ ├── facter_impl.rb
│ │ ├── feature/
│ │ │ ├── base.rb
│ │ │ ├── bolt.rb
│ │ │ ├── cfpropertylist.rb
│ │ │ ├── eventlog.rb
│ │ │ ├── hiera_eyaml.rb
│ │ │ ├── hocon.rb
│ │ │ ├── libuser.rb
│ │ │ ├── msgpack.rb
│ │ │ ├── pe_license.rb
│ │ │ ├── pson.rb
│ │ │ ├── selinux.rb
│ │ │ ├── ssh.rb
│ │ │ ├── telnet.rb
│ │ │ └── zlib.rb
│ │ ├── ffi/
│ │ │ ├── posix/
│ │ │ │ ├── constants.rb
│ │ │ │ └── functions.rb
│ │ │ ├── posix.rb
│ │ │ ├── windows/
│ │ │ │ ├── api_types.rb
│ │ │ │ ├── constants.rb
│ │ │ │ ├── functions.rb
│ │ │ │ └── structs.rb
│ │ │ └── windows.rb
│ │ ├── file_bucket/
│ │ │ ├── dipper.rb
│ │ │ └── file.rb
│ │ ├── file_bucket.rb
│ │ ├── file_serving/
│ │ │ ├── base.rb
│ │ │ ├── configuration/
│ │ │ │ └── parser.rb
│ │ │ ├── configuration.rb
│ │ │ ├── content.rb
│ │ │ ├── fileset.rb
│ │ │ ├── http_metadata.rb
│ │ │ ├── metadata.rb
│ │ │ ├── mount/
│ │ │ │ ├── file.rb
│ │ │ │ ├── locales.rb
│ │ │ │ ├── modules.rb
│ │ │ │ ├── pluginfacts.rb
│ │ │ │ ├── plugins.rb
│ │ │ │ ├── scripts.rb
│ │ │ │ └── tasks.rb
│ │ │ ├── mount.rb
│ │ │ ├── terminus_helper.rb
│ │ │ └── terminus_selector.rb
│ │ ├── file_serving.rb
│ │ ├── file_system/
│ │ │ ├── file_impl.rb
│ │ │ ├── jruby.rb
│ │ │ ├── memory_file.rb
│ │ │ ├── memory_impl.rb
│ │ │ ├── path_pattern.rb
│ │ │ ├── posix.rb
│ │ │ ├── uniquefile.rb
│ │ │ └── windows.rb
│ │ ├── file_system.rb
│ │ ├── forge/
│ │ │ ├── cache.rb
│ │ │ ├── errors.rb
│ │ │ └── repository.rb
│ │ ├── forge.rb
│ │ ├── functions/
│ │ │ ├── abs.rb
│ │ │ ├── alert.rb
│ │ │ ├── all.rb
│ │ │ ├── annotate.rb
│ │ │ ├── any.rb
│ │ │ ├── assert_type.rb
│ │ │ ├── binary_file.rb
│ │ │ ├── break.rb
│ │ │ ├── call.rb
│ │ │ ├── camelcase.rb
│ │ │ ├── capitalize.rb
│ │ │ ├── ceiling.rb
│ │ │ ├── chomp.rb
│ │ │ ├── chop.rb
│ │ │ ├── compare.rb
│ │ │ ├── contain.rb
│ │ │ ├── convert_to.rb
│ │ │ ├── crit.rb
│ │ │ ├── debug.rb
│ │ │ ├── defined.rb
│ │ │ ├── dig.rb
│ │ │ ├── downcase.rb
│ │ │ ├── each.rb
│ │ │ ├── emerg.rb
│ │ │ ├── empty.rb
│ │ │ ├── epp.rb
│ │ │ ├── err.rb
│ │ │ ├── eyaml_lookup_key.rb
│ │ │ ├── filter.rb
│ │ │ ├── find_file.rb
│ │ │ ├── find_template.rb
│ │ │ ├── flatten.rb
│ │ │ ├── floor.rb
│ │ │ ├── get.rb
│ │ │ ├── getvar.rb
│ │ │ ├── group_by.rb
│ │ │ ├── hiera.rb
│ │ │ ├── hiera_array.rb
│ │ │ ├── hiera_hash.rb
│ │ │ ├── hiera_include.rb
│ │ │ ├── hocon_data.rb
│ │ │ ├── import.rb
│ │ │ ├── include.rb
│ │ │ ├── index.rb
│ │ │ ├── info.rb
│ │ │ ├── inline_epp.rb
│ │ │ ├── join.rb
│ │ │ ├── json_data.rb
│ │ │ ├── keys.rb
│ │ │ ├── length.rb
│ │ │ ├── lest.rb
│ │ │ ├── lookup.rb
│ │ │ ├── lstrip.rb
│ │ │ ├── map.rb
│ │ │ ├── match.rb
│ │ │ ├── max.rb
│ │ │ ├── min.rb
│ │ │ ├── module_directory.rb
│ │ │ ├── new.rb
│ │ │ ├── next.rb
│ │ │ ├── notice.rb
│ │ │ ├── partition.rb
│ │ │ ├── reduce.rb
│ │ │ ├── regsubst.rb
│ │ │ ├── require.rb
│ │ │ ├── return.rb
│ │ │ ├── reverse_each.rb
│ │ │ ├── round.rb
│ │ │ ├── rstrip.rb
│ │ │ ├── scanf.rb
│ │ │ ├── size.rb
│ │ │ ├── slice.rb
│ │ │ ├── sort.rb
│ │ │ ├── split.rb
│ │ │ ├── step.rb
│ │ │ ├── strftime.rb
│ │ │ ├── strip.rb
│ │ │ ├── then.rb
│ │ │ ├── tree_each.rb
│ │ │ ├── type.rb
│ │ │ ├── unique.rb
│ │ │ ├── unwrap.rb
│ │ │ ├── upcase.rb
│ │ │ ├── values.rb
│ │ │ ├── versioncmp.rb
│ │ │ ├── warning.rb
│ │ │ ├── with.rb
│ │ │ └── yaml_data.rb
│ │ ├── functions.rb
│ │ ├── generate/
│ │ │ ├── models/
│ │ │ │ └── type/
│ │ │ │ ├── property.rb
│ │ │ │ └── type.rb
│ │ │ ├── templates/
│ │ │ │ └── type/
│ │ │ │ └── pcore.erb
│ │ │ └── type.rb
│ │ ├── gettext/
│ │ │ ├── config.rb
│ │ │ ├── module_translations.rb
│ │ │ └── stubs.rb
│ │ ├── graph/
│ │ │ ├── key.rb
│ │ │ ├── prioritizer.rb
│ │ │ ├── rb_tree_map.rb
│ │ │ ├── relationship_graph.rb
│ │ │ ├── sequential_prioritizer.rb
│ │ │ └── simple_graph.rb
│ │ ├── graph.rb
│ │ ├── http/
│ │ │ ├── client.rb
│ │ │ ├── dns.rb
│ │ │ ├── errors.rb
│ │ │ ├── external_client.rb
│ │ │ ├── factory.rb
│ │ │ ├── pool.rb
│ │ │ ├── pool_entry.rb
│ │ │ ├── proxy.rb
│ │ │ ├── redirector.rb
│ │ │ ├── resolver/
│ │ │ │ ├── server_list.rb
│ │ │ │ ├── settings.rb
│ │ │ │ └── srv.rb
│ │ │ ├── resolver.rb
│ │ │ ├── response.rb
│ │ │ ├── response_converter.rb
│ │ │ ├── response_net_http.rb
│ │ │ ├── retry_after_handler.rb
│ │ │ ├── service/
│ │ │ │ ├── ca.rb
│ │ │ │ ├── compiler.rb
│ │ │ │ ├── file_server.rb
│ │ │ │ ├── puppetserver.rb
│ │ │ │ └── report.rb
│ │ │ ├── service.rb
│ │ │ ├── session.rb
│ │ │ └── site.rb
│ │ ├── http.rb
│ │ ├── indirector/
│ │ │ ├── catalog/
│ │ │ │ ├── compiler.rb
│ │ │ │ ├── json.rb
│ │ │ │ ├── msgpack.rb
│ │ │ │ ├── rest.rb
│ │ │ │ ├── store_configs.rb
│ │ │ │ └── yaml.rb
│ │ │ ├── code.rb
│ │ │ ├── data_binding/
│ │ │ │ ├── hiera.rb
│ │ │ │ └── none.rb
│ │ │ ├── direct_file_server.rb
│ │ │ ├── envelope.rb
│ │ │ ├── errors.rb
│ │ │ ├── exec.rb
│ │ │ ├── face.rb
│ │ │ ├── fact_search.rb
│ │ │ ├── facts/
│ │ │ │ ├── facter.rb
│ │ │ │ ├── json.rb
│ │ │ │ ├── memory.rb
│ │ │ │ ├── network_device.rb
│ │ │ │ ├── rest.rb
│ │ │ │ ├── store_configs.rb
│ │ │ │ └── yaml.rb
│ │ │ ├── file_bucket_file/
│ │ │ │ ├── file.rb
│ │ │ │ ├── rest.rb
│ │ │ │ └── selector.rb
│ │ │ ├── file_content/
│ │ │ │ ├── file.rb
│ │ │ │ ├── file_server.rb
│ │ │ │ ├── rest.rb
│ │ │ │ └── selector.rb
│ │ │ ├── file_content.rb
│ │ │ ├── file_metadata/
│ │ │ │ ├── file.rb
│ │ │ │ ├── file_server.rb
│ │ │ │ ├── http.rb
│ │ │ │ ├── rest.rb
│ │ │ │ └── selector.rb
│ │ │ ├── file_metadata.rb
│ │ │ ├── file_server.rb
│ │ │ ├── generic_http.rb
│ │ │ ├── hiera.rb
│ │ │ ├── indirection.rb
│ │ │ ├── json.rb
│ │ │ ├── memory.rb
│ │ │ ├── msgpack.rb
│ │ │ ├── node/
│ │ │ │ ├── exec.rb
│ │ │ │ ├── json.rb
│ │ │ │ ├── memory.rb
│ │ │ │ ├── msgpack.rb
│ │ │ │ ├── plain.rb
│ │ │ │ ├── rest.rb
│ │ │ │ ├── store_configs.rb
│ │ │ │ └── yaml.rb
│ │ │ ├── none.rb
│ │ │ ├── plain.rb
│ │ │ ├── report/
│ │ │ │ ├── json.rb
│ │ │ │ ├── msgpack.rb
│ │ │ │ ├── processor.rb
│ │ │ │ ├── rest.rb
│ │ │ │ └── yaml.rb
│ │ │ ├── request.rb
│ │ │ ├── resource/
│ │ │ │ ├── ral.rb
│ │ │ │ ├── store_configs.rb
│ │ │ │ └── validator.rb
│ │ │ ├── rest.rb
│ │ │ ├── store_configs.rb
│ │ │ ├── terminus.rb
│ │ │ └── yaml.rb
│ │ ├── indirector.rb
│ │ ├── info_service/
│ │ │ ├── class_information_service.rb
│ │ │ ├── plan_information_service.rb
│ │ │ └── task_information_service.rb
│ │ ├── info_service.rb
│ │ ├── interface/
│ │ │ ├── action.rb
│ │ │ ├── action_builder.rb
│ │ │ ├── action_manager.rb
│ │ │ ├── documentation.rb
│ │ │ ├── face_collection.rb
│ │ │ ├── option.rb
│ │ │ ├── option_builder.rb
│ │ │ └── option_manager.rb
│ │ ├── interface.rb
│ │ ├── loaders.rb
│ │ ├── metatype/
│ │ │ └── manager.rb
│ │ ├── module/
│ │ │ ├── plan.rb
│ │ │ └── task.rb
│ │ ├── module.rb
│ │ ├── module_tool/
│ │ │ ├── applications/
│ │ │ │ ├── application.rb
│ │ │ │ ├── checksummer.rb
│ │ │ │ ├── installer.rb
│ │ │ │ ├── uninstaller.rb
│ │ │ │ ├── unpacker.rb
│ │ │ │ └── upgrader.rb
│ │ │ ├── applications.rb
│ │ │ ├── checksums.rb
│ │ │ ├── contents_description.rb
│ │ │ ├── dependency.rb
│ │ │ ├── errors/
│ │ │ │ ├── base.rb
│ │ │ │ ├── installer.rb
│ │ │ │ ├── shared.rb
│ │ │ │ ├── uninstaller.rb
│ │ │ │ └── upgrader.rb
│ │ │ ├── errors.rb
│ │ │ ├── install_directory.rb
│ │ │ ├── installed_modules.rb
│ │ │ ├── local_tarball.rb
│ │ │ ├── metadata.rb
│ │ │ ├── shared_behaviors.rb
│ │ │ ├── tar/
│ │ │ │ ├── gnu.rb
│ │ │ │ └── mini.rb
│ │ │ └── tar.rb
│ │ ├── module_tool.rb
│ │ ├── network/
│ │ │ ├── authconfig.rb
│ │ │ ├── authorization.rb
│ │ │ ├── client_request.rb
│ │ │ ├── format.rb
│ │ │ ├── format_handler.rb
│ │ │ ├── format_support.rb
│ │ │ ├── formats.rb
│ │ │ ├── http/
│ │ │ │ ├── api/
│ │ │ │ │ ├── indirected_routes.rb
│ │ │ │ │ ├── indirection_type.rb
│ │ │ │ │ ├── master/
│ │ │ │ │ │ ├── v3/
│ │ │ │ │ │ │ └── environments.rb
│ │ │ │ │ │ └── v3.rb
│ │ │ │ │ ├── master.rb
│ │ │ │ │ ├── server/
│ │ │ │ │ │ ├── v3/
│ │ │ │ │ │ │ └── environments.rb
│ │ │ │ │ │ └── v3.rb
│ │ │ │ │ └── server.rb
│ │ │ │ ├── api.rb
│ │ │ │ ├── connection.rb
│ │ │ │ ├── error.rb
│ │ │ │ ├── handler.rb
│ │ │ │ ├── issues.rb
│ │ │ │ ├── memory_response.rb
│ │ │ │ ├── request.rb
│ │ │ │ ├── response.rb
│ │ │ │ └── route.rb
│ │ │ ├── http.rb
│ │ │ ├── http_pool.rb
│ │ │ └── uri.rb
│ │ ├── network.rb
│ │ ├── node/
│ │ │ ├── environment.rb
│ │ │ ├── facts.rb
│ │ │ └── server_facts.rb
│ │ ├── node.rb
│ │ ├── pal/
│ │ │ ├── catalog_compiler.rb
│ │ │ ├── compiler.rb
│ │ │ ├── function_signature.rb
│ │ │ ├── json_catalog_encoder.rb
│ │ │ ├── pal_api.rb
│ │ │ ├── pal_impl.rb
│ │ │ ├── plan_signature.rb
│ │ │ ├── script_compiler.rb
│ │ │ └── task_signature.rb
│ │ ├── parameter/
│ │ │ ├── boolean.rb
│ │ │ ├── package_options.rb
│ │ │ ├── path.rb
│ │ │ ├── value.rb
│ │ │ └── value_collection.rb
│ │ ├── parameter.rb
│ │ ├── parser/
│ │ │ ├── abstract_compiler.rb
│ │ │ ├── ast/
│ │ │ │ ├── block_expression.rb
│ │ │ │ ├── branch.rb
│ │ │ │ ├── hostclass.rb
│ │ │ │ ├── leaf.rb
│ │ │ │ ├── node.rb
│ │ │ │ ├── pops_bridge.rb
│ │ │ │ ├── resource.rb
│ │ │ │ ├── resource_instance.rb
│ │ │ │ ├── resourceparam.rb
│ │ │ │ └── top_level_construct.rb
│ │ │ ├── ast.rb
│ │ │ ├── catalog_compiler.rb
│ │ │ ├── compiler/
│ │ │ │ ├── catalog_validator/
│ │ │ │ │ └── relationship_validator.rb
│ │ │ │ └── catalog_validator.rb
│ │ │ ├── compiler.rb
│ │ │ ├── e4_parser_adapter.rb
│ │ │ ├── files.rb
│ │ │ ├── functions/
│ │ │ │ ├── assert_type.rb
│ │ │ │ ├── binary_file.rb
│ │ │ │ ├── break.rb
│ │ │ │ ├── contain.rb
│ │ │ │ ├── create_resources.rb
│ │ │ │ ├── defined.rb
│ │ │ │ ├── dig.rb
│ │ │ │ ├── digest.rb
│ │ │ │ ├── each.rb
│ │ │ │ ├── epp.rb
│ │ │ │ ├── fail.rb
│ │ │ │ ├── file.rb
│ │ │ │ ├── filter.rb
│ │ │ │ ├── find_file.rb
│ │ │ │ ├── fqdn_rand.rb
│ │ │ │ ├── generate.rb
│ │ │ │ ├── hiera.rb
│ │ │ │ ├── hiera_array.rb
│ │ │ │ ├── hiera_hash.rb
│ │ │ │ ├── hiera_include.rb
│ │ │ │ ├── include.rb
│ │ │ │ ├── inline_epp.rb
│ │ │ │ ├── inline_template.rb
│ │ │ │ ├── lest.rb
│ │ │ │ ├── lookup.rb
│ │ │ │ ├── map.rb
│ │ │ │ ├── match.rb
│ │ │ │ ├── md5.rb
│ │ │ │ ├── new.rb
│ │ │ │ ├── next.rb
│ │ │ │ ├── realize.rb
│ │ │ │ ├── reduce.rb
│ │ │ │ ├── regsubst.rb
│ │ │ │ ├── require.rb
│ │ │ │ ├── return.rb
│ │ │ │ ├── reverse_each.rb
│ │ │ │ ├── scanf.rb
│ │ │ │ ├── sha1.rb
│ │ │ │ ├── sha256.rb
│ │ │ │ ├── shellquote.rb
│ │ │ │ ├── slice.rb
│ │ │ │ ├── split.rb
│ │ │ │ ├── sprintf.rb
│ │ │ │ ├── step.rb
│ │ │ │ ├── strftime.rb
│ │ │ │ ├── tag.rb
│ │ │ │ ├── tagged.rb
│ │ │ │ ├── template.rb
│ │ │ │ ├── then.rb
│ │ │ │ ├── type.rb
│ │ │ │ ├── versioncmp.rb
│ │ │ │ └── with.rb
│ │ │ ├── functions.rb
│ │ │ ├── parser_factory.rb
│ │ │ ├── relationship.rb
│ │ │ ├── resource/
│ │ │ │ └── param.rb
│ │ │ ├── resource.rb
│ │ │ ├── scope.rb
│ │ │ ├── script_compiler.rb
│ │ │ ├── templatewrapper.rb
│ │ │ └── type_loader.rb
│ │ ├── parser.rb
│ │ ├── plugins/
│ │ │ ├── configuration.rb
│ │ │ └── syntax_checkers.rb
│ │ ├── plugins.rb
│ │ ├── pops/
│ │ │ ├── adaptable.rb
│ │ │ ├── adapters.rb
│ │ │ ├── evaluator/
│ │ │ │ ├── access_operator.rb
│ │ │ │ ├── callable_signature.rb
│ │ │ │ ├── closure.rb
│ │ │ │ ├── collector_transformer.rb
│ │ │ │ ├── collectors/
│ │ │ │ │ ├── abstract_collector.rb
│ │ │ │ │ ├── catalog_collector.rb
│ │ │ │ │ ├── exported_collector.rb
│ │ │ │ │ └── fixed_set_collector.rb
│ │ │ │ ├── compare_operator.rb
│ │ │ │ ├── deferred_resolver.rb
│ │ │ │ ├── epp_evaluator.rb
│ │ │ │ ├── evaluator_impl.rb
│ │ │ │ ├── external_syntax_support.rb
│ │ │ │ ├── json_strict_literal_evaluator.rb
│ │ │ │ ├── literal_evaluator.rb
│ │ │ │ ├── puppet_proc.rb
│ │ │ │ ├── relationship_operator.rb
│ │ │ │ ├── runtime3_converter.rb
│ │ │ │ ├── runtime3_resource_support.rb
│ │ │ │ └── runtime3_support.rb
│ │ │ ├── functions/
│ │ │ │ ├── dispatch.rb
│ │ │ │ ├── dispatcher.rb
│ │ │ │ └── function.rb
│ │ │ ├── issue_reporter.rb
│ │ │ ├── issues.rb
│ │ │ ├── label_provider.rb
│ │ │ ├── loader/
│ │ │ │ ├── base_loader.rb
│ │ │ │ ├── dependency_loader.rb
│ │ │ │ ├── gem_support.rb
│ │ │ │ ├── generic_plan_instantiator.rb
│ │ │ │ ├── loader.rb
│ │ │ │ ├── loader_paths.rb
│ │ │ │ ├── module_loaders.rb
│ │ │ │ ├── predefined_loader.rb
│ │ │ │ ├── puppet_function_instantiator.rb
│ │ │ │ ├── puppet_plan_instantiator.rb
│ │ │ │ ├── puppet_resource_type_impl_instantiator.rb
│ │ │ │ ├── ruby_data_type_instantiator.rb
│ │ │ │ ├── ruby_function_instantiator.rb
│ │ │ │ ├── ruby_legacy_function_instantiator.rb
│ │ │ │ ├── runtime3_type_loader.rb
│ │ │ │ ├── simple_environment_loader.rb
│ │ │ │ ├── static_loader.rb
│ │ │ │ ├── task_instantiator.rb
│ │ │ │ ├── type_definition_instantiator.rb
│ │ │ │ ├── typed_name.rb
│ │ │ │ └── uri_helper.rb
│ │ │ ├── loaders.rb
│ │ │ ├── lookup/
│ │ │ │ ├── configured_data_provider.rb
│ │ │ │ ├── context.rb
│ │ │ │ ├── data_adapter.rb
│ │ │ │ ├── data_dig_function_provider.rb
│ │ │ │ ├── data_hash_function_provider.rb
│ │ │ │ ├── data_provider.rb
│ │ │ │ ├── environment_data_provider.rb
│ │ │ │ ├── explainer.rb
│ │ │ │ ├── function_provider.rb
│ │ │ │ ├── global_data_provider.rb
│ │ │ │ ├── hiera_config.rb
│ │ │ │ ├── interpolation.rb
│ │ │ │ ├── invocation.rb
│ │ │ │ ├── key_recorder.rb
│ │ │ │ ├── location_resolver.rb
│ │ │ │ ├── lookup_adapter.rb
│ │ │ │ ├── lookup_key.rb
│ │ │ │ ├── lookup_key_function_provider.rb
│ │ │ │ ├── module_data_provider.rb
│ │ │ │ └── sub_lookup.rb
│ │ │ ├── lookup.rb
│ │ │ ├── merge_strategy.rb
│ │ │ ├── migration/
│ │ │ │ └── migration_checker.rb
│ │ │ ├── model/
│ │ │ │ ├── ast.pp
│ │ │ │ ├── ast.rb
│ │ │ │ ├── ast_transformer.rb
│ │ │ │ ├── factory.rb
│ │ │ │ ├── model_label_provider.rb
│ │ │ │ ├── model_tree_dumper.rb
│ │ │ │ ├── pn_transformer.rb
│ │ │ │ └── tree_dumper.rb
│ │ │ ├── parser/
│ │ │ │ ├── code_merger.rb
│ │ │ │ ├── egrammar.ra
│ │ │ │ ├── eparser.rb
│ │ │ │ ├── epp_parser.rb
│ │ │ │ ├── epp_support.rb
│ │ │ │ ├── evaluating_parser.rb
│ │ │ │ ├── heredoc_support.rb
│ │ │ │ ├── interpolation_support.rb
│ │ │ │ ├── lexer2.rb
│ │ │ │ ├── lexer_support.rb
│ │ │ │ ├── locatable.rb
│ │ │ │ ├── locator.rb
│ │ │ │ ├── parser_support.rb
│ │ │ │ ├── pn_parser.rb
│ │ │ │ └── slurp_support.rb
│ │ │ ├── patterns.rb
│ │ │ ├── pcore.rb
│ │ │ ├── pn.rb
│ │ │ ├── puppet_stack.rb
│ │ │ ├── resource/
│ │ │ │ ├── param.rb
│ │ │ │ ├── resource_type_impl.rb
│ │ │ │ └── resource_type_set.pcore
│ │ │ ├── semantic_error.rb
│ │ │ ├── serialization/
│ │ │ │ ├── abstract_reader.rb
│ │ │ │ ├── abstract_writer.rb
│ │ │ │ ├── deserializer.rb
│ │ │ │ ├── extension.rb
│ │ │ │ ├── from_data_converter.rb
│ │ │ │ ├── instance_reader.rb
│ │ │ │ ├── instance_writer.rb
│ │ │ │ ├── json.rb
│ │ │ │ ├── json_path.rb
│ │ │ │ ├── object.rb
│ │ │ │ ├── serializer.rb
│ │ │ │ ├── time_factory.rb
│ │ │ │ ├── to_data_converter.rb
│ │ │ │ └── to_stringified_converter.rb
│ │ │ ├── serialization.rb
│ │ │ ├── time/
│ │ │ │ ├── timespan.rb
│ │ │ │ └── timestamp.rb
│ │ │ ├── types/
│ │ │ │ ├── annotatable.rb
│ │ │ │ ├── annotation.rb
│ │ │ │ ├── class_loader.rb
│ │ │ │ ├── implementation_registry.rb
│ │ │ │ ├── iterable.rb
│ │ │ │ ├── p_binary_type.rb
│ │ │ │ ├── p_init_type.rb
│ │ │ │ ├── p_meta_type.rb
│ │ │ │ ├── p_object_type.rb
│ │ │ │ ├── p_object_type_extension.rb
│ │ │ │ ├── p_runtime_type.rb
│ │ │ │ ├── p_sem_ver_range_type.rb
│ │ │ │ ├── p_sem_ver_type.rb
│ │ │ │ ├── p_sensitive_type.rb
│ │ │ │ ├── p_timespan_type.rb
│ │ │ │ ├── p_timestamp_type.rb
│ │ │ │ ├── p_type_set_type.rb
│ │ │ │ ├── p_uri_type.rb
│ │ │ │ ├── puppet_object.rb
│ │ │ │ ├── recursion_guard.rb
│ │ │ │ ├── ruby_generator.rb
│ │ │ │ ├── ruby_method.rb
│ │ │ │ ├── string_converter.rb
│ │ │ │ ├── tree_iterators.rb
│ │ │ │ ├── type_acceptor.rb
│ │ │ │ ├── type_asserter.rb
│ │ │ │ ├── type_assertion_error.rb
│ │ │ │ ├── type_calculator.rb
│ │ │ │ ├── type_conversion_error.rb
│ │ │ │ ├── type_factory.rb
│ │ │ │ ├── type_formatter.rb
│ │ │ │ ├── type_mismatch_describer.rb
│ │ │ │ ├── type_parser.rb
│ │ │ │ ├── type_set_reference.rb
│ │ │ │ ├── type_with_members.rb
│ │ │ │ └── types.rb
│ │ │ ├── utils.rb
│ │ │ ├── validation/
│ │ │ │ ├── checker4_0.rb
│ │ │ │ ├── tasks_checker.rb
│ │ │ │ └── validator_factory_4_0.rb
│ │ │ ├── validation.rb
│ │ │ ├── visitable.rb
│ │ │ └── visitor.rb
│ │ ├── pops.rb
│ │ ├── property/
│ │ │ ├── boolean.rb
│ │ │ ├── ensure.rb
│ │ │ ├── keyvalue.rb
│ │ │ ├── list.rb
│ │ │ └── ordered_list.rb
│ │ ├── property.rb
│ │ ├── provider/
│ │ │ ├── aix_object.rb
│ │ │ ├── command.rb
│ │ │ ├── confine.rb
│ │ │ ├── exec/
│ │ │ │ ├── posix.rb
│ │ │ │ ├── shell.rb
│ │ │ │ └── windows.rb
│ │ │ ├── exec.rb
│ │ │ ├── file/
│ │ │ │ ├── posix.rb
│ │ │ │ └── windows.rb
│ │ │ ├── group/
│ │ │ │ ├── aix.rb
│ │ │ │ ├── directoryservice.rb
│ │ │ │ ├── groupadd.rb
│ │ │ │ ├── ldap.rb
│ │ │ │ ├── pw.rb
│ │ │ │ └── windows_adsi.rb
│ │ │ ├── ldap.rb
│ │ │ ├── nameservice/
│ │ │ │ ├── directoryservice.rb
│ │ │ │ ├── objectadd.rb
│ │ │ │ └── pw.rb
│ │ │ ├── nameservice.rb
│ │ │ ├── network_device.rb
│ │ │ ├── package/
│ │ │ │ ├── aix.rb
│ │ │ │ ├── appdmg.rb
│ │ │ │ ├── apple.rb
│ │ │ │ ├── apt.rb
│ │ │ │ ├── aptitude.rb
│ │ │ │ ├── aptrpm.rb
│ │ │ │ ├── blastwave.rb
│ │ │ │ ├── dnf.rb
│ │ │ │ ├── dnfmodule.rb
│ │ │ │ ├── dpkg.rb
│ │ │ │ ├── fink.rb
│ │ │ │ ├── freebsd.rb
│ │ │ │ ├── gem.rb
│ │ │ │ ├── hpux.rb
│ │ │ │ ├── macports.rb
│ │ │ │ ├── nim.rb
│ │ │ │ ├── openbsd.rb
│ │ │ │ ├── opkg.rb
│ │ │ │ ├── pacman.rb
│ │ │ │ ├── pip.rb
│ │ │ │ ├── pip2.rb
│ │ │ │ ├── pip3.rb
│ │ │ │ ├── pkg.rb
│ │ │ │ ├── pkgdmg.rb
│ │ │ │ ├── pkgin.rb
│ │ │ │ ├── pkgng.rb
│ │ │ │ ├── pkgutil.rb
│ │ │ │ ├── portage.rb
│ │ │ │ ├── ports.rb
│ │ │ │ ├── portupgrade.rb
│ │ │ │ ├── puppet_gem.rb
│ │ │ │ ├── puppetserver_gem.rb
│ │ │ │ ├── rpm.rb
│ │ │ │ ├── rug.rb
│ │ │ │ ├── sun.rb
│ │ │ │ ├── sunfreeware.rb
│ │ │ │ ├── tdnf.rb
│ │ │ │ ├── up2date.rb
│ │ │ │ ├── urpmi.rb
│ │ │ │ ├── windows/
│ │ │ │ │ ├── exe_package.rb
│ │ │ │ │ ├── msi_package.rb
│ │ │ │ │ └── package.rb
│ │ │ │ ├── windows.rb
│ │ │ │ ├── xbps.rb
│ │ │ │ ├── yum.rb
│ │ │ │ └── zypper.rb
│ │ │ ├── package.rb
│ │ │ ├── package_targetable.rb
│ │ │ ├── parsedfile.rb
│ │ │ ├── service/
│ │ │ │ ├── base.rb
│ │ │ │ ├── bsd.rb
│ │ │ │ ├── daemontools.rb
│ │ │ │ ├── debian.rb
│ │ │ │ ├── freebsd.rb
│ │ │ │ ├── gentoo.rb
│ │ │ │ ├── init.rb
│ │ │ │ ├── launchd.rb
│ │ │ │ ├── openbsd.rb
│ │ │ │ ├── openrc.rb
│ │ │ │ ├── openwrt.rb
│ │ │ │ ├── rcng.rb
│ │ │ │ ├── redhat.rb
│ │ │ │ ├── runit.rb
│ │ │ │ ├── service.rb
│ │ │ │ ├── smf.rb
│ │ │ │ ├── src.rb
│ │ │ │ ├── systemd.rb
│ │ │ │ ├── upstart.rb
│ │ │ │ └── windows.rb
│ │ │ └── user/
│ │ │ ├── aix.rb
│ │ │ ├── directoryservice.rb
│ │ │ ├── hpux.rb
│ │ │ ├── ldap.rb
│ │ │ ├── openbsd.rb
│ │ │ ├── pw.rb
│ │ │ ├── user_role_add.rb
│ │ │ ├── useradd.rb
│ │ │ └── windows_adsi.rb
│ │ ├── provider.rb
│ │ ├── reference/
│ │ │ ├── configuration.rb
│ │ │ ├── function.rb
│ │ │ ├── indirection.rb
│ │ │ ├── metaparameter.rb
│ │ │ ├── providers.rb
│ │ │ ├── report.rb
│ │ │ └── type.rb
│ │ ├── relationship.rb
│ │ ├── reports/
│ │ │ ├── http.rb
│ │ │ ├── log.rb
│ │ │ └── store.rb
│ │ ├── reports.rb
│ │ ├── resource/
│ │ │ ├── catalog.rb
│ │ │ ├── status.rb
│ │ │ ├── type.rb
│ │ │ └── type_collection.rb
│ │ ├── resource.rb
│ │ ├── runtime.rb
│ │ ├── scheduler/
│ │ │ ├── job.rb
│ │ │ ├── scheduler.rb
│ │ │ ├── splay_job.rb
│ │ │ └── timer.rb
│ │ ├── scheduler.rb
│ │ ├── settings/
│ │ │ ├── alias_setting.rb
│ │ │ ├── array_setting.rb
│ │ │ ├── autosign_setting.rb
│ │ │ ├── base_setting.rb
│ │ │ ├── boolean_setting.rb
│ │ │ ├── certificate_revocation_setting.rb
│ │ │ ├── config_file.rb
│ │ │ ├── directory_setting.rb
│ │ │ ├── duration_setting.rb
│ │ │ ├── enum_setting.rb
│ │ │ ├── environment_conf.rb
│ │ │ ├── errors.rb
│ │ │ ├── file_or_directory_setting.rb
│ │ │ ├── file_setting.rb
│ │ │ ├── http_extra_headers_setting.rb
│ │ │ ├── ini_file.rb
│ │ │ ├── integer_setting.rb
│ │ │ ├── path_setting.rb
│ │ │ ├── port_setting.rb
│ │ │ ├── priority_setting.rb
│ │ │ ├── server_list_setting.rb
│ │ │ ├── string_setting.rb
│ │ │ ├── symbolic_enum_setting.rb
│ │ │ ├── terminus_setting.rb
│ │ │ ├── ttl_setting.rb
│ │ │ └── value_translator.rb
│ │ ├── settings.rb
│ │ ├── ssl/
│ │ │ ├── base.rb
│ │ │ ├── certificate.rb
│ │ │ ├── certificate_request.rb
│ │ │ ├── certificate_request_attributes.rb
│ │ │ ├── certificate_signer.rb
│ │ │ ├── digest.rb
│ │ │ ├── error.rb
│ │ │ ├── oids.rb
│ │ │ ├── openssl_loader.rb
│ │ │ ├── ssl_context.rb
│ │ │ ├── ssl_provider.rb
│ │ │ ├── state_machine.rb
│ │ │ └── verifier.rb
│ │ ├── ssl.rb
│ │ ├── syntax_checkers/
│ │ │ ├── base64.rb
│ │ │ ├── epp.rb
│ │ │ ├── json.rb
│ │ │ └── pp.rb
│ │ ├── syntax_checkers.rb
│ │ ├── test/
│ │ │ └── test_helper.rb
│ │ ├── thread_local.rb
│ │ ├── transaction/
│ │ │ ├── additional_resource_generator.rb
│ │ │ ├── event.rb
│ │ │ ├── event_manager.rb
│ │ │ ├── persistence.rb
│ │ │ ├── report.rb
│ │ │ └── resource_harness.rb
│ │ ├── transaction.rb
│ │ ├── trusted_external.rb
│ │ ├── type/
│ │ │ ├── component.rb
│ │ │ ├── exec.rb
│ │ │ ├── file/
│ │ │ │ ├── checksum.rb
│ │ │ │ ├── checksum_value.rb
│ │ │ │ ├── content.rb
│ │ │ │ ├── ctime.rb
│ │ │ │ ├── data_sync.rb
│ │ │ │ ├── ensure.rb
│ │ │ │ ├── group.rb
│ │ │ │ ├── mode.rb
│ │ │ │ ├── mtime.rb
│ │ │ │ ├── owner.rb
│ │ │ │ ├── selcontext.rb
│ │ │ │ ├── source.rb
│ │ │ │ ├── target.rb
│ │ │ │ └── type.rb
│ │ │ ├── file.rb
│ │ │ ├── filebucket.rb
│ │ │ ├── group.rb
│ │ │ ├── notify.rb
│ │ │ ├── package.rb
│ │ │ ├── resources.rb
│ │ │ ├── schedule.rb
│ │ │ ├── service.rb
│ │ │ ├── stage.rb
│ │ │ ├── tidy.rb
│ │ │ ├── user.rb
│ │ │ └── whit.rb
│ │ ├── type.rb
│ │ ├── util/
│ │ │ ├── at_fork/
│ │ │ │ ├── noop.rb
│ │ │ │ └── solaris.rb
│ │ │ ├── at_fork.rb
│ │ │ ├── autoload.rb
│ │ │ ├── backups.rb
│ │ │ ├── character_encoding.rb
│ │ │ ├── checksums.rb
│ │ │ ├── classgen.rb
│ │ │ ├── colors.rb
│ │ │ ├── command_line/
│ │ │ │ ├── puppet_option_parser.rb
│ │ │ │ └── trollop.rb
│ │ │ ├── command_line.rb
│ │ │ ├── constant_inflector.rb
│ │ │ ├── diff.rb
│ │ │ ├── docs.rb
│ │ │ ├── errors.rb
│ │ │ ├── execution.rb
│ │ │ ├── execution_stub.rb
│ │ │ ├── feature.rb
│ │ │ ├── file_watcher.rb
│ │ │ ├── fileparsing.rb
│ │ │ ├── filetype.rb
│ │ │ ├── http_proxy.rb
│ │ │ ├── inifile.rb
│ │ │ ├── instance_loader.rb
│ │ │ ├── json.rb
│ │ │ ├── json_lockfile.rb
│ │ │ ├── ldap/
│ │ │ │ ├── connection.rb
│ │ │ │ ├── generator.rb
│ │ │ │ └── manager.rb
│ │ │ ├── ldap.rb
│ │ │ ├── libuser.conf
│ │ │ ├── libuser.rb
│ │ │ ├── limits.rb
│ │ │ ├── lockfile.rb
│ │ │ ├── log/
│ │ │ │ ├── destination.rb
│ │ │ │ └── destinations.rb
│ │ │ ├── log.rb
│ │ │ ├── logging.rb
│ │ │ ├── metaid.rb
│ │ │ ├── metric.rb
│ │ │ ├── monkey_patches.rb
│ │ │ ├── multi_match.rb
│ │ │ ├── network_device/
│ │ │ │ ├── base.rb
│ │ │ │ ├── config.rb
│ │ │ │ ├── transport/
│ │ │ │ │ └── base.rb
│ │ │ │ └── transport.rb
│ │ │ ├── network_device.rb
│ │ │ ├── package/
│ │ │ │ └── version/
│ │ │ │ ├── debian.rb
│ │ │ │ ├── gem.rb
│ │ │ │ ├── pip.rb
│ │ │ │ ├── range/
│ │ │ │ │ ├── eq.rb
│ │ │ │ │ ├── gt.rb
│ │ │ │ │ ├── gt_eq.rb
│ │ │ │ │ ├── lt.rb
│ │ │ │ │ ├── lt_eq.rb
│ │ │ │ │ ├── min_max.rb
│ │ │ │ │ └── simple.rb
│ │ │ │ ├── range.rb
│ │ │ │ └── rpm.rb
│ │ │ ├── package.rb
│ │ │ ├── pidlock.rb
│ │ │ ├── platform.rb
│ │ │ ├── plist.rb
│ │ │ ├── posix.rb
│ │ │ ├── profiler/
│ │ │ │ ├── aggregate.rb
│ │ │ │ ├── around_profiler.rb
│ │ │ │ ├── logging.rb
│ │ │ │ ├── object_counts.rb
│ │ │ │ └── wall_clock.rb
│ │ │ ├── profiler.rb
│ │ │ ├── provider_features.rb
│ │ │ ├── psych_support.rb
│ │ │ ├── rdoc/
│ │ │ │ ├── code_objects.rb
│ │ │ │ ├── generators/
│ │ │ │ │ ├── puppet_generator.rb
│ │ │ │ │ └── template/
│ │ │ │ │ └── puppet/
│ │ │ │ │ └── puppet.rb
│ │ │ │ ├── parser/
│ │ │ │ │ ├── puppet_parser_core.rb
│ │ │ │ │ └── puppet_parser_rdoc2.rb
│ │ │ │ └── parser.rb
│ │ │ ├── rdoc.rb
│ │ │ ├── reference.rb
│ │ │ ├── resource_template.rb
│ │ │ ├── retry_action.rb
│ │ │ ├── rpm_compare.rb
│ │ │ ├── rubygems.rb
│ │ │ ├── run_mode.rb
│ │ │ ├── selinux.rb
│ │ │ ├── skip_tags.rb
│ │ │ ├── splayer.rb
│ │ │ ├── storage.rb
│ │ │ ├── suidmanager.rb
│ │ │ ├── symbolic_file_mode.rb
│ │ │ ├── tag_set.rb
│ │ │ ├── tagging.rb
│ │ │ ├── terminal.rb
│ │ │ ├── user_attr.rb
│ │ │ ├── warnings.rb
│ │ │ ├── watched_file.rb
│ │ │ ├── watcher/
│ │ │ │ ├── change_watcher.rb
│ │ │ │ ├── periodic_watcher.rb
│ │ │ │ └── timer.rb
│ │ │ ├── watcher.rb
│ │ │ ├── windows/
│ │ │ │ ├── access_control_entry.rb
│ │ │ │ ├── access_control_list.rb
│ │ │ │ ├── adsi.rb
│ │ │ │ ├── com.rb
│ │ │ │ ├── daemon.rb
│ │ │ │ ├── error.rb
│ │ │ │ ├── eventlog.rb
│ │ │ │ ├── file.rb
│ │ │ │ ├── monkey_patches/
│ │ │ │ │ └── process.rb
│ │ │ │ ├── principal.rb
│ │ │ │ ├── process.rb
│ │ │ │ ├── registry.rb
│ │ │ │ ├── root_certs.rb
│ │ │ │ ├── security.rb
│ │ │ │ ├── security_descriptor.rb
│ │ │ │ ├── service.rb
│ │ │ │ ├── sid.rb
│ │ │ │ ├── string.rb
│ │ │ │ └── user.rb
│ │ │ ├── windows.rb
│ │ │ └── yaml.rb
│ │ ├── util.rb
│ │ ├── vendor/
│ │ │ └── require_vendored.rb
│ │ ├── vendor.rb
│ │ ├── version.rb
│ │ ├── x509/
│ │ │ ├── cert_provider.rb
│ │ │ └── pem_store.rb
│ │ └── x509.rb
│ ├── puppet.rb
│ ├── puppet_pal.rb
│ └── puppet_x.rb
├── locales/
│ ├── config.yaml
│ ├── en/
│ │ └── puppet.po
│ └── puppet.pot
├── man/
│ ├── man5/
│ │ └── puppet.conf.5
│ └── man8/
│ ├── puppet-agent.8
│ ├── puppet-apply.8
│ ├── puppet-catalog.8
│ ├── puppet-config.8
│ ├── puppet-describe.8
│ ├── puppet-device.8
│ ├── puppet-doc.8
│ ├── puppet-epp.8
│ ├── puppet-facts.8
│ ├── puppet-filebucket.8
│ ├── puppet-generate.8
│ ├── puppet-help.8
│ ├── puppet-lookup.8
│ ├── puppet-module.8
│ ├── puppet-node.8
│ ├── puppet-parser.8
│ ├── puppet-plugin.8
│ ├── puppet-report.8
│ ├── puppet-resource.8
│ ├── puppet-script.8
│ ├── puppet-ssl.8
│ └── puppet.8
├── puppet.gemspec
├── rakelib/
│ ├── benchmark.rake
│ ├── ci.rake
│ ├── generate_ast_model.rake
│ ├── generate_cert_fixtures.rake
│ ├── generate_references.rake
│ ├── man/
│ │ └── puppet.erb
│ ├── manpages.rake
│ ├── memwalk.rake
│ ├── parallel.rake
│ ├── parser.rake
│ ├── references/
│ │ ├── configuration.erb
│ │ ├── function.erb
│ │ ├── functions_template.erb
│ │ ├── get_typedocs.rb
│ │ ├── man/
│ │ │ └── overview.erb
│ │ ├── man.erb
│ │ ├── metaparameter.erb
│ │ ├── report.erb
│ │ ├── types/
│ │ │ ├── overview.erb
│ │ │ ├── single_type.erb
│ │ │ └── type.erb
│ │ └── unified_type.erb
│ └── yard.rake
├── references/
│ ├── configuration.md
│ ├── function.md
│ ├── man/
│ │ ├── agent.md
│ │ ├── apply.md
│ │ ├── catalog.md
│ │ ├── config.md
│ │ ├── describe.md
│ │ ├── device.md
│ │ ├── doc.md
│ │ ├── epp.md
│ │ ├── facts.md
│ │ ├── filebucket.md
│ │ ├── generate.md
│ │ ├── help.md
│ │ ├── lookup.md
│ │ ├── module.md
│ │ ├── node.md
│ │ ├── overview.md
│ │ ├── parser.md
│ │ ├── plugin.md
│ │ ├── report.md
│ │ ├── resource.md
│ │ ├── script.md
│ │ └── ssl.md
│ ├── metaparameter.md
│ ├── report.md
│ ├── type.md
│ └── types/
│ ├── exec.md
│ ├── file.md
│ ├── filebucket.md
│ ├── group.md
│ ├── notify.md
│ ├── overview.md
│ ├── package.md
│ ├── resources.md
│ ├── schedule.md
│ ├── service.md
│ ├── stage.md
│ ├── tidy.md
│ └── user.md
├── spec/
│ ├── fixtures/
│ │ ├── faulty_face/
│ │ │ └── puppet/
│ │ │ └── face/
│ │ │ └── syntax.rb
│ │ ├── hiera.yaml
│ │ ├── integration/
│ │ │ ├── application/
│ │ │ │ ├── agent/
│ │ │ │ │ ├── cached_deferred_catalog.json
│ │ │ │ │ └── lib/
│ │ │ │ │ └── facter/
│ │ │ │ │ └── agent_spec_role.rb
│ │ │ │ ├── apply/
│ │ │ │ │ └── environments/
│ │ │ │ │ └── spec/
│ │ │ │ │ ├── .resource_types/
│ │ │ │ │ │ └── applytest.pp
│ │ │ │ │ └── modules/
│ │ │ │ │ └── amod/
│ │ │ │ │ └── lib/
│ │ │ │ │ └── puppet/
│ │ │ │ │ ├── provider/
│ │ │ │ │ │ └── applytest/
│ │ │ │ │ │ └── applytest.rb
│ │ │ │ │ └── type/
│ │ │ │ │ └── applytest.rb
│ │ │ │ └── module/
│ │ │ │ └── environments/
│ │ │ │ └── direnv/
│ │ │ │ └── modules/
│ │ │ │ └── nginx/
│ │ │ │ ├── README
│ │ │ │ ├── manifests/
│ │ │ │ │ └── init.pp
│ │ │ │ └── metadata.json
│ │ │ ├── l10n/
│ │ │ │ └── envs/
│ │ │ │ └── prod/
│ │ │ │ └── modules/
│ │ │ │ └── demo/
│ │ │ │ ├── Gemfile
│ │ │ │ ├── Rakefile
│ │ │ │ ├── lib/
│ │ │ │ │ └── puppet/
│ │ │ │ │ └── functions/
│ │ │ │ │ └── l10n.rb
│ │ │ │ ├── locales/
│ │ │ │ │ ├── config.yaml
│ │ │ │ │ ├── ja/
│ │ │ │ │ │ └── puppet-l10n.po
│ │ │ │ │ └── puppet-l10n.pot
│ │ │ │ └── metadata.json
│ │ │ └── node/
│ │ │ └── environment/
│ │ │ ├── sitedir/
│ │ │ │ ├── 00_a.pp
│ │ │ │ ├── 01_b.pp
│ │ │ │ ├── 03_empty.pp
│ │ │ │ └── 04_include.pp
│ │ │ └── sitedir2/
│ │ │ ├── 00_a.pp
│ │ │ ├── 02_folder/
│ │ │ │ └── 01_b.pp
│ │ │ ├── 03_c.pp
│ │ │ └── 04_include.pp
│ │ ├── java.tgz
│ │ ├── manifests/
│ │ │ └── site.pp
│ │ ├── releases/
│ │ │ └── jamtur01-apache/
│ │ │ ├── Modulefile
│ │ │ ├── files/
│ │ │ │ ├── httpd
│ │ │ │ └── test.vhost
│ │ │ ├── lib/
│ │ │ │ └── puppet/
│ │ │ │ ├── provider/
│ │ │ │ │ └── a2mod/
│ │ │ │ │ └── debian.rb
│ │ │ │ └── type/
│ │ │ │ └── a2mod.rb
│ │ │ ├── manifests/
│ │ │ │ ├── dev.pp
│ │ │ │ ├── init.pp
│ │ │ │ ├── params.pp
│ │ │ │ ├── php.pp
│ │ │ │ ├── ssl.pp
│ │ │ │ └── vhost.pp
│ │ │ ├── metadata.json
│ │ │ ├── templates/
│ │ │ │ └── vhost-default.conf.erb
│ │ │ └── tests/
│ │ │ ├── apache.pp
│ │ │ ├── dev.pp
│ │ │ ├── init.pp
│ │ │ ├── php.pp
│ │ │ ├── ssl.pp
│ │ │ └── vhost.pp
│ │ ├── ssl/
│ │ │ ├── 127.0.0.1-key.pem
│ │ │ ├── 127.0.0.1.pem
│ │ │ ├── bad-basic-constraints.pem
│ │ │ ├── bad-int-basic-constraints.pem
│ │ │ ├── ca.pem
│ │ │ ├── crl.pem
│ │ │ ├── ec-key-openssl.pem
│ │ │ ├── ec-key-pk8.pem
│ │ │ ├── ec-key.pem
│ │ │ ├── ec.pem
│ │ │ ├── encrypted-ec-key.pem
│ │ │ ├── encrypted-key.pem
│ │ │ ├── intermediate-agent-crl.pem
│ │ │ ├── intermediate-agent.pem
│ │ │ ├── intermediate-crl.pem
│ │ │ ├── intermediate-key.pem
│ │ │ ├── intermediate.pem
│ │ │ ├── netlock-arany-utf8.pem
│ │ │ ├── oid-key.pem
│ │ │ ├── oid.pem
│ │ │ ├── pluto-key.pem
│ │ │ ├── pluto.pem
│ │ │ ├── renewed.pem
│ │ │ ├── request-key.pem
│ │ │ ├── request.pem
│ │ │ ├── revoked-key.pem
│ │ │ ├── revoked.pem
│ │ │ ├── signed-key.pem
│ │ │ ├── signed.pem
│ │ │ ├── tampered-cert.pem
│ │ │ ├── tampered-csr.pem
│ │ │ ├── trusted_oid_mapping.yaml
│ │ │ ├── unknown-127.0.0.1-key.pem
│ │ │ ├── unknown-127.0.0.1.pem
│ │ │ ├── unknown-ca-key.pem
│ │ │ └── unknown-ca.pem
│ │ ├── stdlib.tgz
│ │ ├── unit/
│ │ │ ├── application/
│ │ │ │ └── environments/
│ │ │ │ ├── production/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ └── common.yaml
│ │ │ │ │ ├── environment.conf
│ │ │ │ │ └── manifests/
│ │ │ │ │ └── site.pp
│ │ │ │ └── puppet_func_provider/
│ │ │ │ ├── environment.conf
│ │ │ │ ├── functions/
│ │ │ │ │ └── environment/
│ │ │ │ │ └── data.pp
│ │ │ │ └── manifests/
│ │ │ │ └── site.pp
│ │ │ ├── data_providers/
│ │ │ │ └── environments/
│ │ │ │ ├── hiera_bad_syntax_json/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ └── bad.json
│ │ │ │ │ ├── environment.conf
│ │ │ │ │ ├── hiera.yaml
│ │ │ │ │ └── manifests/
│ │ │ │ │ └── site.pp
│ │ │ │ ├── hiera_bad_syntax_yaml/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ └── bad.yaml
│ │ │ │ │ ├── environment.conf
│ │ │ │ │ ├── hiera.yaml
│ │ │ │ │ └── manifests/
│ │ │ │ │ └── site.pp
│ │ │ │ ├── hiera_defaults/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ └── common.yaml
│ │ │ │ │ ├── environment.conf
│ │ │ │ │ ├── manifests/
│ │ │ │ │ │ └── site.pp
│ │ │ │ │ └── modules/
│ │ │ │ │ └── one/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ └── common.yaml
│ │ │ │ │ ├── manifests/
│ │ │ │ │ │ └── init.pp
│ │ │ │ │ └── metadata.json
│ │ │ │ ├── hiera_env_config/
│ │ │ │ │ ├── data1/
│ │ │ │ │ │ ├── first.json
│ │ │ │ │ │ ├── name.yaml
│ │ │ │ │ │ ├── second.json
│ │ │ │ │ │ ├── single.yaml
│ │ │ │ │ │ ├── third_utf8.json
│ │ │ │ │ │ └── utf8.yaml
│ │ │ │ │ ├── data2/
│ │ │ │ │ │ └── single.yaml
│ │ │ │ │ ├── environment.conf
│ │ │ │ │ ├── hiera.yaml
│ │ │ │ │ └── manifests/
│ │ │ │ │ └── site.pp
│ │ │ │ ├── hiera_misc/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ └── common.yaml
│ │ │ │ │ ├── environment.conf
│ │ │ │ │ ├── manifests/
│ │ │ │ │ │ └── site.pp
│ │ │ │ │ └── modules/
│ │ │ │ │ └── one/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ └── common.yaml
│ │ │ │ │ ├── manifests/
│ │ │ │ │ │ └── init.pp
│ │ │ │ │ └── metadata.json
│ │ │ │ ├── hiera_module_config/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ ├── common.yaml
│ │ │ │ │ │ └── specific.yaml
│ │ │ │ │ ├── environment.conf
│ │ │ │ │ ├── hiera.yaml
│ │ │ │ │ ├── manifests/
│ │ │ │ │ │ └── site.pp
│ │ │ │ │ └── modules/
│ │ │ │ │ └── one/
│ │ │ │ │ ├── data1/
│ │ │ │ │ │ ├── first.json
│ │ │ │ │ │ ├── name.yaml
│ │ │ │ │ │ ├── second.json
│ │ │ │ │ │ ├── server1.yaml
│ │ │ │ │ │ ├── server2.yaml
│ │ │ │ │ │ └── single.yaml
│ │ │ │ │ ├── data2/
│ │ │ │ │ │ └── single.yaml
│ │ │ │ │ ├── hiera.yaml
│ │ │ │ │ ├── manifests/
│ │ │ │ │ │ └── init.pp
│ │ │ │ │ └── metadata.json
│ │ │ │ ├── hiera_modules/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ ├── common.yaml
│ │ │ │ │ │ └── specific.yaml
│ │ │ │ │ ├── environment.conf
│ │ │ │ │ ├── hiera.yaml
│ │ │ │ │ ├── manifests/
│ │ │ │ │ │ └── site.pp
│ │ │ │ │ └── modules/
│ │ │ │ │ ├── one/
│ │ │ │ │ │ ├── data/
│ │ │ │ │ │ │ └── common.yaml
│ │ │ │ │ │ ├── hiera.yaml
│ │ │ │ │ │ ├── manifests/
│ │ │ │ │ │ │ └── init.pp
│ │ │ │ │ │ └── metadata.json
│ │ │ │ │ └── two/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ └── common.yaml
│ │ │ │ │ ├── hiera.yaml
│ │ │ │ │ ├── manifests/
│ │ │ │ │ │ └── init.pp
│ │ │ │ │ └── metadata.json
│ │ │ │ └── production/
│ │ │ │ ├── environment.conf
│ │ │ │ ├── lib/
│ │ │ │ │ └── puppet/
│ │ │ │ │ └── functions/
│ │ │ │ │ └── environment/
│ │ │ │ │ └── data.rb
│ │ │ │ └── modules/
│ │ │ │ ├── abc/
│ │ │ │ │ ├── lib/
│ │ │ │ │ │ └── puppet/
│ │ │ │ │ │ └── functions/
│ │ │ │ │ │ └── abc/
│ │ │ │ │ │ └── data.rb
│ │ │ │ │ ├── manifests/
│ │ │ │ │ │ └── init.pp
│ │ │ │ │ └── metadata.json
│ │ │ │ └── xyz/
│ │ │ │ ├── functions/
│ │ │ │ │ └── data.pp
│ │ │ │ ├── manifests/
│ │ │ │ │ └── init.pp
│ │ │ │ └── metadata.json
│ │ │ ├── forge/
│ │ │ │ ├── bacula-releases.json
│ │ │ │ └── bacula.json
│ │ │ ├── functions/
│ │ │ │ ├── hiera/
│ │ │ │ │ └── hiera/
│ │ │ │ │ └── backend/
│ │ │ │ │ └── hieraspec_backend.rb
│ │ │ │ ├── lookup/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ └── common.yaml
│ │ │ │ │ └── hiera/
│ │ │ │ │ └── backend/
│ │ │ │ │ ├── custom_backend.rb
│ │ │ │ │ └── other_backend.rb
│ │ │ │ └── lookup_fixture/
│ │ │ │ ├── data/
│ │ │ │ │ └── common.yaml
│ │ │ │ └── environments/
│ │ │ │ └── production/
│ │ │ │ ├── environment.conf
│ │ │ │ ├── lib/
│ │ │ │ │ └── puppet/
│ │ │ │ │ └── functions/
│ │ │ │ │ └── environment/
│ │ │ │ │ └── data.rb
│ │ │ │ └── modules/
│ │ │ │ ├── abc/
│ │ │ │ │ ├── lib/
│ │ │ │ │ │ └── puppet/
│ │ │ │ │ │ └── functions/
│ │ │ │ │ │ └── abc/
│ │ │ │ │ │ └── data.rb
│ │ │ │ │ ├── manifests/
│ │ │ │ │ │ └── init.pp
│ │ │ │ │ └── metadata.json
│ │ │ │ ├── bad_data/
│ │ │ │ │ ├── lib/
│ │ │ │ │ │ └── puppet/
│ │ │ │ │ │ └── functions/
│ │ │ │ │ │ └── bad_data/
│ │ │ │ │ │ └── data.rb
│ │ │ │ │ ├── manifests/
│ │ │ │ │ │ └── init.pp
│ │ │ │ │ └── metadata.json
│ │ │ │ ├── bca/
│ │ │ │ │ ├── lib/
│ │ │ │ │ │ └── puppet/
│ │ │ │ │ │ └── functions/
│ │ │ │ │ │ └── bca/
│ │ │ │ │ │ └── data.rb
│ │ │ │ │ ├── manifests/
│ │ │ │ │ │ └── init.pp
│ │ │ │ │ └── metadata.json
│ │ │ │ ├── empty_json/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ └── empty.json
│ │ │ │ │ ├── hiera.yaml
│ │ │ │ │ ├── manifests/
│ │ │ │ │ │ └── init.pp
│ │ │ │ │ └── metadata.json
│ │ │ │ ├── empty_key_json/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ └── empty_key.json
│ │ │ │ │ ├── hiera.yaml
│ │ │ │ │ ├── manifests/
│ │ │ │ │ │ └── init.pp
│ │ │ │ │ └── metadata.json
│ │ │ │ ├── empty_key_yaml/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ └── empty_key.yaml
│ │ │ │ │ ├── hiera.yaml
│ │ │ │ │ ├── manifests/
│ │ │ │ │ │ └── init.pp
│ │ │ │ │ └── metadata.json
│ │ │ │ ├── empty_yaml/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ └── empty.yaml
│ │ │ │ │ ├── hiera.yaml
│ │ │ │ │ ├── manifests/
│ │ │ │ │ │ └── init.pp
│ │ │ │ │ └── metadata.json
│ │ │ │ ├── hieraprovider/
│ │ │ │ │ ├── data/
│ │ │ │ │ │ └── first.json
│ │ │ │ │ ├── hiera.yaml
│ │ │ │ │ ├── manifests/
│ │ │ │ │ │ └── init.pp
│ │ │ │ │ └── metadata.json
│ │ │ │ ├── meta/
│ │ │ │ │ ├── lib/
│ │ │ │ │ │ └── puppet/
│ │ │ │ │ │ └── functions/
│ │ │ │ │ │ └── meta/
│ │ │ │ │ │ └── data.rb
│ │ │ │ │ ├── manifests/
│ │ │ │ │ │ └── init.pp
│ │ │ │ │ └── metadata.json
│ │ │ │ └── no_provider/
│ │ │ │ └── manifests/
│ │ │ │ └── init.pp
│ │ │ ├── indirector/
│ │ │ │ ├── data_binding/
│ │ │ │ │ └── hiera/
│ │ │ │ │ ├── global.yaml
│ │ │ │ │ └── invalid.yaml
│ │ │ │ └── hiera/
│ │ │ │ ├── global.yaml
│ │ │ │ └── invalid.yaml
│ │ │ ├── module/
│ │ │ │ └── trailing-comma.json
│ │ │ ├── parser/
│ │ │ │ ├── functions/
│ │ │ │ │ └── create_resources/
│ │ │ │ │ └── foo/
│ │ │ │ │ └── manifests/
│ │ │ │ │ ├── init.pp
│ │ │ │ │ └── wrongdefine.pp
│ │ │ │ └── lexer/
│ │ │ │ ├── aliastest.pp
│ │ │ │ ├── append.pp
│ │ │ │ ├── argumentdefaults.pp
│ │ │ │ ├── arithmetic_expression.pp
│ │ │ │ ├── arraytrailingcomma.pp
│ │ │ │ ├── casestatement.pp
│ │ │ │ ├── classheirarchy.pp
│ │ │ │ ├── classincludes.pp
│ │ │ │ ├── classpathtest.pp
│ │ │ │ ├── collection.pp
│ │ │ │ ├── collection_override.pp
│ │ │ │ ├── collection_within_virtual_definitions.pp
│ │ │ │ ├── componentmetaparams.pp
│ │ │ │ ├── componentrequire.pp
│ │ │ │ ├── deepclassheirarchy.pp
│ │ │ │ ├── defineoverrides.pp
│ │ │ │ ├── emptyclass.pp
│ │ │ │ ├── emptyexec.pp
│ │ │ │ ├── emptyifelse.pp
│ │ │ │ ├── falsevalues.pp
│ │ │ │ ├── filecreate.pp
│ │ │ │ ├── fqdefinition.pp
│ │ │ │ ├── fqparents.pp
│ │ │ │ ├── funccomma.pp
│ │ │ │ ├── hash.pp
│ │ │ │ ├── ifexpression.pp
│ │ │ │ ├── implicititeration.pp
│ │ │ │ ├── multilinecomments.pp
│ │ │ │ ├── multipleclass.pp
│ │ │ │ ├── multipleinstances.pp
│ │ │ │ ├── multisubs.pp
│ │ │ │ ├── namevartest.pp
│ │ │ │ ├── scopetest.pp
│ │ │ │ ├── selectorvalues.pp
│ │ │ │ ├── simpledefaults.pp
│ │ │ │ ├── simpleselector.pp
│ │ │ │ ├── singleary.pp
│ │ │ │ ├── singlequote.pp
│ │ │ │ ├── singleselector.pp
│ │ │ │ ├── subclass_name_duplication.pp
│ │ │ │ ├── tag.pp
│ │ │ │ ├── tagged.pp
│ │ │ │ └── virtualresources.pp
│ │ │ ├── pops/
│ │ │ │ ├── binder/
│ │ │ │ │ ├── bindings_composer/
│ │ │ │ │ │ └── ok/
│ │ │ │ │ │ ├── binder_config.yaml
│ │ │ │ │ │ ├── lib/
│ │ │ │ │ │ │ └── puppet/
│ │ │ │ │ │ │ └── bindings/
│ │ │ │ │ │ │ └── confdirtest.rb
│ │ │ │ │ │ └── modules/
│ │ │ │ │ │ ├── awesome2/
│ │ │ │ │ │ │ └── lib/
│ │ │ │ │ │ │ ├── puppet/
│ │ │ │ │ │ │ │ └── bindings/
│ │ │ │ │ │ │ │ └── awesome2/
│ │ │ │ │ │ │ │ └── default.rb
│ │ │ │ │ │ │ └── puppet_x/
│ │ │ │ │ │ │ └── awesome2/
│ │ │ │ │ │ │ └── echo_scheme_handler.rb
│ │ │ │ │ │ ├── bad/
│ │ │ │ │ │ │ └── lib/
│ │ │ │ │ │ │ └── puppet/
│ │ │ │ │ │ │ └── bindings/
│ │ │ │ │ │ │ └── bad/
│ │ │ │ │ │ │ └── default.rb
│ │ │ │ │ │ └── good/
│ │ │ │ │ │ └── lib/
│ │ │ │ │ │ └── puppet/
│ │ │ │ │ │ └── bindings/
│ │ │ │ │ │ └── good/
│ │ │ │ │ │ └── default.rb
│ │ │ │ │ └── config/
│ │ │ │ │ └── binder_config/
│ │ │ │ │ ├── nolayer/
│ │ │ │ │ │ └── binder_config.yaml
│ │ │ │ │ └── ok/
│ │ │ │ │ └── binder_config.yaml
│ │ │ │ ├── loaders/
│ │ │ │ │ └── loaders/
│ │ │ │ │ ├── dependent_modules_with_metadata/
│ │ │ │ │ │ └── modules/
│ │ │ │ │ │ ├── usee/
│ │ │ │ │ │ │ ├── functions/
│ │ │ │ │ │ │ │ └── usee_puppet.pp
│ │ │ │ │ │ │ ├── lib/
│ │ │ │ │ │ │ │ └── puppet/
│ │ │ │ │ │ │ │ ├── functions/
│ │ │ │ │ │ │ │ │ └── usee/
│ │ │ │ │ │ │ │ │ ├── callee.rb
│ │ │ │ │ │ │ │ │ └── usee_ruby.rb
│ │ │ │ │ │ │ │ └── type/
│ │ │ │ │ │ │ │ └── usee_type.rb
│ │ │ │ │ │ │ ├── manifests/
│ │ │ │ │ │ │ │ └── init.pp
│ │ │ │ │ │ │ └── types/
│ │ │ │ │ │ │ └── zero.pp
│ │ │ │ │ │ ├── usee2/
│ │ │ │ │ │ │ └── lib/
│ │ │ │ │ │ │ └── puppet/
│ │ │ │ │ │ │ └── functions/
│ │ │ │ │ │ │ └── usee2/
│ │ │ │ │ │ │ └── callee.rb
│ │ │ │ │ │ └── user/
│ │ │ │ │ │ ├── functions/
│ │ │ │ │ │ │ ├── puppet_calling_puppet.pp
│ │ │ │ │ │ │ ├── puppet_calling_puppet_init.pp
│ │ │ │ │ │ │ └── puppet_calling_ruby.pp
│ │ │ │ │ │ ├── lib/
│ │ │ │ │ │ │ └── puppet/
│ │ │ │ │ │ │ └── functions/
│ │ │ │ │ │ │ └── user/
│ │ │ │ │ │ │ ├── caller.rb
│ │ │ │ │ │ │ ├── caller2.rb
│ │ │ │ │ │ │ ├── ruby_calling_puppet.rb
│ │ │ │ │ │ │ ├── ruby_calling_puppet_init.rb
│ │ │ │ │ │ │ └── ruby_calling_ruby.rb
│ │ │ │ │ │ ├── manifests/
│ │ │ │ │ │ │ └── init.pp
│ │ │ │ │ │ ├── metadata.json
│ │ │ │ │ │ └── types/
│ │ │ │ │ │ ├── withuseeone.pp
│ │ │ │ │ │ └── withuseezero.pp
│ │ │ │ │ ├── mix_4x_and_3x_functions/
│ │ │ │ │ │ ├── usee/
│ │ │ │ │ │ │ ├── lib/
│ │ │ │ │ │ │ │ └── puppet/
│ │ │ │ │ │ │ │ └── parser/
│ │ │ │ │ │ │ │ └── functions/
│ │ │ │ │ │ │ │ ├── bad_func_load.rb
│ │ │ │ │ │ │ │ ├── bad_func_load2.rb
│ │ │ │ │ │ │ │ ├── bad_func_load3.rb
│ │ │ │ │ │ │ │ ├── bad_func_load4.rb
│ │ │ │ │ │ │ │ ├── bad_func_load5.rb
│ │ │ │ │ │ │ │ ├── callee.rb
│ │ │ │ │ │ │ │ ├── callee_ws.rb
│ │ │ │ │ │ │ │ ├── func_with_syntax_error.rb
│ │ │ │ │ │ │ │ └── good_func_load.rb
│ │ │ │ │ │ │ └── metadata.json
│ │ │ │ │ │ └── user/
│ │ │ │ │ │ ├── functions/
│ │ │ │ │ │ │ ├── puppetcalled.pp
│ │ │ │ │ │ │ ├── puppetcaller.pp
│ │ │ │ │ │ │ └── puppetcaller4.pp
│ │ │ │ │ │ ├── lib/
│ │ │ │ │ │ │ └── puppet/
│ │ │ │ │ │ │ └── functions/
│ │ │ │ │ │ │ └── user/
│ │ │ │ │ │ │ ├── caller.rb
│ │ │ │ │ │ │ ├── caller_ws.rb
│ │ │ │ │ │ │ └── callingpuppet.rb
│ │ │ │ │ │ └── metadata.json
│ │ │ │ │ ├── module_no_lib/
│ │ │ │ │ │ └── modules/
│ │ │ │ │ │ └── modulea/
│ │ │ │ │ │ ├── functions/
│ │ │ │ │ │ │ └── hello.pp
│ │ │ │ │ │ ├── manifests/
│ │ │ │ │ │ │ └── init.pp
│ │ │ │ │ │ └── metadata.json
│ │ │ │ │ ├── no_modules/
│ │ │ │ │ │ └── manifests/
│ │ │ │ │ │ └── site.pp
│ │ │ │ │ ├── pp_resources/
│ │ │ │ │ │ └── .resource_types/
│ │ │ │ │ │ ├── addlogic.pp
│ │ │ │ │ │ ├── badcall.pp
│ │ │ │ │ │ ├── empty.pp
│ │ │ │ │ │ ├── myresource.pp
│ │ │ │ │ │ └── wrongname.pp
│ │ │ │ │ ├── single_module/
│ │ │ │ │ │ └── modules/
│ │ │ │ │ │ └── modulea/
│ │ │ │ │ │ ├── functions/
│ │ │ │ │ │ │ ├── hello.pp
│ │ │ │ │ │ │ └── subspace/
│ │ │ │ │ │ │ └── hello.pp
│ │ │ │ │ │ ├── lib/
│ │ │ │ │ │ │ └── puppet/
│ │ │ │ │ │ │ └── functions/
│ │ │ │ │ │ │ ├── modulea/
│ │ │ │ │ │ │ │ └── rb_func_a.rb
│ │ │ │ │ │ │ └── rb_func_a.rb
│ │ │ │ │ │ ├── manifests/
│ │ │ │ │ │ │ └── init.pp
│ │ │ │ │ │ └── metadata.json
│ │ │ │ │ └── wo_metadata_module/
│ │ │ │ │ └── modules/
│ │ │ │ │ └── moduleb/
│ │ │ │ │ ├── lib/
│ │ │ │ │ │ └── puppet/
│ │ │ │ │ │ └── functions/
│ │ │ │ │ │ └── moduleb/
│ │ │ │ │ │ └── rb_func_b.rb
│ │ │ │ │ └── manifests/
│ │ │ │ │ └── init.pp
│ │ │ │ └── parser/
│ │ │ │ └── lexer/
│ │ │ │ ├── aliastest.pp
│ │ │ │ ├── append.pp
│ │ │ │ ├── argumentdefaults.pp
│ │ │ │ ├── arithmetic_expression.pp
│ │ │ │ ├── arraytrailingcomma.pp
│ │ │ │ ├── casestatement.pp
│ │ │ │ ├── classheirarchy.pp
│ │ │ │ ├── classincludes.pp
│ │ │ │ ├── classpathtest.pp
│ │ │ │ ├── collection.pp
│ │ │ │ ├── collection_override.pp
│ │ │ │ ├── collection_within_virtual_definitions.pp
│ │ │ │ ├── componentmetaparams.pp
│ │ │ │ ├── componentrequire.pp
│ │ │ │ ├── deepclassheirarchy.pp
│ │ │ │ ├── defineoverrides.pp
│ │ │ │ ├── emptyclass.pp
│ │ │ │ ├── emptyexec.pp
│ │ │ │ ├── emptyifelse.pp
│ │ │ │ ├── falsevalues.pp
│ │ │ │ ├── filecreate.pp
│ │ │ │ ├── fqdefinition.pp
│ │ │ │ ├── fqparents.pp
│ │ │ │ ├── funccomma.pp
│ │ │ │ ├── hash.pp
│ │ │ │ ├── ifexpression.pp
│ │ │ │ ├── implicititeration.pp
│ │ │ │ ├── multilinecomments.pp
│ │ │ │ ├── multipleclass.pp
│ │ │ │ ├── multipleinstances.pp
│ │ │ │ ├── multisubs.pp
│ │ │ │ ├── namevartest.pp
│ │ │ │ ├── scopetest.pp
│ │ │ │ ├── selectorvalues.pp
│ │ │ │ ├── simpledefaults.pp
│ │ │ │ ├── simpleselector.pp
│ │ │ │ ├── singleary.pp
│ │ │ │ ├── singlequote.pp
│ │ │ │ ├── singleselector.pp
│ │ │ │ ├── subclass_name_duplication.pp
│ │ │ │ ├── tag.pp
│ │ │ │ ├── tagged.pp
│ │ │ │ └── virtualresources.pp
│ │ │ ├── provider/
│ │ │ │ ├── aix_object/
│ │ │ │ │ ├── aix_colon_list_real_world_input.out
│ │ │ │ │ └── aix_colon_list_real_world_output.out
│ │ │ │ ├── cron/
│ │ │ │ │ ├── crontab/
│ │ │ │ │ │ ├── single_line.yaml
│ │ │ │ │ │ └── vixie_header.txt
│ │ │ │ │ └── parsed/
│ │ │ │ │ ├── managed
│ │ │ │ │ └── simple
│ │ │ │ ├── package/
│ │ │ │ │ ├── dnfmodule/
│ │ │ │ │ │ └── dnf-module-list.txt
│ │ │ │ │ ├── gem/
│ │ │ │ │ │ ├── gem-list-single-package
│ │ │ │ │ │ └── line-with-1.8.5-warning
│ │ │ │ │ ├── openbsd/
│ │ │ │ │ │ ├── pkginfo.detail
│ │ │ │ │ │ ├── pkginfo.list
│ │ │ │ │ │ ├── pkginfo.query
│ │ │ │ │ │ └── pkginfo_flavors.list
│ │ │ │ │ ├── pkg/
│ │ │ │ │ │ ├── dummy_implicit_version
│ │ │ │ │ │ ├── dummy_solaris10
│ │ │ │ │ │ ├── dummy_solaris11.certificate_warning
│ │ │ │ │ │ ├── dummy_solaris11.ifo.installed
│ │ │ │ │ │ ├── dummy_solaris11.ifo.known
│ │ │ │ │ │ ├── dummy_solaris11.installed
│ │ │ │ │ │ ├── dummy_solaris11.known
│ │ │ │ │ │ ├── incomplete
│ │ │ │ │ │ ├── solaris11
│ │ │ │ │ │ └── unknown_status
│ │ │ │ │ ├── pkgng/
│ │ │ │ │ │ ├── pkg.query
│ │ │ │ │ │ ├── pkg.query.zsh
│ │ │ │ │ │ └── pkg.version
│ │ │ │ │ ├── puppetserver_gem/
│ │ │ │ │ │ └── gem-list-local-packages
│ │ │ │ │ ├── sun/
│ │ │ │ │ │ ├── dummy.server
│ │ │ │ │ │ └── simple
│ │ │ │ │ ├── yum/
│ │ │ │ │ │ ├── yum-check-update-broken-notices.txt
│ │ │ │ │ │ ├── yum-check-update-multiline.txt
│ │ │ │ │ │ ├── yum-check-update-obsoletes.txt
│ │ │ │ │ │ ├── yum-check-update-plugin-output.txt
│ │ │ │ │ │ ├── yum-check-update-security.txt
│ │ │ │ │ │ ├── yum-check-update-simple.txt
│ │ │ │ │ │ └── yum-check-update-subscription-manager.txt
│ │ │ │ │ └── zypper/
│ │ │ │ │ ├── zypper-list-updates-SLES11sp1.out
│ │ │ │ │ ├── zypper-list-updates-empty.out
│ │ │ │ │ └── zypper-search-uninstalled.out
│ │ │ │ ├── parsedfile/
│ │ │ │ │ ├── aliases.txt
│ │ │ │ │ └── simple.txt
│ │ │ │ ├── service/
│ │ │ │ │ ├── base/
│ │ │ │ │ │ └── ps_ef.mixed_encoding
│ │ │ │ │ ├── gentoo/
│ │ │ │ │ │ └── rc_update_show
│ │ │ │ │ ├── openbsd/
│ │ │ │ │ │ └── rcctl_getall
│ │ │ │ │ ├── openrc/
│ │ │ │ │ │ ├── rcservice_list
│ │ │ │ │ │ └── rcstatus
│ │ │ │ │ ├── smf/
│ │ │ │ │ │ ├── svcs_fmri.out
│ │ │ │ │ │ ├── svcs_instances.out
│ │ │ │ │ │ └── svcs_multiple_fmris.out
│ │ │ │ │ └── systemd/
│ │ │ │ │ ├── list_unit_files_services
│ │ │ │ │ └── list_unit_files_services_vendor_preset
│ │ │ │ └── user/
│ │ │ │ └── aix/
│ │ │ │ └── aix_passwd_file.out
│ │ │ ├── reports/
│ │ │ │ └── tagmail/
│ │ │ │ ├── tagmail_email.conf
│ │ │ │ ├── tagmail_failers.conf
│ │ │ │ └── tagmail_passers.conf
│ │ │ ├── ssl/
│ │ │ │ ├── certificate/
│ │ │ │ │ └── old-style-cert-exts.pem
│ │ │ │ └── certificate_request/
│ │ │ │ └── old-style-cert-request.pem
│ │ │ ├── type/
│ │ │ │ └── user/
│ │ │ │ └── authorized_keys
│ │ │ └── util/
│ │ │ ├── filetype/
│ │ │ │ ├── aixtab_output
│ │ │ │ └── suntab_output
│ │ │ ├── monkey_patches/
│ │ │ │ └── x509.pem
│ │ │ └── rdoc/
│ │ │ └── basic.pp
│ │ ├── vcr/
│ │ │ └── cassettes/
│ │ │ └── Puppet_Type_File/
│ │ │ └── when_sourcing/
│ │ │ └── from_http/
│ │ │ ├── using_md5/
│ │ │ │ ├── should_fetch_if_not_on_the_local_disk.yml
│ │ │ │ ├── should_not_update_if_content_on_disk_is_up-to-date.yml
│ │ │ │ └── should_update_if_content_differs_on_disk.yml
│ │ │ └── using_mtime/
│ │ │ ├── should_fetch_if_mtime_is_older_on_disk.yml
│ │ │ ├── should_fetch_if_no_header_specified.yml
│ │ │ ├── should_fetch_if_not_on_the_local_disk.yml
│ │ │ └── should_not_update_if_mtime_is_newer_on_disk.yml
│ │ └── yaml/
│ │ ├── report2.6.x.yaml
│ │ └── test.local.yaml
│ ├── integration/
│ │ ├── agent/
│ │ │ └── logging_spec.rb
│ │ ├── application/
│ │ │ ├── agent_spec.rb
│ │ │ ├── apply_spec.rb
│ │ │ ├── doc_spec.rb
│ │ │ ├── filebucket_spec.rb
│ │ │ ├── help_spec.rb
│ │ │ ├── lookup_spec.rb
│ │ │ ├── module_spec.rb
│ │ │ ├── plugin_spec.rb
│ │ │ ├── resource_spec.rb
│ │ │ └── ssl_spec.rb
│ │ ├── configurer_spec.rb
│ │ ├── data_binding_spec.rb
│ │ ├── defaults_spec.rb
│ │ ├── directory_environments_spec.rb
│ │ ├── environments/
│ │ │ ├── default_manifest_spec.rb
│ │ │ ├── setting_hooks_spec.rb
│ │ │ ├── settings_interpolation_spec.rb
│ │ │ └── settings_spec.rb
│ │ ├── http/
│ │ │ └── client_spec.rb
│ │ ├── indirector/
│ │ │ ├── catalog/
│ │ │ │ └── compiler_spec.rb
│ │ │ ├── direct_file_server_spec.rb
│ │ │ ├── facts/
│ │ │ │ └── facter_spec.rb
│ │ │ ├── file_content/
│ │ │ │ └── file_server_spec.rb
│ │ │ └── file_metadata/
│ │ │ └── file_server_spec.rb
│ │ ├── l10n/
│ │ │ └── compiler_spec.rb
│ │ ├── network/
│ │ │ ├── formats_spec.rb
│ │ │ ├── http/
│ │ │ │ └── api/
│ │ │ │ └── indirected_routes_spec.rb
│ │ │ └── http_pool_spec.rb
│ │ ├── node/
│ │ │ ├── environment_spec.rb
│ │ │ └── facts_spec.rb
│ │ ├── node_spec.rb
│ │ ├── parser/
│ │ │ ├── catalog_spec.rb
│ │ │ ├── class_spec.rb
│ │ │ ├── collection_spec.rb
│ │ │ ├── compiler_spec.rb
│ │ │ ├── conditionals_spec.rb
│ │ │ ├── dynamic_scoping_spec.rb
│ │ │ ├── environment_spec.rb
│ │ │ ├── node_spec.rb
│ │ │ ├── parameter_defaults_spec.rb
│ │ │ ├── pcore_resource_spec.rb
│ │ │ ├── resource_expressions_spec.rb
│ │ │ ├── scope_spec.rb
│ │ │ ├── script_compiler_spec.rb
│ │ │ └── undef_param_spec.rb
│ │ ├── provider/
│ │ │ └── file/
│ │ │ └── windows_spec.rb
│ │ ├── resource/
│ │ │ ├── catalog_spec.rb
│ │ │ └── type_collection_spec.rb
│ │ ├── transaction/
│ │ │ └── report_spec.rb
│ │ ├── transaction_spec.rb
│ │ ├── type/
│ │ │ ├── exec_spec.rb
│ │ │ ├── file_spec.rb
│ │ │ ├── notify_spec.rb
│ │ │ ├── package_spec.rb
│ │ │ └── tidy_spec.rb
│ │ ├── type_spec.rb
│ │ ├── util/
│ │ │ ├── autoload_spec.rb
│ │ │ ├── execution_spec.rb
│ │ │ ├── rdoc/
│ │ │ │ └── parser_spec.rb
│ │ │ ├── settings_spec.rb
│ │ │ └── windows/
│ │ │ ├── adsi_spec.rb
│ │ │ ├── monkey_patches/
│ │ │ │ └── process_spec.rb
│ │ │ ├── principal_spec.rb
│ │ │ ├── process_spec.rb
│ │ │ ├── registry_spec.rb
│ │ │ ├── security_spec.rb
│ │ │ └── user_spec.rb
│ │ └── util_spec.rb
│ ├── lib/
│ │ ├── matchers/
│ │ │ ├── containment_matchers.rb
│ │ │ ├── include_in_order.rb
│ │ │ ├── include_in_order_spec.rb
│ │ │ ├── json.rb
│ │ │ ├── match_tokens2.rb
│ │ │ ├── relationship_graph_matchers.rb
│ │ │ └── resource.rb
│ │ ├── puppet/
│ │ │ ├── certificate_factory.rb
│ │ │ ├── face/
│ │ │ │ ├── 1.0.0/
│ │ │ │ │ └── huzzah.rb
│ │ │ │ ├── basetest.rb
│ │ │ │ ├── huzzah/
│ │ │ │ │ └── obsolete.rb
│ │ │ │ ├── huzzah.rb
│ │ │ │ └── version_matching.rb
│ │ │ ├── indirector/
│ │ │ │ └── indirector_testing/
│ │ │ │ ├── json.rb
│ │ │ │ ├── memory.rb
│ │ │ │ └── msgpack.rb
│ │ │ ├── indirector_proxy.rb
│ │ │ ├── indirector_testing.rb
│ │ │ └── test_ca.rb
│ │ └── puppet_spec/
│ │ ├── character_encoding.rb
│ │ ├── compiler.rb
│ │ ├── files.rb
│ │ ├── fixtures.rb
│ │ ├── handler.rb
│ │ ├── https.rb
│ │ ├── language.rb
│ │ ├── matchers.rb
│ │ ├── module_tool/
│ │ │ ├── shared_functions.rb
│ │ │ └── stub_source.rb
│ │ ├── modules.rb
│ │ ├── network.rb
│ │ ├── pops.rb
│ │ ├── puppetserver.rb
│ │ ├── scope.rb
│ │ ├── settings.rb
│ │ ├── ssl.rb
│ │ ├── unindent.rb
│ │ └── verbose.rb
│ ├── shared_behaviours/
│ │ ├── all_parsedfile_providers.rb
│ │ ├── an_indirector_face.rb
│ │ ├── documentation_on_faces.rb
│ │ ├── file_server_terminus.rb
│ │ ├── file_serving.rb
│ │ ├── hiera_indirections.rb
│ │ ├── iterative_functions.rb
│ │ ├── memory_terminus.rb
│ │ ├── path_parameters.rb
│ │ ├── store_configs_terminus.rb
│ │ └── things_that_declare_options.rb
│ ├── shared_contexts/
│ │ ├── checksum.rb
│ │ ├── digests.rb
│ │ ├── https.rb
│ │ ├── l10n.rb
│ │ ├── provider.rb
│ │ └── types_setup.rb
│ ├── shared_examples/
│ │ └── rhel_package_provider.rb
│ ├── spec_helper.rb
│ └── unit/
│ ├── agent/
│ │ ├── disabler_spec.rb
│ │ └── locker_spec.rb
│ ├── agent_spec.rb
│ ├── application/
│ │ ├── agent_spec.rb
│ │ ├── apply_spec.rb
│ │ ├── config_spec.rb
│ │ ├── describe_spec.rb
│ │ ├── device_spec.rb
│ │ ├── doc_spec.rb
│ │ ├── face_base_spec.rb
│ │ ├── facts_spec.rb
│ │ ├── filebucket_spec.rb
│ │ ├── indirection_base_spec.rb
│ │ ├── lookup_spec.rb
│ │ ├── resource_spec.rb
│ │ └── ssl_spec.rb
│ ├── application_spec.rb
│ ├── certificate_factory_spec.rb
│ ├── concurrent/
│ │ ├── lock_spec.rb
│ │ └── thread_local_singleton_spec.rb
│ ├── configurer/
│ │ ├── downloader_spec.rb
│ │ ├── fact_handler_spec.rb
│ │ └── plugin_handler_spec.rb
│ ├── configurer_spec.rb
│ ├── confine/
│ │ ├── exists_spec.rb
│ │ ├── false_spec.rb
│ │ ├── feature_spec.rb
│ │ ├── true_spec.rb
│ │ └── variable_spec.rb
│ ├── confine_collection_spec.rb
│ ├── confine_spec.rb
│ ├── confiner_spec.rb
│ ├── context/
│ │ └── trusted_information_spec.rb
│ ├── context_spec.rb
│ ├── daemon_spec.rb
│ ├── data_binding_spec.rb
│ ├── data_providers/
│ │ ├── function_data_provider_spec.rb
│ │ └── hiera_data_provider_spec.rb
│ ├── datatypes_spec.rb
│ ├── defaults_spec.rb
│ ├── environments_spec.rb
│ ├── etc_spec.rb
│ ├── external/
│ │ └── pson_spec.rb
│ ├── face/
│ │ ├── catalog_spec.rb
│ │ ├── config_spec.rb
│ │ ├── epp_face_spec.rb
│ │ ├── facts_spec.rb
│ │ ├── generate_spec.rb
│ │ ├── help_spec.rb
│ │ ├── module/
│ │ │ ├── install_spec.rb
│ │ │ ├── list_spec.rb
│ │ │ ├── uninstall_spec.rb
│ │ │ └── upgrade_spec.rb
│ │ ├── node_spec.rb
│ │ ├── parser_spec.rb
│ │ └── plugin_spec.rb
│ ├── face_spec.rb
│ ├── facter_impl_spec.rb
│ ├── file_bucket/
│ │ ├── dipper_spec.rb
│ │ └── file_spec.rb
│ ├── file_serving/
│ │ ├── base_spec.rb
│ │ ├── configuration/
│ │ │ └── parser_spec.rb
│ │ ├── configuration_spec.rb
│ │ ├── content_spec.rb
│ │ ├── fileset_spec.rb
│ │ ├── http_metadata_spec.rb
│ │ ├── metadata_spec.rb
│ │ ├── mount/
│ │ │ ├── file_spec.rb
│ │ │ ├── locales_spec.rb
│ │ │ ├── modules_spec.rb
│ │ │ ├── pluginfacts_spec.rb
│ │ │ ├── plugins_spec.rb
│ │ │ ├── scripts_spec.rb
│ │ │ └── tasks_spec.rb
│ │ ├── mount_spec.rb
│ │ ├── terminus_helper_spec.rb
│ │ └── terminus_selector_spec.rb
│ ├── file_system/
│ │ ├── path_pattern_spec.rb
│ │ └── uniquefile_spec.rb
│ ├── file_system_spec.rb
│ ├── forge/
│ │ ├── errors_spec.rb
│ │ ├── forge_spec.rb
│ │ ├── module_release_spec.rb
│ │ └── repository_spec.rb
│ ├── forge_spec.rb
│ ├── functions/
│ │ ├── abs_spec.rb
│ │ ├── all_spec.rb
│ │ ├── annotate_spec.rb
│ │ ├── any_spec.rb
│ │ ├── assert_type_spec.rb
│ │ ├── binary_file_spec.rb
│ │ ├── break_spec.rb
│ │ ├── call_spec.rb
│ │ ├── camelcase_spec.rb
│ │ ├── capitalize_spec.rb
│ │ ├── ceiling_spec.rb
│ │ ├── chomp_spec.rb
│ │ ├── chop_spec.rb
│ │ ├── compare_spec.rb
│ │ ├── contain_spec.rb
│ │ ├── convert_to_spec.rb
│ │ ├── defined_spec.rb
│ │ ├── dig_spec.rb
│ │ ├── downcase_spec.rb
│ │ ├── each_spec.rb
│ │ ├── empty_spec.rb
│ │ ├── epp_spec.rb
│ │ ├── filter_spec.rb
│ │ ├── find_file_spec.rb
│ │ ├── find_template_spec.rb
│ │ ├── flatten_spec.rb
│ │ ├── floor_spec.rb
│ │ ├── get_spec.rb
│ │ ├── getvar_spec.rb
│ │ ├── group_by_spec.rb
│ │ ├── hiera_spec.rb
│ │ ├── include_spec.rb
│ │ ├── index_spec.rb
│ │ ├── inline_epp_spec.rb
│ │ ├── join_spec.rb
│ │ ├── keys_spec.rb
│ │ ├── length_spec.rb
│ │ ├── lest_spec.rb
│ │ ├── logging_spec.rb
│ │ ├── lookup_fixture_spec.rb
│ │ ├── lookup_spec.rb
│ │ ├── lstrip_spec.rb
│ │ ├── map_spec.rb
│ │ ├── match_spec.rb
│ │ ├── max_spec.rb
│ │ ├── min_spec.rb
│ │ ├── module_directory_spec.rb
│ │ ├── new_spec.rb
│ │ ├── next_spec.rb
│ │ ├── partition_spec.rb
│ │ ├── reduce_spec.rb
│ │ ├── regsubst_spec.rb
│ │ ├── require_spec.rb
│ │ ├── return_spec.rb
│ │ ├── reverse_each_spec.rb
│ │ ├── round_spec.rb
│ │ ├── rstrip_spec.rb
│ │ ├── scanf_spec.rb
│ │ ├── shared.rb
│ │ ├── size_spec.rb
│ │ ├── slice_spec.rb
│ │ ├── sort_spec.rb
│ │ ├── split_spec.rb
│ │ ├── step_spec.rb
│ │ ├── strftime_spec.rb
│ │ ├── strip_spec.rb
│ │ ├── then_spec.rb
│ │ ├── tree_each_spec.rb
│ │ ├── type_spec.rb
│ │ ├── unique_spec.rb
│ │ ├── unwrap_spec.rb
│ │ ├── upcase_spec.rb
│ │ ├── values_spec.rb
│ │ ├── versioncmp_spec.rb
│ │ └── with_spec.rb
│ ├── functions4_spec.rb
│ ├── gettext/
│ │ ├── config_spec.rb
│ │ └── module_loading_spec.rb
│ ├── graph/
│ │ ├── key_spec.rb
│ │ ├── rb_tree_map_spec.rb
│ │ ├── relationship_graph_spec.rb
│ │ ├── sequential_prioritizer_spec.rb
│ │ └── simple_graph_spec.rb
│ ├── hiera/
│ │ └── scope_spec.rb
│ ├── hiera_puppet_spec.rb
│ ├── http/
│ │ ├── client_spec.rb
│ │ ├── dns_spec.rb
│ │ ├── external_client_spec.rb
│ │ ├── factory_spec.rb
│ │ ├── pool_entry_spec.rb
│ │ ├── pool_spec.rb
│ │ ├── proxy_spec.rb
│ │ ├── resolver_spec.rb
│ │ ├── response_spec.rb
│ │ ├── service/
│ │ │ ├── ca_spec.rb
│ │ │ ├── compiler_spec.rb
│ │ │ ├── file_server_spec.rb
│ │ │ ├── puppetserver_spec.rb
│ │ │ └── report_spec.rb
│ │ ├── service_spec.rb
│ │ ├── session_spec.rb
│ │ └── site_spec.rb
│ ├── indirector/
│ │ ├── catalog/
│ │ │ ├── compiler_spec.rb
│ │ │ ├── json_spec.rb
│ │ │ ├── msgpack_spec.rb
│ │ │ ├── rest_spec.rb
│ │ │ ├── store_configs_spec.rb
│ │ │ └── yaml_spec.rb
│ │ ├── data_binding/
│ │ │ ├── hiera_spec.rb
│ │ │ └── none_spec.rb
│ │ ├── direct_file_server_spec.rb
│ │ ├── envelope_spec.rb
│ │ ├── exec_spec.rb
│ │ ├── face_spec.rb
│ │ ├── facts/
│ │ │ ├── facter_spec.rb
│ │ │ ├── json_spec.rb
│ │ │ ├── network_device_spec.rb
│ │ │ ├── rest_spec.rb
│ │ │ ├── store_configs_spec.rb
│ │ │ └── yaml_spec.rb
│ │ ├── file_bucket_file/
│ │ │ ├── file_spec.rb
│ │ │ ├── rest_spec.rb
│ │ │ └── selector_spec.rb
│ │ ├── file_content/
│ │ │ ├── file_server_spec.rb
│ │ │ ├── file_spec.rb
│ │ │ ├── rest_spec.rb
│ │ │ └── selector_spec.rb
│ │ ├── file_metadata/
│ │ │ ├── file_server_spec.rb
│ │ │ ├── file_spec.rb
│ │ │ ├── http_spec.rb
│ │ │ ├── rest_spec.rb
│ │ │ └── selector_spec.rb
│ │ ├── file_server_spec.rb
│ │ ├── hiera_spec.rb
│ │ ├── indirection_spec.rb
│ │ ├── json_spec.rb
│ │ ├── memory_spec.rb
│ │ ├── msgpack_spec.rb
│ │ ├── node/
│ │ │ ├── exec_spec.rb
│ │ │ ├── json_spec.rb
│ │ │ ├── memory_spec.rb
│ │ │ ├── msgpack_spec.rb
│ │ │ ├── plain_spec.rb
│ │ │ ├── rest_spec.rb
│ │ │ ├── store_configs_spec.rb
│ │ │ └── yaml_spec.rb
│ │ ├── none_spec.rb
│ │ ├── plain_spec.rb
│ │ ├── report/
│ │ │ ├── json_spec.rb
│ │ │ ├── msgpack_spec.rb
│ │ │ ├── processor_spec.rb
│ │ │ ├── rest_spec.rb
│ │ │ └── yaml_spec.rb
│ │ ├── request_spec.rb
│ │ ├── resource/
│ │ │ ├── ral_spec.rb
│ │ │ └── store_configs_spec.rb
│ │ ├── rest_spec.rb
│ │ ├── terminus_spec.rb
│ │ └── yaml_spec.rb
│ ├── indirector_spec.rb
│ ├── info_service_spec.rb
│ ├── interface/
│ │ ├── action_builder_spec.rb
│ │ ├── action_manager_spec.rb
│ │ ├── action_spec.rb
│ │ ├── documentation_spec.rb
│ │ ├── face_collection_spec.rb
│ │ ├── option_builder_spec.rb
│ │ └── option_spec.rb
│ ├── interface_spec.rb
│ ├── module_spec.rb
│ ├── module_tool/
│ │ ├── application_spec.rb
│ │ ├── applications/
│ │ │ ├── checksummer_spec.rb
│ │ │ ├── installer_spec.rb
│ │ │ ├── uninstaller_spec.rb
│ │ │ ├── unpacker_spec.rb
│ │ │ └── upgrader_spec.rb
│ │ ├── install_directory_spec.rb
│ │ ├── installed_modules_spec.rb
│ │ ├── metadata_spec.rb
│ │ ├── tar/
│ │ │ ├── gnu_spec.rb
│ │ │ └── mini_spec.rb
│ │ └── tar_spec.rb
│ ├── module_tool_spec.rb
│ ├── network/
│ │ ├── authconfig_spec.rb
│ │ ├── authorization_spec.rb
│ │ ├── format_handler_spec.rb
│ │ ├── format_spec.rb
│ │ ├── format_support_spec.rb
│ │ ├── formats_spec.rb
│ │ ├── http/
│ │ │ ├── api/
│ │ │ │ ├── indirected_routes_spec.rb
│ │ │ │ ├── master_spec.rb
│ │ │ │ └── server/
│ │ │ │ ├── v3/
│ │ │ │ │ └── environments_spec.rb
│ │ │ │ └── v3_spec.rb
│ │ │ ├── api_spec.rb
│ │ │ ├── connection_spec.rb
│ │ │ ├── error_spec.rb
│ │ │ ├── handler_spec.rb
│ │ │ ├── request_spec.rb
│ │ │ ├── response_spec.rb
│ │ │ └── route_spec.rb
│ │ ├── http_pool_spec.rb
│ │ └── uri_spec.rb
│ ├── node/
│ │ ├── environment_spec.rb
│ │ └── facts_spec.rb
│ ├── node_spec.rb
│ ├── other/
│ │ └── selinux_spec.rb
│ ├── parameter/
│ │ ├── boolean_spec.rb
│ │ ├── package_options_spec.rb
│ │ ├── path_spec.rb
│ │ ├── value_collection_spec.rb
│ │ └── value_spec.rb
│ ├── parameter_spec.rb
│ ├── parser/
│ │ ├── ast/
│ │ │ ├── block_expression_spec.rb
│ │ │ └── leaf_spec.rb
│ │ ├── compiler_spec.rb
│ │ ├── files_spec.rb
│ │ ├── functions/
│ │ │ ├── create_resources_spec.rb
│ │ │ ├── digest_spec.rb
│ │ │ ├── fail_spec.rb
│ │ │ ├── file_spec.rb
│ │ │ ├── fqdn_rand_spec.rb
│ │ │ ├── generate_spec.rb
│ │ │ ├── hiera_array_spec.rb
│ │ │ ├── hiera_hash_spec.rb
│ │ │ ├── hiera_include_spec.rb
│ │ │ ├── hiera_spec.rb
│ │ │ ├── inline_template_spec.rb
│ │ │ ├── lookup_spec.rb
│ │ │ ├── realize_spec.rb
│ │ │ ├── regsubst_spec.rb
│ │ │ ├── scanf_spec.rb
│ │ │ ├── shellquote_spec.rb
│ │ │ ├── split_spec.rb
│ │ │ ├── sprintf_spec.rb
│ │ │ ├── tag_spec.rb
│ │ │ ├── tagged_spec.rb
│ │ │ ├── template_spec.rb
│ │ │ └── versioncmp_spec.rb
│ │ ├── functions_spec.rb
│ │ ├── relationship_spec.rb
│ │ ├── resource/
│ │ │ └── param_spec.rb
│ │ ├── resource_spec.rb
│ │ ├── scope_spec.rb
│ │ ├── templatewrapper_spec.rb
│ │ └── type_loader_spec.rb
│ ├── plan_spec.rb
│ ├── pops/
│ │ ├── adaptable_spec.rb
│ │ ├── benchmark_spec.rb
│ │ ├── containment_spec.rb
│ │ ├── evaluator/
│ │ │ ├── access_ops_spec.rb
│ │ │ ├── arithmetic_ops_spec.rb
│ │ │ ├── basic_expressions_spec.rb
│ │ │ ├── collections_ops_spec.rb
│ │ │ ├── comparison_ops_spec.rb
│ │ │ ├── conditionals_spec.rb
│ │ │ ├── deferred_resolver_spec.rb
│ │ │ ├── evaluating_parser_spec.rb
│ │ │ ├── evaluator_rspec_helper.rb
│ │ │ ├── json_strict_literal_evaluator_spec.rb
│ │ │ ├── literal_evaluator_spec.rb
│ │ │ ├── logical_ops_spec.rb
│ │ │ ├── runtime3_converter_spec.rb
│ │ │ ├── string_interpolation_spec.rb
│ │ │ └── variables_spec.rb
│ │ ├── factory_rspec_helper.rb
│ │ ├── factory_spec.rb
│ │ ├── issues_spec.rb
│ │ ├── label_provider_spec.rb
│ │ ├── loaders/
│ │ │ ├── dependency_loader_spec.rb
│ │ │ ├── environment_loader_spec.rb
│ │ │ ├── loader_paths_spec.rb
│ │ │ ├── loader_spec.rb
│ │ │ ├── loaders_spec.rb
│ │ │ ├── module_loaders_spec.rb
│ │ │ └── static_loader_spec.rb
│ │ ├── lookup/
│ │ │ ├── context_spec.rb
│ │ │ ├── interpolation_spec.rb
│ │ │ └── lookup_spec.rb
│ │ ├── merge_strategy_spec.rb
│ │ ├── migration_spec.rb
│ │ ├── model/
│ │ │ ├── model_spec.rb
│ │ │ └── pn_transformer_spec.rb
│ │ ├── parser/
│ │ │ ├── epp_parser_spec.rb
│ │ │ ├── evaluating_parser_spec.rb
│ │ │ ├── lexer2_spec.rb
│ │ │ ├── locator_spec.rb
│ │ │ ├── parse_basic_expressions_spec.rb
│ │ │ ├── parse_calls_spec.rb
│ │ │ ├── parse_conditionals_spec.rb
│ │ │ ├── parse_containers_spec.rb
│ │ │ ├── parse_functions_spec.rb
│ │ │ ├── parse_heredoc_spec.rb
│ │ │ ├── parse_lambda_spec.rb
│ │ │ ├── parse_plan_spec.rb
│ │ │ ├── parse_resource_spec.rb
│ │ │ ├── parser_rspec_helper.rb
│ │ │ ├── parser_spec.rb
│ │ │ ├── parsing_typed_parameters_spec.rb
│ │ │ └── pn_parser_spec.rb
│ │ ├── pn_spec.rb
│ │ ├── puppet_stack_spec.rb
│ │ ├── resource/
│ │ │ └── resource_type_impl_spec.rb
│ │ ├── serialization/
│ │ │ ├── packer_spec.rb
│ │ │ ├── serialization_spec.rb
│ │ │ ├── to_from_hr_spec.rb
│ │ │ └── to_stringified_spec.rb
│ │ ├── time/
│ │ │ ├── timespan_spec.rb
│ │ │ └── timestamp_spec.rb
│ │ ├── types/
│ │ │ ├── class_loader_spec.rb
│ │ │ ├── deferred_spec.rb
│ │ │ ├── error_spec.rb
│ │ │ ├── iterable_spec.rb
│ │ │ ├── p_binary_type_spec.rb
│ │ │ ├── p_init_type_spec.rb
│ │ │ ├── p_object_type_spec.rb
│ │ │ ├── p_sem_ver_type_spec.rb
│ │ │ ├── p_sensitive_type_spec.rb
│ │ │ ├── p_timespan_type_spec.rb
│ │ │ ├── p_timestamp_type_spec.rb
│ │ │ ├── p_type_set_type_spec.rb
│ │ │ ├── p_uri_type_spec.rb
│ │ │ ├── recursion_guard_spec.rb
│ │ │ ├── ruby_generator_spec.rb
│ │ │ ├── string_converter_spec.rb
│ │ │ ├── task_spec.rb
│ │ │ ├── type_acceptor_spec.rb
│ │ │ ├── type_asserter_spec.rb
│ │ │ ├── type_calculator_spec.rb
│ │ │ ├── type_factory_spec.rb
│ │ │ ├── type_formatter_spec.rb
│ │ │ ├── type_mismatch_describer_spec.rb
│ │ │ ├── type_parser_spec.rb
│ │ │ └── types_spec.rb
│ │ ├── utils_spec.rb
│ │ ├── validation_spec.rb
│ │ ├── validator/
│ │ │ └── validator_spec.rb
│ │ └── visitor_spec.rb
│ ├── property/
│ │ ├── boolean_spec.rb
│ │ ├── ensure_spec.rb
│ │ ├── keyvalue_spec.rb
│ │ ├── list_spec.rb
│ │ └── ordered_list_spec.rb
│ ├── property_spec.rb
│ ├── provider/
│ │ ├── README.markdown
│ │ ├── aix_object_spec.rb
│ │ ├── command_spec.rb
│ │ ├── exec/
│ │ │ ├── posix_spec.rb
│ │ │ ├── shell_spec.rb
│ │ │ └── windows_spec.rb
│ │ ├── exec_spec.rb
│ │ ├── file/
│ │ │ ├── posix_spec.rb
│ │ │ └── windows_spec.rb
│ │ ├── group/
│ │ │ ├── aix_spec.rb
│ │ │ ├── directoryservice_spec.rb
│ │ │ ├── groupadd_spec.rb
│ │ │ ├── ldap_spec.rb
│ │ │ ├── pw_spec.rb
│ │ │ └── windows_adsi_spec.rb
│ │ ├── ldap_spec.rb
│ │ ├── nameservice/
│ │ │ └── directoryservice_spec.rb
│ │ ├── nameservice_spec.rb
│ │ ├── package/
│ │ │ ├── aix_spec.rb
│ │ │ ├── appdmg_spec.rb
│ │ │ ├── apt_spec.rb
│ │ │ ├── aptitude_spec.rb
│ │ │ ├── aptrpm_spec.rb
│ │ │ ├── base_spec.rb
│ │ │ ├── dnf_spec.rb
│ │ │ ├── dnfmodule_spec.rb
│ │ │ ├── dpkg_spec.rb
│ │ │ ├── freebsd_spec.rb
│ │ │ ├── gem_spec.rb
│ │ │ ├── hpux_spec.rb
│ │ │ ├── macports_spec.rb
│ │ │ ├── nim_spec.rb
│ │ │ ├── openbsd_spec.rb
│ │ │ ├── opkg_spec.rb
│ │ │ ├── pacman_spec.rb
│ │ │ ├── pip2_spec.rb
│ │ │ ├── pip3_spec.rb
│ │ │ ├── pip_spec.rb
│ │ │ ├── pkg_spec.rb
│ │ │ ├── pkgdmg_spec.rb
│ │ │ ├── pkgin_spec.rb
│ │ │ ├── pkgng_spec.rb
│ │ │ ├── pkgutil_spec.rb
│ │ │ ├── portage_spec.rb
│ │ │ ├── puppet_gem_spec.rb
│ │ │ ├── puppetserver_gem_spec.rb
│ │ │ ├── rpm_spec.rb
│ │ │ ├── sun_spec.rb
│ │ │ ├── tdnf_spec.rb
│ │ │ ├── up2date_spec.rb
│ │ │ ├── urpmi_spec.rb
│ │ │ ├── windows/
│ │ │ │ ├── exe_package_spec.rb
│ │ │ │ ├── msi_package_spec.rb
│ │ │ │ └── package_spec.rb
│ │ │ ├── windows_spec.rb
│ │ │ ├── xbps_spec.rb
│ │ │ ├── yum_spec.rb
│ │ │ └── zypper_spec.rb
│ │ ├── package_targetable_spec.rb
│ │ ├── parsedfile_spec.rb
│ │ ├── service/
│ │ │ ├── base_spec.rb
│ │ │ ├── bsd_spec.rb
│ │ │ ├── daemontools_spec.rb
│ │ │ ├── debian_spec.rb
│ │ │ ├── freebsd_spec.rb
│ │ │ ├── gentoo_spec.rb
│ │ │ ├── init_spec.rb
│ │ │ ├── launchd_spec.rb
│ │ │ ├── openbsd_spec.rb
│ │ │ ├── openrc_spec.rb
│ │ │ ├── openwrt_spec.rb
│ │ │ ├── rcng_spec.rb
│ │ │ ├── redhat_spec.rb
│ │ │ ├── runit_spec.rb
│ │ │ ├── smf_spec.rb
│ │ │ ├── src_spec.rb
│ │ │ ├── systemd_spec.rb
│ │ │ ├── upstart_spec.rb
│ │ │ └── windows_spec.rb
│ │ └── user/
│ │ ├── aix_spec.rb
│ │ ├── directoryservice_spec.rb
│ │ ├── hpux_spec.rb
│ │ ├── ldap_spec.rb
│ │ ├── openbsd_spec.rb
│ │ ├── pw_spec.rb
│ │ ├── user_role_add_spec.rb
│ │ ├── useradd_spec.rb
│ │ └── windows_adsi_spec.rb
│ ├── provider_spec.rb
│ ├── puppet_pal_2pec.rb
│ ├── puppet_pal_catalog_spec.rb
│ ├── puppet_pal_spec.rb
│ ├── puppet_spec.rb
│ ├── relationship_spec.rb
│ ├── reports/
│ │ ├── http_spec.rb
│ │ └── store_spec.rb
│ ├── reports_spec.rb
│ ├── resource/
│ │ ├── catalog_spec.rb
│ │ ├── status_spec.rb
│ │ ├── type_collection_spec.rb
│ │ └── type_spec.rb
│ ├── resource_spec.rb
│ ├── scheduler/
│ │ ├── job_spec.rb
│ │ ├── scheduler_spec.rb
│ │ └── splay_job_spec.rb
│ ├── settings/
│ │ ├── array_setting_spec.rb
│ │ ├── autosign_setting_spec.rb
│ │ ├── certificate_revocation_setting_spec.rb
│ │ ├── config_file_spec.rb
│ │ ├── directory_setting_spec.rb
│ │ ├── duration_setting_spec.rb
│ │ ├── enum_setting_spec.rb
│ │ ├── environment_conf_spec.rb
│ │ ├── file_setting_spec.rb
│ │ ├── http_extra_headers_spec.rb
│ │ ├── ini_file_spec.rb
│ │ ├── integer_setting_spec.rb
│ │ ├── path_setting_spec.rb
│ │ ├── port_setting_spec.rb
│ │ ├── priority_setting_spec.rb
│ │ ├── server_list_setting_spec.rb
│ │ ├── string_setting_spec.rb
│ │ ├── terminus_setting_spec.rb
│ │ └── value_translator_spec.rb
│ ├── settings_spec.rb
│ ├── ssl/
│ │ ├── base_spec.rb
│ │ ├── certificate_request_attributes_spec.rb
│ │ ├── certificate_request_spec.rb
│ │ ├── certificate_signer_spec.rb
│ │ ├── certificate_spec.rb
│ │ ├── digest_spec.rb
│ │ ├── oids_spec.rb
│ │ ├── ssl_provider_spec.rb
│ │ ├── state_machine_spec.rb
│ │ └── verifier_spec.rb
│ ├── task_spec.rb
│ ├── test/
│ │ └── test_helper_spec.rb
│ ├── transaction/
│ │ ├── additional_resource_generator_spec.rb
│ │ ├── event_manager_spec.rb
│ │ ├── event_spec.rb
│ │ ├── persistence_spec.rb
│ │ ├── report_spec.rb
│ │ └── resource_harness_spec.rb
│ ├── transaction_spec.rb
│ ├── type/
│ │ ├── README.markdown
│ │ ├── component_spec.rb
│ │ ├── exec_spec.rb
│ │ ├── file/
│ │ │ ├── checksum_spec.rb
│ │ │ ├── checksum_value_spec.rb
│ │ │ ├── content_spec.rb
│ │ │ ├── ctime_spec.rb
│ │ │ ├── ensure_spec.rb
│ │ │ ├── group_spec.rb
│ │ │ ├── mode_spec.rb
│ │ │ ├── mtime_spec.rb
│ │ │ ├── owner_spec.rb
│ │ │ ├── selinux_spec.rb
│ │ │ ├── source_spec.rb
│ │ │ └── type_spec.rb
│ │ ├── file_spec.rb
│ │ ├── filebucket_spec.rb
│ │ ├── group_spec.rb
│ │ ├── noop_metaparam_spec.rb
│ │ ├── package/
│ │ │ └── package_settings_spec.rb
│ │ ├── package_spec.rb
│ │ ├── resources_spec.rb
│ │ ├── schedule_spec.rb
│ │ ├── service_spec.rb
│ │ ├── stage_spec.rb
│ │ ├── tidy_spec.rb
│ │ ├── user_spec.rb
│ │ └── whit_spec.rb
│ ├── type_spec.rb
│ ├── util/
│ │ ├── at_fork_spec.rb
│ │ ├── autoload_spec.rb
│ │ ├── backups_spec.rb
│ │ ├── character_encoding_spec.rb
│ │ ├── checksums_spec.rb
│ │ ├── colors_spec.rb
│ │ ├── command_line_spec.rb
│ │ ├── command_line_utils/
│ │ │ └── puppet_option_parser_spec.rb
│ │ ├── constant_inflector_spec.rb
│ │ ├── diff_spec.rb
│ │ ├── docs_spec.rb
│ │ ├── errors_spec.rb
│ │ ├── execution_spec.rb
│ │ ├── execution_stub_spec.rb
│ │ ├── feature_spec.rb
│ │ ├── filetype_spec.rb
│ │ ├── inifile_spec.rb
│ │ ├── json_lockfile_spec.rb
│ │ ├── json_spec.rb
│ │ ├── ldap/
│ │ │ ├── connection_spec.rb
│ │ │ ├── generator_spec.rb
│ │ │ └── manager_spec.rb
│ │ ├── lockfile_spec.rb
│ │ ├── log/
│ │ │ └── destinations_spec.rb
│ │ ├── log_spec.rb
│ │ ├── logging_spec.rb
│ │ ├── metric_spec.rb
│ │ ├── monkey_patches_spec.rb
│ │ ├── multi_match_spec.rb
│ │ ├── network_device/
│ │ │ ├── config_spec.rb
│ │ │ └── transport/
│ │ │ └── base_spec.rb
│ │ ├── network_device_spec.rb
│ │ ├── package/
│ │ │ └── version/
│ │ │ ├── debian_spec.rb
│ │ │ ├── pip_spec.rb
│ │ │ ├── range_spec.rb
│ │ │ └── rpm_spec.rb
│ │ ├── package_spec.rb
│ │ ├── pidlock_spec.rb
│ │ ├── plist_spec.rb
│ │ ├── posix_spec.rb
│ │ ├── profiler/
│ │ │ ├── aggregate_spec.rb
│ │ │ ├── around_profiler_spec.rb
│ │ │ ├── logging_spec.rb
│ │ │ ├── object_counts_spec.rb
│ │ │ └── wall_clock_spec.rb
│ │ ├── profiler_spec.rb
│ │ ├── rdoc_spec.rb
│ │ ├── reference_spec.rb
│ │ ├── resource_template_spec.rb
│ │ ├── retry_action_spec.rb
│ │ ├── rpm_compare_spec.rb
│ │ ├── rubygems_spec.rb
│ │ ├── run_mode_spec.rb
│ │ ├── selinux_spec.rb
│ │ ├── skip_tags_spec.rb
│ │ ├── splayer_spec.rb
│ │ ├── storage_spec.rb
│ │ ├── suidmanager_spec.rb
│ │ ├── symbolic_file_mode_spec.rb
│ │ ├── tag_set_spec.rb
│ │ ├── tagging_spec.rb
│ │ ├── terminal_spec.rb
│ │ ├── user_attr_spec.rb
│ │ ├── warnings_spec.rb
│ │ ├── watched_file_spec.rb
│ │ ├── watcher/
│ │ │ └── periodic_watcher_spec.rb
│ │ ├── watcher_spec.rb
│ │ ├── windows/
│ │ │ ├── access_control_entry_spec.rb
│ │ │ ├── access_control_list_spec.rb
│ │ │ ├── adsi_spec.rb
│ │ │ ├── api_types_spec.rb
│ │ │ ├── eventlog_spec.rb
│ │ │ ├── file_spec.rb
│ │ │ ├── root_certs_spec.rb
│ │ │ ├── security_descriptor_spec.rb
│ │ │ ├── service_spec.rb
│ │ │ ├── sid_spec.rb
│ │ │ └── string_spec.rb
│ │ ├── windows_spec.rb
│ │ └── yaml_spec.rb
│ ├── util_spec.rb
│ ├── version_spec.rb
│ └── x509/
│ ├── cert_provider_spec.rb
│ └── pem_store_spec.rb
├── util/
│ ├── README_UTIL.md
│ ├── binary_search_specs.rb
│ ├── rspec_grouper
│ └── rspec_runner
└── yardoc/
└── templates/
└── default/
├── method_details/
│ └── html/
│ ├── method_signature.erb
│ └── setup.rb
└── module/
└── html/
└── item_summary.erb
Showing preview only (1,047K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (13788 symbols across 1423 files)
FILE: acceptance/fixtures/MockInstaller.cs
class MockInstaller (line 12) | public class MockInstaller
method Main (line 13) | public static void Main()
FILE: acceptance/fixtures/MockService.cs
class MockService (line 46) | public class MockService : ServiceBase {
method Main (line 47) | public static void Main() {
method MockService (line 51) | public MockService() {
method StubPendingTransition (line 57) | private void StubPendingTransition(int seconds) {
method OnStart (line 62) | protected override void OnStart(string [] args) {
method OnPause (line 66) | protected override void OnPause() {
method OnContinue (line 70) | protected override void OnContinue() {
method OnStop (line 74) | protected override void OnStop() {
FILE: acceptance/fixtures/MockUninstaller.cs
class MockInstaller (line 12) | public class MockInstaller
method Main (line 13) | public static void Main()
FILE: acceptance/lib/puppet/acceptance/agent_fqdn_utils.rb
type Puppet (line 1) | module Puppet
type Acceptance (line 2) | module Acceptance
type AgentFqdnUtils (line 3) | module AgentFqdnUtils
function agent_to_fqdn (line 8) | def agent_to_fqdn(agent)
FILE: acceptance/lib/puppet/acceptance/aix_util.rb
type Puppet (line 1) | module Puppet
type Acceptance (line 2) | module Acceptance
type AixUtil (line 3) | module AixUtil
function to_kv_array (line 4) | def to_kv_array(attributes)
function assert_object_attributes_on (line 8) | def assert_object_attributes_on(host, object_get, object, expected...
function assert_puppet_changed_object_attributes (line 29) | def assert_puppet_changed_object_attributes(result, object_resourc...
function object_resource_manifest (line 43) | def object_resource_manifest(object_resource, object, params)
function run_attribute_management_tests (line 58) | def run_attribute_management_tests(object_resource, id_property, i...
FILE: acceptance/lib/puppet/acceptance/classifier_utils.rb
type Puppet (line 8) | module Puppet
type Acceptance (line 9) | module Acceptance
type ClassifierUtils (line 10) | module ClassifierUtils
function tmpdirs (line 16) | def self.tmpdirs
function get_production_environment_group_uuid (line 23) | def get_production_environment_group_uuid
function create_group_for_nodes (line 45) | def create_group_for_nodes(nodes, group_hash)
function classify_nodes_as_agent_specified (line 87) | def classify_nodes_as_agent_specified(nodes)
function classify_nodes_as_agent_specified_if_classifer_present (line 96) | def classify_nodes_as_agent_specified_if_classifer_present
function classifier_host (line 108) | def classifier_host
function master_cert (line 116) | def master_cert
function master_key (line 120) | def master_key
function master_ca_cert_file (line 124) | def master_ca_cert_file
function cleanup_local_classifier_certs (line 139) | def cleanup_local_classifier_certs
function clear_classifier_utils_cache (line 145) | def clear_classifier_utils_cache
function classifier_handle (line 152) | def classifier_handle(options = {})
type Classifier (line 183) | module Classifier
function log_output (line 196) | def log_output
FILE: acceptance/lib/puppet/acceptance/classifier_utils_spec.rb
type ClassifierUtilsSpec (line 6) | module ClassifierUtilsSpec
class ATestCase (line 9) | class ATestCase < Beaker::TestCase
method initialize (line 13) | def initialize
method logger (line 18) | def logger
method teardown (line 22) | def teardown
class Logger (line 25) | class Logger
method initialize (line 28) | def initialize
method info (line 32) | def info(log)
FILE: acceptance/lib/puppet/acceptance/common_utils.rb
type Puppet (line 1) | module Puppet
type Acceptance (line 2) | module Acceptance
type BeakerUtils (line 3) | module BeakerUtils
function assert_matching_arrays (line 5) | def assert_matching_arrays(expected, actual, message = "")
type PackageUtils (line 10) | module PackageUtils
function package_present (line 11) | def package_present(host, package, version = nil)
function package_absent (line 15) | def package_absent(host, package, cmdline_args = '', opts = {})
type CommandUtils (line 20) | module CommandUtils
function ruby_command (line 21) | def ruby_command(host)
function gem_command (line 26) | def gem_command(host, type='aio')
type ManifestUtils (line 40) | module ManifestUtils
function resource_manifest (line 41) | def resource_manifest(resource, title, params = {})
function file_manifest (line 58) | def file_manifest(path, params = {})
function user_manifest (line 62) | def user_manifest(username, params = {})
FILE: acceptance/lib/puppet/acceptance/environment_utils.rb
type Puppet (line 3) | module Puppet
type Acceptance (line 4) | module Acceptance
type EnvironmentUtils (line 5) | module EnvironmentUtils
function generate_environment (line 17) | def generate_environment(options)
function generate_module (line 42) | def generate_module(module_name, env_name, modulepath)
function environment_manifest (line 64) | def environment_manifest(testdir)
function get_directory_hash_from (line 158) | def get_directory_hash_from(host, path)
function safely_shadow_directory_contents_and_yield (line 169) | def safely_shadow_directory_contents_and_yield(host, original_path...
function use_an_environment (line 226) | def use_an_environment(environment, description, master_opts, envd...
function review_results (line 277) | def review_results(results, expectations)
function assert_review (line 337) | def assert_review(review)
function random_string (line 350) | def random_string
function environmentpath (line 357) | def environmentpath
function mk_tmp_environment_with_teardown (line 366) | def mk_tmp_environment_with_teardown(host, environment)
function create_sitepp (line 389) | def create_sitepp(host, tmp_environment, file_content)
FILE: acceptance/lib/puppet/acceptance/environment_utils_spec.rb
type EnvironmentUtilsSpec (line 4) | module EnvironmentUtilsSpec
class ATestCase (line 6) | class ATestCase
method step (line 9) | def step(str)
method on (line 13) | def on(host, command, options = nil)
class TestResult (line 19) | class TestResult
method initialize (line 22) | def initialize(stdout)
class TestHost (line 27) | class TestHost
method initialize (line 30) | def initialize(directories, attributes = {})
method do (line 36) | def do(command, options)
method [] (line 43) | def [](param)
FILE: acceptance/lib/puppet/acceptance/i18n_utils.rb
type Puppet (line 1) | module Puppet
type Acceptance (line 2) | module Acceptance
type I18nUtils (line 3) | module I18nUtils
function enable_locale_language (line 10) | def enable_locale_language(agent, language)
function language_name (line 29) | def language_name(agent, language)
FILE: acceptance/lib/puppet/acceptance/i18ndemo_utils.rb
type Puppet (line 1) | module Puppet
type Acceptance (line 2) | module Acceptance
type I18nDemoUtils (line 3) | module I18nDemoUtils
function configure_master_system_locale (line 11) | def configure_master_system_locale(language)
function reset_master_system_locale (line 19) | def reset_master_system_locale
function install_i18n_demo_module (line 25) | def install_i18n_demo_module(node, environment=nil)
function uninstall_i18n_demo_module (line 30) | def uninstall_i18n_demo_module(node, environment=nil)
FILE: acceptance/lib/puppet/acceptance/module_utils.rb
type Puppet (line 1) | module Puppet
type Acceptance (line 2) | module Acceptance
type ModuleUtils (line 3) | module ModuleUtils
function get_modulepaths_for_host (line 17) | def get_modulepaths_for_host(host)
function get_default_modulepath_for_host (line 30) | def get_default_modulepath_for_host(host)
function get_installed_modules_for_host (line 46) | def get_installed_modules_for_host(host)
function get_installed_modules_for_hosts (line 78) | def get_installed_modules_for_hosts(hosts)
function rm_installed_modules_from_hosts (line 106) | def rm_installed_modules_from_hosts(beginning_hash, ending_hash)
function semver_to_i (line 123) | def semver_to_i( semver )
function semver_cmp (line 137) | def semver_cmp( semver1, semver2 )
function assert_module_installed_ui (line 155) | def assert_module_installed_ui( stdout, module_author, module_name...
function assert_module_installed_on_disk (line 175) | def assert_module_installed_on_disk(host, module_name, moduledir=nil)
function parse_ls (line 225) | def parse_ls(line)
function assert_module_not_installed_on_disk (line 253) | def assert_module_not_installed_on_disk(host, module_name, moduled...
function generate_base_directory_environments (line 272) | def generate_base_directory_environments(tmpdir)
FILE: acceptance/lib/puppet/acceptance/puppet_type_test_tools.rb
type Puppet (line 3) | module Puppet
type Acceptance (line 4) | module Acceptance
type PuppetTypeTestTools (line 5) | module PuppetTypeTestTools
function generate_manifest (line 13) | def generate_manifest(test_resources)
function generate_assertions (line 33) | def generate_assertions(test_resources)
function run_assertions (line 82) | def run_assertions(assertions = '', result)
FILE: acceptance/lib/puppet/acceptance/puppet_type_test_tools_spec.rb
type Puppet (line 6) | module Puppet
type Acceptance (line 7) | module Acceptance
FILE: acceptance/lib/puppet/acceptance/rpm_util.rb
type Puppet (line 1) | module Puppet
type Acceptance (line 2) | module Acceptance
type RpmUtils (line 3) | module RpmUtils
function rpm_provider (line 8) | def rpm_provider(agent)
function setup (line 13) | def setup(agent)
function clean_rpm (line 37) | def clean_rpm(agent, o={})
function setup_rpm (line 45) | def setup_rpm(agent, o={})
function send_rpm (line 61) | def send_rpm(agent, o={})
FILE: acceptance/lib/puppet/acceptance/service_utils.rb
type Puppet (line 3) | module Puppet
type Acceptance (line 4) | module Acceptance
type ServiceUtils (line 5) | module ServiceUtils
function supports_systemd? (line 10) | def supports_systemd?(host)
function service_manifest (line 22) | def service_manifest(service, status)
function ensure_service_change_on_host (line 39) | def ensure_service_change_on_host(host, service, status)
function ensure_service_idempotent_on_host (line 57) | def ensure_service_idempotent_on_host(host, service, status)
function ensure_service_on_host (line 72) | def ensure_service_on_host(host, service, status, &block)
function assert_service_status_on_host (line 85) | def assert_service_status_on_host(host, service, status, &block)
function refresh_service_on_host (line 103) | def refresh_service_on_host(host, service)
function run_nonexistent_service_tests (line 118) | def run_nonexistent_service_tests(service)
FILE: acceptance/lib/puppet/acceptance/solaris_util.rb
type Puppet (line 1) | module Puppet
type Acceptance (line 2) | module Acceptance
type IPSUtils (line 3) | module IPSUtils
function clean (line 4) | def clean(agent, o={})
function setup (line 11) | def setup(agent, o={})
function setup_fakeroot (line 18) | def setup_fakeroot(agent, o={})
function setup_fakeroot2 (line 26) | def setup_fakeroot2(agent, o={})
function send_pkg2 (line 34) | def send_pkg2(agent, o={})
function send_pkg (line 44) | def send_pkg(agent, o={})
function set_publisher (line 51) | def set_publisher(agent, o={})
type SMFUtils (line 57) | module SMFUtils
function clean (line 58) | def clean(agent, o={})
function setup (line 72) | def setup(agent, o={})
function setup_methodscript (line 76) | def setup_methodscript(agent, o={})
FILE: acceptance/lib/puppet/acceptance/static_catalog_utils.rb
type Puppet (line 1) | module Puppet
type Acceptance (line 2) | module Acceptance
type StaticCatalogUtils (line 3) | module StaticCatalogUtils
function setup_puppetserver_code_id_scripts (line 10) | def setup_puppetserver_code_id_scripts(master, scriptdir)
function cleanup_puppetserver_code_id_scripts (line 46) | def cleanup_puppetserver_code_id_scripts(master, scriptdir)
FILE: acceptance/lib/puppet/acceptance/temp_file_utils.rb
type Puppet (line 1) | module Puppet
type Acceptance (line 2) | module Acceptance
type TempFileUtils (line 3) | module TempFileUtils
function root_user (line 8) | def root_user(host)
function root_group (line 18) | def root_group(host)
function create_test_file (line 42) | def create_test_file(host, file_rel_path, file_content, options = {})
function get_test_file_path (line 81) | def get_test_file_path(host, file_rel_path)
function test_file_exists? (line 92) | def test_file_exists?(host, file_rel_path)
function file_exists? (line 96) | def file_exists?(host, file_path)
function dir_exists? (line 103) | def dir_exists?(host, dir_path)
function link_exists? (line 110) | def link_exists?(host, link_path)
function file_contents (line 117) | def file_contents(host, file_path)
function tmpdir (line 123) | def tmpdir(host, basename)
function mkdirs (line 130) | def mkdirs(host, dir_path)
function chown (line 134) | def chown(host, owner, group, path)
function chmod (line 138) | def chmod(host, mode, path)
function stat (line 146) | def stat(host, path)
function initialize_temp_dirs (line 156) | def initialize_temp_dirs()
function remove_temp_dirs (line 170) | def remove_temp_dirs()
FILE: acceptance/lib/puppet/acceptance/windows_utils.rb
type Puppet (line 3) | module Puppet
type Acceptance (line 4) | module Acceptance
type WindowsUtils (line 5) | module WindowsUtils
function profile_base (line 9) | def profile_base(agent)
function assert_password_matches_on (line 18) | def assert_password_matches_on(host, username, password, msg = nil)
function deny_administrator_access_to (line 28) | def deny_administrator_access_to(host, filepath)
FILE: acceptance/lib/puppet/acceptance/windows_utils/package_installer.rb
type Puppet (line 1) | module Puppet
type Acceptance (line 2) | module Acceptance
type WindowsUtils (line 3) | module WindowsUtils
function create_mock_package (line 6) | def create_mock_package(host, tmpdir, config = {}, installer_file ...
function build_mock_exe (line 42) | def build_mock_exe(host, destination, code)
function package_installed? (line 58) | def package_installed?(host, name)
FILE: acceptance/lib/puppet/acceptance/windows_utils/service.rb
type Puppet (line 1) | module Puppet
type Acceptance (line 2) | module Acceptance
type WindowsUtils (line 3) | module WindowsUtils
function setup_service (line 6) | def setup_service(host, config = {}, service_file = 'MockService.cs')
function delete_service (line 60) | def delete_service(host, name)
function assert_service_properties_on (line 81) | def assert_service_properties_on(host, name, properties = {})
function assert_service_startmode_delayed (line 99) | def assert_service_startmode_delayed(host, name)
FILE: acceptance/teardown/common/099_Archive_Logs.rb
function file_glob (line 3) | def file_glob(host, path)
FILE: acceptance/tests/aix/aix_package_provider.rb
function assert_package_version (line 10) | def assert_package_version(package, expected_version)
function get_package_manifest (line 20) | def get_package_manifest(package, version, sourcedir)
FILE: acceptance/tests/aix/nim_package_provider.rb
function assert_package_version (line 19) | def assert_package_version(package, expected_version)
function get_manifest (line 29) | def get_manifest(package, ensure_value)
function test_apply (line 39) | def test_apply(package_name, ensure_value, expected_version)
FILE: acceptance/tests/direct_puppet/catalog_uuid_correlates_catalogs_with_reports.rb
function remove_reports_on_master (line 10) | def remove_reports_on_master(master_reportdir, agent_node_name)
function get_catalog_uuid_from_cached_catalog (line 14) | def get_catalog_uuid_from_cached_catalog(host, agent_vardir, agent_node_...
function get_catalog_uuid_from_report (line 22) | def get_catalog_uuid_from_report(master_reportdir, agent_node_name)
FILE: acceptance/tests/environment/can_enumerate_environments.rb
function server_port (line 9) | def server_port(agent)
function setting_on (line 13) | def setting_on(host, section, name)
function full_path (line 17) | def full_path(host, path)
function curl_master_from (line 25) | def curl_master_from(agent, path, headers = '', &block)
FILE: acceptance/tests/environment/custom_type_provider_from_same_environment.rb
function provider_content (line 45) | def provider_content(file_file_content, type_name, provider_name)
FILE: acceptance/tests/environment/use_environment_from_environmentpath.rb
function generate_environment (line 13) | def generate_environment(path_to_env, environment)
function generate_module_content (line 21) | def generate_module_content(module_name, options = {})
function generate_site_manifest (line 64) | def generate_site_manifest(path_to_manifest, *modules_to_include)
function run_with_environment (line 117) | def run_with_environment(agent, environment, options = {})
FILE: acceptance/tests/loader/autoload_from_resource_type_decl.rb
function empty_execution_log_file (line 11) | def empty_execution_log_file(host, path)
FILE: acceptance/tests/lookup/lookup.rb
function mod_manifest_entry (line 56) | def mod_manifest_entry(module_name = nil, testdir, module_data_implied_key,
function mod_manifest_metadata_json (line 84) | def mod_manifest_metadata_json(module_name = nil, testdir)
FILE: acceptance/tests/modulepath.rb
function beacon_type (line 7) | def beacon_type(message)
function global_modules (line 21) | def global_modules(host)
function vendor_modules (line 29) | def vendor_modules(host)
FILE: acceptance/tests/parser_functions/calling_all_functions.rb
function manifest_call_each_function_from_array (line 8) | def manifest_call_each_function_from_array(functions)
FILE: acceptance/tests/parser_functions/hiera_in_templates.rb
function create_environment (line 45) | def create_environment(osfamilies, tmp_dirs)
function find_osfamilies (line 271) | def find_osfamilies
function find_tmp_dirs (line 281) | def find_tmp_dirs
FILE: acceptance/tests/reports/cached_catalog_status_in_report.rb
function remove_reports_on_master (line 12) | def remove_reports_on_master(master_reportdir, agent_node_name)
FILE: acceptance/tests/reports/corrective_change_via_puppet.rb
function create_manifest_for_file_resource (line 44) | def create_manifest_for_file_resource(file_resource, file_contents, envi...
FILE: acceptance/tests/reports/submission.rb
function puppetdb (line 9) | def puppetdb
function sleep_until_queue_empty (line 13) | def sleep_until_queue_empty(timeout=60)
function query_last_report_time_on (line 32) | def query_last_report_time_on(agent)
FILE: acceptance/tests/resource/exec/should_run_bad_command.rb
function sleepy_daemon_script (line 6) | def sleepy_daemon_script(agent)
function stop_sleep_process (line 22) | def stop_sleep_process(targets, accept_no_pid_found = false)
FILE: acceptance/tests/resource/exec/should_run_command.rb
function before (line 8) | def before(agent)
function after (line 13) | def after(agent, touched)
FILE: acceptance/tests/resource/exec/should_run_command_as_user.rb
function random_username (line 10) | def random_username
function exec_resource_manifest (line 14) | def exec_resource_manifest(params = {})
FILE: acceptance/tests/resource/exec/should_run_command_in_cwd.rb
function to_regex (line 13) | def to_regex(str)
function exec_resource_manifest (line 17) | def exec_resource_manifest(command, params = {})
function assert_file_on (line 39) | def assert_file_on(host, filepath, failure_comment)
FILE: acceptance/tests/resource/exec/should_set_environment_variables.rb
function assert_env_var_values (line 8) | def assert_env_var_values(puppet_output, expected_values)
FILE: acceptance/tests/resource/file/handle_fifo_files.rb
function ensure_content_to_file_manifest (line 6) | def ensure_content_to_file_manifest(file_path, ensure_value)
FILE: acceptance/tests/resource/file/handle_fifo_files_when_recursing.rb
function ensure_owner_recursively_manifest (line 6) | def ensure_owner_recursively_manifest(path, owner_value)
FILE: acceptance/tests/resource/file/should_create_symlink.rb
function message (line 6) | def message
function reset_link_and_target (line 10) | def reset_link_and_target(agent, link, target)
function verify_symlink (line 16) | def verify_symlink(agent, link, target)
FILE: acceptance/tests/resource/file/should_default_mode.rb
function regexp_mode (line 6) | def regexp_mode(mode)
FILE: acceptance/tests/resource/file/source_attribute.rb
function mod_manifest_entry (line 59) | def mod_manifest_entry(checksum_type = nil)
FILE: acceptance/tests/resource/file/symbolic_modes.rb
class FileSymlink (line 11) | class FileSymlink
method initialize (line 14) | def initialize(base_dir, file_type, symbolic_mode, mode, start_mode=nil)
method mode_changes? (line 29) | def mode_changes?
method get_manifest (line 33) | def get_manifest
class BaseTest (line 38) | class BaseTest
method initialize (line 41) | def initialize(testcase, agent, base_dir)
method assert_mode (line 49) | def assert_mode(agent, path, expected_mode)
method manifest (line 54) | def manifest
method puppet_reapply (line 60) | def puppet_reapply
class CreateTest (line 70) | class CreateTest < BaseTest
method symlink_file (line 72) | def symlink_file(symbolic_mode, mode)
method symlink_directory (line 76) | def symlink_directory(symbolic_mode, mode)
method puppet_apply (line 80) | def puppet_apply
class ModifyTest (line 89) | class ModifyTest < BaseTest
method symlink_file (line 91) | def symlink_file(symbolic_mode, start_mode, mode)
method symlink_directory (line 95) | def symlink_directory(symbolic_mode, start_mode, mode)
method create_starting_state (line 99) | def create_starting_state
method puppet_apply (line 113) | def puppet_apply
FILE: acceptance/tests/resource/group/should_manage_members.rb
function random_name (line 15) | def random_name
function group_manifest (line 19) | def group_manifest(user, params)
function members_of (line 34) | def members_of(host, group)
FILE: acceptance/tests/resource/package/common_package_name_in_different_providers.rb
function gem_provider (line 46) | def gem_provider
function verify_state (line 54) | def verify_state(hosts, pkg, state, match)
function verify_present (line 68) | def verify_present(hosts, pkg)
function verify_absent (line 72) | def verify_absent(hosts, pkg)
FILE: acceptance/tests/resource/package/windows.rb
function package_manifest (line 10) | def package_manifest(name, params, installer_source)
FILE: acceptance/tests/resource/package/yum.rb
function verify_state (line 33) | def verify_state(hosts, pkg, state, match)
function verify_present (line 43) | def verify_present(hosts, pkg)
function verify_absent (line 47) | def verify_absent(hosts, pkg)
FILE: acceptance/tests/resource/service/AIX_service_provider.rb
function lsitab_assert_enable (line 19) | def lsitab_assert_enable(host, service, expected_status)
function lssrc_assert_status (line 36) | def lssrc_assert_status(host, service, expected_status)
FILE: acceptance/tests/resource/service/init_on_systemd.rb
function initd_file (line 21) | def initd_file(svc, pidfile, initd_location, status)
function assert_service_status (line 82) | def assert_service_status(agent, pidfile, expected_running)
FILE: acceptance/tests/resource/service/launchd_provider.rb
function launchctl_assert_status (line 22) | def launchctl_assert_status(host, service, expect_running)
FILE: acceptance/tests/resource/service/puppet_service_management.rb
function set_service_initial_status (line 18) | def set_service_initial_status(host, service, status)
FILE: acceptance/tests/resource/service/smf_basic_tests.rb
function assert_svcs_info_matches_on (line 15) | def assert_svcs_info_matches_on(agent, service, info_hash)
FILE: acceptance/tests/resource/service/windows.rb
function service_manifest (line 13) | def service_manifest(name, params)
FILE: acceptance/tests/resource/service/windows_mixed_utf8.rb
function service_manifest (line 11) | def service_manifest(name, params)
FILE: acceptance/tests/resource/user/should_manage_groups.rb
function random_name (line 18) | def random_name
function user_manifest (line 22) | def user_manifest(user, params)
function groups_of (line 37) | def groups_of(host, user)
FILE: acceptance/tests/resource/user/should_manage_roles_on_windows.rb
function user_manifest (line 10) | def user_manifest(name, params)
FILE: acceptance/tests/resource/user/should_modify_when_not_managing_home.rb
function get_home_dir (line 16) | def get_home_dir(host, user_name)
FILE: acceptance/tests/resource/user/should_modify_while_managing_home.rb
function get_home_dir (line 16) | def get_home_dir(host, user_name)
FILE: acceptance/tests/security/cve-2013-4761_injection_of_class_names_loading_code.rb
function create_exploit_manifest (line 13) | def create_exploit_manifest(path, exploit_path_expression)
function should_not_be_able_to_exploit (line 37) | def should_not_be_able_to_exploit(exploited_path)
FILE: acceptance/tests/ssl/autosign_command.rb
function assert_key_generated (line 8) | def assert_key_generated(name, stdout)
FILE: acceptance/tests/ssl/trusted_external_facts.rb
function parse_trusted_json (line 8) | def parse_trusted_json(puppet_output)
FILE: acceptance/tests/ticket_9862_puppet_runs_without_service_user_or_group_present.rb
function assert_ownership (line 16) | def assert_ownership(agent, location, expected_user, expected_group)
function missing_directory_for (line 22) | def missing_directory_for(agent, dir)
FILE: acceptance/tests/windows/enable_password_changes_special_users.rb
function random_username (line 12) | def random_username
function change_password_manifest (line 16) | def change_password_manifest(username)
FILE: acceptance/tests/windows/service_manager_integration.rb
function query_agent_state (line 17) | def query_agent_state(host)
function start_puppet_windows_daemon (line 21) | def start_puppet_windows_daemon(host)
function stop_puppet_windows_daemon (line 25) | def stop_puppet_windows_daemon(host)
function ensure_agent_state (line 29) | def ensure_agent_state(host, state)
FILE: benchmarks/catalog_memory/benchmarker.rb
class Benchmarker (line 22) | class Benchmarker
method initialize (line 26) | def initialize(target, size)
method setup (line 34) | def setup
method run (line 37) | def run(args=nil)
method generate (line 94) | def generate
method render (line 109) | def render(erb_file, output_file, bindings)
FILE: benchmarks/defined_types/benchmarker.rb
class Benchmarker (line 6) | class Benchmarker
method initialize (line 9) | def initialize(target, size)
method setup (line 14) | def setup
method run (line 20) | def run(args=nil)
method generate (line 26) | def generate
method render (line 67) | def render(erb_file, output_file, bindings)
FILE: benchmarks/dependency_loading/benchmarker.rb
class Benchmarker (line 6) | class Benchmarker
method initialize (line 9) | def initialize(target, size)
method setup (line 15) | def setup
method run (line 21) | def run(args=nil)
method benchmark_count (line 31) | def benchmark_count
method generate (line 37) | def generate
method dependency_to (line 94) | def dependency_to(n)
method render (line 98) | def render(erb_file, output_file, bindings)
FILE: benchmarks/empty_catalog/benchmarker.rb
class Benchmarker (line 6) | class Benchmarker
method initialize (line 9) | def initialize(target, size)
method setup (line 14) | def setup
method run (line 17) | def run(args=nil)
method generate (line 31) | def generate
method render (line 46) | def render(erb_file, output_file, bindings)
FILE: benchmarks/evaluations/benchmarker.rb
class Benchmarker (line 6) | class Benchmarker
method initialize (line 9) | def initialize(target, size)
method setup (line 17) | def setup
method run (line 43) | def run(args = {})
method generate (line 77) | def generate
method render (line 134) | def render(erb_file, output_file, bindings)
FILE: benchmarks/evaluations/benchmarker_task.rb
class BenchmarkerTask (line 7) | class BenchmarkerTask
method run_args (line 8) | def self.run_args
FILE: benchmarks/fq_var_lookup/benchmarker.rb
class Benchmarker (line 6) | class Benchmarker
method initialize (line 9) | def initialize(target, size)
method setup (line 14) | def setup
method run (line 20) | def run(args=nil)
method generate (line 26) | def generate
method render (line 71) | def render(erb_file, output_file, bindings)
FILE: benchmarks/full_catalog/benchmarker.rb
class Benchmarker (line 7) | class Benchmarker
method initialize (line 10) | def initialize(target, size='medium')
method check_submodule (line 15) | def check_submodule
method setup (line 22) | def setup
method run (line 38) | def run(args=nil)
method generate (line 89) | def generate
method render (line 114) | def render(erb_file, output_file, bindings)
FILE: benchmarks/function_loading/benchmarker.rb
class Benchmarker (line 6) | class Benchmarker
method initialize (line 9) | def initialize(target, size)
method setup (line 15) | def setup
method run (line 21) | def run(args=nil)
method benchmark_count (line 34) | def benchmark_count
method generate (line 40) | def generate
method dependencies_for (line 98) | def dependencies_for(n)
method render (line 105) | def render(erb_file, output_file, bindings)
FILE: benchmarks/hiera_conf_interpol/benchmarker.rb
class Benchmarker (line 3) | class Benchmarker
method initialize (line 6) | def initialize(target, size)
method setup (line 11) | def setup
method run (line 19) | def run(args=nil)
method generate (line 34) | def generate
method render (line 66) | def render(erb_file, output_file, bindings)
FILE: benchmarks/hiera_env_lookup/benchmarker.rb
class Benchmarker (line 3) | class Benchmarker
method initialize (line 6) | def initialize(target, size)
method setup (line 11) | def setup
method run (line 19) | def run(args=nil)
method generate (line 39) | def generate
method render (line 99) | def render(erb_file, output_file, bindings)
FILE: benchmarks/hiera_function/benchmarker.rb
class Benchmarker (line 3) | class Benchmarker
method initialize (line 6) | def initialize(target, size)
method setup (line 11) | def setup
method run (line 19) | def run(args=nil)
method generate (line 34) | def generate
method render (line 79) | def render(erb_file, output_file, bindings)
FILE: benchmarks/hiera_global_lookup/benchmarker.rb
class Benchmarker (line 3) | class Benchmarker
method initialize (line 6) | def initialize(target, size)
method setup (line 11) | def setup
method run (line 19) | def run(args=nil)
method generate (line 39) | def generate
method render (line 101) | def render(erb_file, output_file, bindings)
FILE: benchmarks/hiera_include/benchmarker.rb
class Benchmarker (line 3) | class Benchmarker
method initialize (line 6) | def initialize(target, size)
method setup (line 11) | def setup
method run (line 19) | def run(args=nil)
method generate (line 34) | def generate
method render (line 94) | def render(erb_file, output_file, bindings)
FILE: benchmarks/hiera_include_one/benchmarker.rb
class Benchmarker (line 3) | class Benchmarker
method initialize (line 6) | def initialize(target, size)
method setup (line 11) | def setup
method run (line 19) | def run(args=nil)
method generate (line 32) | def generate
method render (line 92) | def render(erb_file, output_file, bindings)
FILE: benchmarks/legacy_hiera_lookup/benchmarker.rb
class Benchmarker (line 3) | class Benchmarker
method initialize (line 6) | def initialize(target, size)
method setup (line 12) | def setup
method run (line 21) | def run(args=nil)
method generate (line 29) | def generate
FILE: benchmarks/many_environments/benchmarker.rb
class Benchmarker (line 3) | class Benchmarker
method initialize (line 6) | def initialize(target, size)
method setup (line 11) | def setup
method run (line 17) | def run(args=nil)
method generate (line 24) | def generate
FILE: benchmarks/many_modules/benchmarker.rb
class Benchmarker (line 6) | class Benchmarker
method initialize (line 9) | def initialize(target, size)
method setup (line 14) | def setup
method run (line 20) | def run(args=nil)
method generate (line 26) | def generate
method render (line 98) | def render(erb_file, output_file, bindings)
FILE: benchmarks/missing_type_caching/benchmarker.rb
class Benchmarker (line 6) | class Benchmarker
method initialize (line 9) | def initialize(target, size)
method setup (line 14) | def setup
method run (line 21) | def run(args=nil)
method generate (line 27) | def generate
method render (line 57) | def render(erb_file, output_file, bindings)
FILE: benchmarks/serialization/benchmarker.rb
class Benchmarker (line 3) | class Benchmarker
method initialize (line 4) | def initialize(target, size)
method setup (line 12) | def setup
method generate (line 15) | def generate
method run (line 23) | def run(args=nil)
FILE: benchmarks/system_startup/benchmarker.rb
class Benchmarker (line 1) | class Benchmarker
method initialize (line 2) | def initialize(target, size)
method setup (line 5) | def setup
method generate (line 8) | def generate
method run (line 11) | def run(args=nil)
FILE: benchmarks/type_inference/benchmarker.rb
class Benchmarker (line 6) | class Benchmarker
method initialize (line 9) | def initialize(target, size)
method setup (line 14) | def setup
method run (line 17) | def run(args=nil)
method generate (line 31) | def generate
method render (line 48) | def render(erb_file, output_file, bindings)
FILE: benchmarks/virtual_collection/benchmarker.rb
class Benchmarker (line 6) | class Benchmarker
method initialize (line 9) | def initialize(target, size)
method setup (line 14) | def setup
method run (line 20) | def run(args=nil)
method generate (line 26) | def generate
method render (line 42) | def render(erb_file, output_file, bindings)
FILE: examples/enc/regexp_nodes/regexp_nodes.rb
function log (line 65) | def log(message,level=:debug)
class ExternalNode (line 80) | class ExternalNode
method initialize (line 90) | def initialize(hostname, classdir = 'classes/', parameterdir = 'parame...
method parse_argv (line 104) | def parse_argv(hostname)
method to_yaml (line 118) | def to_yaml
method matched_in_patternfile? (line 131) | def matched_in_patternfile?(filepath, matchthis)
method match_classes (line 175) | def match_classes(fullpath)
method match_environment (line 192) | def match_environment(fullpath)
method match_parameters (line 214) | def match_parameters(fullpath)
class MyExternalNode (line 243) | class MyExternalNode < ExternalNode
method initialize (line 245) | def initialize(hostname, classdir = 'classes/', parameterdir = 'parame...
FILE: examples/nagios/check_puppet.rb
class CheckPuppet (line 7) | class CheckPuppet
method check_proc (line 51) | def check_proc
method check_state (line 61) | def check_state
method output_status (line 84) | def output_status
FILE: ext/windows/service/daemon.rb
class WindowsDaemon (line 15) | class WindowsDaemon < Puppet::Util::Windows::Daemon
method service_init (line 29) | def service_init
method service_main (line 32) | def service_main(*argsv)
method service_stop (line 103) | def service_stop
method service_pause (line 108) | def service_pause
method service_resume (line 112) | def service_resume
method service_shutdown (line 116) | def service_shutdown
method log_exception (line 125) | def log_exception(e)
method log (line 130) | def log(msg, level)
method report_windows_event (line 142) | def report_windows_event(type, id, message)
method parse_runinterval (line 162) | def parse_runinterval(puppet_path)
method parse_log_level (line 180) | def parse_log_level(puppet_path, cmdline_debug)
method load_env (line 197) | def load_env(base_dir)
FILE: install.rb
function glob (line 44) | def glob(list)
function do_configs (line 51) | def do_configs(configs, target, strip = 'conf/')
function do_bins (line 59) | def do_bins(bins, target, strip = 's?bin/')
function do_libs (line 67) | def do_libs(libs, strip = 'lib/')
function do_man (line 78) | def do_man(man, strip = 'man/')
function do_locales (line 95) | def do_locales(locale, strip = 'locales/')
function check_prereqs (line 107) | def check_prereqs
function prepare_installation (line 130) | def prepare_installation
function join (line 341) | def join(basedir, dir)
function install_binfile (line 352) | def install_binfile(from, op_file, target)
FILE: lib/hiera/puppet_function.rb
class Hiera::PuppetFunction (line 10) | class Hiera::PuppetFunction < Puppet::Functions::InternalFunction
method init_dispatch (line 11) | def self.init_dispatch
method hiera_splat (line 43) | def hiera_splat(scope, args)
method hiera_no_default (line 47) | def hiera_no_default(scope, key)
method hiera_with_default (line 51) | def hiera_with_default(scope, key, default, override = nil)
method hiera_block1 (line 55) | def hiera_block1(scope, key, &default_block)
method hiera_block2 (line 59) | def hiera_block2(scope, key, override, &default_block)
method lookup (line 63) | def lookup(scope, key, default, has_default, override, &default_block)
method merge_type (line 79) | def merge_type
method post_lookup (line 83) | def post_lookup(scope, key, result)
FILE: lib/hiera/scope.rb
class Hiera (line 4) | class Hiera
class Scope (line 5) | class Scope
method initialize (line 18) | def initialize(real)
method [] (line 22) | def [](key)
method safe_lookupvar (line 40) | def safe_lookupvar(key)
method exist? (line 58) | def exist?(key)
method include? (line 62) | def include?(key)
method catalog (line 66) | def catalog
method resource (line 70) | def resource
method compiler (line 74) | def compiler
method find_hostclass (line 78) | def find_hostclass(scope)
FILE: lib/hiera_puppet.rb
type HieraPuppet (line 7) | module HieraPuppet
function lookup (line 10) | def lookup(key, default, scope, override, resolution_type)
function parse_args (line 22) | def parse_args(args)
function hiera (line 53) | def hiera
function hiera_config (line 57) | def hiera_config
function hiera_config_file (line 69) | def hiera_config_file
FILE: lib/puppet.rb
type Puppet (line 38) | module Puppet
function settings (line 59) | def self.settings
function replace_settings_object (line 67) | def self.replace_settings_object(new_settings)
function [] (line 76) | def self.[](param)
function []= (line 94) | def self.[]=(param, value)
function clear (line 98) | def self.clear
function debug= (line 102) | def self.debug=(value)
function run_mode (line 110) | def self.run_mode
function initialize_settings (line 146) | def self.initialize_settings(args = [], require_config = true, push_se...
function vendored_modules (line 150) | def self.vendored_modules
function initialize_load_path (line 163) | def self.initialize_load_path
function do_initialize_settings_for_run_mode (line 171) | def self.do_initialize_settings_for_run_mode(run_mode, args, require_c...
function initialize_facts (line 187) | def self.initialize_facts
function base_context (line 213) | def self.base_context(settings)
function bootstrap_context (line 251) | def self.bootstrap_context
function push_context (line 262) | def self.push_context(overrides, description = "")
function push_context_global (line 270) | def self.push_context_global(overrides, description = '')
function pop_context (line 277) | def self.pop_context
function lookup (line 283) | def self.lookup(name, &block)
function override (line 291) | def self.override(bindings, description = "", &block)
function ignore (line 297) | def self.ignore(name)
function restore (line 303) | def self.restore(name)
function mark_context (line 308) | def self.mark_context(name)
function rollback_context (line 313) | def self.rollback_context(name)
function runtime (line 317) | def self.runtime
FILE: lib/puppet/agent.rb
class Puppet::Agent (line 11) | class Puppet::Agent
class RunTimeoutError (line 22) | class RunTimeoutError < Exception # rubocop:disable Lint/InheritException
method initialize (line 27) | def initialize(client_class, should_fork = true)
method can_fork? (line 32) | def can_fork?
method needing_restart? (line 36) | def needing_restart?
method run (line 41) | def run(client_options = {})
method stopping? (line 124) | def stopping?
method run_in_fork (line 128) | def run_in_fork(forking = true)
method with_client (line 157) | def with_client(transaction_uuid, job_id = nil)
method wait_for_certificates (line 169) | def wait_for_certificates(options)
method log_disabled_message (line 175) | def log_disabled_message
FILE: lib/puppet/agent/disabler.rb
type Puppet::Agent::Disabler (line 16) | module Puppet::Agent::Disabler
function enable (line 20) | def enable
function disable (line 26) | def disable(msg = nil)
function disabled? (line 35) | def disabled?
function disable_message (line 39) | def disable_message
function disable_lockfile (line 49) | def disable_lockfile
FILE: lib/puppet/agent/locker.rb
type Puppet::Agent::Locker (line 17) | module Puppet::Agent::Locker
function lock (line 20) | def lock
function running? (line 32) | def running?
function lockfile_path (line 36) | def lockfile_path
function lockfile (line 40) | def lockfile
FILE: lib/puppet/application.rb
type Puppet (line 9) | module Puppet
class Application (line 108) | class Application
method clear! (line 122) | def clear!
method stop! (line 128) | def stop!
method restart! (line 134) | def restart!
method restart_requested? (line 141) | def restart_requested?
method stop_requested? (line 148) | def stop_requested?
method interrupted? (line 155) | def interrupted?
method clear? (line 162) | def clear?
method controlled_run (line 171) | def controlled_run(&block)
method option (line 180) | def option(*options, &block)
method banner (line 193) | def banner(banner = nil)
method option_parser_commands (line 197) | def option_parser_commands
method available_application_names (line 206) | def available_application_names
method find (line 229) | def find(application_name)
method try_load_class (line 263) | def try_load_class(class_name)
method [] (line 275) | def [](name)
method run_mode (line 282) | def run_mode(mode_name = nil)
method environment_mode (line 306) | def environment_mode(mode_name)
method get_environment_mode (line 316) | def get_environment_mode
method clear_everything_for_tests (line 322) | def clear_everything_for_tests
method initialize (line 348) | def initialize(command_line = Puppet::Util::CommandLine.new)
method app_defaults (line 366) | def app_defaults
method initialize_app_defaults (line 375) | def initialize_app_defaults
method preinit (line 384) | def preinit
method deprecate (line 390) | def deprecate
method deprecated? (line 396) | def deprecated?
method run (line 403) | def run
method main (line 431) | def main
method run_command (line 438) | def run_command
method setup (line 445) | def setup
method setup_logs (line 454) | def setup_logs
method set_log_level (line 468) | def set_log_level(opts = nil)
method handle_logdest_arg (line 477) | def handle_logdest_arg(arg)
method configure_indirector_routes (line 491) | def configure_indirector_routes
method log_runtime_environment (line 502) | def log_runtime_environment(extra_info = nil)
method parse_options (line 533) | def parse_options
method handlearg (line 566) | def handlearg(opt, val)
method exit (line 572) | def self.exit(code)
method name (line 576) | def name
method help (line 583) | def help
method summary (line 592) | def summary
FILE: lib/puppet/application/agent.rb
class Puppet::Application::Agent (line 10) | class Puppet::Application::Agent < Puppet::Application
method app_defaults (line 13) | def app_defaults
method preinit (line 22) | def preinit
method summary (line 83) | def summary
method help (line 87) | def help
method run_command (line 374) | def run_command
method log_config (line 402) | def log_config
method fingerprint (line 414) | def fingerprint
method onetime (line 435) | def onetime(daemon)
method main (line 453) | def main(daemon)
method setup_test (line 459) | def setup_test
method setup (line 469) | def setup
method enable_disable_client (line 502) | def enable_disable_client(agent)
method setup_agent (line 511) | def setup_agent
method daemonize_process_when (line 519) | def daemonize_process_when(should_daemonize)
FILE: lib/puppet/application/apply.rb
class Puppet::Application::Apply (line 7) | class Puppet::Application::Apply < Puppet::Application
method summary (line 38) | def summary
method help (line 42) | def help
method app_defaults (line 174) | def app_defaults
method run_command (line 181) | def run_command
method apply (line 194) | def apply
method main (line 207) | def main
method setup_test (line 295) | def setup_test
method setup (line 302) | def setup
method create_loaders (line 333) | def create_loaders(env)
method read_catalog (line 338) | def read_catalog(text)
method apply_catalog (line 363) | def apply_catalog(catalog)
method get_facts (line 370) | def get_facts
method get_node (line 385) | def get_node
method get_manifest (line 394) | def get_manifest
method get_configured_environment (line 412) | def get_configured_environment(node, manifest = nil)
method configure_node_facts (line 429) | def configure_node_facts(node, facts)
FILE: lib/puppet/application/catalog.rb
class Puppet::Application::Catalog (line 5) | class Puppet::Application::Catalog < Puppet::Application::IndirectionBase
FILE: lib/puppet/application/config.rb
class Puppet::Application::Config (line 5) | class Puppet::Application::Config < Puppet::Application::FaceBase
FILE: lib/puppet/application/describe.rb
class Formatter (line 5) | class Formatter
method initialize (line 6) | def initialize(width)
method wrap (line 10) | def wrap(txt, opts)
method header (line 33) | def header(txt, sep = "-")
method scrub (line 39) | def scrub(text)
class TypeDoc (line 54) | class TypeDoc
method initialize (line 55) | def initialize
method list_types (line 66) | def list_types
method format_type (line 85) | def format_type(name, opts)
method format_attrs (line 122) | def format_attrs(type, attrs)
method list_attrs (line 143) | def list_attrs(type, attrs)
method format_providers (line 152) | def format_providers(type)
method list_providers (line 159) | def list_providers(type)
class Puppet::Application::Describe (line 165) | class Puppet::Application::Describe < Puppet::Application
method summary (line 176) | def summary
method help (line 180) | def help
method preinit (line 233) | def preinit
method main (line 237) | def main
method setup (line 247) | def setup
FILE: lib/puppet/application/device.rb
class Puppet::Application::Device (line 8) | class Puppet::Application::Device < Puppet::Application
method app_defaults (line 13) | def app_defaults
method preinit (line 22) | def preinit
method summary (line 83) | def summary
method help (line 87) | def help
method main (line 230) | def main
method parse_args (line 389) | def parse_args(args)
method find_resources (line 397) | def find_resources(type, name)
method setup_context (line 407) | def setup_context
method setup (line 413) | def setup
FILE: lib/puppet/application/doc.rb
class Puppet::Application::Doc (line 5) | class Puppet::Application::Doc < Puppet::Application
method preinit (line 10) | def preinit
method summary (line 54) | def summary
method help (line 58) | def help
method handle_unknown (line 119) | def handle_unknown(opt, arg)
method run_command (line 124) | def run_command
method rdoc (line 128) | def rdoc
method other (line 155) | def other
method setup (line 181) | def setup
method setup_reference (line 197) | def setup_reference
method setup_rdoc (line 210) | def setup_rdoc
method setup_logging (line 224) | def setup_logging
FILE: lib/puppet/application/epp.rb
class Puppet::Application::Epp (line 6) | class Puppet::Application::Epp < Puppet::Application::FaceBase
FILE: lib/puppet/application/face_base.rb
class Puppet::Application::FaceBase (line 7) | class Puppet::Application::FaceBase < Puppet::Application
method render_as= (line 34) | def render_as=(format)
method render (line 39) | def render(result, args_and_options)
method preinit (line 55) | def preinit
method parse_options (line 63) | def parse_options
method find_global_settings_argument (line 157) | def find_global_settings_argument(item)
method find_application_argument (line 170) | def find_application_argument(item)
method setup (line 187) | def setup
method main (line 211) | def main
FILE: lib/puppet/application/facts.rb
class Puppet::Application::Facts (line 5) | class Puppet::Application::Facts < Puppet::Application::IndirectionBase
FILE: lib/puppet/application/filebucket.rb
class Puppet::Application::Filebucket (line 5) | class Puppet::Application::Filebucket < Puppet::Application
method summary (line 18) | def summary
method digest_algorithm (line 22) | def digest_algorithm
method help (line 26) | def help
method run_command (line 215) | def run_command
method get (line 223) | def get
method backup (line 229) | def backup
method list (line 246) | def list
method restore (line 253) | def restore
method diff (line 259) | def diff
method setup (line 288) | def setup
FILE: lib/puppet/application/generate.rb
class Puppet::Application::Generate (line 6) | class Puppet::Application::Generate < Puppet::Application::FaceBase
FILE: lib/puppet/application/help.rb
class Puppet::Application::Help (line 5) | class Puppet::Application::Help < Puppet::Application::FaceBase
FILE: lib/puppet/application/indirection_base.rb
class Puppet::Application::IndirectionBase (line 5) | class Puppet::Application::IndirectionBase < Puppet::Application::FaceBase
FILE: lib/puppet/application/lookup.rb
class Puppet::Application::Lookup (line 9) | class Puppet::Application::Lookup < Puppet::Application
method app_defaults (line 63) | def app_defaults
method setup_logs (line 69) | def setup_logs
method setup_terminuses (line 77) | def setup_terminuses
method setup (line 87) | def setup
method summary (line 103) | def summary
method help (line 107) | def help
method main (line 273) | def main
method generate_scope (line 338) | def generate_scope
method retrieve_node_facts (line 419) | def retrieve_node_facts(node, given_facts)
FILE: lib/puppet/application/module.rb
class Puppet::Application::Module (line 5) | class Puppet::Application::Module < Puppet::Application::FaceBase
FILE: lib/puppet/application/node.rb
class Puppet::Application::Node (line 5) | class Puppet::Application::Node < Puppet::Application::IndirectionBase
FILE: lib/puppet/application/parser.rb
class Puppet::Application::Parser (line 6) | class Puppet::Application::Parser < Puppet::Application::FaceBase
FILE: lib/puppet/application/plugin.rb
class Puppet::Application::Plugin (line 4) | class Puppet::Application::Plugin < Puppet::Application::FaceBase
FILE: lib/puppet/application/report.rb
class Puppet::Application::Report (line 5) | class Puppet::Application::Report < Puppet::Application::IndirectionBase
FILE: lib/puppet/application/resource.rb
class Puppet::Application::Resource (line 5) | class Puppet::Application::Resource < Puppet::Application
method preinit (line 10) | def preinit
method summary (line 37) | def summary
method help (line 41) | def help
method main (line 145) | def main
method setup (line 177) | def setup
method local_key (line 184) | def local_key(type, name)
method handle_editing (line 188) | def handle_editing(text)
method parse_args (line 211) | def parse_args(args)
method create_default_environment (line 227) | def create_default_environment
method find_or_save_resources (line 236) | def find_or_save_resources(type, name, params)
FILE: lib/puppet/application/script.rb
class Puppet::Application::Script (line 8) | class Puppet::Application::Script < Puppet::Application
method summary (line 20) | def summary
method help (line 24) | def help
method app_defaults (line 115) | def app_defaults
method run_command (line 121) | def run_command
method main (line 131) | def main
method setup (line 234) | def setup
FILE: lib/puppet/application/ssl.rb
class Puppet::Application::Ssl (line 6) | class Puppet::Application::Ssl < Puppet::Application
method summary (line 9) | def summary
method help (line 13) | def help
method initialize (line 96) | def initialize(command_line = Puppet::Util::CommandLine.new)
method setup_logs (line 105) | def setup_logs
method main (line 110) | def main
method show (line 175) | def show(certname)
method submit_request (line 181) | def submit_request(ssl_context)
method generate_request (line 203) | def generate_request(certname)
method download_cert (line 217) | def download_cert(ssl_context)
method verify (line 245) | def verify(certname)
method clean (line 260) | def clean(certname)
method fingerprint (line 308) | def fingerprint(cert)
method create_route (line 312) | def create_route(ssl_context)
method create_key (line 316) | def create_key(certname)
FILE: lib/puppet/application_support.rb
type Puppet (line 10) | module Puppet
type ApplicationSupport (line 11) | module ApplicationSupport
function push_application_context (line 22) | def self.push_application_context(run_mode, environment_mode = :local)
function configure_indirector_routes (line 53) | def self.configure_indirector_routes(application_name)
FILE: lib/puppet/coercion.rb
type Puppet::Coercion (line 6) | module Puppet::Coercion
function boolean (line 16) | def self.boolean(value)
function boolean_values (line 39) | def self.boolean_values
FILE: lib/puppet/compilable_resource_type.rb
type Puppet::CompilableResourceType (line 11) | module Puppet::CompilableResourceType
function is_3x_ruby_plugin? (line 14) | def is_3x_ruby_plugin?
FILE: lib/puppet/concurrent.rb
type Puppet::Concurrent (line 3) | module Puppet::Concurrent
FILE: lib/puppet/concurrent/lock.rb
type Puppet (line 5) | module Puppet
type Concurrent (line 6) | module Concurrent
class Lock (line 8) | class Lock
method synchronize (line 10) | def synchronize
FILE: lib/puppet/concurrent/synchronized.rb
type Puppet (line 3) | module Puppet
type Concurrent (line 4) | module Concurrent
type Synchronized (line 12) | module Synchronized; end
FILE: lib/puppet/concurrent/thread_local_singleton.rb
type Puppet (line 3) | module Puppet
type Concurrent (line 4) | module Concurrent
type ThreadLocalSingleton (line 5) | module ThreadLocalSingleton
function singleton (line 6) | def singleton
FILE: lib/puppet/configurer.rb
class Puppet::Configurer (line 10) | class Puppet::Configurer
method to_s (line 22) | def self.to_s
method should_pluginsync? (line 26) | def self.should_pluginsync?
method execute_postrun_command (line 34) | def execute_postrun_command
method execute_prerun_command (line 38) | def execute_prerun_command
method init_storage (line 43) | def init_storage
method initialize (line 55) | def initialize(transaction_uuid = nil, job_id = nil)
method retrieve_catalog (line 69) | def retrieve_catalog(facts, query_options)
method convert_catalog (line 111) | def convert_catalog(result, duration, facts, options = {})
method warn_number_of_facts (line 134) | def warn_number_of_facts(size, max_number)
method warn_fact_name_length (line 138) | def warn_fact_name_length(name, max_length, fact_name_length)
method warn_number_of_top_level_facts (line 142) | def warn_number_of_top_level_facts(size, max_number)
method warn_fact_value_length (line 146) | def warn_fact_value_length(name, value, max_length)
method warn_fact_payload_size (line 150) | def warn_fact_payload_size(payload, max_size)
method check_fact_name_length (line 154) | def check_fact_name_length(fact_path, number_of_dots)
method check_fact_values_length (line 164) | def check_fact_values_length(name, values)
method check_top_level_number_limit (line 171) | def check_top_level_number_limit(size)
method check_total_number_limit (line 178) | def check_total_number_limit(size)
method check_payload_size (line 185) | def check_payload_size(payload)
method parse_fact_name_and_value_limits (line 193) | def parse_fact_name_and_value_limits(object, path = [])
method check_facts_limits (line 214) | def check_facts_limits(facts)
method get_facts (line 223) | def get_facts(options)
method prepare_and_retrieve_catalog (line 254) | def prepare_and_retrieve_catalog(cached_catalog, facts, options, query...
method prepare_and_retrieve_catalog_from_cache (line 276) | def prepare_and_retrieve_catalog_from_cache(options = {})
method apply_catalog (line 283) | def apply_catalog(catalog, options)
method run (line 300) | def run(options = {})
method run_internal (line 352) | def run_internal(options)
method valid_server_environment? (line 531) | def valid_server_environment?
method find_functional_server (line 554) | def find_functional_server
method last_server_specified_environment (line 580) | def last_server_specified_environment
method current_server_specified_environment (line 602) | def current_server_specified_environment(current_environment, configur...
method send_report (line 632) | def send_report(report)
method save_last_run_summary (line 647) | def save_last_run_summary(report)
method resubmit_facts (line 664) | def resubmit_facts
method execute_from_setting (line 689) | def execute_from_setting(setting)
method push_current_environment_and_loaders (line 701) | def push_current_environment_and_loaders
method retrieve_catalog_from_cache (line 712) | def retrieve_catalog_from_cache(query_options)
method retrieve_new_catalog (line 729) | def retrieve_new_catalog(facts, query_options)
method download_plugins (line 751) | def download_plugins(remote_environment_for_plugins)
FILE: lib/puppet/configurer/downloader.rb
class Puppet::Configurer::Downloader (line 6) | class Puppet::Configurer::Downloader
method evaluate (line 10) | def evaluate
method initialize (line 42) | def initialize(name, path, source, ignore = nil, environment = nil, so...
method file (line 51) | def file
method catalog (line 60) | def catalog
method default_arguments (line 71) | def default_arguments
FILE: lib/puppet/configurer/fact_handler.rb
type Puppet::Configurer::FactHandler (line 11) | module Puppet::Configurer::FactHandler
function find_facts (line 12) | def find_facts
function facts_for_uploading (line 31) | def facts_for_uploading
function encode_facts (line 35) | def encode_facts(facts)
FILE: lib/puppet/configurer/plugin_handler.rb
class Puppet::Configurer::PluginHandler (line 8) | class Puppet::Configurer::PluginHandler
method download_plugins (line 11) | def download_plugins(environment)
FILE: lib/puppet/confine.rb
class Puppet::Confine (line 7) | class Puppet::Confine
method inherited (line 16) | def self.inherited(klass)
method test (line 25) | def self.test(name)
method for_binary? (line 47) | def for_binary?
method initialize (line 54) | def initialize(values)
method message (line 60) | def message(value)
method result (line 65) | def result
method valid? (line 70) | def valid?
method reset (line 84) | def reset
FILE: lib/puppet/confine/any.rb
class Puppet::Confine::Any (line 3) | class Puppet::Confine::Any < Puppet::Confine
method summarize (line 4) | def self.summarize(confines)
method pass? (line 8) | def pass?(value)
method message (line 12) | def message(value)
method summary (line 16) | def summary
method valid? (line 20) | def valid?
FILE: lib/puppet/confine/boolean.rb
class Puppet::Confine (line 7) | class Puppet::Confine
type Boolean (line 8) | module Boolean
function passing_value (line 10) | def passing_value
function values (line 24) | def values
FILE: lib/puppet/confine/exists.rb
class Puppet::Confine::Exists (line 5) | class Puppet::Confine::Exists < Puppet::Confine
method summarize (line 6) | def self.summarize(confines)
method pass? (line 10) | def pass?(value)
method message (line 14) | def message(value)
method summary (line 18) | def summary
FILE: lib/puppet/confine/false.rb
class Puppet::Confine::False (line 5) | class Puppet::Confine::False < Puppet::Confine
method passing_value (line 8) | def passing_value
method summarize (line 12) | def self.summarize(confines)
method pass? (line 16) | def pass?(value)
method message (line 20) | def message(value)
method summary (line 24) | def summary
FILE: lib/puppet/confine/feature.rb
class Puppet::Confine::Feature (line 5) | class Puppet::Confine::Feature < Puppet::Confine
method summarize (line 6) | def self.summarize(confines)
method pass? (line 11) | def pass?(value)
method message (line 15) | def message(value)
FILE: lib/puppet/confine/true.rb
class Puppet::Confine::True (line 5) | class Puppet::Confine::True < Puppet::Confine
method passing_value (line 8) | def passing_value
method summarize (line 12) | def self.summarize(confines)
method pass? (line 16) | def pass?(value)
method message (line 21) | def message(value)
method summary (line 25) | def summary
FILE: lib/puppet/confine/variable.rb
class Puppet::Confine::Variable (line 9) | class Puppet::Confine::Variable < Puppet::Confine
method summarize (line 13) | def self.summarize(confines)
method facter_value (line 22) | def facter_value
method initialize (line 26) | def initialize(values)
method message (line 31) | def message(value)
method pass? (line 36) | def pass?(value)
method reset (line 40) | def reset
method valid? (line 46) | def valid?
method setting? (line 54) | def setting?
method test_value (line 58) | def test_value
FILE: lib/puppet/confine_collection.rb
class Puppet::ConfineCollection (line 7) | class Puppet::ConfineCollection
method confine (line 8) | def confine(hash)
method initialize (line 31) | def initialize(label)
method summary (line 38) | def summary
method valid? (line 51) | def valid?
FILE: lib/puppet/confiner.rb
type Puppet::Confiner (line 9) | module Puppet::Confiner
function confine (line 28) | def confine(hash)
function confine_collection (line 35) | def confine_collection
function suitable? (line 45) | def suitable?(short = true)
FILE: lib/puppet/context.rb
class Puppet::Context (line 15) | class Puppet::Context
class UndefinedBindingError (line 18) | class UndefinedBindingError < Puppet::Error; end
class StackUnderflow (line 19) | class StackUnderflow < Puppet::Error; end
class UnknownRollbackMarkError (line 21) | class UnknownRollbackMarkError < Puppet::Error; end
class DuplicateRollbackMarkError (line 22) | class DuplicateRollbackMarkError < Puppet::Error; end
method initialize (line 25) | def initialize(initial_bindings)
method push (line 35) | def push(overrides, description = '')
method unsafe_push_global (line 43) | def unsafe_push_global(overrides, description = '')
method pop (line 50) | def pop
method lookup (line 55) | def lookup(name, &block)
method override (line 60) | def override(bindings, description = '', &block)
method mark (line 74) | def mark(name)
method rollback (line 91) | def rollback(name)
class EmptyStack (line 103) | class EmptyStack
method lookup (line 109) | def lookup(name, &block)
method pop (line 120) | def pop
method push (line 129) | def push(overrides, description = '')
method bindings (line 136) | def bindings
class Stack (line 148) | class Stack
method initialize (line 151) | def initialize(parent, bindings, description = '')
method lookup (line 163) | def lookup(name, &block)
method pop (line 178) | def pop
method push (line 186) | def push(overrides, description = '')
FILE: lib/puppet/context/trusted_information.rb
class Puppet::Context::TrustedInformation (line 6) | class Puppet::Context::TrustedInformation
method initialize (line 34) | def initialize(authenticated, certname, extensions, external = {})
method remote (line 49) | def self.remote(authenticated, node_name, certificate)
method local (line 67) | def self.local(node)
method external (line 78) | def external
method retrieve_trusted_external (line 85) | def self.retrieve_trusted_external(certname)
method deep_freeze (line 93) | def self.deep_freeze(object)
method to_h (line 112) | def to_h
FILE: lib/puppet/daemon.rb
class Puppet::Daemon (line 21) | class Puppet::Daemon
method initialize (line 27) | def initialize(agent, pidfile, scheduler = Puppet::Scheduler::Schedule...
method daemonname (line 36) | def daemonname
method daemonize (line 41) | def daemonize
method close_streams (line 61) | def self.close_streams
method close_streams (line 79) | def close_streams
method reexec (line 83) | def reexec
method reload (line 92) | def reload
method restart (line 98) | def restart
method reopen_logs (line 103) | def reopen_logs
method set_signal_traps (line 109) | def set_signal_traps
method stop (line 130) | def stop(args = { :exit => true })
method start (line 140) | def start
method create_pidfile (line 149) | def create_pidfile
method remove_pidfile (line 154) | def remove_pidfile
method run_event_loop (line 159) | def run_event_loop
FILE: lib/puppet/data_binding.rb
class Puppet::DataBinding (line 6) | class Puppet::DataBinding
class LookupError (line 13) | class LookupError < Puppet::PreformattedError; end
class RecursiveLookupError (line 15) | class RecursiveLookupError < Puppet::DataBinding::LookupError; end
FILE: lib/puppet/datatypes.rb
type Puppet::DataTypes (line 125) | module Puppet::DataTypes
function create_type (line 126) | def self.create_type(type_name, &block)
function create_loaded_type (line 138) | def self.create_loaded_type(type_name, loader, &block)
class TypeBuilder (line 146) | class TypeBuilder
method initialize (line 149) | def initialize(type_name)
method create_type (line 155) | def create_type(loader)
method has_implementation? (line 183) | def has_implementation?
class TypeBuilderAPI (line 190) | class TypeBuilderAPI
method initialize (line 192) | def initialize(type_builder)
method interface (line 196) | def interface(type_string)
method implementation (line 202) | def implementation(&block)
method implementation_class (line 208) | def implementation_class(ruby_class)
method load_file (line 214) | def load_file(file_name)
FILE: lib/puppet/datatypes/impl/error.rb
class Puppet::DataTypes::Error (line 3) | class Puppet::DataTypes::Error
method from_asserted_hash (line 7) | def self.from_asserted_hash(hash)
method _pcore_init_hash (line 11) | def _pcore_init_hash
method initialize (line 19) | def initialize(msg, kind = nil, details = nil, issue_code = nil)
method eql? (line 26) | def eql?(o)
method hash (line 35) | def hash
method to_s (line 39) | def to_s
FILE: lib/puppet/defaults.rb
type Puppet (line 5) | module Puppet
function default_diffargs (line 6) | def self.default_diffargs
function default_digest_algorithm (line 11) | def self.default_digest_algorithm
function valid_digest_algorithms (line 15) | def self.valid_digest_algorithms
function default_file_checksum_types (line 21) | def self.default_file_checksum_types
function valid_file_checksum_types (line 27) | def self.valid_file_checksum_types
function default_cadir (line 33) | def self.default_cadir
function default_basemodulepath (line 50) | def self.default_basemodulepath
function default_vendormoduledir (line 58) | def self.default_vendormoduledir
function initialize_default_settings! (line 72) | def self.initialize_default_settings!(settings)
FILE: lib/puppet/environments.rb
type Puppet::Environments (line 6) | module Puppet::Environments
class EnvironmentNotFound (line 7) | class EnvironmentNotFound < Puppet::Error
method initialize (line 8) | def initialize(environment_name, original = nil)
type EnvironmentCreator (line 15) | module EnvironmentCreator
function for (line 24) | def for(module_path, manifest)
type EnvironmentLoader (line 34) | module EnvironmentLoader
function get! (line 36) | def get!(name)
function clear_all (line 41) | def clear_all
function guard (line 53) | def guard(name); end
function unguard (line 54) | def unguard(name); end
class Static (line 92) | class Static
method initialize (line 96) | def initialize(*environments)
method search_paths (line 101) | def search_paths
method list (line 106) | def list
method get (line 111) | def get(name)
method get_conf (line 121) | def get_conf(name)
class StaticPrivate (line 137) | class StaticPrivate < Static
method list (line 141) | def list
class StaticDirectory (line 146) | class StaticDirectory < Static
method initialize (line 149) | def initialize(env_name, env_dir, environment)
method get_conf (line 156) | def get_conf(name)
class Directories (line 171) | class Directories
method initialize (line 174) | def initialize(environment_dir, global_module_path)
method from_path (line 186) | def self.from_path(path, global_module_path)
method real_path (line 193) | def self.real_path(dir)
method search_paths (line 201) | def search_paths
method list (line 206) | def list
method get (line 213) | def get(name)
method get_conf (line 220) | def get_conf(name)
method create_environment (line 231) | def create_environment(name)
method validated_directory (line 255) | def validated_directory(envdir)
method valid_environment_names (line 265) | def valid_environment_names
class Combined (line 276) | class Combined
method initialize (line 279) | def initialize(*loaders)
method search_paths (line 284) | def search_paths
method list (line 289) | def list
method get (line 294) | def get(name)
method get_conf (line 305) | def get_conf(name)
method clear_all (line 315) | def clear_all
class Cached (line 320) | class Cached
class DefaultCacheExpirationService (line 324) | class DefaultCacheExpirationService
method created (line 328) | def created(env)
method expired? (line 335) | def expired?(env_name)
method evicted (line 342) | def evicted(env_name)
method cache_expiration_service= (line 346) | def self.cache_expiration_service=(service)
method cache_expiration_service (line 350) | def self.cache_expiration_service
method initialize (line 354) | def initialize(loader)
method list (line 361) | def list
method search_paths (line 388) | def search_paths
method get (line 393) | def get(name)
method get_entry (line 400) | def get_entry(name, check_expired = true)
method add_entry (line 421) | def add_entry(name, cache_entry)
method clear_entry (line 428) | def clear_entry(name, entry)
method clear (line 439) | def clear(name)
method clear_all (line 447) | def clear_all
method clear_all_expired (line 461) | def clear_all_expired
method clear_if_expired (line 473) | def clear_if_expired(name, entry, t = Time.now)
method get_conf (line 491) | def get_conf(name)
method guard (line 500) | def guard(name)
method unguard (line 506) | def unguard(name)
method entry (line 513) | def entry(env)
class Entry (line 531) | class Entry
method initialize (line 534) | def initialize(value)
method touch (line 539) | def touch
method expired? (line 542) | def expired?(now)
method label (line 546) | def label
method guarded? (line 552) | def guarded?
method guard (line 556) | def guard
method unguard (line 560) | def unguard
class NotCachedEntry (line 566) | class NotCachedEntry < Entry
method expired? (line 567) | def expired?(now)
method label (line 571) | def label
class MRUEntry (line 577) | class MRUEntry < Entry
method initialize (line 578) | def initialize(value, ttl_seconds)
method touch (line 586) | def touch
method expired? (line 590) | def expired?(now)
method label (line 594) | def label
FILE: lib/puppet/error.rb
type Puppet (line 3) | module Puppet
class Error (line 5) | class Error < RuntimeError
method initialize (line 8) | def initialize(message, original = nil)
type ExternalFileError (line 14) | module ExternalFileError
function initialize (line 23) | def initialize(message, file = nil, line = nil, pos = nil, original ...
function to_s (line 42) | def to_s
class ParseError (line 50) | class ParseError < Puppet::Error
class ResourceError (line 54) | class ResourceError < Puppet::Error
class ParseErrorWithIssue (line 59) | class ParseErrorWithIssue < Puppet::ParseError
method initialize (line 71) | def initialize(message, file = nil, line = nil, pos = nil, original ...
method to_s (line 78) | def to_s
method to_h (line 85) | def to_h
method from_issue_and_stack (line 98) | def self.from_issue_and_stack(issue, args = {})
class PreformattedError (line 114) | class PreformattedError < Puppet::ParseErrorWithIssue
class DevError (line 119) | class DevError < Puppet::Error
class MissingCommand (line 123) | class MissingCommand < Puppet::Error
class LockError (line 127) | class LockError < Puppet::Error
class ErrorWithData (line 133) | class ErrorWithData < Puppet::Error
method initialize (line 137) | def initialize(error_data, message, file: nil, line: nil, pos: nil, ...
FILE: lib/puppet/etc.rb
type Puppet::Etc (line 42) | module Puppet::Etc
function getgrent (line 47) | def getgrent
function endgrent (line 52) | def endgrent
function setgrent (line 57) | def setgrent
function getpwent (line 64) | def getpwent
function endpwent (line 69) | def endpwent
function setpwent (line 74) | def setpwent
function getpwnam (line 82) | def getpwnam(username)
function getgrnam (line 89) | def getgrnam(groupname)
function getgrgid (line 96) | def getgrgid(id)
function getpwuid (line 103) | def getpwuid(id)
function group (line 110) | def group
function puppet_etc_passwd_class (line 136) | def puppet_etc_passwd_class
function puppet_etc_group_class (line 146) | def puppet_etc_group_class
function override_field_values_to_utf8 (line 163) | def override_field_values_to_utf8(struct)
FILE: lib/puppet/external/dot.rb
type DOT (line 11) | module DOT
function change_tab (line 19) | def change_tab(t)
class DOTSimpleElement (line 118) | class DOTSimpleElement
method initialize (line 121) | def initialize(params = {})
method to_s (line 125) | def to_s
class DOTElement (line 132) | class DOTElement < DOTSimpleElement
method initialize (line 136) | def initialize(params = {}, option_list = [])
method each_option (line 147) | def each_option
method each_option_pair (line 151) | def each_option_pair
class DOTPort (line 159) | class DOTPort < DOTSimpleElement
method initialize (line 162) | def initialize(params = {})
method to_s (line 167) | def to_s
class DOTNode (line 174) | class DOTNode < DOTElement
method initialize (line 175) | def initialize(params = {}, option_list = NODE_OPTS)
method each_port (line 180) | def each_port
method << (line 184) | def <<(thing)
method push (line 188) | def push(thing)
method pop (line 192) | def pop
method to_s (line 196) | def to_s(t = '')
method stringify (line 225) | def stringify(s)
class DOTSubgraph (line 233) | class DOTSubgraph < DOTElement
method initialize (line 234) | def initialize(params = {}, option_list = GRAPH_OPTS)
method each_node (line 240) | def each_node
method << (line 244) | def <<(thing)
method push (line 248) | def push(thing)
method pop (line 252) | def pop
method to_s (line 256) | def to_s(t = '')
class DOTDigraph (line 276) | class DOTDigraph < DOTSubgraph
method initialize (line 277) | def initialize(params = {}, option_list = GRAPH_OPTS)
class DOTEdge (line 285) | class DOTEdge < DOTElement
method initialize (line 288) | def initialize(params = {}, option_list = EDGE_OPTS)
method edge_link (line 294) | def edge_link
method to_s (line 298) | def to_s(t = '')
class DOTDirectedEdge (line 310) | class DOTDirectedEdge < DOTEdge
method edge_link (line 311) | def edge_link
FILE: lib/puppet/face/config.rb
function warn_default_section (line 99) | def warn_default_section(section_name)
function report_section_and_environment (line 112) | def report_section_and_environment(section_name, environment_name)
FILE: lib/puppet/face/epp.rb
function dump_parse (line 366) | def dump_parse(source, filename, options, show_filename = true)
function get_values (line 401) | def get_values(compiler, options)
function render_inline (line 440) | def render_inline(epp_source, compiler, options)
function render_file (line 450) | def render_file(epp_template_name, compiler, options, show_filename, fil...
function validate_template (line 478) | def validate_template(template)
function validate_template_string (line 488) | def validate_template_string(source)
function create_compiler (line 498) | def create_compiler(options)
function effective_template (line 555) | def effective_template(file, env)
FILE: lib/puppet/face/help.rb
function default_case? (line 81) | def default_case?(args)
function help_for_help? (line 85) | def help_for_help?(args)
function render_face_man (line 89) | def render_face_man(facename)
function render_application_help (line 97) | def render_application_help(applicationname)
function render_face_help (line 108) | def render_face_help(facename, actionname, version)
function load_face_help (line 120) | def load_face_help(facename, actionname, version)
function template_for (line 132) | def template_for(face, action)
function erb (line 140) | def erb(name)
function legacy_applications (line 148) | def legacy_applications
function generate_summary (line 154) | def generate_summary(appname)
function all_application_summaries (line 186) | def all_application_summaries
function available_application_names_special_sort (line 202) | def available_application_names_special_sort
function common_app_summaries (line 211) | def common_app_summaries
function specialized_app_summaries (line 217) | def specialized_app_summaries
function horribly_extract_summary_from (line 224) | def horribly_extract_summary_from(appname)
function exclude_from_docs? (line 243) | def exclude_from_docs?(appname)
function is_face_app? (line 251) | def is_face_app?(appname)
FILE: lib/puppet/face/module/list.rb
function unmet_dependencies (line 109) | def unmet_dependencies(environment)
function warn_unmet_dependencies (line 148) | def warn_unmet_dependencies(environment)
function list_build_tree (line 212) | def list_build_tree(list, ancestors = [], parent = nil, params = {})
function list_build_node (line 248) | def list_build_node(mod, parent, params)
FILE: lib/puppet/face/node/clean.rb
function cleanup (line 43) | def cleanup(node)
class LoggerIO (line 50) | class LoggerIO
method debug (line 51) | def debug(message)
method warn (line 55) | def warn(message)
method err (line 59) | def err(message)
method inform (line 63) | def inform(message)
function clean_cert (line 69) | def clean_cert(node)
function clean_cached_facts (line 78) | def clean_cached_facts(node)
function clean_cached_node (line 84) | def clean_cached_node(node)
function clean_reports (line 90) | def clean_reports(node)
function environment (line 95) | def environment
function type_is_ensurable (line 99) | def type_is_ensurable(resource)
FILE: lib/puppet/face/parser.rb
function dump_parse (line 176) | def dump_parse(source, filename, options, show_filename = true)
function validate_manifest (line 212) | def validate_manifest(manifest = nil)
FILE: lib/puppet/facter_impl.rb
type Puppet (line 8) | module Puppet
class FacterImpl (line 9) | class FacterImpl
method initialize (line 10) | def initialize
method value (line 16) | def value(fact_name)
method add (line 20) | def add(name, &block)
method to_hash (line 24) | def to_hash
method clear (line 28) | def clear
method reset (line 32) | def reset
method resolve (line 36) | def resolve(options)
method search_external (line 40) | def search_external(dirs)
method search (line 44) | def search(*dirs)
method trace (line 48) | def trace(value)
method debugging (line 52) | def debugging(value)
method load_external? (line 56) | def load_external?
method load_external (line 60) | def load_external(value)
method setup_logging (line 66) | def setup_logging
FILE: lib/puppet/feature/base.rb
type WindowsSymlink (line 57) | module WindowsSymlink
function is_implemented (line 61) | def self.is_implemented # rubocop:disable Naming/PredicateName
FILE: lib/puppet/ffi/posix.rb
type Puppet (line 5) | module Puppet
type FFI (line 6) | module FFI
type POSIX (line 7) | module POSIX
FILE: lib/puppet/ffi/posix/constants.rb
type Puppet::FFI::POSIX (line 5) | module Puppet::FFI::POSIX
type Constants (line 6) | module Constants
FILE: lib/puppet/ffi/posix/functions.rb
type Puppet::FFI::POSIX (line 5) | module Puppet::FFI::POSIX
type Functions (line 6) | module Functions
FILE: lib/puppet/ffi/windows.rb
type Puppet (line 5) | module Puppet
type FFI (line 6) | module FFI
type Windows (line 7) | module Windows
FILE: lib/puppet/ffi/windows/api_types.rb
type Puppet::FFI::Windows (line 6) | module Puppet::FFI::Windows
type APITypes (line 7) | module APITypes
type ::FFI (line 8) | module ::FFI
type ::FFI::Library (line 15) | module ::FFI::Library
function attach_function_private (line 17) | def attach_function_private(*args)
class ::FFI::Pointer (line 23) | class ::FFI::Pointer
method from_string_to_wide_string (line 27) | def self.from_string_to_wide_string(str, &block)
method read_win32_bool (line 35) | def read_win32_bool
method read_handle (line 47) | def read_handle
method read_wide_string (line 55) | def read_wide_string(char_length, dst_encoding = Encoding::UTF_8, ...
method read_arbitrary_wide_string_up_to (line 75) | def read_arbitrary_wide_string_up_to(max_char_length = 512, null_t...
method read_win32_local_pointer (line 94) | def read_win32_local_pointer(&block)
method read_com_memory_pointer (line 108) | def read_com_memory_pointer(&block)
class FFI::MemoryPointer (line 124) | class FFI::MemoryPointer
method from_wide_string (line 127) | def self.from_wide_string(wstr)
type ::FFI::WIN32 (line 216) | module ::FFI::WIN32
class GUID (line 226) | class GUID < FFI::Struct
method [] (line 232) | def self.[](s)
method == (line 247) | def ==(other) Windows.memcmp(other, self, size) == 0 end
class SYSTEMTIME (line 261) | class SYSTEMTIME < FFI::Struct
method to_local_time (line 271) | def to_local_time
class FILETIME (line 284) | class FILETIME < FFI::Struct
FILE: lib/puppet/ffi/windows/constants.rb
type Puppet::FFI::Windows (line 5) | module Puppet::FFI::Windows
type Constants (line 6) | module Constants
FILE: lib/puppet/ffi/windows/functions.rb
type Puppet::FFI::Windows (line 5) | module Puppet::FFI::Windows
type Functions (line 6) | module Functions
FILE: lib/puppet/ffi/windows/structs.rb
type Puppet::FFI::Windows (line 6) | module Puppet::FFI::Windows
type Structs (line 7) | module Structs
class SECURITY_ATTRIBUTES (line 17) | class SECURITY_ATTRIBUTES < FFI::Struct
class STARTUPINFO (line 49) | class STARTUPINFO < FFI::Struct
class PROCESS_INFORMATION (line 81) | class PROCESS_INFORMATION < FFI::Struct
class LUID (line 97) | class LUID < FFI::Struct
class LUID_AND_ATTRIBUTES (line 107) | class LUID_AND_ATTRIBUTES < FFI::Struct
class TOKEN_PRIVILEGES (line 117) | class TOKEN_PRIVILEGES < FFI::Struct
class TOKEN_ELEVATION (line 126) | class TOKEN_ELEVATION < FFI::Struct
class SERVICE_STATUS_PROCESS (line 142) | class SERVICE_STATUS_PROCESS < FFI::Struct
class SERVICE_DELAYED_AUTO_START_INFO (line 160) | class SERVICE_DELAYED_AUTO_START_INFO < FFI::Struct
method []= (line 165) | def []=(key, value)
class ENUM_SERVICE_STATUS_PROCESSW (line 176) | class ENUM_SERVICE_STATUS_PROCESSW < FFI::Struct
class SERVICE_STATUS (line 193) | class SERVICE_STATUS < FFI::Struct
class QUERY_SERVICE_CONFIGW (line 216) | class QUERY_SERVICE_CONFIGW < FFI::Struct
class SERVICE_TABLE_ENTRYW (line 234) | class SERVICE_TABLE_ENTRYW < FFI::Struct
class OSVERSIONINFO (line 250) | class OSVERSIONINFO < FFI::Struct
class SYMLINK_REPARSE_DATA_BUFFER (line 267) | class SYMLINK_REPARSE_DATA_BUFFER < FFI::Struct
class MOUNT_POINT_REPARSE_DATA_BUFFER (line 285) | class MOUNT_POINT_REPARSE_DATA_BUFFER < FFI::Struct
class SHFILEINFO (line 307) | class SHFILEINFO < FFI::Struct
class REPARSE_JDATA_BUFFER (line 318) | class REPARSE_JDATA_BUFFER < FFI::Struct
method header_size (line 334) | def header_size
FILE: lib/puppet/file_bucket.rb
type Puppet::FileBucket (line 4) | module Puppet::FileBucket
class BucketError (line 5) | class BucketError < RuntimeError; end
FILE: lib/puppet/file_bucket/dipper.rb
class Puppet::FileBucket::Dipper (line 10) | class Puppet::FileBucket::Dipper
method initialize (line 18) | def initialize(hash = {})
method local? (line 34) | def local?
method backup (line 39) | def backup(file)
method diff (line 64) | def diff(checksum_a, checksum_b, file_a, file_b)
method getfile (line 107) | def getfile(sum)
method get_bucket_file (line 112) | def get_bucket_file(sum)
method restore (line 122) | def restore(file, sum)
method list (line 162) | def list(fromdate, todate)
method absolutize_path (line 180) | def absolutize_path(path)
FILE: lib/puppet/file_bucket/file.rb
class Puppet::FileBucket::File (line 9) | class Puppet::FileBucket::File
method supported_formats (line 18) | def self.supported_formats
method initialize (line 22) | def initialize(contents, options = {})
method size (line 38) | def size
method stream (line 43) | def stream(&block)
method checksum_type (line 47) | def checksum_type
method checksum (line 51) | def checksum
method checksum_data (line 55) | def checksum_data
method to_s (line 59) | def to_s
method to_binary (line 63) | def to_binary
method contents (line 67) | def contents
method name (line 71) | def name
method from_binary (line 75) | def self.from_binary(contents)
class StringContents (line 79) | class StringContents
method initialize (line 80) | def initialize(content)
method stream (line 84) | def stream(&block)
method size (line 93) | def size
method checksum_data (line 97) | def checksum_data(base_method)
method to_binary (line 102) | def to_binary
class FileContents (line 109) | class FileContents
method initialize (line 110) | def initialize(path)
method stream (line 114) | def stream(&block)
method size (line 118) | def size
method checksum_data (line 122) | def checksum_data(base_method)
method to_binary (line 127) | def to_binary
FILE: lib/puppet/file_serving.rb
class Puppet::FileServing (line 4) | class Puppet::FileServing # :nodoc:
FILE: lib/puppet/file_serving/base.rb
class Puppet::FileServing::Base (line 8) | class Puppet::FileServing::Base
method exist? (line 14) | def exist?
method full_path (line 22) | def full_path
method initialize (line 37) | def initialize(path, links: nil, relative_path: nil, source: nil)
method links= (line 49) | def links=(value)
method path= (line 61) | def path=(path)
method relative_path= (line 71) | def relative_path=(path)
method stat (line 78) | def stat
method to_data_hash (line 83) | def to_data_hash
method absolute? (line 91) | def self.absolute?(path)
FILE: lib/puppet/file_serving/configuration.rb
class Puppet::FileServing::Configuration (line 14) | class Puppet::FileServing::Configuration
method configuration (line 17) | def self.configuration
method find_mount (line 31) | def find_mount(mount_name, environment)
method initialize (line 38) | def initialize
method mounted? (line 48) | def mounted?(name)
method split_path (line 53) | def split_path(request)
method umount (line 80) | def umount(name)
method mk_default_mounts (line 86) | def mk_default_mounts
method readconfig (line 96) | def readconfig(check = true)
FILE: lib/puppet/file_serving/configuration/parser.rb
class Puppet::FileServing::Configuration::Parser (line 6) | class Puppet::FileServing::Configuration::Parser
method parse (line 11) | def parse
method initialize (line 62) | def initialize(filename)
method changed? (line 66) | def changed?
method newmount (line 73) | def newmount(name)
method path (line 98) | def path(mount, value)
method validate (line 113) | def validate
FILE: lib/puppet/file_serving/content.rb
class Puppet::FileServing::Content (line 10) | class Puppet::FileServing::Content < Puppet::FileServing::Base
method supported_formats (line 16) | def self.supported_formats
method from_binary (line 20) | def self.from_binary(content)
method collect (line 28) | def collect(source_permissions = nil)
method content (line 32) | def content
method to_binary (line 42) | def to_binary
FILE: lib/puppet/file_serving/fileset.rb
class Puppet::FileServing::Fileset (line 8) | class Puppet::FileServing::Fileset
method merge (line 17) | def self.merge(*filesets)
method initialize (line 29) | def initialize(path, options = {})
method files (line 62) | def files
method ignore= (line 86) | def ignore=(values)
method links= (line 91) | def links=(links)
method initialize_from_hash (line 102) | def initialize_from_hash(options)
method initialize_from_request (line 113) | def initialize_from_request(request)
method down_level (line 130) | def down_level(to)
method basename (line 134) | def basename
method children (line 138) | def children
method ignore? (line 146) | def ignore?(child)
method directory? (line 153) | def directory?
method perform_recursion (line 162) | def perform_recursion
method valid? (line 179) | def valid?(path)
method continue_recursion_at? (line 186) | def continue_recursion_at?(depth)
FILE: lib/puppet/file_serving/http_metadata.rb
class Puppet::FileServing::HttpMetadata (line 7) | class Puppet::FileServing::HttpMetadata < Puppet::FileServing::Metadata
method initialize (line 8) | def initialize(http_response, path = '/dev/null')
method collect (line 50) | def collect
FILE: lib/puppet/file_serving/metadata.rb
class Puppet::FileServing::Metadata (line 11) | class Puppet::FileServing::Metadata < Puppet::FileServing::Base
method checksum_type= (line 21) | def checksum_type=(type)
method source_permissions= (line 27) | def source_permissions=(source_permissions)
method content_uri= (line 33) | def content_uri=(path)
class MetaStat (line 45) | class MetaStat
method initialize (line 48) | def initialize(stat, source_permissions)
method owner (line 53) | def owner
method group (line 57) | def group
method mode (line 61) | def mode
class WindowsStat (line 68) | class WindowsStat < MetaStat
method initialize (line 73) | def initialize(stat, path, source_permissions)
method collect_stat (line 88) | def collect_stat(path)
method collect (line 101) | def collect(source_permissions = nil)
method initialize (line 133) | def initialize(path, data = {})
method to_data_hash (line 154) | def to_data_hash
method from_data_hash (line 171) | def self.from_data_hash(data)
FILE: lib/puppet/file_serving/mount.rb
class Puppet::FileServing::Mount (line 10) | class Puppet::FileServing::Mount
method find (line 15) | def find(path, options)
method initialize (line 20) | def initialize(name)
method search (line 30) | def search(path, options)
method to_s (line 34) | def to_s
method validate (line 39) | def validate
FILE: lib/puppet/file_serving/mount/file.rb
class Puppet::FileServing::Mount::File (line 5) | class Puppet::FileServing::Mount::File < Puppet::FileServing::Mount
method localmap (line 6) | def self.localmap
method complete_path (line 17) | def complete_path(relative_path, node)
method find (line 36) | def find(short_file, request)
method path (line 41) | def path(node = nil)
method path= (line 50) | def path=(path)
method search (line 65) | def search(path, request)
method validate (line 74) | def validate
method clientmap (line 81) | def clientmap(node)
method expand (line 90) | def expand(path, node = nil)
method expandable? (line 113) | def expandable?
method localmap (line 123) | def localmap
FILE: lib/puppet/file_serving/mount/locales.rb
class Puppet::FileServing::Mount::Locales (line 8) | class Puppet::FileServing::Mount::Locales < Puppet::FileServing::Mount
method find (line 10) | def find(relative_path, request)
method search (line 17) | def search(relative_path, request)
method valid? (line 32) | def valid?
FILE: lib/puppet/file_serving/mount/modules.rb
class Puppet::FileServing::Mount::Modules (line 7) | class Puppet::FileServing::Mount::Modules < Puppet::FileServing::Mount
method find (line 9) | def find(path, request)
method search (line 19) | def search(path, request)
method valid? (line 26) | def valid?
FILE: lib/puppet/file_serving/mount/pluginfacts.rb
class Puppet::FileServing::Mount::PluginFacts (line 8) | class Puppet::FileServing::Mount::PluginFacts < Puppet::FileServing::Mount
method find (line 10) | def find(relative_path, request)
method search (line 17) | def search(relative_path, request)
method valid? (line 32) | def valid?
FILE: lib/puppet/file_serving/mount/plugins.rb
class Puppet::FileServing::Mount::Plugins (line 8) | class Puppet::FileServing::Mount::Plugins < Puppet::FileServing::Mount
method find (line 10) | def find(relative_path, request)
method search (line 17) | def search(relative_path, request)
method valid? (line 32) | def valid?
FILE: lib/puppet/file_serving/mount/scripts.rb
class Puppet::FileServing::Mount::Scripts (line 5) | class Puppet::FileServing::Mount::Scripts < Puppet::FileServing::Mount
method find (line 7) | def find(path, request)
method search (line 17) | def search(path, request)
method valid? (line 24) | def valid?
FILE: lib/puppet/file_serving/mount/tasks.rb
class Puppet::FileServing::Mount::Tasks (line 5) | class Puppet::FileServing::Mount::Tasks < Puppet::FileServing::Mount
method find (line 6) | def find(path, request)
method search (line 16) | def search(path, request)
method valid? (line 23) | def valid?
FILE: lib/puppet/file_serving/terminus_helper.rb
type Puppet::FileServing::TerminusHelper (line 8) | module Puppet::FileServing::TerminusHelper
function path2instance (line 10) | def path2instance(request, path, options = {})
function path2instances (line 23) | def path2instances(request, *paths)
FILE: lib/puppet/file_serving/terminus_selector.rb
type Puppet::FileServing::TerminusSelector (line 8) | module Puppet::FileServing::TerminusSelector
function select (line 9) | def select(request)
FILE: lib/puppet/file_system.rb
type Puppet::FileSystem (line 3) | module Puppet::FileSystem
function overlay (line 30) | def self.overlay(*files, &block)
function open (line 51) | def self.open(path, mode, options, &block)
function dir (line 59) | def self.dir(path)
function dir_string (line 67) | def self.dir_string(path)
function dir_exist? (line 72) | def self.dir_exist?(path)
function dir_mkpath (line 77) | def self.dir_mkpath(path)
function basename (line 85) | def self.basename(path)
function basename_string (line 93) | def self.basename_string(path)
function exclusive_open (line 119) | def self.exclusive_open(path, mode, options = 'r', timeout = 300, &block)
function each_line (line 127) | def self.each_line(path, &block)
function read (line 135) | def self.read(path, opts = {})
function read_preserve_line_endings (line 148) | def self.read_preserve_line_endings(path)
function binread (line 156) | def self.binread(path)
function exist? (line 167) | def self.exist?(path)
function directory? (line 176) | def self.directory?(path)
function file? (line 185) | def self.file?(path)
function executable? (line 197) | def self.executable?(path)
function writable? (line 205) | def self.writable?(path)
function touch (line 215) | def self.touch(path, mtime: nil)
function mkpath (line 223) | def self.mkpath(path)
function children (line 230) | def self.children(path)
function symlink (line 261) | def self.symlink(path, dest, options = {})
function symlink? (line 269) | def self.symlink?(path)
function readlink (line 277) | def self.readlink(path)
function unlink (line 290) | def self.unlink(*paths)
function stat (line 298) | def self.stat(path)
function size (line 306) | def self.size(path)
function lstat (line 315) | def self.lstat(path)
function compare_stream (line 326) | def self.compare_stream(path, stream)
function pathname (line 340) | def self.pathname(path)
function expand_path (line 356) | def self.expand_path(path, dir_string = nil)
function assert_path (line 366) | def self.assert_path(path)
function path_string (line 375) | def self.path_string(path)
function exclusive_create (line 387) | def self.exclusive_create(path, mode, &block)
function chmod (line 401) | def self.chmod(mode, path)
function replace_file (line 418) | def self.replace_file(path, mode = nil, &block)
FILE: lib/puppet/file_system/file_impl.rb
class Puppet::FileSystem::FileImpl (line 5) | class Puppet::FileSystem::FileImpl
method pathname (line 6) | def pathname(path)
method assert_path (line 10) | def assert_path(path)
method path_string (line 22) | def path_string(path)
method expand_path (line 26) | def expand_path(path, dir_string = nil)
method open (line 31) | def open(path, mode, options, &block)
method dir (line 35) | def dir(path)
method basename (line 39) | def basename(path)
method size (line 43) | def size(path)
method exclusive_create (line 47) | def exclusive_create(path, mode, &block)
method exclusive_open (line 52) | def exclusive_open(path, mode, options = 'r', timeout = 300, &block)
method each_line (line 75) | def each_line(path, &block)
method read (line 83) | def read(path, opts = {})
method read_preserve_line_endings (line 87) | def read_preserve_line_endings(path)
method binread (line 93) | def binread(path)
method exist? (line 97) | def exist?(path)
method directory? (line 101) | def directory?(path)
method file? (line 105) | def file?(path)
method executable? (line 109) | def executable?(path)
method writable? (line 113) | def writable?(path)
method touch (line 117) | def touch(path, mtime: nil)
method mkpath (line 121) | def mkpath(path)
method children (line 125) | def children(path)
method symlink (line 129) | def symlink(path, dest, options = {})
method symlink? (line 133) | def symlink?(path)
method readlink (line 137) | def readlink(path)
method unlink (line 141) | def unlink(*paths)
method stat (line 145) | def stat(path)
method lstat (line 149) | def lstat(path)
method compare_stream (line 153) | def compare_stream(path, stream)
method chmod (line 157) | def chmod(mode, path)
method replace_file (line 161) | def replace_file(path, mode = nil)
FILE: lib/puppet/file_system/jruby.rb
class Puppet::FileSystem::JRuby (line 5) | class Puppet::FileSystem::JRuby < Puppet::FileSystem::Posix
method unlink (line 6) | def unlink(*paths)
method replace_file (line 16) | def replace_file(path, mode = nil, &block)
FILE: lib/puppet/file_system/memory_file.rb
class Puppet::FileSystem::MemoryFile (line 5) | class Puppet::FileSystem::MemoryFile
method a_missing_file (line 8) | def self.a_missing_file(path)
method a_missing_directory (line 12) | def self.a_missing_directory(path)
method a_regular_file_containing (line 19) | def self.a_regular_file_containing(path, content)
method an_executable (line 23) | def self.an_executable(path)
method a_directory (line 27) | def self.a_directory(path, children = [])
method a_symlink (line 35) | def self.a_symlink(target_path, source_path)
method initialize (line 39) | def initialize(path, properties)
method directory? (line 47) | def directory?; @properties[:directory?]; end
method exist? (line 48) | def exist?; @properties[:exist?]; end
method executable? (line 49) | def executable?; @properties[:executable?]; end
method symlink? (line 50) | def symlink?; @properties[:symlink?]; end
method source_path (line 51) | def source_path; @properties[:source_path]; end
method each_line (line 53) | def each_line(&block)
method handle (line 57) | def handle
method duplicate_as (line 63) | def duplicate_as(other_path)
method absolute? (line 67) | def absolute?
method to_path (line 71) | def to_path
method to_s (line 75) | def to_s
method inspect (line 79) | def inspect
FILE: lib/puppet/file_system/memory_impl.rb
class Puppet::FileSystem::MemoryImpl (line 3) | class Puppet::FileSystem::MemoryImpl
method initialize (line 4) | def initialize(*files)
method expand_path (line 8) | def expand_path(path, dir_string = nil)
method exist? (line 12) | def exist?(path)
method directory? (line 16) | def directory?(path)
method file? (line 20) | def file?(path)
method executable? (line 24) | def executable?(path)
method symlink? (line 28) | def symlink?(path)
method readlink (line 32) | def readlink(path)
method children (line 43) | def children(path)
method each_line (line 47) | def each_line(path, &block)
method pathname (line 51) | def pathname(path)
method basename (line 55) | def basename(path)
method path_string (line 59) | def path_string(object)
method read (line 63) | def read(path, opts = {})
method read_preserve_line_endings (line 68) | def read_preserve_line_endings(path)
method open (line 72) | def open(path, *args, &block)
method assert_path (line 81) | def assert_path(path)
method find (line 91) | def find(path)
method all_children_of (line 95) | def all_children_of(files)
FILE: lib/puppet/file_system/path_pattern.rb
type Puppet::FileSystem (line 6) | module Puppet::FileSystem
class PathPattern (line 7) | class PathPattern
class InvalidPattern (line 8) | class InvalidPattern < Puppet::Error; end
method relative (line 15) | def self.relative(pattern)
method absolute (line 19) | def self.absolute(pattern)
method prefix_with (line 30) | def prefix_with(prefix)
method glob (line 35) | def glob
method to_s (line 39) | def to_s
method validate (line 49) | def validate
method initialize (line 57) | def initialize(pattern)
class RelativePathPattern (line 68) | class RelativePathPattern < PathPattern
method absolute? (line 69) | def absolute?
method validate (line 73) | def validate
class AbsolutePathPattern (line 83) | class AbsolutePathPattern < PathPattern
method absolute? (line 84) | def absolute?
method validate (line 88) | def validate
FILE: lib/puppet/file_system/posix.rb
class Puppet::FileSystem::Posix (line 3) | class Puppet::FileSystem::Posix < Puppet::FileSystem::FileImpl
method binread (line 4) | def binread(path)
method compare_stream (line 14) | def compare_stream(path, stream)
method stream_blksize (line 31) | def stream_blksize(*streams)
method blksize (line 41) | def blksize(st)
method default_blksize (line 49) | def default_blksize
FILE: lib/puppet/file_system/uniquefile.rb
class Puppet::FileSystem::Uniquefile (line 13) | class Puppet::FileSystem::Uniquefile < DelegateClass(File)
method open_tmp (line 21) | def self.open_tmp(identifier)
method initialize (line 30) | def initialize(basename, *rest)
method open (line 54) | def open
method _close (line 60) | def _close
method close (line 67) | def close(unlink_now = false)
method close! (line 75) | def close!
method unlink (line 80) | def unlink
method path (line 96) | def path
method make_tmpname (line 102) | def make_tmpname(prefix_suffix, n)
method create_tmpname (line 119) | def create_tmpname(basename, *rest)
method try_convert_to_hash (line 143) | def try_convert_to_hash(h)
method tmpdir (line 151) | def tmpdir
method locking (line 170) | def locking(tmpname)
method mkdir (line 182) | def mkdir(*args)
method rmdir (line 186) | def rmdir(*args)
FILE: lib/puppet/file_system/windows.rb
class Puppet::FileSystem::Windows (line 6) | class Puppet::FileSystem::Windows < Puppet::FileSystem::Posix
method open (line 10) | def open(path, mode, options, &block)
method expand_path (line 19) | def expand_path(path, dir_string = nil)
method exist? (line 38) | def exist?(path)
method symlink (line 42) | def symlink(path, dest, options = {})
method symlink? (line 63) | def symlink?(path)
method readlink (line 69) | def readlink(path)
method unlink (line 74) | def unlink(*file_names)
method stat (line 108) | def stat(path)
method lstat (line 112) | def lstat(path)
method chmod (line 120) | def chmod(mode, path)
method read_preserve_line_endings (line 124) | def read_preserve_line_endings(path)
method replace_file (line 138) | def replace_file(path, mode = nil)
method set_dacl (line 189) | def set_dacl(path, dacl)
method secure_dacl (line 195) | def secure_dacl(current_sid)
method get_dacl_from_file (line 207) | def get_dacl_from_file(path)
method raise_if_symlinks_unsupported (line 214) | def raise_if_symlinks_unsupported
FILE: lib/puppet/forge.rb
class Puppet::Forge (line 13) | class Puppet::Forge < SemanticPuppet::Dependency::Source
method initialize (line 27) | def initialize(host = Puppet[:module_repository])
method search (line 59) | def search(term)
method fetch (line 95) | def fetch(input)
method make_http_request (line 120) | def make_http_request(*args)
class ModuleRelease (line 124) | class ModuleRelease < SemanticPuppet::Dependency::ModuleRelease
method initialize (line 127) | def initialize(source, data)
method install (line 150) | def install(dir)
method prepare (line 169) | def prepare
method tmpdir (line 198) | def tmpdir
method tmpfile (line 202) | def tmpfile
method download (line 207) | def download(uri, destination)
method validate_checksum (line 215) | def validate_checksum(file, checksum, digest_class)
method unpack (line 225) | def unpack(file, destination)
method deprecated? (line 231) | def deprecated?
method process (line 238) | def process(list)
method decode_uri (line 252) | def decode_uri(uri)
FILE: lib/puppet/forge/cache.rb
class Puppet::Forge (line 7) | class Puppet::Forge
class Cache (line 11) | class Cache
method initialize (line 13) | def initialize(repository, options = {})
method retrieve (line 23) | def retrieve(url)
method read_retrieve (line 40) | def read_retrieve(uri)
method path (line 45) | def path
method base_path (line 50) | def self.base_path
method clean (line 57) | def self.clean
FILE: lib/puppet/forge/errors.rb
type Puppet::Forge::Errors (line 8) | module Puppet::Forge::Errors
class ForgeError (line 10) | class ForgeError < Puppet::Error
method multiline (line 15) | def multiline
class SSLVerifyError (line 22) | class SSLVerifyError < ForgeError
method initialize (line 25) | def initialize(options)
method multiline (line 35) | def multiline
class CommunicationError (line 47) | class CommunicationError < ForgeError
method initialize (line 50) | def initialize(options)
method multiline (line 62) | def multiline
class ResponseError (line 74) | class ResponseError < ForgeError
method initialize (line 79) | def initialize(options)
method multiline (line 104) | def multiline
FILE: lib/puppet/forge/repository.rb
class Puppet::Forge (line 10) | class Puppet::Forge
class Repository (line 14) | class Repository
method initialize (line 21) | def initialize(host, for_agent)
method make_http_request (line 32) | def make_http_request(path, io = nil)
method forge_authorization (line 60) | def forge_authorization
method retrieve (line 70) | def retrieve(release)
method to_s (line 76) | def to_s
method cache_key (line 82) | def cache_key
method user_agent (line 91) | def user_agent
FILE: lib/puppet/functions.rb
type Puppet::Functions (line 179) | module Puppet::Functions
function create_function (line 186) | def self.create_function(func_name, function_base = Function, &block)
function create_loaded_function (line 211) | def self.create_loaded_function(func_name, loader, function_base = Fun...
function default_dispatcher (line 271) | def self.default_dispatcher(the_class, func_name)
function min_max_param (line 280) | def self.min_max_param(method)
function any_signature (line 293) | def self.any_signature(from, to, names)
class Function (line 306) | class Function < Puppet::Pops::Functions::Function
method builder (line 308) | def self.builder
method dispatch (line 320) | def self.dispatch(meth_name, &block)
method argument_mismatch (line 335) | def self.argument_mismatch(meth_name, &block)
method local_types (line 349) | def self.local_types(&block)
method new (line 377) | def self.new(closure_scope, given_loader)
class PuppetFunction (line 383) | class PuppetFunction < Function
method init_dispatch (line 384) | def self.init_dispatch(a_closure)
class DispatcherBuilder (line 394) | class DispatcherBuilder
method initialize (line 398) | def initialize(dispatcher, all_callables, loader)
method param (line 413) | def param(type, name)
method optional_param (line 432) | def optional_param(type, name)
method repeated_param (line 447) | def repeated_param(type, name)
method required_repeated_param (line 463) | def required_repeated_param(type, name)
method block_param (line 476) | def block_param(*type_and_name)
method optional_block_param (line 513) | def optional_block_param(*type_and_name)
method return_type (line 523) | def return_type(type)
method internal_param (line 534) | def internal_param(type, name, repeat = false)
method dispatch (line 557) | def dispatch(meth_name, argument_mismatch_handler, &block)
method create_callable (line 583) | def create_callable(types, block_type, return_type, from, to)
method internal_type_parse (line 592) | def internal_type_parse(type_string, loader)
class LocalTypeAliasesBuilder (line 606) | class LocalTypeAliasesBuilder
method initialize (line 609) | def initialize(loader, name)
method type (line 624) | def type(assignment_string)
class InternalFunction (line 662) | class InternalFunction < Function
method builder (line 664) | def self.builder
method call_function_with_scope (line 678) | def call_function_with_scope(scope, function_name, *args, &block)
class Function3x (line 683) | class Function3x < InternalFunction
method create_function (line 697) | def self.create_function(func_name, func_info, loader)
method from_to_names (line 781) | def self.from_to_names(func_info)
class InternalDispatchBuilder (line 824) | class InternalDispatchBuilder < DispatcherBuilder
method scope_param (line 826) | def scope_param
method script_compiler_param (line 831) | def script_compiler_param
method cache_param (line 836) | def cache_param
method compiler_param (line 841) | def compiler_param
method pal_compiler_param (line 846) | def pal_compiler_param
method inject (line 852) | def inject(injection_name)
FILE: lib/puppet/functions/abs.rb
function on_numeric (line 44) | def on_numeric(x)
function on_string (line 48) | def on_string(x)
FILE: lib/puppet/functions/alert.rb
function alert (line 13) | def alert(scope, *values)
FILE: lib/puppet/functions/all.rb
function all_Hash_1 (line 85) | def all_Hash_1(hash)
function all_Hash_2 (line 89) | def all_Hash_2(hash)
function all_Enumerable_1 (line 93) | def all_Enumerable_1(enumerable)
function all_Enumerable_2 (line 97) | def all_Enumerable_2(enumerable)
FILE: lib/puppet/functions/annotate.rb
function annotate (line 91) | def annotate(type, value, &block)
function annotate_new (line 99) | def annotate_new(type, value, annotation_hash)
function annotate_multi (line 107) | def annotate_multi(type, value, annotations)
FILE: lib/puppet/functions/any.rb
function any_Hash_1 (line 90) | def any_Hash_1(hash)
function any_Hash_2 (line 94) | def any_Hash_2(hash)
function any_Enumerable_1 (line 98) | def any_Enumerable_1(enumerable)
function any_Enumerable_2 (line 102) | def any_Enumerable_2(enumerable)
FILE: lib/puppet/functions/assert_type.rb
function assert_type (line 71) | def assert_type(type, value)
function assert_type_s (line 92) | def assert_type_s(type_string, value, &proc)
FILE: lib/puppet/functions/binary_file.rb
function binary_file (line 26) | def binary_file(scope, unresolved_path)
FILE: lib/puppet/functions/break.rb
function break_impl (line 40) | def break_impl
FILE: lib/puppet/functions/call.rb
function call_impl_block (line 73) | def call_impl_block(scope, function_name, *args, &block)
function call_deferred (line 78) | def call_deferred(scope, deferred)
FILE: lib/puppet/functions/camelcase.rb
function on_numeric (line 47) | def on_numeric(n)
function on_string (line 51) | def on_string(s)
function on_iterable (line 55) | def on_iterable(a)
function do_camelcase (line 59) | def do_camelcase(x)
FILE: lib/puppet/functions/capitalize.rb
function on_numeric (line 46) | def on_numeric(n)
function on_string (line 50) | def on_string(s)
function on_iterable (line 54) | def on_iterable(a)
function do_capitalize (line 58) | def do_capitalize(x)
FILE: lib/puppet/functions/ceiling.rb
function on_numeric (line 23) | def on_numeric(x)
function on_string (line 27) | def on_string(x)
FILE: lib/puppet/functions/chomp.rb
function on_numeric (line 42) | def on_numeric(n)
function on_string (line 46) | def on_string(s)
function on_iterable (line 50) | def on_iterable(a)
function do_chomp (line 54) | def do_chomp(x)
FILE: lib/puppet/functions/chop.rb
function on_numeric (line 52) | def on_numeric(n)
function on_string (line 56) | def on_string(s)
function on_iterable (line 60) | def on_iterable(a)
function do_chop (line 64) | def do_chop(x)
FILE: lib/puppet/functions/compare.rb
function on_numeric (line 63) | def on_numeric(a, b)
function on_string (line 67) | def on_string(a, b, ignore_case = true)
function on_version (line 75) | def on_version(a, b)
function on_time_num_first (line 79) | def on_time_num_first(a, b)
function on_timespan (line 85) | def on_timespan(a, b)
function on_timestamp (line 89) | def on_timestamp(a, b)
function on_not_comparable (line 93) | def on_not_comparable(a, b, *ignore_case)
function on_error (line 100) | def on_error(a, b, *ignore_case)
function type_label (line 124) | def type_label(x)
FILE: lib/puppet/functions/contain.rb
function contain (line 33) | def contain(scope, *classes)
FILE: lib/puppet/functions/convert_to.rb
function convert_to (line 32) | def convert_to(value, type, *args, &block)
FILE: lib/puppet/functions/crit.rb
function crit (line 13) | def crit(scope, *values)
FILE: lib/puppet/functions/debug.rb
function debug (line 13) | def debug(scope, *values)
FILE: lib/puppet/functions/defined.rb
function is_defined (line 110) | def is_defined(scope, *vals) # rubocop:disable Naming/PredicateName
FILE: lib/puppet/functions/dig.rb
function dig (line 38) | def dig(data, *args)
FILE: lib/puppet/functions/downcase.rb
function on_numeric (line 70) | def on_numeric(n)
function on_string (line 74) | def on_string(s)
function on_array (line 78) | def on_array(a)
function on_hash (line 82) | def on_hash(h)
function do_downcase (line 88) | def do_downcase(x)
FILE: lib/puppet/functions/each.rb
function foreach_Hash_1 (line 120) | def foreach_Hash_1(hash)
function foreach_Hash_2 (line 131) | def foreach_Hash_2(hash)
function foreach_Enumerable_1 (line 142) | def foreach_Enumerable_1(enumerable)
function foreach_Enumerable_2 (line 154) | def foreach_Enumerable_2(enumerable)
FILE: lib/puppet/functions/emerg.rb
function emerg (line 13) | def emerg(scope, *values)
FILE: lib/puppet/functions/empty.rb
function collection_empty (line 51) | def collection_empty(coll)
function sensitive_string_empty (line 55) | def sensitive_string_empty(str)
function string_empty (line 59) | def string_empty(str)
function numeric_empty (line 66) | def numeric_empty(num)
function binary_empty (line 71) | def binary_empty(bin)
function undef_empty (line 78) | def undef_empty(x)
function deprecation_warning_for (line 82) | def deprecation_warning_for(arg_type)
FILE: lib/puppet/functions/epp.rb
function epp (line 47) | def epp(scope, path, parameters = nil)
FILE: lib/puppet/functions/err.rb
function err (line 13) | def err(scope, *values)
FILE: lib/puppet/functions/eyaml_lookup_key.rb
function eyaml_lookup_key (line 25) | def eyaml_lookup_key(key, options, context)
function load_data_hash (line 47) | def load_data_hash(options, context)
function decrypt_value (line 66) | def decrypt_value(value, context, options, key)
function decrypt (line 81) | def decrypt(data, context, options, key)
function encrypted? (line 100) | def encrypted?(data)
FILE: lib/puppet/functions/filter.rb
function filter_Hash_1 (line 96) | def filter_Hash_1(hash)
function filter_Hash_2 (line 103) | def filter_Hash_2(hash)
function filter_Enumerable_1 (line 110) | def filter_Enumerable_1(enumerable)
function filter_Enumerable_2 (line 122) | def filter_Enumerable_2(enumerable)
FILE: lib/puppet/functions/find_file.rb
function find_file_array (line 37) | def find_file_array(scope, array)
function find_file (line 41) | def find_file(scope, *args)
FILE: lib/puppet/functions/find_template.rb
function find_template_array (line 52) | def find_template_array(scope, array)
function find_template (line 56) | def find_template(scope, *args)
FILE: lib/puppet/functions/flatten.rb
function flatten_args (line 63) | def flatten_args(*args)
FILE: lib/puppet/functions/floor.rb
function on_numeric (line 23) | def on_numeric(x)
function on_string (line 27) | def on_string(x)
FILE: lib/puppet/functions/get.rb
function get_from_value (line 127) | def get_from_value(value, navigation, default_value = nil, &block)
FILE: lib/puppet/functions/getvar.rb
function invalid_variable_error (line 61) | def invalid_variable_error(navigation, default_value = nil, &block)
function get_from_navigation (line 67) | def get_from_navigation(scope, navigation, default_value = nil, &block)
function get_from_var_name (line 83) | def get_from_var_name(scope, var_string, navigation, default_value = nil...
FILE: lib/puppet/functions/group_by.rb
function group_by_1 (line 41) | def group_by_1(collection)
function group_by_2a (line 47) | def group_by_2a(array)
function group_by_2 (line 57) | def group_by_2(collection)
FILE: lib/puppet/functions/hiera_array.rb
function merge_type (line 80) | def merge_type
FILE: lib/puppet/functions/hiera_hash.rb
function merge_type (line 91) | def merge_type
FILE: lib/puppet/functions/hiera_include.rb
function merge_type (line 98) | def merge_type
function post_lookup (line 102) | def post_lookup(scope, key, value)
FILE: lib/puppet/functions/hocon_data.rb
function hocon_data (line 29) | def hocon_data(options, context)
function missing_path (line 38) | def missing_path(options, context)
FILE: lib/puppet/functions/import.rb
function import (line 6) | def import(*args)
FILE: lib/puppet/functions/include.rb
function include (line 41) | def include(scope, *classes)
FILE: lib/puppet/functions/index.rb
function index_Hash_1 (line 125) | def index_Hash_1(hash)
function index_Hash_2 (line 130) | def index_Hash_2(hash)
function index_Enumerable_1 (line 135) | def index_Enumerable_1(enumerable)
function index_Enumerable_2 (line 145) | def index_Enumerable_2(enumerable)
function string_index (line 155) | def string_index(str, match)
function index_value (line 159) | def index_value(enumerable, match)
FILE: lib/puppet/functions/info.rb
function info (line 13) | def info(scope, *values)
FILE: lib/puppet/functions/inline_epp.rb
function inline_epp (line 58) | def inline_epp(scope, template, parameters = nil)
FILE: lib/puppet/functions/join.rb
function join (line 55) | def join(arg, delimiter = '', puppet_formatting = false)
FILE: lib/puppet/functions/json_data.rb
function json_data (line 20) | def json_data(options, context)
function missing_path (line 30) | def missing_path(options, context)
FILE: lib/puppet/functions/keys.rb
function keys (line 24) | def keys(hsh)
FILE: lib/puppet/functions/length.rb
function collection_length (line 34) | def collection_length(col)
function string_length (line 38) | def string_length(s)
function binary_length (line 42) | def binary_length(bin)
FILE: lib/puppet/functions/lest.rb
function lest (line 50) | def lest(arg)
FILE: lib/puppet/functions/lookup.rb
function lookup_1 (line 189) | def lookup_1(scope, name, value_type = nil, merge = nil)
function lookup_2 (line 193) | def lookup_2(scope, name, value_type, merge, default_value)
function lookup_3 (line 197) | def lookup_3(scope, name, value_type = nil, merge = nil, &block)
function lookup_4 (line 201) | def lookup_4(scope, options_hash, &block)
function lookup_5 (line 205) | def lookup_5(scope, name, options_hash, &block)
function do_lookup (line 209) | def do_lookup(scope, name, value_type, default_value, has_default, overr...
function hash_args (line 214) | def hash_args(options_hash)
FILE: lib/puppet/functions/lstrip.rb
function on_numeric (line 43) | def on_numeric(n)
function on_string (line 47) | def on_string(s)
function on_iterable (line 51) | def on_iterable(a)
function do_lstrip (line 55) | def do_lstrip(x)
FILE: lib/puppet/functions/map.rb
function map_Hash_1 (line 92) | def map_Hash_1(hash)
function map_Hash_2 (line 101) | def map_Hash_2(hash)
function map_Enumerable_1 (line 110) | def map_Enumerable_1(enumerable)
function map_Enumerable_2 (line 122) | def map_Enumerable_2(enumerable)
FILE: lib/puppet/functions/match.rb
function initialize (line 50) | def initialize(closure_scope, loader)
function match (line 66) | def match(string, pattern)
function enumerable_match (line 76) | def enumerable_match(array, pattern)
function match_Object (line 82) | def match_Object(obj, s)
function match_String (line 87) | def match_String(pattern_string, s)
function match_Regexp (line 91) | def match_Regexp(regexp, s)
function match_PTypeAliasType (line 95) | def match_PTypeAliasType(alias_t, s)
function match_PVariantType (line 99) | def match_PVariantType(var_t, s)
function match_PRegexpType (line 106) | def match_PRegexpType(regexp_t, s)
function match_PPatternType (line 112) | def match_PPatternType(pattern_t, s)
function match_Array (line 121) | def match_Array(array, s)
function do_match (line 129) | def do_match(s, regexp)
FILE: lib/puppet/functions/max.rb
function on_numeric (line 139) | def on_numeric(*args)
function on_string (line 145) | def on_string(*args)
function on_semver (line 160) | def on_semver(*args)
function on_timespan (line 165) | def on_timespan(*args)
function on_timestamp (line 170) | def on_timestamp(*args)
function on_any_with_block (line 175) | def on_any_with_block(*args, &block)
function on_single_numeric_array (line 179) | def on_single_numeric_array(array, &block)
function on_single_string_array (line 187) | def on_single_string_array(array, &block)
function on_single_semver_array (line 195) | def on_single_semver_array(array, &block)
function on_single_timespan_array (line 203) | def on_single_timespan_array(array, &block)
function on_single_timestamp_array (line 211) | def on_single_timestamp_array(array, &block)
function on_single_any_array (line 219) | def on_single_any_array(array, &block)
function on_any (line 230) | def on_any(*args)
function assert_arg_count (line 247) | def assert_arg_count(args)
FILE: lib/puppet/functions/min.rb
function on_numeric (line 138) | def on_numeric(*args)
function on_string (line 144) | def on_string(*args)
function on_semver (line 159) | def on_semver(*args)
function on_timespan (line 164) | def on_timespan(*args)
function on_timestamp (line 169) | def on_timestamp(*args)
function on_any_with_block (line 174) | def on_any_with_block(*args, &block)
function on_single_numeric_array (line 178) | def on_single_numeric_array(array, &block)
function on_single_string_array (line 186) | def on_single_string_array(array, &block)
function on_single_semver_array (line 194) | def on_single_semver_array(array, &block)
function on_single_timespan_array (line 202) | def on_single_timespan_array(array, &block)
function on_single_timestamp_array (line 210) | def on_single_timestamp_array(array, &block)
function on_single_any_array (line 218) | def on_single_any_array(array, &block)
function on_any (line 229) | def on_any(*args)
function assert_arg_count (line 246) | def assert_arg_count(args)
FILE: lib/puppet/functions/module_directory.rb
function module_directory_array (line 32) | def module_directory_array(scope, names)
function module_directory (line 36) | def module_directory(scope, *names)
FILE: lib/puppet/functions/new.rb
function new_instance (line 993) | def new_instance(scope, t, *args)
function new_function_for_type (line 1000) | def new_function_for_type(t)
function assert_type (line 1010) | def assert_type(type, value)
FILE: lib/puppet/functions/next.rb
function next_impl (line 30) | def next_impl(value = nil)
FILE: lib/puppet/functions/notice.rb
function notice (line 13) | def notice(scope, *values)
FILE: lib/puppet/functions/partition.rb
function partition_1 (line 41) | def partition_1(collection)
function partition_2a (line 47) | def partition_2a(array)
function partition_2 (line 57) | def partition_2(collection)
FILE: lib/puppet/functions/reduce.rb
function reduce_without_memo (line 142) | def reduce_without_memo(enumerable)
function reduce_with_memo (line 151) | def reduce_with_memo(enumerable, given_memo)
FILE: lib/puppet/functions/regsubst.rb
function regsubst_string (line 68) | def regsubst_string(target, pattern, replacement, flags = nil, encoding ...
function regsubst_regexp (line 91) | def regsubst_regexp(target, pattern, replacement, flags = nil)
function inner_regsubst (line 96) | def inner_regsubst(target, re, replacement, op)
FILE: lib/puppet/functions/require.rb
function require_impl (line 49) | def require_impl(scope, *classes)
FILE: lib/puppet/functions/return.rb
function return_impl (line 13) | def return_impl(value = nil)
FILE: lib/puppet/functions/reverse_each.rb
function reverse_each (line 87) | def reverse_each(iterable)
function reverse_each_block (line 92) | def reverse_each_block(iterable, &block)
FILE: lib/puppet/functions/round.rb
function on_numeric (line 19) | def on_numeric(x)
FILE: lib/puppet/functions/rstrip.rb
function on_numeric (line 43) | def on_numeric(n)
function on_string (line 47) | def on_string(s)
function on_iterable (line 51) | def on_iterable(a)
function do_rstrip (line 55) | def do_rstrip(x)
FILE: lib/puppet/functions/scanf.rb
function scanf (line 39) | def scanf(data, format)
FILE: lib/puppet/functions/size.rb
function generic_size (line 12) | def generic_size(arg)
FILE: lib/puppet/functions/slice.rb
function slice_Hash (line 62) | def slice_Hash(hash, slice_size, &pblock)
function slice_Enumerable (line 67) | def slice_Enumerable(enumerable, slice_size, &pblock)
function slice_Common (line 73) | def slice_Common(o, slice_size, filler, pblock)
function asserted_slice_serving_size (line 110) | def asserted_slice_serving_size(pblock, slice_size)
FILE: lib/puppet/functions/sort.rb
function sort_string (line 69) | def sort_string(s, &block)
function sort_array (line 73) | def sort_array(a, &block)
FILE: lib/puppet/functions/split.rb
function split_String (line 55) | def split_String(str, pattern)
function split_Regexp (line 59) | def split_Regexp(str, pattern)
function split_RegexpType (line 63) | def split_RegexpType(str, pattern)
function split_String_sensitive (line 67) | def split_String_sensitive(sensitive, pattern)
function split_Regexp_sensitive (line 71) | def split_Regexp_sensitive(sensitive, pattern)
function split_RegexpType_sensitive (line 75) | def split_RegexpType_sensitive(sensitive, pattern)
FILE: lib/puppet/functions/step.rb
function step (line 91) | def step(iterable, step)
function step_block (line 96) | def step_block(iterable, step, &block)
FILE: lib/puppet/functions/strftime.rb
function format_timespan (line 199) | def format_timespan(time_object, format)
function format_timestamp (line 203) | def format_timestamp(time_object, format, timezone = nil)
function legacy_strftime (line 207) | def legacy_strftime(format, timezone = nil)
FILE: lib/puppet/functions/strip.rb
function on_numeric (line 43) | def on_numeric(n)
function on_string (line 47) | def on_string(s)
function on_iterable (line 51) | def on_iterable(a)
function do_strip (line 55) | def do_strip(x)
FILE: lib/puppet/functions/then.rb
function then (line 75) | def then(arg)
FILE: lib/puppet/functions/tree_each.rb
function tree_Enumerable1 (line 173) | def tree_Enumerable1(enum, options = {}, &block)
function tree_Enumerable2 (line 178) | def tree_Enumerable2(enum, options = {}, &block)
function tree_Iterable (line 183) | def tree_Iterable(enum, options = {}, &block)
function iterator (line 187) | def iterator(enum, options)
function depth_first? (line 195) | def depth_first?(options)
FILE: lib/puppet/functions/type.rb
function type_detailed (line 63) | def type_detailed(value, _ = nil)
function type_parameterized (line 67) | def type_parameterized(value, _)
function type_generalized (line 71) | def type_generalized(value, _)
FILE: lib/puppet/functions/unique.rb
function unique_string (line 110) | def unique_string(string, &block)
function unique_hash (line 114) | def unique_hash(hash, &block)
function unique_array (line 128) | def unique_array(array, &block)
function unique_iterable (line 132) | def unique_iterable(iterable, &block)
FILE: lib/puppet/functions/unwrap.rb
function from_sensitive (line 44) | def from_sensitive(arg)
function from_any (line 53) | def from_any(arg)
FILE: lib/puppet/functions/upcase.rb
function on_numeric (line 70) | def on_numeric(n)
function on_string (line 74) | def on_string(s)
function on_array (line 78) | def on_array(a)
function on_hash (line 82) | def on_hash(h)
function do_upcase (line 88) | def do_upcase(x)
FILE: lib/puppet/functions/values.rb
function values (line 24) | def values(hsh)
FILE: lib/puppet/functions/versioncmp.rb
function versioncmp (line 38) | def versioncmp(a, b, ignore_trailing_zeroes = false)
FILE: lib/puppet/functions/warning.rb
function warning (line 13) | def warning(scope, *values)
FILE: lib/puppet/functions/with.rb
function with (line 31) | def with(*args)
FILE: lib/puppet/functions/yaml_data.rb
function yaml_data (line 23) | def yaml_data(options, context)
function missing_path (line 42) | def missing_path(options, context)
FILE: lib/puppet/generate/models/type/property.rb
type Puppet (line 3) | module Puppet
type Generate (line 4) | module Generate
type Models (line 5) | module Models
type Type (line 6) | module Type
class Property (line 8) | class Property
method initialize (line 21) | def initialize(property)
method is_namevar? (line 30) | def is_namevar?
method get_puppet_type (line 37) | def self.get_puppet_type(property)
FILE: lib/puppet/generate/models/type/type.rb
type Puppet (line 5) | module Puppet
type Generate (line 6) | module Generate
type Models (line 7) | module Models
type Type (line 8) | module Type
class Type (line 10) | class Type
method initialize (line 35) | def initialize(type)
method render (line 61) | def render(template)
FILE: lib/puppet/generate/type.rb
type Puppet (line 8) | module Puppet
type Generate (line 9) | module Generate
class Type (line 11) | class Type
class Input (line 13) | class Input
method initialize (line 25) | def initialize(base, path, format)
method type_name (line 33) | def type_name
method format= (line 40) | def format=(format)
method up_to_date? (line 50) | def up_to_date?(outputdir)
method output_name (line 57) | def output_name
method output_path (line 69) | def output_path
method output_path= (line 82) | def output_path=(path)
method effective_output_path (line 90) | def effective_output_path(outputdir)
method template_path (line 96) | def template_path
method to_s (line 102) | def to_s
method supported_format? (line 109) | def self.supported_format?(format)
method find_inputs (line 118) | def self.find_inputs(format = :pcore, environment = Puppet.lookup(...
method bad_input? (line 141) | def self.bad_input?
method generate (line 155) | def self.generate(inputs, outputdir = nil, force = false)
FILE: lib/puppet/gettext/config.rb
type Puppet::GettextConfig (line 6) | module Puppet::GettextConfig
class ::Object (line 21) | class ::Object
function gettext_loaded? (line 36) | def self.gettext_loaded?
function current_locale (line 44) | def self.current_locale
function loaded_text_domains (line 55) | def self.loaded_text_domains
function reset_text_domain (line 66) | def self.reset_text_domain(domain_name)
function clear_text_domain (line 87) | def self.clear_text_domain
function create_default_text_domain (line 102) | def self.create_default_text_domain
function use_text_domain (line 117) | def self.use_text_domain(domain_name)
function delete_all_text_domains (line 132) | def self.delete_all_text_domains
function delete_text_domain (line 141) | def self.delete_text_domain(domain_name)
function delete_environment_text_domains (line 157) | def self.delete_environment_text_domains
function copy_default_translations (line 178) | def self.copy_default_translations(domain_name)
function puppet_locale_path (line 192) | def self.puppet_locale_path
function translation_mode (line 208) | def self.translation_mode(conf_path)
function disable_gettext (line 218) | def self.disable_gettext
function load_translations (line 228) | def self.load_translations(project_name, locale_dir, file_format, text...
function add_repository_to_domain (line 251) | def self.add_repository_to_domain(project_name, locale_dir, file_forma...
function setup_locale (line 265) | def self.setup_locale
function set_locale (line 274) | def self.set_locale(locale)
FILE: lib/puppet/gettext/module_translations.rb
type Puppet::ModuleTranslations (line 5) | module Puppet::ModuleTranslations
function load_from_modulepath (line 11) | def self.load_from_modulepath(modules)
function load_from_vardir (line 30) | def self.load_from_vardir(vardir)
FILE: lib/puppet/gettext/stubs.rb
function _ (line 6) | def _(msg)
function n_ (line 10) | def n_(*args, &block)
FILE: lib/puppet/graph.rb
type Puppet::Graph (line 3) | module Puppet::Graph
FILE: lib/puppet/graph/key.rb
class Puppet::Graph::Key (line 5) | class Puppet::Graph::Key
method initialize (line 11) | def initialize(value = [0])
method next (line 15) | def next
method down (line 21) | def down
method <=> (line 25) | def <=>(other)
FILE: lib/puppet/graph/prioritizer.rb
class Puppet::Graph::Prioritizer (line 7) | class Puppet::Graph::Prioritizer
method initialize (line 8) | def initialize
method forget (line 12) | def forget(key)
method record_priority_for (line 16) | def record_priority_for(key, priority)
method generate_priority_for (line 20) | def generate_priority_for(key)
method generate_priority_contained_in (line 24) | def generate_priority_contained_in(container, key)
method priority_of (line 28) | def priority_of(key)
FILE: lib/puppet/graph/rb_tree_map.rb
class Puppet::Graph::RbTreeMap (line 35) | class Puppet::Graph::RbTreeMap
method initialize (line 43) | def initialize
method push (line 55) | def push(key, value)
method has_key? (line 71) | def has_key?(key)
method get (line 83) | def get(key)
method min_key (line 98) | def min_key
method max_key (line 110) | def max_key
method delete (line 123) | def delete(key)
method empty? (line 136) | def empty?
method delete_min (line 150) | def delete_min
method delete_max (line 170) | def delete_max
method each (line 181) | def each(&blk)
method first (line 185) | def first
method last (line 192) | def last
method to_hash (line 199) | def to_hash
class Node (line 203) | class Node # :nodoc: all
method initialize (line 206) | def initialize(key, value)
method to_hash (line 214) | def to_hash
method red? (line 227) | def red?
method colorflip (line 231) | def colorflip
method rotate_left (line 237) | def rotate_left
method rotate_right (line 254) | def rotate_right
method move_red_left (line 271) | def move_red_left
method move_red_right (line 281) | def move_red_right
method fixup (line 290) | def fixup
method recursive_yield (line 301) | def recursive_yield(node, &blk)
method delete_recursive (line 309) | def delete_recursive(node, key)
method delete_min_recursive (line 335) | def delete_min_recursive(node)
method delete_max_recursive (line 348) | def delete_max_recursive(node)
method get_recursive (line 362) | def get_recursive(node, key)
method min_recursive (line 372) | def min_recursive(node)
method max_recursive (line 378) | def max_recursive(node)
method insert (line 384) | def insert(node, key, value)
method isred (line 402) | def isred(node)
FILE: lib/puppet/graph/relationship_graph.rb
class Puppet::Graph::RelationshipGraph (line 9) | class Puppet::Graph::RelationshipGraph < Puppet::Graph::SimpleGraph
method initialize (line 12) | def initialize(prioritizer)
method populate_from (line 24) | def populate_from(catalog)
method add_vertex (line 36) | def add_vertex(vertex, priority = nil)
method add_relationship (line 46) | def add_relationship(f, t, label = nil)
method remove_vertex! (line 51) | def remove_vertex!(vertex)
method resource_priority (line 56) | def resource_priority(resource)
method enqueue_roots (line 61) | def enqueue_roots
method unblock (line 70) | def unblock(resource)
method clear_blockers (line 80) | def clear_blockers
method enqueue (line 84) | def enqueue(*resources)
method finish (line 90) | def finish(resource)
method next_resource (line 97) | def next_resource
method traverse (line 101) | def traverse(options = {}, &block)
method add_all_resources_as_vertices (line 158) | def add_all_resources_as_vertices(catalog)
method build_manual_dependencies (line 164) | def build_manual_dependencies
method build_autorelation_dependencies (line 172) | def build_autorelation_dependencies(catalog)
method replace_containers_with_anchors (line 236) | def replace_containers_with_anchors(catalog)
FILE: lib/puppet/graph/sequential_prioritizer.rb
class Puppet::Graph::SequentialPrioritizer (line 10) | class Puppet::Graph::SequentialPrioritizer < Puppet::Graph::Prioritizer
method initialize (line 11) | def initialize
method generate_priority_for (line 17) | def generate_priority_for(key)
method generate_priority_contained_in (line 26) | def generate_priority_contained_in(container, key)
FILE: lib/puppet/graph/simple_graph.rb
class Puppet::Graph::SimpleGraph (line 8) | class Puppet::Graph::SimpleGraph
method initialize (line 28) | def initialize
method clear (line 36) | def clear
method dependencies (line 44) | def dependencies(resource)
method dependents (line 49) | def dependents(resource)
method directed? (line 54) | def directed?
method leaves (line 59) | def leaves(vertex, direction = :out)
method matching_edges (line 65) | def matching_edges(event, base = nil)
method reversal (line 79) | def reversal
method size (line 89) | def size
method to_a (line 93) | def to_a
method tarjan (line 104) | def tarjan(root, s)
method find_cycles_in_graph (line 166) | def find_cycles_in_graph
method paths_in_cycle (line 199) | def paths_in_cycle(cycle, max_paths = 1)
method report_cycles_in_graph (line 228) | def report_cycles_in_graph
method write_cycles_to_graph (line 251) | def write_cycles_to_graph(cycles)
method add_vertex (line 273) | def add_vertex(vertex)
method remove_vertex! (line 279) | def remove_vertex!(v)
method vertex? (line 290) | def vertex?(v)
method vertices (line 295) | def vertices
method add_edge (line 301) | def add_edge(e, *a)
method add_relationship (line 316) | def add_relationship(source, target, label = nil)
method edges_between (line 321) | def edges_between(source, target)
method edge? (line 326) | def edge?(source, target)
method edges (line 330) | def edges
method each_edge (line 334) | def each_edge
method remove_edge! (line 339) | def remove_edge!(e)
method adjacent (line 349) | def adjacent(v, options = {})
method walk (line 357) | def walk(source, direction)
method tree_from_vertex (line 378) | def tree_from_vertex(start, direction = :out)
method downstream_from_vertex (line 386) | def downstream_from_vertex(v)
method direct_dependents_of (line 397) | def direct_dependents_of(v)
method upstream_from_vertex (line 401) | def upstream_from_vertex(v)
method direct_dependencies_of (line 412) | def direct_dependencies_of(v)
method path_between (line 429) | def path_between(f, t)
method to_dot_graph (line 448) | def to_dot_graph(params = {})
method stringify (line 473) | def stringify(s)
method to_dot (line 478) | def to_dot(params = {}) to_dot_graph(params).to_s; end
method write_graph (line 481) | def write_graph(name)
method initialize_from_hash (line 500) | def initialize_from_hash(hash)
method to_data_hash (line 512) | def to_data_hash
method multi_vertex_component? (line 538) | def multi_vertex_component?(component)
method single_vertex_referring_to_self? (line 543) | def single_vertex_referring_to_self?(component)
FILE: lib/puppet/http.rb
type Puppet (line 3) | module Puppet
type HTTP (line 11) | module HTTP
type Network (line 43) | module Network
type HTTP (line 44) | module HTTP
FILE: lib/puppet/http/client.rb
class Puppet::HTTP::Client (line 88) | class Puppet::HTTP::Client
method initialize (line 105) | def initialize(pool: Puppet::HTTP::Pool.new(Puppet[:http_keepalive_tim...
method create_session (line 123) | def create_session
method connect (line 137) | def connect(uri, options: {}, &block)
method get (line 199) | def get(url, headers: {}, params: {}, options: {}, &block)
method head (line 217) | def head(url, headers: {}, params: {}, options: {})
method put (line 238) | def put(url, body, headers: {}, params: {}, options: {})
method post (line 267) | def post(url, body, headers: {}, params: {}, options: {}, &block)
method delete (line 291) | def delete(url, headers: {}, params: {}, options: {})
method close (line 304) | def close
method default_ssl_context (line 310) | def default_ssl_context
method encode_query (line 328) | def encode_query(url, params)
method execute_streaming (line 353) | def execute_streaming(request, options: {}, &block)
method expand_into_parameters (line 423) | def expand_into_parameters(data)
method expand_primitive_types_into_parameters (line 438) | def expand_primitive_types_into_parameters(data)
method encode_params (line 452) | def encode_params(params)
method elapsed (line 459) | def elapsed(start)
method raise_error (line 463) | def raise_error(message, cause, connected)
method resolve_ssl_context (line 471) | def resolve_ssl_context(ssl_context, include_system_store)
method system_ssl_context (line 483) | def system_ssl_context
method apply_auth (line 495) | def apply_auth(request, basic_auth)
method build_resolvers (line 501) | def build_resolvers
FILE: lib/puppet/http/dns.rb
type Puppet::HTTP (line 5) | module Puppet::HTTP
class DNS (line 6) | class DNS
class CacheEntry (line 7) | class CacheEntry
method initialize (line 10) | def initialize(records)
method choose_lowest_ttl (line 16) | def choose_lowest_ttl(records)
method initialize (line 27) | def initialize(resolver = Resolv::DNS.new)
method each_srv_record (line 43) | def each_srv_record(domain, service_name = :puppet, &block)
method find_weighted_server (line 88) | def find_weighted_server(records)
method weight (line 113) | def weight(record)
method ttl (line 120) | def ttl(service_name)
method expired? (line 128) | def expired?(service_name)
method each_priority (line 148) | def each_priority(records)
FILE: lib/puppet/http/errors.rb
type Puppet::HTTP (line 3) | module Puppet::HTTP
class HTTPError (line 6) | class HTTPError < Puppet::Error; end
class ConnectionError (line 10) | class ConnectionError < HTTPError; end
class RouteError (line 14) | class RouteError < HTTPError; end
class ProtocolError (line 18) | class ProtocolError < HTTPError; end
class SerializationError (line 22) | class SerializationError < HTTPError; end
class ResponseError (line 26) | class ResponseError < HTTPError
method initialize (line 29) | def initialize(response)
class TooManyRedirects (line 37) | class TooManyRedirects < HTTPError
method initialize (line 38) | def initialize(addr)
class TooManyRetryAfters (line 45) | class TooManyRetryAfters < HTTPError
method initialize (line 46) | def initialize(addr)
FILE: lib/puppet/http/external_client.rb
class Puppet::HTTP::ExternalClient (line 10) | class Puppet::HTTP::ExternalClient < Puppet::HTTP::Client
method initialize (line 14) | def initialize(http_client_class)
method get (line 20) | def get(url, headers: {}, params: {}, options: {}, &block)
method post (line 41) | def post(url, body, headers: {}, params: {}, options: {}, &block)
method close (line 64) | def close
method create_session (line 70) | def create_session
method connect (line 74) | def connect(uri, options: {}, &block)
method head (line 78) | def head(url, headers: {}, params: {}, options: {})
method put (line 82) | def put(url, headers: {}, params: {}, options: {})
method delete (line 86) | def delete(url, headers: {}, params: {}, options: {})
FILE: lib/puppet/http/factory.rb
class Puppet::HTTP::Factory (line 13) | class Puppet::HTTP::Factory
method initialize (line 18) | def initialize
method create_connection (line 26) | def create_connection(site)
FILE: lib/puppet/http/pool.rb
class Puppet::HTTP::Pool (line 12) | class Puppet::HTTP::Pool
method initialize (line 15) | def initialize(keepalive_timeout)
method with_connection (line 21) | def with_connection(site, verifier, &block)
method close (line 43) | def close
method pool (line 53) | def pool
method start (line 60) | def start(site, verifier, http)
method close_connection (line 79) | def close_connection(site, http)
method borrow (line 94) | def borrow(site, verifier)
method setsockopts (line 118) | def setsockopts(netio)
method release (line 128) | def release(site, verifier, http)
method active_entries (line 144) | def active_entries(site)
method print_ssl_info (line 160) | def print_ssl_info(http)
FILE: lib/puppet/http/pool_entry.rb
class Puppet::HTTP::PoolEntry (line 7) | class Puppet::HTTP::PoolEntry
method initialize (line 10) | def initialize(connection, verifier, expiration_time)
method expired? (line 16) | def expired?(now)
FILE: lib/puppet/http/proxy.rb
type Puppet::HTTP::Proxy (line 6) | module Puppet::HTTP::Proxy
function proxy (line 7) | def self.proxy(uri)
function http_proxy_env (line 19) | def self.http_proxy_env
function no_proxy? (line 38) | def self.no_proxy?(dest)
function http_proxy_host (line 74) | def self.http_proxy_host
function http_proxy_port (line 88) | def self.http_proxy_port
function http_proxy_user (line 98) | def self.http_proxy_user
function http_proxy_password (line 112) | def self.http_proxy_password
function no_proxy (line 126) | def self.no_proxy
FILE: lib/puppet/http/redirector.rb
class Puppet::HTTP::Redirector (line 6) | class Puppet::HTTP::Redirector
method initialize (line 12) | def initialize(redirect_limit)
method redirect? (line 24) | def redirect?(request, response)
method redirect_to (line 45) | def redirect_to(request, response, redirects)
method parse_location (line 79) | def parse_location(response)
FILE: lib/puppet/http/resolver.rb
class Puppet::HTTP::Resolver (line 8) | class Puppet::HTTP::Resolver
method initialize (line 13) | def initialize(client)
method resolve (line 30) | def resolve(session, name, ssl_context: nil, canceled_handler: nil)
method check_connection? (line 43) | def check_connection?(session, service, ssl_context: nil)
FILE: lib/puppet/http/resolver/server_list.rb
class Puppet::HTTP::Resolver::ServerList (line 7) | class Puppet::HTTP::Resolver::ServerList < Puppet::HTTP::Resolver
method initialize (line 19) | def initialize(client, server_list_setting:, default_port:, services:)
method resolve (line 43) | def resolve(session, name, ssl_context: nil, canceled_handler: nil)
FILE: lib/puppet/http/resolver/settings.rb
class Puppet::HTTP::Resolver::Settings (line 7) | class Puppet::HTTP::Resolver::Settings < Puppet::HTTP::Resolver
method resolve (line 20) | def resolve(session, name, ssl_context: nil, canceled_handler: nil)
FILE: lib/puppet/http/resolver/srv.rb
class Puppet::HTTP::Resolver::SRV (line 6) | class Puppet::HTTP::Resolver::SRV < Puppet::HTTP::Resolver
method initialize (line 13) | def initialize(client, domain:, dns: Resolv::DNS.new)
method resolve (line 31) | def resolve(session, name, ssl_context: nil, canceled_handler: nil)
FILE: lib/puppet/http/response.rb
class Puppet::HTTP::Response (line 7) | class Puppet::HTTP::Response
method initialize (line 16) | def initialize(url, code, reason)
method code (line 27) | def code
method reason (line 36) | def reason
method body (line 47) | def body
method read_body (line 60) | def read_body(&block)
method success? (line 69) | def success?
method [] (line 79) | def [](name)
method each_header (line 89) | def each_header(&block)
method drain (line 100) | def drain
FILE: lib/puppet/http/response_converter.rb
type Puppet::HTTP::ResponseConverter (line 3) | module Puppet::HTTP::ResponseConverter
function to_ruby_response (line 7) | def to_ruby_response(response)
FILE: lib/puppet/http/response_net_http.rb
class Puppet::HTTP::ResponseNetHTTP (line 6) | class Puppet::HTTP::ResponseNetHTTP < Puppet::HTTP::Response
method initialize (line 11) | def initialize(url, nethttp)
method body (line 18) | def body
method read_body (line 23) | def read_body(&block)
method success? (line 30) | def success?
method [] (line 35) | def [](name)
method each_header (line 40) | def each_header(&block)
FILE: lib/puppet/http/retry_after_handler.rb
class Puppet::HTTP::RetryAfterHandler (line 9) | class Puppet::HTTP::RetryAfterHandler
method initialize (line 14) | def initialize(retry_limit, max_sleep)
method retry_after? (line 29) | def retry_after?(request, response)
method retry_after_interval (line 50) | def retry_after_interval(request, response, retries)
method parse_retry_after (line 67) | def parse_retry_after(retry_after)
FILE: lib/puppet/http/service.rb
class Puppet::HTTP::Service (line 7) | class Puppet::HTTP::Service
method create_service (line 34) | def self.create_service(client, session, name, server = nil, port = nil)
method valid_name? (line 58) | def self.valid_name?(name)
method initialize (line 69) | def initialize(client, session, url)
method with_base_url (line 82) | def with_base_url(path)
method connect (line 94) | def connect(ssl_context: nil)
method add_puppet_headers (line 100) | def add_puppet_headers(headers)
method build_url (line 119) | def build_url(api, server, port)
method get_mime_types (line 125) | def get_mime_types(model)
method formatter_for_response (line 130) | def formatter_for_response(response)
method serialize (line 142) | def serialize(formatter, object)
method serialize_multiple (line 148) | def serialize_multiple(formatter, object)
method deserialize (line 154) | def deserialize(response, model)
method deserialize_multiple (line 163) | def deserialize_multiple(response, model)
method process_response (line 172) | def process_response(response)
FILE: lib/puppet/http/service/ca.rb
class Puppet::HTTP::Service::Ca (line 6) | class Puppet::HTTP::Service::Ca < Puppet::HTTP::Service
method initialize (line 24) | def initialize(client, session, server, port)
method get_certificate (line 40) | def get_certificate(name, if_modified_since: nil, ssl_context: nil)
method get_certificate_revocation_list (line 66) | def get_certificate_revocation_list(if_modified_since: nil, ssl_contex...
method put_certificate_request (line 91) | def put_certificate_request(name, csr, ssl_context: nil)
method post_certificate_renewal (line 116) | def post_certificate_renewal(ssl_context)
FILE: lib/puppet/http/service/compiler.rb
class Puppet::HTTP::Service::Compiler (line 7) | class Puppet::HTTP::Service::Compiler < Puppet::HTTP::Service
method initialize (line 22) | def initialize(client, session, server, port)
method get_node (line 40) | def get_node(name, environment:, configured_environment: nil, transact...
method post_catalog (line 84) | def post_catalog(name, facts:, environment:, configured_environment: n...
method post_catalog4 (line 164) | def post_catalog4(certname, persistence:, environment:, facts: nil, tr...
method get_facts (line 216) | def get_facts(name, environment:)
method put_facts (line 239) | def put_facts(name, environment:, facts:)
method get_filebucket_file (line 277) | def get_filebucket_file(path, environment:, bucket_path: nil, diff_wit...
method put_filebucket_file (line 309) | def put_filebucket_file(path, body:, environment:)
method head_filebucket_file (line 340) | def head_filebucket_file(path, environment:, bucket_path: nil)
FILE: lib/puppet/http/service/file_server.rb
class Puppet::HTTP::Service::FileServer (line 9) | class Puppet::HTTP::Service::FileServer < Puppet::HTTP::Service
method initialize (line 27) | def initialize(client, session, server, port)
method get_file_metadata (line 51) | def get_file_metadata(path:, environment:, links: :manage, checksum_ty...
method get_file_metadatas (line 103) | def get_file_metadatas(environment:, path: nil, recurse: :false, recur...
method get_file_content (line 139) | def get_file_content(path:, environment:, &block)
method get_static_file_content (line 173) | def get_static_file_content(path:, environment:, code_id:, &block)
method validate_path (line 197) | def validate_path(path)
FILE: lib/puppet/http/service/puppetserver.rb
class Puppet::HTTP::Service::Puppetserver (line 7) | class Puppet::HTTP::Service::Puppetserver < Puppet::HTTP::Service
method initialize (line 19) | def initialize(client, session, server, port)
method get_simple_status (line 32) | def get_simple_status(ssl_context: nil)
FILE: lib/puppet/http/service/report.rb
class Puppet::HTTP::Service::Report (line 7) | class Puppet::HTTP::Service::Report < Puppet::HTTP::Service
method initialize (line 24) | def initialize(client, session, server, port)
method put_report (line 39) | def put_report(name, report, environment:)
FILE: lib/puppet/http/session.rb
class Puppet::HTTP::Session (line 6) | class Puppet::HTTP::Session
method initialize (line 26) | def initialize(client, resolvers)
method route_to (line 51) | def route_to(name, url: nil, ssl_context: nil)
method process_response (line 88) | def process_response(response)
method supports? (line 106) | def supports?(name, capability)
FILE: lib/puppet/http/site.rb
class Puppet::HTTP::Site (line 9) | class Puppet::HTTP::Site
method from_uri (line 12) | def self.from_uri(uri)
method initialize (line 16) | def initialize(scheme, host, port)
method addr (line 22) | def addr
method == (line 27) | def ==(rhs)
method hash (line 33) | def hash
method use_ssl? (line 37) | def use_ssl?
method move_to (line 41) | def move_to(uri)
FILE: lib/puppet/indirector.rb
type Puppet::Indirector (line 8) | module Puppet::Indirector
function configure_routes (line 18) | def self.configure_routes(application_routes)
function indirects (line 39) | def indirects(indirection, options = {})
type ClassMethods (line 55) | module ClassMethods
FILE: lib/puppet/indirector/catalog/compiler.rb
class Puppet::Resource::Catalog::Compiler (line 13) | class Puppet::Resource::Catalog::Compiler < Puppet::Indirector::Code
method extract_facts_from_request (line 24) | def extract_facts_from_request(request)
method save_facts_from_request (line 45) | def save_facts_from_request(facts, request)
method find (line 52) | def find(request)
method filter (line 92) | def filter(catalog)
method initialize (line 98) | def initialize
method networked? (line 105) | def networked?
method require_environment? (line 109) | def require_environment?
method convert_wire_facts (line 119) | def convert_wire_facts(facts, format)
method add_node_data (line 133) | def add_node_data(node)
method common_checksum_type (line 141) | def common_checksum_type(agent_checksum_type)
method get_content_uri (line 151) | def get_content_uri(metadata, source, environment_path)
method inlineable? (line 165) | def inlineable?(resource, sources)
method inlineable_metadata? (line 183) | def inlineable_metadata?(metadata, source, environment_path)
method log_file_outside_environment (line 194) | def log_file_outside_environment
method log_metadata_inlining (line 200) | def log_metadata_inlining
method inline_metadata (line 207) | def inline_metadata(catalog, checksum_type)
method compile (line 309) | def compile(node, options)
method find_node (line 375) | def find_node(name, environment, transaction_uuid, configured_environm...
method node_from_request (line 399) | def node_from_request(facts, request)
method set_server_facts (line 429) | def set_server_facts
FILE: lib/puppet/indirector/catalog/json.rb
class Puppet::Resource::Catalog::Json (line 6) | class Puppet::Resource::Catalog::Json < Puppet::Indirector::JSON
method from_json (line 9) | def from_json(text)
method to_json (line 20) | def to_json(object)
method json_format (line 35) | def json_format
FILE: lib/puppet/indirector/catalog/msgpack.rb
class Puppet::Resource::Catalog::Msgpack (line 6) | class Puppet::Resource::Catalog::Msgpack < Puppet::Indirector::Msgpack
FILE: lib/puppet/indirector/catalog/rest.rb
class Puppet::Resource::Catalog::Rest (line 6) | class Puppet::Resource::Catalog::Rest < Puppet::Indirector::REST
method find (line 9) | def find(request)
FILE: lib/puppet/indirector/catalog/store_configs.rb
class Puppet::Resource::Catalog::StoreConfigs (line 6) | class Puppet::Resource::Catalog::StoreConfigs < Puppet::Indirector::Stor...
FILE: lib/puppet/indirector/catalog/yaml.rb
class Puppet::Resource::Catalog::Yaml (line 6) | class Puppet::Resource::Catalog::Yaml < Puppet::Indirector::Yaml
FILE: lib/puppet/indirector/code.rb
class Puppet::Indirector::Code (line 7) | class Puppet::Indirector::Code < Puppet::Indirector::Terminus
FILE: lib/puppet/indirector/data_binding/hiera.rb
class Puppet::DataBinding::Hiera (line 6) | class Puppet::DataBinding::Hiera < Puppet::Indirector::Hiera
FILE: lib/puppet/indirector/data_binding/none.rb
class Puppet::DataBinding::None (line 5) | class Puppet::DataBinding::None < Puppet::Indirector::None
method find (line 7) | def find(request)
FILE: lib/puppet/indirector/direct_file_server.rb
class Puppet::Indirector::DirectFileServer (line 6) | class Puppet::Indirector::DirectFileServer < Puppet::Indirector::Terminus
method find (line 9) | def find(request)
method search (line 15) | def search(request)
FILE: lib/puppet/indirector/envelope.rb
type Puppet::Indirector::Envelope (line 7) | module Puppet::Indirector::Envelope
function expired? (line 10) | def expired?
FILE: lib/puppet/indirector/errors.rb
type Puppet::Indirector (line 5) | module Puppet::Indirector
class ValidationError (line 6) | class ValidationError < Puppet::Error; end
FILE: lib/puppet/indirector/exec.rb
class Puppet::Indirector::Exec (line 6) | class Puppet::Indirector::Exec < Puppet::Indirector::Terminus
method find (line 8) | def find(request)
method execute (line 37) | def execute(command, arguments)
FILE: lib/puppet/indirector/face.rb
class Puppet::Indirector::Face (line 5) | class Puppet::Indirector::Face < Puppet::Face
method indirections (line 34) | def self.indirections
method terminus_classes (line 38) | def self.terminus_classes(indirection)
method call_indirection_method (line 42) | def call_indirection_method(method, key, options)
method indirection_name (line 116) | def indirection_name
method set_indirection_name (line 122) | def set_indirection_name(name)
method indirection (line 128) | def indirection
method set_terminus (line 136) | def set_terminus(from)
FILE: lib/puppet/indirector/fact_search.rb
type Puppet::Indirector::FactSearch (line 4) | module Puppet::Indirector::FactSearch
function node_matches? (line 5) | def node_matches?(facts, options)
function node_matches_option? (line 15) | def node_matches_option?(type, name, operator, value, facts)
function compare_facts (line 27) | def compare_facts(operator, value1, value2)
function compare_timestamp (line 46) | def compare_timestamp(operator, value1, value2)
FILE: lib/puppet/indirector/facts/facter.rb
class Puppet::Node::Facts::Facter (line 6) | class Puppet::Node::Facts::Facter < Puppet::Indirector::Code
method allow_remote_requests? (line 11) | def allow_remote_requests?
method destroy (line 15) | def destroy(facts)
method save (line 19) | def save(facts)
method find (line 24) | def find(request)
method setup_search_paths (line 57) | def self.setup_search_paths(request)
method setup_external_search_paths (line 84) | def self.setup_external_search_paths(request)
method find_with_options (line 108) | def find_with_options(request)
FILE: lib/puppet/indirector/facts/json.rb
class Puppet::Node::Facts::Json (line 7) | class Puppet::Node::Facts::Json < Puppet::Indirector::JSON
method search (line 13) | def search(request)
method json_dir_path (line 26) | def json_dir_path
FILE: lib/puppet/indirector/facts/memory.rb
class Puppet::Node::Facts::Memory (line 6) | class Puppet::Node::Facts::Memory < Puppet::Indirector::Memory
FILE: lib/puppet/indirector/facts/network_device.rb
class Puppet::Node::Facts::NetworkDevice (line 6) | class Puppet::Node::Facts::NetworkDevice < Puppet::Indirector::Code
method allow_remote_requests? (line 9) | def allow_remote_requests?
method find (line 14) | def find(request)
method destroy (line 22) | def destroy(facts)
method save (line 26) | def save(facts)
FILE: lib/puppet/indirector/facts/rest.rb
class Puppet::Node::Facts::Rest (line 6) | class Puppet::Node::Facts::Rest < Puppet::Indirector::REST
method find (line 9) | def find(request)
method save (line 29) | def save(request)
FILE: lib/puppet/indirector/facts/store_configs.rb
class Puppet::Node::Facts::StoreConfigs (line 6) | class Puppet::Node::Facts::StoreConfigs < Puppet::Indirector::StoreConfigs
method allow_remote_requests? (line 9) | def allow_remote_requests?
FILE: lib/puppet/indirector/facts/yaml.rb
class Puppet::Node::Facts::Yaml (line 7) | class Puppet::Node::Facts::Yaml < Puppet::Indirector::Yaml
method search (line 13) | def search(request)
method yaml_dir_path (line 27) | def yaml_dir_path
FILE: lib/puppet/indirector/file_bucket_file/file.rb
type Puppet::FileBucketFile (line 9) | module Puppet::FileBucketFile
class File (line 10) | class File < Puppet::Indirector::Code
method find (line 16) | def find(request)
method list (line 45) | def list(request)
method head (line 94) | def head(request)
method save (line 102) | def save(request)
method validate_key (line 114) | def validate_key(request)
method matches (line 123) | def matches(paths_file, files_original_path)
method path_match (line 133) | def path_match(file_handle, files_original_path)
method save_to_disk (line 154) | def save_to_disk(bucket_file, files_original_path, contents_file, pa...
method request_to_checksum_and_path (line 204) | def request_to_checksum_and_path(request)
method path_for (line 219) | def path_for(bucket_path, digest, subfile = nil)
method verify_identical_file (line 235) | def verify_identical_file(contents_file, bucket_file)
method contents_file_matches_checksum? (line 248) | def contents_file_matches_checksum?(contents_file, expected_checksum...
method copy_bucket_file_to_contents_file (line 259) | def copy_bucket_file_to_contents_file(contents_file, bucket_file)
FILE: lib/puppet/indirector/file_bucket_file/rest.rb
type Puppet::FileBucketFile (line 6) | module Puppet::FileBucketFile
class Rest (line 7) | class Rest < Puppet::Indirector::REST
method head (line 10) | def head(request)
method find (line 24) | def find(request)
method save (line 41) | def save(request)
FILE: lib/puppet/indirector/file_bucket_file/selector.rb
type Puppet::FileBucketFile (line 5) | module Puppet::FileBucketFile
class Selector (line 6) | class Selector < Puppet::Indirector::Code
method select (line 9) | def select(request)
method get_terminus (line 17) | def get_terminus(request)
method head (line 21) | def head(request)
method find (line 25) | def find(request)
method save (line 29) | def save(request)
method search (line 33) | def search(request)
method destroy (line 37) | def destroy(request)
method authorized? (line 41) | def authorized?(request)
method validate_key (line 50) | def validate_key(request)
FILE: lib/puppet/indirector/file_content.rb
class Puppet::Indirector::FileContent (line 4) | class Puppet::Indirector::FileContent # :nodoc:
FILE: lib/puppet/indirector/file_content/file.rb
class Puppet::Indirector::FileContent::File (line 7) | class Puppet::Indirector::FileContent::File < Puppet::Indirector::Direct...
FILE: lib/puppet/indirector/file_content/file_server.rb
class Puppet::Indirector::FileContent::FileServer (line 7) | class Puppet::Indirector::FileContent::FileServer < Puppet::Indirector::...
FILE: lib/puppet/indirector/file_content/rest.rb
class Puppet::Indirector::FileContent::Rest (line 7) | class Puppet::Indirector::FileContent::Rest < Puppet::Indirector::REST
method find (line 10) | def find(request)
FILE: lib/puppet/indirector/file_content/selector.rb
class Puppet::Indirector::FileContent::Selector (line 8) | class Puppet::Indirector::FileContent::Selector < Puppet::Indirector::Code
method get_terminus (line 12) | def get_terminus(request)
method find (line 16) | def find(request)
method search (line 20) | def search(request)
method authorized? (line 24) | def authorized?(request)
FILE: lib/puppet/indirector/file_metadata.rb
class Puppet::Indirector::FileMetadata (line 4) | class Puppet::Indirector::FileMetadata # :nodoc:
FILE: lib/puppet/indirector/file_metadata/file.rb
class Puppet::Indirector::FileMetadata::File (line 7) | class Puppet::Indirector::FileMetadata::File < Puppet::Indirector::Direc...
FILE: lib/puppet/indirector/file_metadata/file_server.rb
class Puppet::Indirector::FileMetadata::FileServer (line 7) | class Puppet::Indirector::FileMetadata::FileServer < Puppet::Indirector:...
FILE: lib/puppet/indirector/file_metadata/http.rb
class Puppet::Indirector::FileMetadata::Http (line 8) | class Puppet::Indirector::FileMetadata::Http < Puppet::Indirector::Gener...
method find (line 13) | def find(request)
method search (line 33) | def search(request)
method partial_get (line 39) | def partial_get(client, uri)
method create_httpmetadata (line 43) | def create_httpmetadata(http_request, checksum_type)
FILE: lib/puppet/indirector/file_metadata/rest.rb
class Puppet::Indirector::FileMetadata::Rest (line 7) | class Puppet::Indirector::FileMetadata::Rest < Puppet::Indirector::REST
method find (line 10) | def find(request)
method search (line 35) | def search(request)
FILE: lib/puppet/indirector/file_metadata/selector.rb
class Puppet::Indirector::FileMetadata::Selector (line 8) | class Puppet::Indirector::FileMetadata::Selector < Puppet::Indirector::Code
method get_terminus (line 12) | def get_terminus(request)
method find (line 16) | def find(request)
method search (line 20) | def search(request)
method authorized? (line 24) | def authorized?(request)
FILE: lib/puppet/indirector/file_server.rb
class Puppet::Indirector::FileServer (line 9) | class Puppet::Indirector::FileServer < Puppet::Indirector::Terminus
method authorized? (line 13) | def authorized?(request)
method find (line 25) | def find(request)
method search (line 40) | def search(request)
method configuration (line 54) | def configuration
FILE: lib/puppet/indirector/generic_http.rb
class Puppet::Indirector::GenericHttp (line 5) | class Puppet::Indirector::GenericHttp < Puppet::Indirector::Terminus
FILE: lib/puppet/indirector/hiera.rb
class Puppet::Indirector::Hiera (line 10) | class Puppet::Indirector::Hiera < Puppet::Indirector::Terminus
method initialize (line 11) | def initialize(*args)
method find (line 26) | def find(request)
method convert_merge (line 45) | def convert_merge(merge)
method hiera_config (line 80) | def self.hiera_config
method hiera (line 94) | def self.hiera
method hiera (line 98) | def hiera
FILE: lib/puppet/indirector/indirection.rb
class Puppet::Indirector::Indirection (line 12) | class Puppet::Indirector::Indirection
method instance (line 22) | def self.instance(name)
method instances (line 28) | def self.instances
method model (line 34) | def self.model(name)
method cache (line 42) | def cache
method cache? (line 49) | def cache?
method cache_class (line 53) | def cache_class
method cache_class= (line 58) | def cache_class=(class_name)
method delete (line 64) | def delete
method ttl= (line 69) | def ttl=(value)
method ttl (line 77) | def ttl
method expiration (line 82) | def expiration
method doc (line 87) | def doc
method initialize (line 100) | def initialize(model, name, doc: nil, indirected_class: nil, cache_cla...
method set_global_setting (line 121) | def set_global_setting(setting, value)
method request (line 137) | def request(*args)
method terminus (line 142) | def terminus(terminus_name = nil)
method terminus_setting (line 150) | def terminus_setting
method terminus_setting= (line 154) | def terminus_setting=(setting)
method terminus_class (line 159) | def terminus_class
method reset_terminus_class (line 171) | def reset_terminus_class
method terminus_class= (line 176) | def terminus_class=(klass)
method validate_terminus_class (line 182) | def validate_terminus_class(terminus_class)
method expire (line 196) | def expire(key, options = {})
method allow_remote_requests? (line 212) | def allow_remote_requests?
method find (line 218) | def find(key, options = {})
method head (line 259) | def head(key, options = {})
method find_in_cache (line 268) | def find_in_cache(request)
method destroy (line 286) | def destroy(key, options = {})
method search (line 301) | def search(key, options = {})
method save (line 320) | def save(instance, key = nil, options = {})
method check_authorization (line 336) | def check_authorization(request, terminus)
method prepare (line 360) | def prepare(request)
method make_terminus (line 372) | def make_terminus(terminus_class)
FILE: lib/puppet/indirector/json.rb
class Puppet::Indirector::JSON (line 10) | class Puppet::Indirector::JSON < Puppet::Indirector::Terminus
method find (line 11) | def find(request)
method save (line 15) | def save(request)
method destroy (line 24) | def destroy(request)
method search (line 34) | def search(request)
method path (line 41) | def path(name, ext = '.json')
method data_dir (line 53) | def data_dir
method load_json_from_file (line 57) | def load_json_from_file(file, key)
method from_json (line 75) | def from_json(text)
method to_json (line 79) | def to_json(object)
FILE: lib/puppet/indirector/memory.rb
class Puppet::Indirector::Memory (line 6) | class Puppet::Indirector::Memory < Puppet::Indirector::Terminus
method initialize (line 7) | def initialize
method clear (line 11) | def clear
method destroy (line 15) | def destroy(request)
method find (line 21) | def find(request)
method search (line 25) | def search(request)
method head (line 30) | def head(request)
method save (line 34) | def save(request)
FILE: lib/puppet/indirector/msgpack.rb
class Puppet::Indirector::Msgpack (line 10) | class Puppet::Indirector::Msgpack < Puppet::Indirector::Terminus
method initialize (line 11) | def initialize(*args)
method find (line 19) | def find(request)
method save (line 23) | def save(request)
method destroy (line 32) | def destroy(request)
method search (line 42) | def search(request)
method path (line 49) | def path(name, ext = '.msgpack')
method load_msgpack_from_file (line 61) | def load_msgpack_from_file(file, key)
method from_msgpack (line 80) | def from_msgpack(text)
method to_msgpack (line 84) | def to_msgpack(object)
FILE: lib/puppet/indirector/node/exec.rb
class Puppet::Node::Exec (line 6) | class Puppet::Node::Exec < Puppet::Indirector::Exec
method command (line 11) | def command
method find (line 19) | def find(request)
method execute (line 37) | def execute(command, arguments)
method create_node (line 42) | def create_node(name, result, facts = nil)
method translate (line 56) | def translate(name, output)
FILE: lib/puppet/indirector/node/json.rb
class Puppet::Node::Json (line 6) | class Puppet::Node::Json < Puppet::Indirector::JSON
FILE: lib/puppet/indirector/node/memory.rb
class Puppet::Node::Memory (line 6) | class Puppet::Node::Memory < Puppet::Indirector::Memory
FILE: lib/puppet/indirector/node/msgpack.rb
class Puppet::Node::Msgpack (line 6) | class Puppet::Node::Msgpack < Puppet::Indirector::Msgpack
FILE: lib/puppet/indirector/node/plain.rb
class Puppet::Node::Plain (line 6) | class Puppet::Node::Plain < Puppet::Indirector::Plain
method find (line 16) | def find(request)
FILE: lib/puppet/indirector/node/rest.rb
class Puppet::Node::Rest (line 6) | class Puppet::Node::Rest < Puppet::Indirector::REST
method find (line 10) | def find(request)
FILE: lib/puppet/indirector/node/store_configs.rb
class Puppet::Node::StoreConfigs (line 6) | class Puppet::Node::StoreConfigs < Puppet::Indirector::StoreConfigs
FILE: lib/puppet/indirector/node/yaml.rb
class Puppet::Node::Yaml (line 6) | class Puppet::Node::Yaml < Puppet::Indirector::Yaml
FILE: lib/puppet/indirector/none.rb
class Puppet::Indirector::None (line 6) | class Puppet::Indirector::None < Puppet::Indirector::Terminus
method find (line 7) | def find(request)
FILE: lib/puppet/indirector/plain.rb
class Puppet::Indirector::Plain (line 6) | class Puppet::Indirector::Plain < Puppet::Indirector::Terminus
method find (line 8) | def find(request)
FILE: lib/puppet/indirector/report/json.rb
class Puppet::Transaction::Report::Json (line 6) | class Puppet::Transaction::Report::Json < Puppet::Indirector::JSON
method path (line 12) | def path(name, ext = '.json')
method save (line 16) | def save(request)
FILE: lib/puppet/indirector/report/msgpack.rb
class Puppet::Transaction::Report::Msgpack (line 6) | class Puppet::Transaction::Report::Msgpack < Puppet::Indirector::Msgpack
method path (line 10) | def path(name, ext = '.msgpack')
FILE: lib/puppet/indirector/report/processor.rb
class Puppet::Transaction::Report::Processor (line 7) | class Puppet::Transaction::Report::Processor < Puppet::Indirector::Code
method initialize (line 11) | def initialize
method save (line 15) | def save(request)
method destroy (line 19) | def destroy(request)
method process (line 30) | def process(report)
method reports (line 47) | def reports
method processors (line 51) | def processors(&blk)
FILE: lib/puppet/indirector/report/rest.rb
class Puppet::Transaction::Report::Rest (line 6) | class Puppet::Transaction::Report::Rest < Puppet::Indirector::REST
method save (line 9) | def save(request)
method deserialize_save (line 27) | def deserialize_save(content_type, body)
FILE: lib/puppet/indirector/report/yaml.rb
class Puppet::Transaction::Report::Yaml (line 6) | class Puppet::Transaction::Report::Yaml < Puppet::Indirector::Yaml
method path (line 12) | def path(name, ext = '.yaml')
method save (line 16) | def save(request)
FILE: lib/puppet/indirector/request.rb
class Puppet::Indirector::Request (line 12) | class Puppet::Indirector::Request
method authenticated? (line 27) | def authenticated?
method environment (line 32) | def environment
method environment= (line 38) | def environment=(env)
method ignore_cache? (line 52) | def ignore_cache?
method ignore_cache_save? (line 56) | def ignore_cache_save?
method ignore_terminus? (line 60) | def ignore_terminus?
method initialize (line 64) | def initialize(indirection_name, method, key, instance, options = {})
method indirection (line 94) | def indirection
method indirection_name= (line 98) | def indirection_name=(name)
method model (line 102) | def model
method plural? (line 110) | def plural?
method initialize_from_hash (line 114) | def initialize_from_hash(hash)
method to_data_hash (line 122) | def to_data_hash
method to_hash (line 130) | def to_hash
method description (line 142) | def description
method remote? (line 146) | def remote?
method set_attributes (line 152) | def set_attributes(options)
method set_uri_key (line 162) | def set_uri_key(key)
FILE: lib/puppet/indirector/resource/ral.rb
class Puppet::Resource::Ral (line 5) | class Puppet::Resource::Ral < Puppet::Indirector::Code
method allow_remote_requests? (line 10) | def allow_remote_requests?
method find (line 14) | def find(request)
method search (line 22) | def search(request)
method save (line 36) | def save(request)
method type_name (line 54) | def type_name(request)
method resource_name (line 58) | def resource_name(request)
method type (line 63) | def type(request)
FILE: lib/puppet/indirector/resource/store_configs.rb
class Puppet::Resource::StoreConfigs (line 6) | class Puppet::Resource::StoreConfigs < Puppet::Indirector::StoreConfigs
method allow_remote_requests? (line 11) | def allow_remote_requests?
FILE: lib/puppet/indirector/resource/validator.rb
type Puppet::Resource::Validator (line 3) | module Puppet::Resource::Validator
function validate_key (line 4) | def validate_key(request)
FILE: lib/puppet/indirector/rest.rb
class Puppet::Indirector::REST (line 4) | class Puppet::Indirector::REST < Puppet::Indirector::Terminus
method find (line 5) | def find(request)
method head (line 9) | def head(request)
method search (line 13) | def search(request)
method destroy (line 17) | def destroy(request)
method save (line 21) | def save(request)
method validate_key (line 25) | def validate_key(request)
method convert_to_http_error (line 31) | def convert_to_http_error(response)
method parse_response (line 51) | def parse_response(response)
method elide (line 59) | def elide(string, length)
FILE: lib/puppet/indirector/store_configs.rb
class Puppet::Indirector::StoreConfigs (line 3) | class Puppet::Indirector::StoreConfigs < Puppet::Indirector::Terminus
method initialize (line 4) | def initialize
method head (line 13) | def head(request)
method find (line 17) | def find(request)
method search (line 21) | def search(request)
method save (line 25) | def save(request)
method destroy (line 29) | def destroy(request)
FILE: lib/puppet/indirector/terminus.rb
class Puppet::Indirector::Terminus (line 9) | class Puppet::Indirector::Terminus
method abstract_terminus? (line 21) | def abstract_terminus?
method const2name (line 26) | def const2name(const)
method indirection= (line 31) | def indirection=(name)
method indirection_name (line 44) | def indirection_name
method inherited (line 51) | def inherited(subclass)
method mark_as_abstract_terminus (line 94) | def mark_as_abstract_terminus
method model (line 98) | def model
method name2const (line 103) | def name2const(name)
method register_terminus_class (line 108) | def register_terminus_class(klass)
method terminus_class (line 114) | def terminus_class(indirection_name, terminus_type)
method terminus_classes (line 120) | def terminus_classes(indirection_name)
method setup_instance_loading (line 129) | def setup_instance_loading(type)
method indirection (line 134) | def indirection
method initialize (line 138) | def initialize
method model (line 142) | def model
method name (line 146) | def name
method require_environment? (line 150) | def require_environment?
method allow_remote_requests? (line 154) | def allow_remote_requests?
method terminus_type (line 158) | def terminus_type
method validate (line 162) | def validate(request)
method validate_key (line 169) | def validate_key(request)
method validate_model (line 175) | def validate_model(request)
FILE: lib/puppet/indirector/yaml.rb
class Puppet::Indirector::Yaml (line 7) | class Puppet::Indirector::Yaml < Puppet::Indirector::Terminus
method find (line 9) | def find(request)
method save (line 21) | def save(request)
method path (line 39) | def path(name, ext = '.yaml')
method destroy (line 49) | def destroy(request)
method search (line 54) | def search(request)
method load_file (line 62) | def load_file(file)
FILE: lib/puppet/info_service.rb
type Puppet::InfoService (line 3) | module Puppet::InfoService
function classes_per_environment (line 8) | def self.classes_per_environment(env_file_hash)
function tasks_per_environment (line 12) | def self.tasks_per_environment(environment_name)
function task_data (line 16) | def self.task_data(environment_name, module_name, task_name)
function plans_per_environment (line 20) | def self.plans_per_environment(environment_name)
function plan_data (line 24) | def self.plan_data(environment_name, module_name, plan_name)
FILE: lib/puppet/info_service/class_information_service.rb
class Puppet::InfoService::ClassInformationService (line 7) | class Puppet::InfoService::ClassInformationService
method initialize (line 8) | def initialize
method classes_per_environment (line 13) | def classes_per_environment(env_file_hash)
method type_parser (line 39) | def type_parser
method literal_evaluator (line 43) | def literal_evaluator
method result_of (line 47) | def result_of(f)
method parse_file (line 55) | def parse_file(f)
method extract_param (line 70) | def extract_param(p)
method extract_type (line 74) | def extract_type(structure, p)
method extract_default (line 81) | def extract_default(structure, p)
method typeexpr_to_string (line 91) | def typeexpr_to_string(name, type_expr)
method value_as_literal (line 97) | def value_as_literal(value_expr)
method extract_value_source (line 105) | def extract_value_source(value_expr)
FILE: lib/puppet/info_service/plan_information_service.rb
class Puppet::InfoService::PlanInformationService (line 3) | class Puppet::InfoService::PlanInformationService
method plans_per_environment (line 6) | def self.plans_per_environment(environment_name)
method plan_data (line 16) | def self.plan_data(environment_name, module_name, plan_name)
FILE: lib/puppet/info_service/task_information_service.rb
class Puppet::InfoService::TaskInformationService (line 3) | class Puppet::InfoService::TaskInformationService
method tasks_per_environment (line 6) | def self.tasks_per_environment(environment_name)
method task_data (line 23) | def self.task_data(environment_name, module_name, task_name)
FILE: lib/puppet/interface.rb
class Puppet::Interface (line 8) | class Puppet::Interface
method faces (line 36) | def faces
method register (line 44) | def register(instance)
method define (line 58) | def define(name, version, &block)
method face? (line 82) | def face?(name, version)
method [] (line 94) | def [](name, version)
method find_action (line 113) | def find_action(name, action, version = :current)
method synopsis (line 128) | def synopsis
method initialize (line 150) | def initialize(name, version, &block)
method load_actions (line 172) | def load_actions
method to_s (line 178) | def to_s
method deprecate (line 184) | def deprecate
method deprecated? (line 189) | def deprecated?
method __invoke_decorations (line 207) | def __invoke_decorations(type, action, passed_args = [], passed_option...
method __add_method (line 228) | def __add_method(name, proc)
method __add_method (line 235) | def self.__add_method(name, proc)
FILE: lib/puppet/interface/action.rb
class Puppet::Interface::Action (line 11) | class Puppet::Interface::Action
method initialize (line 16) | def initialize(face, name)
method __dup_and_rebind_to (line 42) | def __dup_and_rebind_to(to)
method to_s (line 48) | def to_s() "#{@face}##{@name}" end
method default? (line 63) | def default?
method synopsis (line 71) | def synopsis
method when_rendering (line 79) | def when_rendering(type)
method set_rendering_method_for (line 95) | def set_rendering_method_for(type, proc)
method __render_method_name_for (line 140) | def __render_method_name_for(type)
method render_as= (line 149) | def render_as=(value)
method deprecate (line 155) | def deprecate
method deprecated? (line 161) | def deprecated?
method when_invoked= (line 227) | def when_invoked=(block)
method add_option (line 282) | def add_option(option)
method option? (line 306) | def option?(name)
method options (line 310) | def options
method add_display_global_options (line 314) | def add_display_global_options(*args)
method display_global_options (line 328) | def display_global_options(*args)
method get_option (line 333) | def get_option(name, with_inherited_options = true)
method validate_and_clean (line 341) | def validate_and_clean(original)
method __add_method (line 407) | def __add_method(name, proc)
FILE: lib/puppet/interface/action_builder.rb
class Puppet::Interface::ActionBuilder (line 8) | class Puppet::Interface::ActionBuilder
method build (line 19) | def self.build(face, name, &block)
method deprecate (line 29) | def deprecate
method when_invoked (line 50) | def when_invoked(&block)
method when_rendering (line 63) | def when_rendering(type = nil, &block)
method option (line 108) | def option(*declaration, &block)
method default (line 117) | def default(value = true)
method display_global_options (line 122) | def display_global_options(*args)
method render_as (line 129) | def render_as(value = nil)
method initialize (line 158) | def initialize(face, name, &block)
FILE: lib/puppet/interface/action_manager.rb
type Puppet::Interface::ActionManager (line 8) | module Puppet::Interface::ActionManager
function action (line 20) | def action(name, &block)
function actions (line 38) | def actions
function get_action (line 57) | def get_action(name)
function get_default_action (line 80) | def get_default_action
function deactivate_action (line 92) | def deactivate_action(name)
function action? (line 98) | def action?(name)
FILE: lib/puppet/interface/documentation.rb
class Puppet::Interface (line 3) | class Puppet::Interface
type DocGen (line 5) | module DocGen
function strip_whitespace (line 9) | def self.strip_whitespace(text)
function attr_doc (line 23) | def attr_doc(name, &validate)
type TinyDocs (line 52) | module TinyDocs
function build_synopsis (line 74) | def build_synopsis(face, action = nil, arguments = nil)
type FullDocs (line 119) | module FullDocs
function short_description (line 178) | def short_description(value = nil)
function author (line 203) | def author(value = nil)
function authors (line 223) | def authors
function author= (line 228) | def author=(value)
function copyright (line 252) | def copyright(owner = nil, years = nil)
function copyright_owner= (line 275) | def copyright_owner=(value)
function copyright_years= (line 292) | def copyright_years=(value)
function munge_copyright_year (line 307) | def munge_copyright_year(input)
FILE: lib/puppet/interface/face_collection.rb
type Puppet::Interface::FaceCollection (line 3) | module Puppet::Interface::FaceCollection
function faces (line 8) | def self.faces
function [] (line 19) | def self.[](name, version)
function get_action_for_face (line 24) | def self.get_action_for_face(name, action_name, version)
function get_face (line 47) | def self.get_face(name, pattern)
function find_matching (line 57) | def self.find_matching(range, versions)
function load_face (line 62) | def self.load_face(name, version)
function safely_require (line 111) | def self.safely_require(name, version = nil)
function register (line 128) | def self.register(face)
function underscorize (line 132) | def self.underscorize(name)
FILE: lib/puppet/interface/option.rb
class Puppet::Interface::Option (line 9) | class Puppet::Interface::Option
method initialize (line 13) | def initialize(parent, *declaration, &block)
method to_s (line 86) | def to_s
method optparse_to_optionname (line 91) | def optparse_to_optionname(declaration)
method optparse_to_name (line 101) | def optparse_to_name(declaration)
method takes_argument? (line 110) | def takes_argument?
method optional_argument? (line 114) | def optional_argument?
method required? (line 118) | def required?
method has_default? (line 122) | def has_default?
method default= (line 126) | def default=(proc)
method default (line 139) | def default
method required= (line 145) | def required=(value)
method before_action= (line 155) | def before_action=(proc)
method after_action= (line 167) | def after_action=(proc)
method __decoration_name (line 177) | def __decoration_name(type)
FILE: lib/puppet/interface/option_builder.rb
class Puppet::Interface::OptionBuilder (line 4) | class Puppet::Interface::OptionBuilder
method build (line 13) | def self.build(face, *declaration, &block)
method initialize (line 17) | def initialize(face, *declaration, &block)
method before_action (line 44) | def before_action(&block)
method after_action (line 65) | def after_action(&block)
method required (line 86) | def required(value = true)
method default_to (line 95) | def default_to(&block)
FILE: lib/puppet/interface/option_manager.rb
type Puppet::Interface::OptionManager (line 8) | module Puppet::Interface::OptionManager
function display_global_options (line 10) | def display_global_options(*args)
function all_display_global_options (line 25) | def all_display_global_options
function walk_inheritance_tree (line 30) | def walk_inheritance_tree(start, sym)
function option (line 46) | def option(*declaration, &block)
function add_option (line 51) | def add_option(option)
function options (line 84) | def options
function get_option (line 89) | def get_option(name, with_inherited_options = true)
function option? (line 105) | def option?(name)
FILE: lib/puppet/loaders.rb
type Puppet (line 5) | module Puppet
type Pops (line 6) | module Pops
type Loader (line 9) | module Loader
FILE: lib/puppet/metatype/manager.rb
type Puppet::MetaType (line 11) | module Puppet::MetaType
type Manager (line 12) | module Manager
function allclear (line 19) | def allclear
function clear_misses (line 29) | def clear_misses
function eachtype (line 40) | def eachtype
function loadall (line 54) | def loadall
function newtype (line 74) | def newtype(name, options = {}, &block)
function rmtype (line 142) | def rmtype(name)
function type (line 155) | def type(name)
function typeloader (line 190) | def typeloader
FILE: lib/puppet/module.rb
class Puppet::Module (line 10) | class Puppet::Module
class Error (line 11) | class Error < Puppet::Error; end
class MissingModule (line 12) | class MissingModule < Error; end
class IncompatibleModule (line 13) | class IncompatibleModule < Error; end
class UnsupportedPlatform (line 14) | class UnsupportedPlatform < Error; end
class IncompatiblePlatform (line 15) | class IncompatiblePlatform < Error; end
class MissingMetadata (line 16) | class MissingMetadata < Error; end
class FaultyMetadata (line 17) | class FaultyMetadata < Error; end
class InvalidName (line 18) | class InvalidName < Error; end
class InvalidFilePattern (line 19) | class InvalidFilePattern < Error; end
method find (line 36) | def self.find(modname, environment = nil)
method is_module_directory? (line 44) | def self.is_module_directory?(name, path)
method is_module_directory_name? (line 52) | def self.is_module_directory_name?(name)
method is_module_namespaced_name? (line 59) | def self.is_module_namespaced_name?(name)
method parse_range (line 67) | def self.parse_range(range)
method initialize (line 77) | def initialize(name, path, environment)
met
Copy disabled (too large)
Download .json
Condensed preview — 2904 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (17,360K chars).
[
{
"path": ".gitattributes",
"chars": 524,
"preview": "# Disable NL -> CRNL translation on Windows. This is necessary because the files on disk must\n# match the checksums in m"
},
{
"path": ".github/release.yml",
"chars": 149,
"preview": "changelog:\n categories:\n - title: Features & Enhancements\n labels:\n - enhancement\n - title: Bug Fixes"
},
{
"path": ".github/workflows/backport.yml",
"chars": 720,
"preview": "name: Backport merged pull request\non:\n pull_request_target:\n types: [labeled]\npermissions:\n contents: write #"
},
{
"path": ".github/workflows/checks.yaml",
"chars": 963,
"preview": "---\nname: Checks\n\non:\n push:\n branches: [main]\n pull_request:\n branches: [main]\n\npermissions:\n contents: read\n\n"
},
{
"path": ".github/workflows/jira.yml",
"chars": 393,
"preview": "---\nname: Export issue to Jira\n\non:\n issues:\n types: [labeled]\n\npermissions:\n issues: write\n\njobs:\n export:\n us"
},
{
"path": ".github/workflows/mend.yaml",
"chars": 1011,
"preview": "---\nname: Mend Monitor\non:\n push:\n branches:\n - main\njobs:\n mend_monitor:\n if: ${{ github.repository_owner "
},
{
"path": ".github/workflows/rspec_tests.yaml",
"chars": 2822,
"preview": "---\nname: RSpec tests\n\non:\n push:\n branches: [main]\n pull_request:\n branches: [main]\n\npermissions:\n contents: r"
},
{
"path": ".gitignore",
"chars": 592,
"preview": ".rspec\nresults\ntags\n.*.sw[op]\ntest.pp\n# YARD generated documentation\n.yardoc\n/doc\n# Now that there is a gemfile, RVM ign"
},
{
"path": ".gitmodules",
"chars": 218,
"preview": "[submodule \"benchmarks/full_catalog/puppetlabs-puppetserver_perf_control\"]\n\tpath = benchmarks/full_catalog/puppetlabs-pu"
},
{
"path": ".mailmap",
"chars": 7486,
"preview": "Adrien Thebo <adrien@puppetlabs.com> Adrien Thebo <adrien.thebo@gmail.com>\nAdrien Thebo <adrien@puppetlabs.com> adrienth"
},
{
"path": ".noexec.yaml",
"chars": 38,
"preview": "--- \nexclude:\n - gem\n - rake\n - rspec\n"
},
{
"path": ".rubocop.yml",
"chars": 8133,
"preview": "inherit_from: .rubocop_todo.yml\n\nrequire:\n - rubocop-i18n\n - rubocop-performance\n - rubocop-rake\n - rubocop-rspec\n\nA"
},
{
"path": ".rubocop_todo.yml",
"chars": 26121,
"preview": "# This configuration was generated by\n# `rubocop --auto-gen-config --no-offense-counts --no-auto-gen-timestamp`\n# using "
},
{
"path": ".yardopts",
"chars": 326,
"preview": "--protected\n--private\n--verbose\n--markup markdown\n--readme README.md\n--tag status\n--transitive-tag status\n--tag comment\n"
},
{
"path": "CODEOWNERS",
"chars": 270,
"preview": "# defaults\n* @puppetlabs/phoenix\n\n# PAL\n/lib/puppet/pal @puppetlabs/bolt\n\n# puppet module\n/lib/puppet/application/module"
},
{
"path": "CODE_OF_CONDUCT.md",
"chars": 3961,
"preview": "# Community Guidelines and Code of Conduct\n\nWe want to keep the Puppet communities awesome, and we need your help to kee"
},
{
"path": "Gemfile",
"chars": 3426,
"preview": "source ENV['GEM_SOURCE'] || \"https://rubygems.org\"\n\ngemspec\n\ndef location_for(place, fake_version = nil)\n if place.is_a"
},
{
"path": "Guardfile.example",
"chars": 2274,
"preview": "# More info at https://github.com/guard/guard#readme\n\n# You'll need to make sure Guard, and any of its plugins are in yo"
},
{
"path": "LICENSE",
"chars": 11358,
"preview": "\n Apache License\n Version 2.0, January 2004\n "
},
{
"path": "README.md",
"chars": 3411,
"preview": "# Puppet\n\n\n[\n* [Quick Start](#quick-start)\n* [Configuratio"
},
{
"path": "acceptance/Rakefile",
"chars": 4634,
"preview": "require 'beaker-puppet'\n\nBeaker::DSL::Helpers::RakeHelpers.load_tasks\n\nnamespace :ci do\n namespace :test do\n desc <<"
},
{
"path": "acceptance/config/aio/options.rb",
"chars": 448,
"preview": "{\n :type => 'aio',\n 'is_puppetserver' => true,\n 'use-service' => tru"
},
{
"path": "acceptance/config/gem/options.rb",
"chars": 76,
"preview": "{\n # Use `git` so that we have a sane ruby environment\n :type => 'git',\n}\n"
},
{
"path": "acceptance/config/git/options.rb",
"chars": 436,
"preview": "{\n :type => 'git',\n :install => [\n 'puppet',\n ],\n 'is_puppetserver' "
},
{
"path": "acceptance/config/nodes/aix-53-power.yaml",
"chars": 352,
"preview": "---\nHOSTS:\n master:\n roles:\n - master\n platform: el-7-x86_64\n hypervisor: vmpooler\n template: redhat-7"
},
{
"path": "acceptance/config/nodes/aix-61-power.yaml",
"chars": 351,
"preview": "---\nHOSTS:\n master:\n roles:\n - master\n platform: el-7-x86_64\n hypervisor: vmpooler\n template: redhat-7"
},
{
"path": "acceptance/config/nodes/aix-71-power.yaml",
"chars": 351,
"preview": "---\nHOSTS:\n master:\n roles:\n - master\n platform: el-7-x86_64\n hypervisor: vmpooler\n template: redhat-7"
},
{
"path": "acceptance/config/nodes/gem.yaml",
"chars": 618,
"preview": "---\nHOSTS:\n win-2012r2-rubyx86:\n roles:\n - agent\n platform: windows-2012r2-64\n ruby_arch: x86\n hyperviso"
},
{
"path": "acceptance/config/nodes/huaweios-6-powerpc.yaml",
"chars": 324,
"preview": "---\nHOSTS:\n master:\n roles:\n - master\n platform: el-7-x86_64\n hypervisor: vmpooler\n template: redhat-7"
},
{
"path": "acceptance/config/nodes/pe/centos-5-32ma-32da-32da",
"chars": 621,
"preview": "HOSTS:\n centos-5-i386-master:\n roles:\n - master\n - agent\n platform: el-5-i386\n template: centos-5-i3"
},
{
"path": "acceptance/config/nodes/pe/centos-5-32mda",
"chars": 484,
"preview": "HOSTS:\n centos-5-i386:\n roles:\n - master\n - dashboard\n - database\n - agent\n platform: el-5-i3"
},
{
"path": "acceptance/config/nodes/pe/centos-5-64ma-64da-64da",
"chars": 639,
"preview": "HOSTS:\n centos-5-x86_64-master:\n roles:\n - master\n - agent\n platform: el-5-x86_64\n template: centos-"
},
{
"path": "acceptance/config/nodes/pe/centos-5-64mda",
"chars": 496,
"preview": "HOSTS:\n centos-5-x86_64:\n roles:\n - master\n - dashboard\n - database\n - agent\n platform: el-5-"
},
{
"path": "acceptance/config/nodes/pe/centos-6-32ma-32da-32da",
"chars": 621,
"preview": "HOSTS:\n centos-6-i386-master:\n roles:\n - master\n - agent\n platform: el-6-i386\n template: centos-6-i3"
},
{
"path": "acceptance/config/nodes/pe/centos-6-32mda",
"chars": 484,
"preview": "HOSTS:\n centos-6-i386:\n roles:\n - master\n - dashboard\n - database\n - agent\n platform: el-6-i3"
},
{
"path": "acceptance/config/nodes/pe/centos-6-64ma-64da-64da",
"chars": 639,
"preview": "HOSTS:\n centos-6-x86_64-master:\n roles:\n - master\n - agent\n platform: el-6-x86_64\n template: centos-"
},
{
"path": "acceptance/config/nodes/pe/centos-6-64mda",
"chars": 496,
"preview": "HOSTS:\n centos-6-x86_64:\n roles:\n - master\n - dashboard\n - database\n - agent\n platform: el-6-"
},
{
"path": "acceptance/config/nodes/pe/centos-6-64mda-sol-10-64a",
"chars": 504,
"preview": "HOSTS:\n centos-6-x86_64:\n roles:\n - master\n - dashboard\n - database\n - agent\n platform: el-6-"
},
{
"path": "acceptance/config/nodes/pe/debian-6-32ma-32da-32da",
"chars": 633,
"preview": "HOSTS:\n debian-6-i386-master:\n roles:\n - master\n - agent\n platform: debian-6-i386\n template: debian-"
},
{
"path": "acceptance/config/nodes/pe/debian-6-32mda",
"chars": 492,
"preview": "HOSTS:\n debian-6-i386:\n roles:\n - master\n - dashboard\n - database\n - agent\n platform: debian-"
},
{
"path": "acceptance/config/nodes/pe/debian-6-64ma-64da-64da",
"chars": 645,
"preview": "HOSTS:\n debian-6-amd64-master:\n roles:\n - master\n - agent\n platform: debian-6-amd64\n template: debia"
},
{
"path": "acceptance/config/nodes/pe/debian-6-64mda",
"chars": 500,
"preview": "HOSTS:\n debian-6-amd64:\n roles:\n - master\n - dashboard\n - database\n - agent\n platform: debian"
},
{
"path": "acceptance/config/nodes/pe/debian-7-32ma-32da-32da",
"chars": 633,
"preview": "HOSTS:\n debian-7-i386-master:\n roles:\n - master\n - agent\n platform: debian-7-i386\n template: debian-"
},
{
"path": "acceptance/config/nodes/pe/debian-7-32mda",
"chars": 492,
"preview": "HOSTS:\n debian-7-i386:\n roles:\n - master\n - dashboard\n - database\n - agent\n platform: debian-"
},
{
"path": "acceptance/config/nodes/pe/debian-7-64ma-64da-64da",
"chars": 645,
"preview": "HOSTS:\n debian-7-amd64-master:\n roles:\n - master\n - agent\n platform: debian-7-amd64\n template: debia"
},
{
"path": "acceptance/config/nodes/pe/debian-7-64mda",
"chars": 500,
"preview": "HOSTS:\n debian-7-amd64:\n roles:\n - master\n - dashboard\n - database\n - agent\n platform: debian"
},
{
"path": "acceptance/config/nodes/pe/debian-7-i386",
"chars": 365,
"preview": "HOSTS:\n debian-7-i386:\n roles:\n - master\n - dashboard\n - database\n - agent\n platform: debian-"
},
{
"path": "acceptance/config/nodes/pe/oracle-5-32ma-32da-32da",
"chars": 621,
"preview": "HOSTS:\n oracle-5-i386-master:\n roles:\n - master\n - agent\n platform: el-5-i386\n template: oracle-5-i3"
},
{
"path": "acceptance/config/nodes/pe/oracle-5-32mda",
"chars": 484,
"preview": "HOSTS:\n oracle-5-i386:\n roles:\n - master\n - dashboard\n - database\n - agent\n platform: el-5-i3"
},
{
"path": "acceptance/config/nodes/pe/oracle-5-64ma-64da-64da",
"chars": 639,
"preview": "HOSTS:\n oracle-5-x86_64-master:\n roles:\n - master\n - agent\n platform: el-5-x86_64\n template: oracle-"
},
{
"path": "acceptance/config/nodes/pe/oracle-5-64mda",
"chars": 496,
"preview": "HOSTS:\n oracle-5-x86_64:\n roles:\n - master\n - dashboard\n - database\n - agent\n platform: el-5-"
},
{
"path": "acceptance/config/nodes/pe/oracle-6-32ma-32da-32da",
"chars": 621,
"preview": "HOSTS:\n oracle-6-i386-master:\n roles:\n - master\n - agent\n platform: el-6-i386\n template: oracle-6-i3"
},
{
"path": "acceptance/config/nodes/pe/oracle-6-32mda",
"chars": 484,
"preview": "HOSTS:\n oracle-6-i386:\n roles:\n - master\n - dashboard\n - database\n - agent\n platform: el-6-i3"
},
{
"path": "acceptance/config/nodes/pe/oracle-6-64ma-64da-64da",
"chars": 639,
"preview": "HOSTS:\n oracle-6-x86_64-master:\n roles:\n - master\n - agent\n platform: el-6-x86_64\n template: oracle-"
},
{
"path": "acceptance/config/nodes/pe/oracle-6-64mda",
"chars": 496,
"preview": "HOSTS:\n oracle-6-x86_64:\n roles:\n - master\n - dashboard\n - database\n - agent\n platform: el-6-"
},
{
"path": "acceptance/config/nodes/pe/redhat-5-32ma-32da-32da",
"chars": 621,
"preview": "HOSTS:\n redhat-5-i386-master:\n roles:\n - master\n - agent\n platform: el-5-i386\n template: redhat-5-i3"
},
{
"path": "acceptance/config/nodes/pe/redhat-5-32mda",
"chars": 484,
"preview": "HOSTS:\n redhat-5-i386:\n roles:\n - master\n - dashboard\n - database\n - agent\n platform: el-5-i3"
},
{
"path": "acceptance/config/nodes/pe/redhat-5-64ma-64da-64da",
"chars": 639,
"preview": "HOSTS:\n redhat-5-x86_64-master:\n roles:\n - master\n - agent\n platform: el-5-x86_64\n template: redhat-"
},
{
"path": "acceptance/config/nodes/pe/redhat-5-64mda",
"chars": 496,
"preview": "HOSTS:\n redhat-5-x86_64:\n roles:\n - master\n - dashboard\n - database\n - agent\n platform: el-5-"
},
{
"path": "acceptance/config/nodes/pe/redhat-6-32ma-32da-32da",
"chars": 621,
"preview": "HOSTS:\n redhat-6-i386-master:\n roles:\n - master\n - agent\n platform: el-6-i386\n template: redhat-6-i3"
},
{
"path": "acceptance/config/nodes/pe/redhat-6-32mda",
"chars": 484,
"preview": "HOSTS:\n redhat-6-i386:\n roles:\n - master\n - dashboard\n - database\n - agent\n platform: el-6-i3"
},
{
"path": "acceptance/config/nodes/pe/redhat-6-64ma-64da-64da",
"chars": 639,
"preview": "HOSTS:\n redhat-6-x86_64-master:\n roles:\n - master\n - agent\n platform: el-6-x86_64\n template: redhat-"
},
{
"path": "acceptance/config/nodes/pe/redhat-6-64mda",
"chars": 496,
"preview": "HOSTS:\n redhat-6-x86_64:\n roles:\n - master\n - dashboard\n - database\n - agent\n platform: el-6-"
},
{
"path": "acceptance/config/nodes/pe/scientific-5-32ma-32da-32da",
"chars": 645,
"preview": "HOSTS:\n scientific-5-i386-master:\n roles:\n - master\n - agent\n platform: el-5-i386\n template: scienti"
},
{
"path": "acceptance/config/nodes/pe/scientific-5-32mda",
"chars": 500,
"preview": "HOSTS:\n scientific-5-i386:\n roles:\n - master\n - dashboard\n - database\n - agent\n platform: el-"
},
{
"path": "acceptance/config/nodes/pe/scientific-5-64ma-64da-64da",
"chars": 663,
"preview": "HOSTS:\n scientific-5-x86_64-master:\n roles:\n - master\n - agent\n platform: el-5-x86_64\n template: sci"
},
{
"path": "acceptance/config/nodes/pe/scientific-5-64mda",
"chars": 512,
"preview": "HOSTS:\n scientific-5-x86_64:\n roles:\n - master\n - dashboard\n - database\n - agent\n platform: e"
},
{
"path": "acceptance/config/nodes/pe/scientific-6-32ma-32da-32da",
"chars": 645,
"preview": "HOSTS:\n scientific-6-i386-master:\n roles:\n - master\n - agent\n platform: el-6-i386\n template: scienti"
},
{
"path": "acceptance/config/nodes/pe/scientific-6-32mda",
"chars": 500,
"preview": "HOSTS:\n scientific-6-i386:\n roles:\n - master\n - dashboard\n - database\n - agent\n platform: el-"
},
{
"path": "acceptance/config/nodes/pe/scientific-6-64ma-64da-64da",
"chars": 663,
"preview": "HOSTS:\n scientific-6-x86_64-master:\n roles:\n - master\n - agent\n platform: el-6-x86_64\n template: sci"
},
{
"path": "acceptance/config/nodes/pe/scientific-6-64mda",
"chars": 512,
"preview": "HOSTS:\n scientific-6-x86_64:\n roles:\n - master\n - dashboard\n - database\n - agent\n platform: e"
},
{
"path": "acceptance/config/nodes/pe/sles-11-32ma-32da-32da",
"chars": 624,
"preview": "HOSTS:\n sles-11-i386-master:\n roles:\n - master\n - agent\n platform: sles-11-i386\n template: sles-11-i"
},
{
"path": "acceptance/config/nodes/pe/sles-11-32mda",
"chars": 486,
"preview": "HOSTS:\n sles-11-i386:\n roles:\n - master\n - dashboard\n - database\n - agent\n platform: sles-11-"
},
{
"path": "acceptance/config/nodes/pe/sles-11-64ma-64da-64da",
"chars": 642,
"preview": "HOSTS:\n sles-11-x86_64-master:\n roles:\n - master\n - agent\n platform: sles-11-x86_64\n template: sles-"
},
{
"path": "acceptance/config/nodes/pe/sles-11-64mda",
"chars": 498,
"preview": "HOSTS:\n sles-11-x86_64:\n roles:\n - master\n - dashboard\n - database\n - agent\n platform: sles-1"
},
{
"path": "acceptance/config/nodes/pe/solaris-10-64a",
"chars": 436,
"preview": "HOSTS:\n master:\n roles:\n - master\n platform: el-7-x86_64\n hypervisor: vcloud\n template: redhat-7-x86_6"
},
{
"path": "acceptance/config/nodes/pe/solaris-11-64a",
"chars": 436,
"preview": "HOSTS:\n master:\n roles:\n - master\n platform: el-7-x86_64\n hypervisor: vcloud\n template: redhat-7-x86_6"
},
{
"path": "acceptance/config/nodes/pe/ubuntu-1004-32ma-32da-32da",
"chars": 663,
"preview": "HOSTS:\n ubuntu-1004-i386-master:\n roles:\n - master\n - agent\n platform: ubuntu-10.04-i386\n template: "
},
{
"path": "acceptance/config/nodes/pe/ubuntu-1004-32mda",
"chars": 507,
"preview": "HOSTS:\n ubuntu-1004-i386:\n roles:\n - master\n - dashboard\n - database\n - agent\n platform: ubun"
},
{
"path": "acceptance/config/nodes/pe/ubuntu-1004-64ma-64da-64da",
"chars": 675,
"preview": "HOSTS:\n ubuntu-1004-amd64-master:\n roles:\n - master\n - agent\n platform: ubuntu-10.04-amd64\n template"
},
{
"path": "acceptance/config/nodes/pe/ubuntu-1004-64mda",
"chars": 514,
"preview": "HOSTS:\n ubuntu-1004-amd64:\n roles:\n - master\n - dashboard\n - database\n - agent\n platform: ubu"
},
{
"path": "acceptance/config/nodes/pe/ubuntu-1204-32ma-32da-32da",
"chars": 663,
"preview": "HOSTS:\n ubuntu-1204-i386-master:\n roles:\n - master\n - agent\n platform: ubuntu-12.04-i386\n template: "
},
{
"path": "acceptance/config/nodes/pe/ubuntu-1204-32mda",
"chars": 507,
"preview": "HOSTS:\n ubuntu-1204-i386:\n roles:\n - master\n - dashboard\n - database\n - agent\n platform: ubun"
},
{
"path": "acceptance/config/nodes/pe/ubuntu-1204-64ma-64da-64da",
"chars": 675,
"preview": "HOSTS:\n ubuntu-1204-amd64-master:\n roles:\n - master\n - agent\n platform: ubuntu-12.04-amd64\n template"
},
{
"path": "acceptance/config/nodes/pe/ubuntu-1204-64mda",
"chars": 514,
"preview": "HOSTS:\n ubuntu-1204-amd64:\n roles:\n - master\n - dashboard\n - database\n - agent\n platform: ubu"
},
{
"path": "acceptance/config/nodes/solaris-10-sparc.yaml",
"chars": 359,
"preview": "---\nHOSTS:\n master:\n roles:\n - master\n platform: el-7-x86_64\n hypervisor: vmpooler\n template: redhat-7"
},
{
"path": "acceptance/config/nodes/solaris-11-sparc.yaml",
"chars": 359,
"preview": "---\nHOSTS:\n master:\n roles:\n - master\n platform: el-7-x86_64\n hypervisor: vmpooler\n template: redhat-7"
},
{
"path": "acceptance/fixtures/MockInstaller.cs",
"chars": 1387,
"preview": "/*\n\nThe MockInstaller is a C# class representing a stubbed exe installer. We will\ncompile this class into an installable"
},
{
"path": "acceptance/fixtures/MockService.cs",
"chars": 2928,
"preview": "/*\n\nThe MockService is a C# class representing a stubbed service. We will\ncompile this class into the service's .exe fil"
},
{
"path": "acceptance/fixtures/MockUninstaller.cs",
"chars": 880,
"preview": "/*\n\nThe MockUninstaller is a C# class representing a stubbed exe uninstaller. We will\ncompile this class into an usable "
},
{
"path": "acceptance/fixtures/debian-repo/Release",
"chars": 82,
"preview": "Archive: stable\nComponent: contrib\nOrigin: Puppet\nLabel: Puppet\nArchitecture: i386"
},
{
"path": "acceptance/fixtures/el-repo/repodata/repomd.xml",
"chars": 3069,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<repomd xmlns=\"http://linux.duke.edu/metadata/repo\" xmlns:rpm=\"http://linux.duke."
},
{
"path": "acceptance/fixtures/manifest_large_exported_classes_node.pp",
"chars": 1996,
"preview": "class foo ($bar) {\n @@notify { 'foo': }\n}\n@@file { \"somedir/${name}_${munin_port_real}\":\n ensure => present,\n content"
},
{
"path": "acceptance/fixtures/sles-repo/repodata/repomd.xml",
"chars": 1141,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<repomd xmlns=\"http://linux.duke.edu/metadata/repo\" xmlns:rpm=\"http://linux.duke."
},
{
"path": "acceptance/lib/acceptance_spec_helper.rb",
"chars": 150,
"preview": "require 'fileutils'\n\ndir = File.expand_path(File.dirname(__FILE__))\n$LOAD_PATH.unshift dir\n\nRSpec.configure do |config|\n"
},
{
"path": "acceptance/lib/helper.rb",
"chars": 80,
"preview": "$LOAD_PATH << File.expand_path(File.dirname(__FILE__))\n\nrequire 'beaker-puppet'\n"
},
{
"path": "acceptance/lib/puppet/acceptance/agent_fqdn_utils.rb",
"chars": 449,
"preview": "module Puppet\n module Acceptance\n module AgentFqdnUtils\n\n @@hostname_to_fqdn = {}\n\n # convert from an Beak"
},
{
"path": "acceptance/lib/puppet/acceptance/aix_util.rb",
"chars": 6715,
"preview": "module Puppet\n module Acceptance\n module AixUtil\n def to_kv_array(attributes)\n attributes.map { |attribu"
},
{
"path": "acceptance/lib/puppet/acceptance/classifier_utils.rb",
"chars": 7407,
"preview": "require 'httparty'\nrequire 'tempfile'\nrequire 'stringio'\nrequire 'uuidtools'\nrequire 'json'\nrequire 'pp'\n\nmodule Puppet\n"
},
{
"path": "acceptance/lib/puppet/acceptance/classifier_utils_spec.rb",
"chars": 2216,
"preview": "require File.join(File.dirname(__FILE__),'../../acceptance_spec_helper.rb')\nrequire 'puppet/acceptance/classifier_utils'"
},
{
"path": "acceptance/lib/puppet/acceptance/common_utils.rb",
"chars": 1821,
"preview": "module Puppet\n module Acceptance\n module BeakerUtils\n # TODO: This should be added to Beaker\n def assert_m"
},
{
"path": "acceptance/lib/puppet/acceptance/environment_utils.rb",
"chars": 15606,
"preview": "require 'puppet/acceptance/module_utils'\n\nmodule Puppet\n module Acceptance\n module EnvironmentUtils\n include Pu"
},
{
"path": "acceptance/lib/puppet/acceptance/environment_utils_spec.rb",
"chars": 5914,
"preview": "require File.join(File.dirname(__FILE__),'../../acceptance_spec_helper.rb')\nrequire 'puppet/acceptance/environment_utils"
},
{
"path": "acceptance/lib/puppet/acceptance/i18n_utils.rb",
"chars": 1631,
"preview": "module Puppet\n module Acceptance\n module I18nUtils\n\n # try to enable the locale's for a given language on the a"
},
{
"path": "acceptance/lib/puppet/acceptance/i18ndemo_utils.rb",
"chars": 1551,
"preview": "module Puppet\nmodule Acceptance\n module I18nDemoUtils\n\n require 'puppet/acceptance/i18n_utils'\n extend Puppet::Ac"
},
{
"path": "acceptance/lib/puppet/acceptance/module_utils.rb",
"chars": 11324,
"preview": "module Puppet\n module Acceptance\n module ModuleUtils\n\n # Return an array of module paths for a given host.\n "
},
{
"path": "acceptance/lib/puppet/acceptance/puppet_type_test_tools.rb",
"chars": 4119,
"preview": "require 'puppet/acceptance/environment_utils'\n\nmodule Puppet\n module Acceptance\n module PuppetTypeTestTools\n in"
},
{
"path": "acceptance/lib/puppet/acceptance/puppet_type_test_tools_spec.rb",
"chars": 6623,
"preview": "require File.join(File.dirname(__FILE__),'../../acceptance_spec_helper.rb')\nrequire 'puppet/acceptance/puppet_type_test_"
},
{
"path": "acceptance/lib/puppet/acceptance/rpm_util.rb",
"chars": 4171,
"preview": "module Puppet\n module Acceptance\n module RpmUtils\n # Utilities for creating a basic rpm package and using it in"
},
{
"path": "acceptance/lib/puppet/acceptance/service_utils.rb",
"chars": 7268,
"preview": "require 'puppet/acceptance/common_utils'\n\nmodule Puppet\n module Acceptance\n module ServiceUtils\n\n # Return whet"
},
{
"path": "acceptance/lib/puppet/acceptance/solaris_util.rb",
"chars": 5866,
"preview": "module Puppet\n module Acceptance\n module IPSUtils\n def clean(agent, o={})\n o = {:repo => '/var/tstrepo',"
},
{
"path": "acceptance/lib/puppet/acceptance/static_catalog_utils.rb",
"chars": 1887,
"preview": "module Puppet\n module Acceptance\n module StaticCatalogUtils\n\n # Adds code-id-command and code-content-command s"
},
{
"path": "acceptance/lib/puppet/acceptance/temp_file_utils.rb",
"chars": 6745,
"preview": "module Puppet\n module Acceptance\n module TempFileUtils\n RWXR_XR_X = '0755'\n PUPPET_CODEDIR_PERMISSIONS = R"
},
{
"path": "acceptance/lib/puppet/acceptance/windows_utils/package_installer.rb",
"chars": 2983,
"preview": "module Puppet\n module Acceptance\n module WindowsUtils\n # Sets up a mock installer on the host.\n\n def creat"
},
{
"path": "acceptance/lib/puppet/acceptance/windows_utils/service.rb",
"chars": 4775,
"preview": "module Puppet\n module Acceptance\n module WindowsUtils\n # Sets up a mock service on the host. The methodology he"
},
{
"path": "acceptance/lib/puppet/acceptance/windows_utils.rb",
"chars": 1849,
"preview": "require 'puppet/acceptance/common_utils'\n\nmodule Puppet\n module Acceptance\n module WindowsUtils\n require 'puppe"
},
{
"path": "acceptance/pending/ticket_11860_exec_should_not_override_locale.rb",
"chars": 2920,
"preview": "test_name \"#11860: exec resources should not override system locale\"\n\n##################################################"
},
{
"path": "acceptance/pending/ticket_4149_parseonly_should_not_fail.rb",
"chars": 897,
"preview": "test_name \"#4149: parseonly should do the right thing\"\n\nstep \"test with a manifest with syntax errors\"\nmanifest = 'class"
},
{
"path": "acceptance/pending/ticket_4151_defined_function_should_not_return_true_for_unrealized_virtual_resources.rb",
"chars": 772,
"preview": "test_name \"#4151: defined function should not return true for unrealized virtual resources\"\n\n# Jeff McCune <jeff@puppetl"
},
{
"path": "acceptance/pending/ticket_5027_warn_on_dynamic_scope.rb",
"chars": 779,
"preview": "test_name \"#5027: Issue warnings when using dynamic scope\"\n\nstep \"Apply dynamic scoping manifest on agents\"\napply_manife"
},
{
"path": "acceptance/pending/ticket_5224_exec_should_unset_user_env_vars.rb",
"chars": 3818,
"preview": "test_name \"#5224: exec resources should unset user-related environment variables\"\n\n#####################################"
},
{
"path": "acceptance/pending/ticket_6928_puppet_master_parse_fails.rb",
"chars": 1753,
"preview": "test_name \"#6928: Puppet --parseonly should return deprication message\"\n\n# Create good and bad formatted manifests\nstep "
},
{
"path": "acceptance/teardown/common/099_Archive_Logs.rb",
"chars": 4872,
"preview": "require 'date'\n\ndef file_glob(host, path)\n result = on(host, \"ls #{path}\", :acceptable_exit_codes => [0, 2])\n return ["
},
{
"path": "acceptance/tests/agent/agent_disable_lockfile.rb",
"chars": 3891,
"preview": "test_name \"C4553 - agent --disable/--enable functionality should manage the agent lockfile properly\"\ntag 'audit:integrat"
},
{
"path": "acceptance/tests/agent/agent_fails_with_unknown_resource.rb",
"chars": 2649,
"preview": "test_name \"agent run should fail if it finds an unknown resource type\" do\n tag 'audit:high',\n 'audit:integration'\n"
},
{
"path": "acceptance/tests/agent/agent_parses_json_catalog.rb",
"chars": 880,
"preview": "test_name \"C99978: Agent parses a JSON catalog\"\n\ntag 'risk:high',\n 'audit:high', # tests defined catalog forma"
},
{
"path": "acceptance/tests/agent/fallback_to_cached_catalog.rb",
"chars": 864,
"preview": "test_name \"fallback to the cached catalog\"\n\ntag 'audit:high',\n 'audit:integration', # This test is not OS sensitive.\n"
},
{
"path": "acceptance/tests/agent/last_run_summary_report.rb",
"chars": 4800,
"preview": "test_name \"The 'last_run_summary.yaml' report has the right location and permissions\" do\n tag 'audit:high'\n\n require '"
},
{
"path": "acceptance/tests/aix/aix_package_provider.rb",
"chars": 3589,
"preview": "test_name \"aix package provider should work correctly\" do\n\n tag 'audit:high',\n 'audit:acceptance' # OS specific b"
},
{
"path": "acceptance/tests/aix/nim_package_provider.rb",
"chars": 3981,
"preview": "test_name \"NIM package provider should work correctly\"\n\ntag 'audit:high',\n 'audit:acceptance' # OS specific by defin"
},
{
"path": "acceptance/tests/allow_arbitrary_node_name_fact_for_agent.rb",
"chars": 4136,
"preview": "test_name \"node_name_fact should be used to determine the node name for puppet agent\"\n\ntag 'audit:high',\n 'audit:inte"
},
{
"path": "acceptance/tests/allow_arbitrary_node_name_for_agent.rb",
"chars": 3764,
"preview": "test_name \"node_name_value should be used as the node name for puppet agent\"\n\ntag 'audit:high',\n 'audit:integration',"
},
{
"path": "acceptance/tests/apply/classes/parameterized_classes.rb",
"chars": 1674,
"preview": "test_name \"parametrized classes\"\n\ntag 'audit:high',\n 'audit:unit' # This should be covered at the unit layer.\n\n####"
},
{
"path": "acceptance/tests/apply/classes/should_allow_param_override.rb",
"chars": 470,
"preview": "test_name \"should allow param override\"\n\ntag 'audit:high',\n 'audit:unit' # This should be covered at the unit layer"
},
{
"path": "acceptance/tests/apply/classes/should_allow_param_undef_override.rb",
"chars": 1043,
"preview": "test_name \"should allow overriding a parameter to undef in inheritence\"\n\ntag 'audit:high',\n 'audit:unit' # This sho"
},
{
"path": "acceptance/tests/apply/classes/should_include_resources_from_class.rb",
"chars": 360,
"preview": "test_name \"resources declared in a class can be applied with include\"\n\ntag 'audit:high',\n 'audit:unit' # This shoul"
},
{
"path": "acceptance/tests/apply/classes/should_not_auto_include_resources_from_class.rb",
"chars": 392,
"preview": "test_name \"resources declared in classes are not applied without include\"\n\ntag 'audit:high',\n 'audit:unit' # This s"
},
{
"path": "acceptance/tests/catalog_with_binary_data.rb",
"chars": 3052,
"preview": "test_name \"C100300: Catalog containing binary data is applied correctly\" do\n require 'puppet/acceptance/common_utils'\n "
},
{
"path": "acceptance/tests/direct_puppet/cached_catalog_remediate_local_drift.rb",
"chars": 4506,
"preview": "require 'puppet/acceptance/static_catalog_utils'\nextend Puppet::Acceptance::StaticCatalogUtils\n\ntest_name \"PUP-5122: Pup"
},
{
"path": "acceptance/tests/direct_puppet/catalog_uuid_correlates_catalogs_with_reports.rb",
"chars": 2645,
"preview": "test_name \"PUP-5872: catalog_uuid correlates catalogs with reports\" do\n\n tag 'audit:high',\n 'audit:acceptance',\n "
},
{
"path": "acceptance/tests/direct_puppet/static_catalog_env_control.rb",
"chars": 9225,
"preview": "test_name \"Environment control of static catalogs\"\n\ntag 'audit:high',\n 'audit:acceptance',\n 'audit:refactor', # u"
},
{
"path": "acceptance/tests/direct_puppet/supports_utf8.rb",
"chars": 2830,
"preview": "test_name \"C97172: static catalogs support utf8\" do\n\n require 'puppet/acceptance/environment_utils'\n extend Puppet::Ac"
},
{
"path": "acceptance/tests/environment/broken_unassigned_environment_handled_gracefully.rb",
"chars": 1865,
"preview": "test_name 'PUP-3755 Test an un-assigned broken environment'\n\ntag 'audit:high',\n 'audit:integration',\n 'audit:refac"
},
{
"path": "acceptance/tests/environment/can_enumerate_environments.rb",
"chars": 2096,
"preview": "test_name \"Can enumerate environments via an HTTP endpoint\"\n\ntag 'audit:high',\n 'audit:integration',\n 'server'\n\nco"
},
{
"path": "acceptance/tests/environment/custom_type_provider_from_same_environment.rb",
"chars": 4859,
"preview": "test_name 'C59122: ensure provider from same env as custom type' do\nrequire 'puppet/acceptance/environment_utils'\nextend"
},
{
"path": "acceptance/tests/environment/directory_environment_production_created_master.rb",
"chars": 1101,
"preview": "test_name 'ensure production environment created by master if missing'\n\ntag 'audit:high',\n 'audit:integration',\n '"
},
{
"path": "acceptance/tests/environment/enc_nonexistent_directory_environment.rb",
"chars": 2387,
"preview": "test_name \"Master should produce error if enc specifies a nonexistent environment\" do\n require 'puppet/acceptance/class"
},
{
"path": "acceptance/tests/environment/environment_scenario-bad.rb",
"chars": 2436,
"preview": "test_name 'Test behavior of directory environments when environmentpath is set to a non-existent directory' do\n require"
},
{
"path": "acceptance/tests/environment/feature_branch_configured_environment.rb",
"chars": 850,
"preview": "test_name \"Agent should use set environment after running with specified environment\" do\n require 'puppet/acceptance/en"
},
{
"path": "acceptance/tests/environment/should_find_existing_production_environment.rb",
"chars": 5486,
"preview": "test_name \"should find existing production environment\"\ntag 'audit:medium'\n\nrequire 'puppet/acceptance/i18ndemo_utils'\ne"
},
{
"path": "acceptance/tests/environment/use_agent_environment_when_enc_doesnt_specify.rb",
"chars": 2141,
"preview": "test_name \"Agent should use agent environment if there is an enc that does not specify the environment\" do\n require 'pu"
},
{
"path": "acceptance/tests/environment/use_agent_environment_when_no_enc.rb",
"chars": 1883,
"preview": "test_name \"Agent should use agent environment if there is no enc-specified environment\" do\n\n tag 'audit:high',\n 'a"
},
{
"path": "acceptance/tests/environment/use_enc_environment.rb",
"chars": 2605,
"preview": "test_name 'Agent should use environment given by ENC and only compile a catalog once' do\n require 'puppet/acceptance/cl"
},
{
"path": "acceptance/tests/environment/use_enc_environment_for_files.rb",
"chars": 2532,
"preview": "test_name \"Agent should use environment given by ENC for fetching remote files\" do\n\n tag 'audit:high',\n 'audit:int"
},
{
"path": "acceptance/tests/environment/use_enc_environment_for_pluginsync.rb",
"chars": 2124,
"preview": "test_name \"Agent should use environment given by ENC for pluginsync\" do\n\n tag 'audit:high',\n 'audit:integration',\n"
},
{
"path": "acceptance/tests/environment/use_environment_from_environmentpath.rb",
"chars": 6781,
"preview": "test_name \"Use environments from the environmentpath\" do\n require 'puppet/acceptance/classifier_utils'\n extend Puppet:"
},
{
"path": "acceptance/tests/environment/use_last_server_specified_environment.rb",
"chars": 2885,
"preview": "test_name \"Agent should use the last server-specified environment if server is authoritative\" do\n require 'puppet/accep"
},
{
"path": "acceptance/tests/environment/variables_refreshed_each_compilation.rb",
"chars": 4312,
"preview": "test_name 'C98115 compilation should get new values in variables on each compilation' do\n require 'puppet/acceptance/en"
},
{
"path": "acceptance/tests/face/4654_facts_face.rb",
"chars": 1888,
"preview": "test_name \"Puppet facts face should resolve custom and external facts\"\n\ntag 'audit:high',\n 'audit:integration' # Th"
},
{
"path": "acceptance/tests/face/loadable_from_modules.rb",
"chars": 4042,
"preview": "test_name \"Exercise loading a face from a module\"\n\n# Because the module tool does not work on windows, we can't run this"
},
{
"path": "acceptance/tests/face/parser_validate.rb",
"chars": 2764,
"preview": "test_name 'parser validate' do\n\ntag 'audit:high',\n 'audit:unit' # Parser validation should be core to ruby\n "
},
{
"path": "acceptance/tests/i18n/enable_option_disable_i18n.rb",
"chars": 3065,
"preview": "test_name 'Verify that disable_i18n can be set to true and have translations disabled' do\n confine :except, :platform ="
},
{
"path": "acceptance/tests/i18n/modules/puppet_agent.rb",
"chars": 5430,
"preview": "test_name 'C100565: puppet agent with module should translate messages' do\n confine :except, :platform => /^solaris/ # "
},
{
"path": "acceptance/tests/i18n/modules/puppet_agent_cached_catalog.rb",
"chars": 5337,
"preview": "test_name 'C100566: puppet agent with module should translate messages when using a cached catalog' do\n confine :except"
},
{
"path": "acceptance/tests/i18n/modules/puppet_agent_with_multiple_environments.rb",
"chars": 4218,
"preview": "test_name 'C100575: puppet agent with different modules in different environments should translate based on their module"
},
{
"path": "acceptance/tests/i18n/modules/puppet_apply.rb",
"chars": 3727,
"preview": "test_name 'C100567: puppet apply of module should translate messages' do\n confine :except, :platform => /^solaris/ # tr"
},
{
"path": "acceptance/tests/i18n/modules/puppet_apply_module_lang.rb",
"chars": 4571,
"preview": "test_name 'C100574: puppet apply using a module should translate messages in a language not supported by puppet' do\n\n c"
},
{
"path": "acceptance/tests/i18n/modules/puppet_apply_unsupported_lang.rb",
"chars": 3949,
"preview": "test_name 'C100568: puppet apply of module for an unsupported language should fall back to english' do\n\n tag 'audit:med"
},
{
"path": "acceptance/tests/i18n/modules/puppet_describe.rb",
"chars": 2145,
"preview": "test_name 'C100576: puppet describe with module type translates message' do\n confine :except, :platform => /^solaris/ #"
},
{
"path": "acceptance/tests/i18n/modules/puppet_face.rb",
"chars": 2732,
"preview": "test_name 'C100573: puppet application/face with module translates messages' do\n confine :except, :platform => /^solari"
},
{
"path": "acceptance/tests/i18n/modules/puppet_resource.rb",
"chars": 2160,
"preview": "test_name 'C100572: puppet resource with module translates messages' do\n confine :except, :platform => /^solaris/ # tra"
},
{
"path": "acceptance/tests/i18n/translation_fallback.rb",
"chars": 856,
"preview": "test_name 'C100560: puppet agent run output falls back to english when language not available' do\n # No confines becaus"
},
{
"path": "acceptance/tests/language/binary_data_type.rb",
"chars": 4842,
"preview": "test_name 'C98346: Binary data type' do\n require 'puppet/acceptance/puppet_type_test_tools.rb'\n extend Puppet::Accepta"
},
{
"path": "acceptance/tests/language/exported_resources.rb",
"chars": 7385,
"preview": "test_name \"C94788: exported resources using a yaml terminus for storeconfigs\" do\nrequire 'puppet/acceptance/environment_"
},
{
"path": "acceptance/tests/language/functions_in_puppet_language.rb",
"chars": 5898,
"preview": "test_name 'Puppet executes functions written in the Puppet language'\n\ntag 'audit:high',\n 'audit:integration',\n 'au"
},
{
"path": "acceptance/tests/language/objects_in_catalog.rb",
"chars": 1241,
"preview": "test_name 'C99627: can use Object types in the catalog and apply/agent' do\n require 'puppet/acceptance/environment_util"
},
{
"path": "acceptance/tests/language/pcore_generate_env_isolation.rb",
"chars": 3139,
"preview": "test_name 'C98345: ensure puppet generate assures env. isolation' do\n require 'puppet/acceptance/environment_utils.rb'\n"
},
{
"path": "acceptance/tests/language/pcore_resource_types_should_have_precedence_over_ruby.rb",
"chars": 3625,
"preview": "test_name 'C98097 - generated pcore resource types should be loaded instead of ruby for custom types' do\n\ntag 'audit:hig"
},
{
"path": "acceptance/tests/language/resource_refs_with_nested_arrays.rb",
"chars": 720,
"preview": "test_name \"#7681: Allow using array variables in resource references\"\n\ntag 'audit:high',\n 'audit:unit'\n\nagents.each d"
},
{
"path": "acceptance/tests/language/sensitive_data_type.rb",
"chars": 7465,
"preview": "test_name 'C98120, C98077: Sensitive Data is redacted on CLI, logs, reports' do\n require 'puppet/acceptance/puppet_type"
},
{
"path": "acceptance/tests/language/server_set_facts.rb",
"chars": 1726,
"preview": "test_name 'C64667: ensure server_facts is set and error if any value is overwritten by an agent' do\n require 'puppet/ac"
},
{
"path": "acceptance/tests/loader/autoload_from_resource_type_decl.rb",
"chars": 6486,
"preview": "test_name 'C100303: Resource type statement triggered auto-loading works both with and without generated types' do\n tag"
},
{
"path": "acceptance/tests/loader/func4x_loadable_from_modules.rb",
"chars": 3301,
"preview": "test_name \"Exercise a module with 4x function and 4x system function\"\n\n# Purpose:\n# Test that a packed puppet can call a"
},
{
"path": "acceptance/tests/loader/resource_triggers_autoload.rb",
"chars": 2072,
"preview": "test_name 'C100296: can auto-load defined types using a Resource statement' do\n tag 'risk:high'\n\n require 'puppet/acce"
},
{
"path": "acceptance/tests/lookup/config3_interpolation.rb",
"chars": 2695,
"preview": "test_name 'C99578: lookup should allow interpolation in hiera3 configs' do\n require 'puppet/acceptance/environment_util"
},
{
"path": "acceptance/tests/lookup/config5_interpolation.rb",
"chars": 4692,
"preview": "test_name 'C99578: hiera5 lookup config with interpolated scoped nested variables' do\n require 'puppet/acceptance/envir"
},
{
"path": "acceptance/tests/lookup/hiera3_custom_backend.rb",
"chars": 4171,
"preview": "test_name 'C99630: hiera v3 custom backend' do\n require 'puppet/acceptance/environment_utils.rb'\n extend Puppet::Accep"
},
{
"path": "acceptance/tests/lookup/lookup.rb",
"chars": 13441,
"preview": "test_name \"Lookup data using the agnostic lookup function\" do\n # pre-docs:\n # https://puppet-on-the-edge.blogspot.com/"
},
{
"path": "acceptance/tests/lookup/lookup_rich_values.rb",
"chars": 5255,
"preview": "test_name 'C99044: lookup should allow rich data as values' do\n require 'puppet/acceptance/environment_utils.rb'\n exte"
},
{
"path": "acceptance/tests/lookup/merge_strategies.rb",
"chars": 8764,
"preview": "test_name 'C99903: merge strategies' do\n require 'puppet/acceptance/environment_utils.rb'\n extend Puppet::Acceptance::"
},
{
"path": "acceptance/tests/lookup/v3_config_and_data.rb",
"chars": 5270,
"preview": "test_name 'C99629: hiera v5 can use v3 config and data' do\n require 'puppet/acceptance/environment_utils.rb'\n extend P"
},
{
"path": "acceptance/tests/lookup/v4_hieradata_with_v5_configs.rb",
"chars": 5021,
"preview": "test_name 'C99572: v4 hieradata with v5 configs' do\n require 'puppet/acceptance/puppet_type_test_tools.rb'\n extend Pup"
},
{
"path": "acceptance/tests/modulepath.rb",
"chars": 4453,
"preview": "test_name 'Supports vendored modules' do\n tag 'risk:high'\n\n # beacon custom type emits a message so we can tell where "
},
{
"path": "acceptance/tests/ordering/master_agent_application.rb",
"chars": 1370,
"preview": "test_name \"Puppet applies resources without dependencies in file order over the network\"\n\ntag 'audit:high',\n 'audit:i"
},
{
"path": "acceptance/tests/parser_functions/calling_all_functions.rb",
"chars": 15624,
"preview": "test_name 'Calling all functions.. test in progress!'\n\ntag 'audit:high',\n 'audit:acceptance'\n\n# create single manifes"
}
]
// ... and 2704 more files (download for full content)
About this extraction
This page contains the full source code of the puppetlabs/puppet GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 2904 files (15.7 MB), approximately 4.3M tokens, and a symbol index with 13788 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.